:root{--fluvi-ink:#023124;--fluvi-green:#007f53;--fluvi-mint:#d9f7e9;--fluvi-line:#cde4da}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{overflow-x:clip}
body,button,input{font-family:Poppins,Arial,sans-serif}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #008553!important;outline-offset:5px!important}
.elementor-location-header{position:relative;z-index:1000;background:#fcfefc;border-bottom:1px solid #e1eee7}
.elementor-location-header>.e-con{max-width:1280px;margin:auto;padding:12px 32px!important;align-items:center}
.elementor-location-header .e-con-inner{padding:0!important;flex-direction:row!important;align-items:center;flex-wrap:nowrap!important}
.elementor-location-header .elementor-button{white-space:nowrap}
.elementor-location-header .elementor-nav-menu--main .elementor-item{padding-inline:12px}
.elementor-nav-menu--main .fluvi-mobile-menu{display:none!important}
.elementor-nav-menu--dropdown .fluvi-mobile-menu .elementor-item{font-weight:600;color:#007f53!important}
.elementor-location-header .elementor-menu-toggle{min-width:44px;min-height:44px}
.elementor .fv-brand-image img{height:auto!important;object-fit:contain;filter:none!important;mix-blend-mode:normal;opacity:1}
.elementor-location-header .fv-brand-header{flex-shrink:0}
.elementor-location-header .fv-brand-header img{display:block}
.fluvi-hero{min-height:0!important;padding:56px 32px 44px!important;z-index:auto!important}
.fluvi-hero>.e-con{max-width:1216px;width:100%;margin-inline:auto}
.elementor .fluvi-hero{--min-height:0px!important}
.fluvi-hero>.e-con-inner{padding:0!important;min-height:0!important;max-width:1216px!important;gap:26px!important}
.fluvi-hero h1{letter-spacing:-1.9px}
.fluvi-hero .elementor-element-e34c251 h1{text-wrap:balance}
.fluvi-hero .elementor-element-7334ae8{width:53%;flex-shrink:0;gap:24px}
.fluvi-hero .elementor-element-f0a6abb{width:268px!important;max-width:100%!important}
.fluvi-hero .elementor-element-ddf83a4{width:auto!important;flex-shrink:0!important}
.fluvi-hero .elementor-element-ddf83a4 .elementor-button{min-width:168px;white-space:nowrap}
.fluvi-hero .elementor-element-98d5ac1{width:44%;align-self:center}
.fluvi-hero .elementor-element-d1b2529 img{max-height:530px;width:auto;object-fit:contain}
.fluvi-hero .elementor-element-48af1b6{margin-top:30px!important;width:100%;max-width:1216px}
.fluvi-hero .elementor-counter-title{line-height:1.5}
.fluvi-section{scroll-margin-top:100px}
/* Na página /links/ as cores dos botões vêm do Elementor; :where() mantém a especificidade original. */
:where(body:not(.fvl-body)) .elementor-button{transition:transform .2s,box-shadow .2s;background-image:linear-gradient(135deg,#006d49,#008357)!important;color:#fff!important}
.fluvi-panel .elementor-button{background:#c4f7d9!important;color:#023124!important}
.elementor-button:hover{transform:translateY(-2px);box-shadow:0 8px 22px #02312420}
.imagem-alvo{display:none!important;position:relative!important;opacity:1!important;visibility:visible!important}
.imagem-alvo.ativa{display:block!important}
.caixa-gatilho{cursor:pointer;transition:background .2s,opacity .2s;opacity:.72;border-radius:16px}
.caixa-gatilho.ativa{opacity:1;background:#ffffff0b}
.caixa-gatilho strong{display:block;margin-bottom:8px;font-weight:600}
.fluvi-testimonials .swiper-slide{filter:none!important;transform:none!important;min-height:0!important;padding:28px!important;border:1px solid #ffffff30!important;border-radius:24px!important;height:auto}
.fluvi-testimonials .swiper-slide .e-con{height:100%}
.fluvi-testimonials .swiper-wrapper{align-items:stretch}
.fluvi-testimonials .elementor-icon-box-description{font-size:16px!important;line-height:1.8!important}
.fluvi-testimonials .elementor-icon-box-title{font-size:22px!important;line-height:1.4!important}
.elementor-widget-text-editor a,.elementor-widget-heading p a{color:#007f53;text-decoration:underline;text-underline-offset:3px}
.fluvi-testimonials .swiper{padding-bottom:28px!important}
.fluvi-table-scroll{overflow-x:auto;border:1px solid var(--fluvi-line);border-radius:18px;background:white}
.custom-saas-table{width:100%;border-collapse:collapse;font-family:inherit;font-size:15px}
.custom-saas-table caption{text-align:left;padding:20px 24px;color:var(--fluvi-ink);font-weight:600;background:#f2faf6}
.custom-saas-table th,.custom-saas-table td{padding:20px 24px;border-bottom:1px solid #e6eee9;text-align:left;line-height:1.65}
.custom-saas-table thead th{background:#f2faf6;color:var(--fluvi-ink)}
.custom-saas-table tbody th{font-weight:600;color:var(--fluvi-ink);min-width:150px}
.custom-saas-table td:last-child{color:#006e49;background:#f7fcf9}
.fluvi-states{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0!important;margin:18px 0 26px!important}
.fluvi-states li{border:1px solid #b5daca;background:#f1faf5;color:var(--fluvi-ink);border-radius:10px;padding:10px 14px;font-weight:600;font-size:15px}
.fluvi-coverage-note{font-size:14px;line-height:1.8;color:#52665b}
.elementor-location-footer{background:#f3faf5;color:var(--fluvi-ink);border-top:1px solid var(--fluvi-line)}
.elementor-location-footer>.e-con{max-width:1280px;margin:auto;padding:56px 32px 24px!important}
.elementor-location-footer p{margin:0}
.elementor-location-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.elementor-location-footer .elementor-element-dd3b0cb{max-width:640px}
.elementor-location-footer .elementor-element-dd3b0cb p{font-size:12px!important;line-height:1.8}
.elementor-location-footer .elementor-element-0381969{border-bottom:1px solid #cde4da}
.secao-linha-animada::after{transform:scaleX(1)!important}
.elementor .e-con.fluvi-new-page{max-width:1216px!important;margin-inline:auto!important;padding:64px 32px 80px!important;gap:28px!important}
.fluvi-new-page h1{font-size:clamp(34px,4.5vw,58px);line-height:1.15;letter-spacing:-1.7px;color:var(--fluvi-ink);font-weight:700;max-width:920px}
.fluvi-new-page h2{font-size:30px;line-height:1.25;letter-spacing:-.7px;color:var(--fluvi-ink);font-weight:600}
.fluvi-new-page h3{font-size:20px;line-height:1.4;color:var(--fluvi-ink);font-weight:600}
.fluvi-new-page p,.fluvi-new-page li{font-size:16px;line-height:1.85;color:#53655c}
.fluvi-eyebrow p{font-size:13px!important;font-weight:600;color:var(--fluvi-green)!important;text-transform:uppercase;letter-spacing:1.8px}
.fluvi-lead p{font-size:19px;line-height:1.8;max-width:800px}
.fluvi-new-page .fluvi-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-block:12px}
.fluvi-new-page .fluvi-card{padding:28px;border:1px solid var(--fluvi-line);border-radius:22px;background:#f5fbf7;gap:16px}
.fluvi-new-page .fluvi-card .elementor-widget-button{margin-top:auto}
.fluvi-new-page .elementor-button{background:linear-gradient(130deg,#00865a,#00ad76);color:#fff;border-radius:100px;padding:17px 24px;font-family:Poppins,sans-serif;font-size:15px;font-weight:600}
.fluvi-new-page .fluvi-panel{padding:32px;border-radius:24px;background:#023124;color:white;gap:16px}
.fluvi-new-page .fluvi-panel h2,.fluvi-new-page .fluvi-panel p{color:#fff}
.fluvi-new-page .fluvi-panel .elementor-button{background:#c4f7d9;color:#023124}
.elementor .e-con.fluvi-article{max-width:1160px!important;margin-inline:auto!important;padding:48px 32px!important}
.elementor .e-con.fluvi-article+.fluvi-article{padding-top:12px!important}
.fluvi-article h1{font-family:Poppins,Arial,sans-serif;font-size:clamp(32px,4vw,52px);font-weight:700;line-height:1.2;color:var(--fluvi-ink);letter-spacing:-1.3px}
.fluvi-article .elementor-widget-theme-post-content{font-family:Poppins,Arial,sans-serif;font-size:17px;line-height:1.9;color:#41594c}
.fluvi-article .elementor-widget-theme-post-content h2{font-size:28px;line-height:1.35;color:var(--fluvi-ink);margin-top:40px}
.fluvi-article .elementor-widget-theme-post-content a{color:#007f53;text-decoration:underline;text-underline-offset:3px}
.fluvi-article .elementor-widget-theme-post-featured-image img{border-radius:24px;max-height:420px;object-fit:contain;background:#e8f8ef;width:100%}
.elementor-posts .elementor-post{border:1px solid #dce9e1;border-radius:20px;overflow:hidden;background:white}
.elementor-posts .elementor-post__text{padding:12px 24px 24px!important}
.elementor-posts .elementor-post__thumbnail img{object-fit:contain!important;background:#e7f7ed}
.elementor-posts .elementor-post__title a{color:var(--fluvi-ink)}
.elementor-posts .elementor-post__excerpt p{line-height:1.8}
.elementor-posts .elementor-post__read-more{color:#d0ffdf!important;font-weight:600}
.elementor-posts .elementor-post__excerpt p{color:#e1f7eb!important;font-size:14px}
@media(max-width:1024px){
 .elementor-location-header>.e-con{position:relative}
 .elementor-location-header .e-con-inner,.elementor-location-header .elementor-widget-nav-menu,.elementor-location-header .elementor-widget-nav-menu>.elementor-widget-container{position:static!important}
 .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;margin:0!important;max-height:calc(100dvh - 80px);overflow-y:auto;z-index:10}
}
@media(max-width:1100px){
 .elementor-location-header>.e-con{padding-inline:24px!important}
 .elementor-location-header .elementor-element-4ed35f2{display:none}
 .fluvi-hero h1{font-size:42px!important}
 .fluvi-hero{padding:40px 24px!important}
 .fluvi-hero .elementor-element-9588dd4{gap:24px}
 .elementor .e-con.fluvi-new-page{padding:48px 24px!important}
}
@media(max-width:767px){
 html{scroll-padding-top:20px}
 .elementor-location-header>.e-con{padding:14px 20px!important;flex-wrap:wrap!important}
 .elementor-location-header .e-con-inner{justify-content:space-between!important;gap:0!important}
 .elementor-location-header .elementor-widget-theme-site-logo{width:105px!important;max-width:105px}
 .elementor-location-header .elementor-widget-nav-menu{width:auto!important;margin-left:auto}
 .elementor-nav-menu--dropdown{background:#f4fbf6!important;box-shadow:0 16px 24px #02312415;border-radius:0 0 18px 18px}
 .elementor-nav-menu--dropdown .elementor-item{padding:16px 24px!important;color:#023124!important}
 .fluvi-hero{padding:28px 20px 34px!important;gap:24px!important}
 .fluvi-hero .elementor-element-9588dd4{flex-direction:column!important;gap:28px!important;width:100%!important}
 .fluvi-hero .elementor-element-7334ae8,.fluvi-hero .elementor-element-98d5ac1{width:100%!important;gap:20px!important}
 .fluvi-hero h1{font-size:35px!important;line-height:1.16!important;letter-spacing:-1.2px}
 .fluvi-hero .elementor-element-c80bc2b p{font-size:15px!important;line-height:1.8!important}
 .fluvi-hero .elementor-element-d1b2529 img{max-height:390px}
 .fluvi-hero .elementor-element-48af1b6{margin-top:0!important;flex-direction:row!important;gap:8px!important;padding:20px 8px!important;flex-wrap:nowrap!important}
 .fluvi-hero .elementor-element-48af1b6>.e-con{width:33.333%!important;padding:0!important}
 .fluvi-hero .elementor-counter-number-wrapper{font-size:25px!important}
 .fluvi-hero .elementor-counter-title{font-size:11px!important;line-height:1.6!important}
 .fluvi-testimonials .swiper-slide{padding:22px!important}
 .custom-saas-table th,.custom-saas-table td{padding:14px 12px;font-size:13px;min-width:150px}
 .custom-saas-table{min-width:620px}
 .elementor-location-footer>.e-con{padding:40px 24px 24px!important}
 .elementor-location-footer .elementor-element-0381969{flex-direction:column!important;gap:32px!important}
 .elementor-location-footer .elementor-element-c614a5e,.elementor-location-footer .elementor-element-58c668b{width:100%!important}
 .elementor-location-footer .elementor-element-58c668b{display:grid!important;grid-template-columns:1fr 1fr;gap:28px!important}
 .elementor-location-footer .elementor-element-58c668b>.e-con{width:100%!important}
 .elementor-location-footer .elementor-element-a2db203{flex-direction:column!important;gap:18px!important}
 .elementor .e-con.fluvi-new-page{padding:36px 22px 56px!important;gap:22px!important}
 .fluvi-new-page .fluvi-card-grid{grid-template-columns:1fr}
 .fluvi-new-page .fluvi-card,.fluvi-new-page .fluvi-panel{padding:24px}
 .fluvi-new-page h1{letter-spacing:-1.2px}
 .fluvi-new-page h2{font-size:27px}
 .fluvi-lead p{font-size:17px}
 .elementor .e-con.fluvi-article{padding:32px 22px!important}
 .fluvi-article .elementor-widget-theme-post-content{font-size:16px}
 .fluvi-article .elementor-widget-theme-post-content h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.elementor-button:hover{transform:none}}
/* Cabeçalho alinhado à grade do conteúdo (1216px): logo na margem esquerda, menu no
   centro e botões na margem direita. O contêiner encaixotado do Elementor limitava o
   miolo a 1140px, e o grupo de botões tinha 40% de largura com alinhamento à esquerda. */
.elementor-location-header>.e-con>.e-con-inner{max-width:none!important;width:100%!important}
@media(min-width:1101px){
 .elementor-location-header>.e-con>.e-con-inner{justify-content:space-between!important;column-gap:20px}
 .elementor-location-header .elementor-element-4ed35f2{width:auto!important;flex:0 0 auto;justify-content:flex-end}
}
/* Com espaço suficiente, o menu fica no centro exato da página. */
@media(min-width:1280px){
 .elementor-location-header>.e-con>.e-con-inner{display:grid!important;grid-template-columns:1fr auto 1fr;column-gap:24px}
 .elementor-location-header .fv-brand-header{justify-self:start}
 .elementor-location-header .elementor-widget-nav-menu{justify-self:center}
 .elementor-location-header .elementor-element-4ed35f2{justify-self:end}
}
/* Submenu do cabeçalho (Captura): cartão no padrão do site. */
.elementor-location-header .elementor-nav-menu--main .sub-menu{background:#fff!important;border:1px solid #dcebe2;border-radius:14px;box-shadow:0 18px 40px #0231241a;padding:8px!important;min-width:250px!important;margin-top:4px!important}
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item{border-radius:9px;padding:11px 14px!important;font-size:14px;color:#023124!important;border:0!important}
.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover,.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-sub-item:focus-visible,.elementor-location-header .elementor-nav-menu--main .sub-menu .elementor-item-active{background:#eef8f2!important;color:#007f53!important}
/* Submenu no menu móvel: mesma leitura dos demais itens, com recuo sob "Captura". */
@media(max-width:1024px){
 .elementor-location-header .elementor-nav-menu--dropdown .sub-menu{background:#eaf6ef!important}
 .elementor-location-header .elementor-nav-menu--dropdown .sub-menu .elementor-sub-item{font-size:15px!important;padding:14px 24px 14px 40px!important;color:#023124!important}
}
