/* AJUSTES DO SITE: componentes compartilhados, responsividade, menu, mapa e microinterações. Carregado após a base. */

.cta-center{display:flex;justify-content:center;margin-top:30px}.shell>.btn{display:flex;width:fit-content;margin-inline:auto}.section-heading,.page-title{text-align:center}.page-title{padding:40px 0}.page-title h1{font-size:clamp(30px,4vw,52px);color:white}.breadcrumb{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;padding-top:26px;color:#cde7f5;font-size:14px}.audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.audience-card{background:white;border:1px solid #c7dfed;border-radius:24px;padding:36px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;box-shadow:0 14px 35px #0b2b6308}.audience-number{font-size:14px;color:#0f4d68;border:1px solid #abd3e7;border-radius:50%;padding:8px 12px;margin-bottom:22px}.audience-card h3{font-size:30px;color:#0b2b63}.audience-card p{margin:18px auto 26px}.audience-card .btn{margin-top:auto}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;text-align:center}.method-grid article{padding:28px 20px;border-top:1px solid #72c9ed}.method-grid span{font-size:28px;color:#83dffb}.method-grid h3{margin:16px 0}.map-frame{border-radius:24px;overflow:hidden;margin:32px 0;background:#eaf5fb}.map-frame iframe{width:100%;height:760px;border:0;display:block}.whatsapp-float{position:fixed;bottom:max(22px,env(safe-area-inset-bottom));right:22px;z-index:80;display:flex;align-items:center;justify-content:center;gap:10px;background:#128c4c;color:white;padding:14px 20px;border-radius:99px;text-decoration:none;box-shadow:0 8px 28px #001b3240;border:2px solid white;font-size:15px;font-weight:700}.whatsapp-float img{width:34px;height:34px;object-fit:contain}.footer{padding-bottom:110px}.header .header-inner{width:min(calc(100% - 40px),1380px)}.header nav a{font-size:14px}.header .brand{width:190px}.header [aria-current=page]{color:#8fe2ff;text-decoration:underline}.hero-photo img{object-position:50% 40%}.process-row .technical{background:#0b4260;border-radius:20px;padding:12px}.process-row h3{font-size:22px}.agro-panel .technical{width:120px}.well-display figure{border-radius:24px}.well-rings{display:none}.contact-form .btn{width:fit-content;min-width:220px;margin-inline:auto;display:flex}.service-page .header{padding:0;background:#0b2b63}.service-page .header .brand{height:auto}.service-page .footer nav{display:grid}.service-page .footer{margin:0}.service-page .menu-toggle{display:flex}.service-page .hero-photo{transform:none!important}.service-page .btn{margin-inline:auto}.service-page .service-hero__inner{text-align:center}.service-page .service-hero__inner p{margin-inline:auto}
@media(min-width:1100px){.service-page .menu-toggle{display:none}.header nav{display:flex}.header-inner{gap:20px}}@media(min-width:960px) and (max-width:1099px){.header nav{gap:0}.header nav a{padding:9px 7px;font-size:12px}.header .brand{width:170px}}
@media(max-width:700px){.audience-grid,.method-grid{grid-template-columns:1fr}.audience-card{padding:28px 24px}.map-frame iframe{height:1080px}.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px;border-radius:50%}.whatsapp-float span{display:none}.header .brand{max-width:190px}.header-inner{gap:12px}.page-title{padding:30px 0}.service-page .header .header-inner{padding:12px 0}.process-row{grid-template-columns:1fr}.step-no{margin:auto}.process-row .technical{grid-column:auto;justify-self:center}.agro-panel h3{font-size:26px}}

.audience-card figure{width:100%;margin-bottom:24px}.audience-card figure img{width:100%;height:250px;object-fit:cover;object-position:50% 35%;border-radius:16px}.audience-card figcaption{font-size:12px;color:#47617b;padding-top:10px}.audience-card:hover{border-color:#4ba8cc}.header nav{z-index:30}

@media(max-width:700px){.map-frame iframe{height:1750px}}
/* Refined, calmer visual system */
.whatsapp-float{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(14px) scale(.94);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1),visibility .55s;background:#128c4c;border:0;box-shadow:0 8px 24px rgba(0,36,40,.25)}
.whatsapp-float.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}
.whatsapp-float img{width:28px;height:28px}
.hero{background:radial-gradient(ellipse at 75% 4%,#d4eff8 0,transparent 50%),linear-gradient(150deg,#fff 15%,#e9f6fb 100%)}
.hero-copy{max-width:850px;margin:auto}.hero h1{font-weight:750;letter-spacing:-.04em;line-height:1.08}.hero .lead{color:#36536b;line-height:1.65}.hero-photo{border:6px solid white;box-shadow:0 22px 55px rgba(7,49,82,.16)}
.hero .eyebrow{font-size:11px;letter-spacing:.12em}.btn{background:#076899;border:1px solid #076899;box-shadow:0 7px 20px rgba(7,104,153,.18);gap:0}.btn:hover{background:#064c76;transform:translateY(-2px)}
.audience-card{border-radius:18px;box-shadow:0 12px 32px rgba(11,43,99,.06);transition:transform .3s ease,box-shadow .3s ease}.audience-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(11,43,99,.12)}
@media(max-width:700px){.header-inner{min-height:80px}.header .brand{width:160px}.menu-toggle{border-color:rgba(255,255,255,.28);padding:8px 12px}.hero{padding-top:44px}.hero h1{font-size:clamp(30px,8.2vw,38px)}.hero .lead{font-size:16px;line-height:1.6;margin-block:20px 26px}.hero-photo{border-radius:20px}.hero-photo img{height:320px}.whatsapp-float{width:54px;height:54px;padding:0;right:18px;bottom:max(20px,env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.whatsapp-float,.audience-card{transition:none}}
/* O preto da imagem original deixa passar o azul do cabeçalho; a marca original é preservada. */
.header .brand img { mix-blend-mode: screen; }

/* A abertura acompanha a área visível, mantendo rolagem quando o conteúdo precisar de mais espaço. */
.hero{min-height:calc(100vh - 80px);min-height:calc(100svh - 80px);display:flex;align-items:center;padding-block:clamp(18px,3vh,40px);}
.hero-grid{width:min(calc(100% - 40px),var(--max));gap:clamp(14px,2vh,28px)}
.hero .eyebrow{margin-bottom:clamp(8px,1.4vh,18px)}
.hero .lead{margin-block:clamp(10px,2vh,22px);line-height:1.45}
.hero-photo img{height:clamp(100px,22svh,250px);object-position:center 42%}
.hero-photo figcaption{padding:8px 14px}
.hero .water-edge{height:clamp(35px,7vh,90px)}
@media(max-width:700px){.hero h1{font-size:clamp(25px,7.3vw,35px)}.hero .lead{font-size:clamp(14px,3.8vw,16px)}.hero .btn{min-height:48px;padding:11px 18px;font-size:15px}.hero-photo{border-width:4px}}
@media(max-height:650px) and (max-width:700px){.hero h1{font-size:clamp(23px,6.8vw,29px)}.hero .eyebrow{font-size:10px}.hero-photo img{height:100px}.hero .lead{font-size:14px}.hero{padding-block:12px}}
@media(min-width:960px){.hero{min-height:calc(100vh - 104px);min-height:calc(100svh - 104px)}.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);max-width:var(--max);gap:clamp(36px,5vw,80px)}.hero-photo img{height:clamp(260px,56svh,580px)}.hero h1{font-size:clamp(38px,3.8vw,58px)}}
@media(min-width:701px) and (max-width:959px){.hero-photo img{height:clamp(120px,18svh,190px)}}
@media(min-width:701px) and (max-width:959px){.hero{min-height:calc(100vh - 92px);min-height:calc(100svh - 92px)}}
.hero-photo img{object-position:center 15%}

/* Menu: uma única forma vetorial para as duas cores evita troca de ícones. */
.header .header-inner{min-height:64px}
.header .brand{width:150px}
.header .menu-toggle{width:48px;height:48px;min-height:48px;display:flex;align-items:center;justify-content:center;padding:8px;border:0;background:transparent;border-radius:8px}
.menu-drop{display:block;width:27px;height:34px;overflow:visible}
.menu-drop path{fill:transparent;stroke:#fff;stroke-width:2.2;stroke-linejoin:round;transition:fill .28s ease,stroke .28s ease}
.menu-toggle:hover .menu-drop path{stroke:#a8e6fa}
.menu-toggle[aria-expanded="true"] .menu-drop path{fill:#4ba8cc;stroke:#bcecff}
.hero{min-height:calc(100vh - 65px);min-height:calc(100svh - 65px)}
@media(min-width:701px) and (max-width:959px){.header .header-inner{min-height:70px}.hero{min-height:calc(100vh - 71px);min-height:calc(100svh - 71px)}}
@media(min-width:960px){.header .header-inner{min-height:80px}.header .brand{width:190px}.header .menu-toggle{display:none}.hero{min-height:calc(100vh - 81px);min-height:calc(100svh - 81px)}}
@media(prefers-reduced-motion:reduce){.menu-drop path{transition:none}}

/* Mosaico de acesso às soluções, desenhado para a tela do celular. */
@media(max-width:700px){
.audience-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}
.audience-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:clamp(155px,23svh,205px);padding:14px;display:flex;align-items:flex-start;justify-content:flex-end;text-align:left;border:0;border-radius:16px;color:white;box-shadow:0 6px 18px rgba(5,38,64,.13)}
.audience-card:nth-child(1),.audience-card:nth-child(4){grid-column:span 7}
.audience-card:nth-child(2),.audience-card:nth-child(3){grid-column:span 5}
.audience-card figure{position:absolute;inset:0;z-index:-2;width:100%;height:100%;margin:0}
.audience-card figure img{width:100%;height:100%;object-fit:cover;object-position:center 24%;border-radius:0}
.audience-card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,27,49,.16) 5%,rgba(3,27,49,.85) 100%);pointer-events:none}
.audience-card figure figcaption{position:absolute;top:8px;left:10px;right:10px;color:#fff;font-size:9px;line-height:1.2;text-shadow:0 1px 4px #001a2e}
.audience-card h3{font-size:clamp(17px,4.5vw,23px);color:#fff;line-height:1.15;text-align:left;margin:0 0 10px;overflow-wrap:anywhere}
.audience-card p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}
.audience-card .btn{margin:0;min-height:38px;max-width:100%;padding:7px 12px;font-size:12px;line-height:1.2;background:#fff;color:#0b2b63;border:0;box-shadow:none;text-align:center}
.audience-card .btn::after{content:"";position:absolute;inset:0}
.audience-card:focus-within{outline:3px solid #11a9e2;outline-offset:3px}
.audience-card:hover{transform:none}
}

@media(max-width:700px){.audience-card h3{font-size:clamp(14px,4vw,21px);overflow-wrap:normal}.audience-card::before{background:linear-gradient(180deg,rgba(3,27,49,.7),rgba(3,27,49,.12) 35%,rgba(3,27,49,.88))}.audience-card figure figcaption{color:#fff;font-size:10px;font-weight:600;text-shadow:0 1px 3px #001a2e}}

/* Atendimento: mapa vetorial do manual integrado ao conteúdo, com cidades expansíveis. */
.coverage-layout{display:grid;gap:30px;align-items:center}.coverage-map{text-align:center;min-width:0}.coverage-map-graphic{width:min(100%,360px);margin-inline:auto}.coverage-map-graphic svg{width:100%;height:auto;display:block;overflow:visible}.coverage-map-graphic .estado path{fill:#dbe7ee;stroke:#fff;stroke-width:1.1}.coverage-map-graphic .estado text{fill:#31516f;font-size:11px;font-weight:700}.coverage-map-graphic :is(.state-bahia,.state-maranhao,.state-piaui,.state-tocantins) path{fill:#118ec8}.coverage-map-graphic :is(.state-goias,.state-distritofederal) path{fill:#1b6396}.coverage-map-graphic :is(.state-bahia,.state-maranhao,.state-piaui,.state-tocantins,.state-goias,.state-distritofederal) text{fill:#fff}.map-caption{font-size:14px;line-height:1.5;margin:14px auto 0;max-width:44ch}.map-note{font-size:12px;color:#47617b;margin:6px auto 0;line-height:1.5}.regions{width:min(100%,600px);margin:auto}.region-intro{text-align:center;font-size:15px;color:#36536b;margin-bottom:16px}.region{border-bottom:1px solid #b9d6e5}.region summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:12px 4px;cursor:pointer;list-style:none;font-size:17px;font-weight:700;color:#0b2b63}.region summary::-webkit-details-marker{display:none}.region summary small{font-size:12px;font-weight:600;color:#47617b;margin-left:5px}.region-plus{font-size:24px;color:#087cae;transition:transform .2s}.region[open] .region-plus{transform:rotate(45deg)}.region ul{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 18px;list-style:none}.region li{border-radius:999px;background:#fff;border:1px solid #c9e0ec;padding:7px 12px;font-size:14px;color:#244763}.coverage-contact{text-align:center;margin:32px auto 0;padding-top:24px;border-top:1px solid #c8dfe9}.coverage-contact p{font-size:14px;color:#47617b}.coverage-contact .actions{justify-content:center;margin-top:20px}.coverage-contact .btn{min-height:48px;font-size:14px;padding:11px 18px}@media(min-width:960px){.coverage-layout{grid-template-columns:1fr 1fr;gap:60px}}@media(max-width:700px){.coverage-layout{gap:20px}.coverage-map-graphic{width:min(100%,280px)}.coverage .section-heading{margin-bottom:20px}.coverage .section-heading .lead{font-size:15px;margin-top:14px}.coverage-contact{margin-top:24px}.coverage-contact .actions{gap:10px}}


/* Gota do FAQ: mesmo desenho nos dois estados para evitar mudanças de tamanho. */
.faq-list .faq-drop{display:block;width:24px;height:30px;flex:0 0 24px;overflow:visible}
.faq-list .faq-drop path{fill:transparent;stroke:#087cae;stroke-width:2.2;stroke-linejoin:round;transition:fill .28s ease,stroke .28s ease}
.faq-list details[open] .faq-drop path{fill:#148ebc;stroke:#087cae}
@media (prefers-reduced-motion:reduce){.faq-list .faq-drop path{transition:none}}

/* Alternância clara e azul na página inicial. */
.audiences .audience-card p{color:#244763}
.gallery.light .gallery-grid figcaption{color:#36536b}
.coverage.dark .region-intro,.coverage.dark .region summary,.coverage.dark .region summary small,.coverage.dark .map-note,.coverage.dark .coverage-contact p{color:#e4f1f7}
.coverage.dark .region{border-color:#477388}
.coverage.dark .region-plus{color:#7ad7f5}
.coverage.dark .coverage-contact{border-color:#477388}
.coverage.dark .coverage-contact .btn.secondary{color:#fff;border-color:#8bcfe7}
.coverage.dark .coverage-map-graphic .estado text{fill:#31516f}
.coverage.dark .coverage-map-graphic :is(.state-bahia,.state-maranhao,.state-piaui,.state-tocantins,.state-goias,.state-distritofederal) text{fill:#fff}
.contact{padding-block:clamp(3rem,6vw,5rem);padding-bottom:clamp(4rem,7vw,6rem)}
.contact-form{padding:clamp(20px,3vw,28px)}
.contact-form h3{margin-bottom:16px}
.contact-form label{margin:12px 0 6px}
.contact .water-edge{height:40px}

/* Cabeçalho persistente e gotas das regiões. */
.header{position:sticky;top:0;z-index:100}
html{scroll-padding-top:100px}
section[id]{scroll-margin-top:100px}
.region-drop{display:block;width:24px;height:30px;flex:0 0 24px;overflow:visible}
.region-drop path{fill:transparent;stroke:#7ad7f5;stroke-width:2.2;stroke-linejoin:round;transition:fill .28s ease,stroke .28s ease}
.region[open] .region-drop path{fill:#59b8dc;stroke:#a9e9fb}
@media(max-width:1099px){.header nav.open{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}}
@media(prefers-reduced-motion:reduce){.region-drop path{transition:none}}

/* Cards equilibrados em telas largas; botão flutuante somente com símbolo. */
.whatsapp-float{width:58px;height:58px;padding:0;border-radius:50%}
.whatsapp-float span{display:none}
@media(min-width:701px){.audience-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.audience-card{padding:18px;min-width:0}.audience-card figure{width:100%;margin:0}.audience-card figure img{width:100%;height:clamp(150px,17vw,210px);object-fit:cover;border-radius:14px}.audience-card h3{font-size:clamp(21px,2vw,26px);margin:20px 0 0}.audience-card p{font-size:15px;line-height:1.55;margin:12px auto 22px}.audience-card .btn{min-height:48px;padding:10px 20px}}
@media(min-width:1100px){.audience-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
