:root{--cor:#0b5fff;--cor-esc:#0a3fa8;--txt:#1b2430;--fundo:#fff;--cinza:#f4f6f9;--raio:10px}
*{box-sizing:border-box}
body{margin:0;font-size:16px;line-height:1.6;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--txt);background:var(--fundo)}
img{max-width:100%;height:auto}
a{color:var(--cor)}
.wrap{width:min(1100px,100% - 2rem);margin-inline:auto}
.topo{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e9ef;z-index:10}
.topo-in{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:1rem}
.logo{font-weight:700;font-size:1.15rem;text-decoration:none;color:var(--txt)}
.menu{display:flex;align-items:center;gap:1.25rem}
.menu a{text-decoration:none;color:var(--txt)}
.menu a:hover{color:var(--cor)}
.menu a.ativo:not(.btn){color:var(--cor);font-weight:600;box-shadow:0 2px 0 var(--cor)}
.btn.ativo{background:var(--cor-esc)}
.menu-btn{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer}
.btn{display:inline-block;background:var(--cor);color:#fff!important;padding:.7rem 1.3rem;border-radius:var(--raio);text-decoration:none;border:0;font-style:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:inherit;font-weight:600;cursor:pointer}
.btn:hover{background:var(--cor-esc)}
.btn-sm{padding:.4rem .9rem}
.btn-ghost{background:transparent;color:var(--cor)!important;box-shadow:inset 0 0 0 2px var(--cor)}
.btn-ghost:hover{background:var(--cinza)}
.hero{background:var(--cinza);padding:clamp(3rem,10vw,6rem) 0}
.hero h1{font-size:clamp(1.9rem,5vw,3rem);line-height:1.15;margin:0 0 1rem;max-width:20ch}
.hero p{max-width:55ch;font-size:1.1rem}
.cards{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));padding:3rem 0}
.cards article{border:1px solid #e5e9ef;border-radius:var(--raio);padding:1.5rem}
.cards h2{margin-top:0;font-size:1.2rem}
.texto{padding:3rem 0;max-width:760px}
.form{display:grid;gap:1rem;max-width:520px}
.form label{display:grid;gap:.3rem;font-weight:600}
.form input,.form textarea{font-style:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:inherit;padding:.65rem .8rem;border:1px solid #c9d1dc;border-radius:8px}
.form input:focus,.form textarea:focus{outline:2px solid var(--cor);border-color:transparent}
.aviso{padding:.8rem 1rem;border-radius:8px}
.aviso.ok{background:#e6f6ec;color:#146c2e}
.aviso.erro{background:#fdeaea;color:#a61b1b}
.aviso.info{background:#eef1f7;color:#16233f}
.rodape{background:#111823;color:#cdd5e0;padding:2rem 0;margin-top:2rem}
.rodape a{color:#fff}
.rodape p{margin:.2rem 0}
.peq{font-size:.85rem;opacity:.7}
/* menu: no desktop é uma linha; no mobile vira painel que entra pela direita */
.menu-links{display:flex;align-items:center;gap:1.25rem}
.menu-topo,.menu-info,.menu-redes,.menu-fundo{display:none}
@media(max-width:720px){
	.menu-btn{display:block;color:var(--txt)}
	html.menu-aberto{overflow:hidden}
	.menu-fundo{display:block;position:fixed;inset:0;z-index:20;background:rgba(8,12,20,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
	.menu-fundo.aberto{opacity:1;visibility:visible}
	.menu{position:fixed;top:0;right:0;bottom:0;z-index:30;width:min(86vw,360px);flex-direction:column;align-items:stretch;gap:0;padding:1.25rem 1.5rem 1.5rem;overflow-y:auto;overscroll-behavior:contain;
		background:#0f1720;color:#fff;border-radius:18px 0 0 18px;box-shadow:-12px 0 40px rgba(0,0,0,.3);transform:translateX(105%);visibility:hidden;transition:transform .32s cubic-bezier(.22,.8,.3,1),visibility .32s}
	.menu.aberto{transform:none;visibility:visible}
	.menu-topo{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
	.menu-topo .logo{color:#fff}
	.menu-x{background:none;border:0;color:#fff;cursor:pointer;padding:.25rem;line-height:0;border-radius:8px}
	.menu-x:focus-visible,.menu-btn:focus-visible{outline:2px solid var(--cor);outline-offset:2px}
	.menu-links{flex-direction:column;align-items:stretch;gap:0}
	.menu a{color:#fff}
	.menu-links a:not(.btn){display:block;padding:.95rem 0;font-weight:600;border-bottom:1px solid rgba(255,255,255,.14)}
	.menu-links a.ativo:not(.btn){color:#7fb0ff;box-shadow:none}
	.menu-links a.btn{margin-top:1.25rem;text-align:center;padding:.8rem 1rem}
	.menu-info,.menu-redes{display:block;margin-top:2rem}
	.menu-info h2,.menu-redes h2{margin:0 0 .8rem;font-size:1.25rem;color:#fff}
	.menu-info p{margin:0 0 .9rem}
	.menu-info small{display:block;opacity:.6;font-size:.85rem}
	.menu-info a,.menu-info span{color:#fff;text-decoration:none}
	.menu-redes div{display:flex;gap:.6rem}
	.menu-redes a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14)}
	.menu-redes a:hover{background:var(--cor)}
}
@media(prefers-reduced-motion:reduce){.menu,.menu-fundo{transition:none}}
}
.form-msg:empty{display:none}
.form-msg{margin:0 0 1rem}
.form label.check,.check{display:flex;align-items:flex-start;gap:.6rem;font-weight:400}
.check input{margin-top:.35rem;width:1.1rem;height:1.1rem}
.btn:disabled{opacity:.6;cursor:wait}
.g-recaptcha{margin:.25rem 0;max-width:100%;overflow:hidden}
/* blog (lista e post): app/views/blog/*.php */
.so-leitor{position:absolute;left:-9999px}
.blog{padding:2rem 0 3rem}.blog h1{font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.2;margin:.3rem 0 1rem}.blog-intro{max-width:60ch;color:#566070}
.blog-crumbs{font-size:.9rem;color:#566070}.blog-crumbs a{color:#566070}.blog-crumbs i{font-style:normal;margin:0 .2rem;opacity:.6}
.blog-cats,.blog-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1rem 0}.blog-cats a,.blog-tags a{display:inline-block;padding:.25rem .8rem;border-radius:99px;background:var(--cinza);color:var(--txt);text-decoration:none;font-size:.9rem}.blog-cats a:hover,.blog-tags a:hover{background:var(--cor);color:#fff}
.blog-grade{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:1.5rem 0}
.blog-card{display:flex;flex-direction:column;border:1px solid #e5e9ef;border-radius:var(--raio);overflow:hidden;background:#fff}.blog-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cinza)}.blog-card-img img,.blog-card-img picture{display:block;width:100%;height:100%;object-fit:cover}
.blog-card-corpo{padding:1.1rem 1.25rem 1.3rem;display:grid;gap:.4rem;align-content:start}.blog-card h2,.blog-card h3{font-size:1.15rem;line-height:1.3;margin:0}.blog-card h2 a,.blog-card h3 a{color:var(--txt);text-decoration:none}.blog-card h2 a:hover,.blog-card h3 a:hover{color:var(--cor)}.blog-card p{margin:0}
.blog-meta{font-size:.85rem;color:#566070}.blog-meta a{color:#566070}.blog-mais{font-weight:600;text-decoration:none}
.blog-senha{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:1.5rem 0;padding:1.2rem;border:1px solid rgba(128,128,128,.3);border-radius:12px}.blog-senha p{flex:1 1 100%;margin:0}.blog-senha input[type=password]{flex:1 1 200px;max-width:320px;padding:.6rem .8rem;border:1px solid rgba(128,128,128,.5);border-radius:8px;font-style:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:inherit}.blog-senha-erro{color:#b00020}.blog-protegido{opacity:.7;font-style:italic}
.blog-pag{display:flex;gap:1.2rem;align-items:center;justify-content:center;margin:2rem 0;flex-wrap:wrap}
.blog-single{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr) 300px;align-items:start;padding:2rem 0 3rem}.blog-post{min-width:0}.blog-post h1{font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.2;margin:.4rem 0 .6rem}.blog-resumo{font-size:1.15rem;color:#566070}
.blog-destaque{margin:1.5rem 0}.blog-destaque img{width:100%;border-radius:var(--raio);display:block}.blog-destaque figcaption,.blog-conteudo figcaption{font-size:.85rem;color:#566070;margin-top:.4rem}
.blog-conteudo{font-size:1.05rem;line-height:1.8}.blog-conteudo h2{font-size:1.6rem;line-height:1.3;margin:2rem 0 .6rem}.blog-conteudo h3{font-size:1.25rem;margin:1.6rem 0 .5rem}.blog-conteudo img{border-radius:8px}.blog-conteudo figure{margin:1.5rem 0}
.blog-conteudo blockquote{margin:1.5rem 0;padding:.5rem 1.2rem;border-left:4px solid var(--cor);color:#3d4756;background:var(--cinza)}.blog-conteudo table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.blog-conteudo th,.blog-conteudo td{border:1px solid #d9dfe7;padding:.5rem .7rem;text-align:left}.blog-conteudo th{background:var(--cinza)}.blog-conteudo pre{overflow:auto;background:#111823;color:#e6ecf5;padding:1rem;border-radius:8px}
.blog-busca{display:flex;gap:.4rem;margin:1rem 0;max-width:460px}.blog-busca input{flex:1;min-width:0;padding:.6rem .8rem;border:1px solid #cfd6df;border-radius:var(--raio);font-style:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:inherit;background:#fff}.blog-busca button{padding:.6rem 1rem;border:0;border-radius:var(--raio);background:var(--cor);color:#fff;font-style:inherit;font-weight:inherit;font-size:inherit;line-height:inherit;font-family:inherit;font-weight:600;cursor:pointer}.blog-resultado{color:#566070}
.blog-lateral{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:1.5rem;position:sticky;top:5rem}.blog-widget{border:1px solid #e5e9ef;border-radius:var(--raio);padding:1.1rem 1.2rem;background:#fff}.blog-widget h2{font-size:1.05rem;margin:0 0 .7rem}.blog-widget .blog-busca{margin:0;max-width:none}
.blog-rel-lista,.blog-lista-cats{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.blog-rel-lista li{display:grid;grid-template-columns:64px 1fr;gap:.7rem;align-items:center}.blog-rel-lista li:not(:has(.blog-rel-img)){grid-template-columns:1fr}.blog-rel-img{display:block;width:64px;height:64px;border-radius:8px;overflow:hidden;background:var(--cinza)}.blog-rel-img img,.blog-rel-img picture{display:block;width:100%;height:100%;object-fit:cover}
.blog-rel-lista a{color:var(--txt);text-decoration:none;font-weight:600;line-height:1.3}.blog-rel-lista a:hover{color:var(--cor)}.blog-rel-lista time{display:block;font-size:.8rem;color:#566070;font-weight:400}
.blog-lista-cats li{display:flex;justify-content:space-between;gap:.5rem}.blog-lista-cats a{color:var(--txt);text-decoration:none}.blog-lista-cats a:hover{color:var(--cor)}.blog-lista-cats span,.blog-widget .blog-tags span{color:#6b7686;font-size:.85em}.blog-widget .blog-tags{margin:0}.blog-widget .blog-tags a:hover span{color:#fff}
/* menu lateral fixo de páginas (elemento lateral.php) — mesmo visual da barra do blog */
.pagina-lateral{display:grid;gap:2.5rem;grid-template-columns:minmax(0,1fr) 300px;align-items:start}.pagina-lateral>.texto{max-width:none;min-width:0}
.lateral{position:sticky;top:5rem;margin:3rem 0;min-width:0}.lateral-widget{border:1px solid #e5e9ef;border-radius:var(--raio);padding:1.1rem 1.2rem;background:#fff}.lateral-widget h2{font-size:1.05rem;margin:0 0 .7rem}
.lateral-lista{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.lateral-lista a{color:var(--txt);text-decoration:none}.lateral-lista a:hover,.lateral-lista a.ativo{color:var(--cor)}.lateral-lista a.ativo{font-weight:600}
@media(max-width:900px){.blog-single,.pagina-lateral{grid-template-columns:minmax(0,1fr)}.blog-lateral,.lateral{position:static}.lateral{margin:0 0 3rem}}

.blog-sug{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;margin:0;padding:.35rem;list-style:none;background:#fff;border:1px solid #dfe5ec;border-radius:var(--raio);box-shadow:0 12px 30px rgba(16,24,40,.14);max-height:70vh;overflow:auto}.blog-sug li{margin:0}.blog-sug a{display:flex;gap:.7rem;align-items:center;padding:.5rem .6rem;border-radius:8px;color:inherit;text-decoration:none}.blog-sug li.on a,.blog-sug a:hover{background:#eef3fb}.blog-sug img{width:44px;height:44px;object-fit:cover;border-radius:8px;flex:none}.blog-sug .tx{display:grid;gap:.1rem;min-width:0}.blog-sug b{font-size:.92rem;line-height:1.3}.blog-sug small{color:#667085;font-size:.78rem}.blog-sug .mais a{justify-content:center;font-weight:600;color:var(--cor);font-size:.9rem}.blog-sug .vazio{padding:.7rem;color:#667085;font-size:.9rem}
.blog-conteudo figure.embed{margin:1.6rem 0}.blog-conteudo .embed iframe{display:block;width:100%;border:0;border-radius:var(--raio);background:#eef1f5}.blog-conteudo .embed-video iframe{aspect-ratio:16/9;height:auto}.blog-conteudo .embed-vert iframe{aspect-ratio:9/16;height:auto;max-width:360px;margin:0 auto}.blog-conteudo .embed-h152 iframe{height:152px}.blog-conteudo .embed-h166 iframe{height:166px}.blog-conteudo .embed-h352 iframe{height:352px}.blog-conteudo .embed-social iframe{height:760px;max-width:540px;margin:0 auto}.blog-conteudo .embed-tiktok iframe{height:760px;max-width:340px;margin:0 auto}.blog-conteudo .embed-fbpost iframe{height:640px;max-width:500px;margin:0 auto}.blog-conteudo .embed figcaption{text-align:center;font-size:.85rem;margin-top:.4rem}
.lista-servicos{padding-left:1.1rem;display:grid;gap:1rem}

/* janela (lightbox) da Política de Privacidade etc.: <dialog class="ns-dialog"> (abre com <a data-dialog href="#id">) */
dialog.ns-dialog{width:min(760px,calc(100% - 2rem));max-height:calc(100vh - 3rem);padding:0;border:0;border-radius:12px;background:#fff;color:#1b2430;box-shadow:0 20px 60px rgba(0,0,0,.35)}
dialog.ns-dialog::backdrop{background:rgba(8,12,20,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog.ns-dialog .ns-dialog-topo{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e9ef}
dialog.ns-dialog .ns-dialog-topo h2{margin:0;font-size:1.25rem}
dialog.ns-dialog .ns-dialog-x{background:none;border:0;font-size:1.8rem;line-height:1;cursor:pointer;color:inherit}
dialog.ns-dialog .ns-dialog-corpo{padding:1rem 1.5rem 1.75rem;font-size:.95rem;line-height:1.65;overflow-y:auto;max-height:calc(100vh - 9rem)}
dialog.ns-dialog .ns-dialog-corpo h3{font-size:1.05rem;margin:1.4rem 0 .4rem}
dialog.ns-dialog .ns-dialog-corpo p,dialog.ns-dialog .ns-dialog-corpo ul{margin:0 0 .8rem}
dialog.ns-dialog .ns-dialog-corpo ul{padding-left:1.2rem}

.newsletter-style-02 .form-msg{margin:10px 0 0;font-size:15px;line-height:24px}

/* Carregando dentro do botão de envio (formulários AJAX) */
.btn-spinner{display:inline-block;width:1em;height:1em;margin-right:.6em;vertical-align:-.15em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ns-giro .7s linear infinite}
@keyframes ns-giro{to{transform:rotate(360deg)}}
button[type=submit][disabled]{opacity:.85;cursor:progress}
.contact-form-style-01 .form-msg.aviso{margin:0 0 20px;font-size:15px;line-height:22px;padding:.9rem 1rem}

/* ícones do rodapé (Instagram, WhatsApp, unidades): brancos, laranja no hover */
.footer-redes{display:flex;gap:1.1rem;align-items:center;margin:1.6rem 0 0;padding:0}
.footer-redes a{display:flex;align-items:center;justify-content:center;width:46px;height:46px;color:#fff;transition:color .25s,transform .25s}
.footer-redes svg{width:36px;height:36px;display:block}
.footer-redes a:hover,.footer-redes a:focus-visible{color:#FF6600;transform:translateY(-2px)}
@media(max-width:991px){.footer-redes{justify-content:flex-start}}

/* Capas do blog: proporção fixa 780x370 (cerca de 2,1:1) em qualquer imagem enviada; recorta no centro sem deformar */
.blog-image a img{display:block;width:100%;height:auto;aspect-ratio:780/370;object-fit:cover;object-position:center}

/* Faixa de título das páginas: duas classes, cada uma com a sua altura (vão no div.row do título).
   .titulo-faixa-sem-fundo = só o título, fundo laranja liso (Blog, Contato)
   .titulo-faixa-com-fundo = título sobre imagem de fundo (Seguros, Quem somos, Seguradoras e páginas de produto) */
.titulo-faixa-sem-fundo{min-height:125px}
.titulo-faixa-com-fundo{min-height: 240px;}
@media(max-width:767px){.titulo-faixa-sem-fundo{min-height:110px}.titulo-faixa-com-fundo{min-height:110px}}

/* Lightbox "Qual seguro você quer cotar?" (elements/cotacao_modal.php; abre em qualquer [data-cotacao]) */
.cotacao-modal{border:0;padding:0;background:transparent;width:min(920px,calc(100% - 32px));max-width:none;max-height:calc(100% - 32px);overflow:visible;margin:auto}
.cotacao-modal::backdrop{background:rgba(0,2,128,.55);backdrop-filter:blur(2px)}
.cotacao-modal-caixa{position:relative;background:#000280;color:#fff;border-radius:10px;padding:34px 0 0;box-shadow:0 20px 60px rgba(0,0,0,.35);overflow:hidden;max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.cotacao-modal-titulo{color:#fff;font-size:26px;line-height:1.2;font-weight:700;margin:0 64px 6px 34px}
.cotacao-modal-sub{margin:0 34px 22px;color:rgba(255,255,255,.7);font-size:15px}
.cotacao-modal-fechar{position:absolute;top:14px;right:16px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:26px;line-height:40px;cursor:pointer}
.cotacao-modal-fechar:hover,.cotacao-modal-fechar:focus-visible{background:#FF6600}
.cotacao-modal-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);overflow:auto;border-top:1px solid rgba(255,255,255,.1)}
.cotacao-modal-lista a{display:flex;align-items:center;gap:12px;padding:18px 25px 20px;color:#fff;font-size:16px;font-weight:500;line-height:28px;border-bottom:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);text-decoration:none}
.cotacao-modal-lista a i{font-size:29px;width:28px;flex:none}
.cotacao-modal-lista a:hover,.cotacao-modal-lista a:focus-visible{background:#FF6600;color:#fff}
@media(max-width:767px){.cotacao-modal-lista{grid-template-columns:repeat(2,1fr)}.cotacao-modal-titulo{font-size:21px;margin-left:22px}.cotacao-modal-sub{margin-left:22px;margin-right:22px}.cotacao-modal-lista a{padding:14px 14px;font-size:15px;gap:9px}.cotacao-modal-lista a i{font-size:24px;width:24px}}
@media(max-width:420px){.cotacao-modal-lista{grid-template-columns:1fr}}

/* Ponto brilhante que contorna o box de cotação ao abrir a página de produto (2 voltas) */
@property --pisca-ang{syntax:'<angle>';inherits:false;initial-value:0deg}
.cotacao-box-pisca{position:relative;animation:cotacaoPisca 1.8s ease-in-out .6s 2}
@keyframes cotacaoPisca{0%,100%{box-shadow:0 0 0 0 rgba(0,0,128,0)}50%{box-shadow:0 0 0 4px rgba(0,0,128,.12),0 0 28px 6px rgba(0,0,128,.22)}}
.cotacao-box-pisca::before,.cotacao-box-pisca::after{content:"";position:absolute;inset:-2px;border-radius:8px;padding:2px;pointer-events:none;opacity:0;
	background:conic-gradient(from var(--pisca-ang),rgba(255,102,0,0) 0deg,rgba(255,102,0,0) 300deg,rgba(255,150,60,.45) 340deg,rgba(255,235,215,.9) 360deg);
	-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
	animation:cotacaoPonto 3s linear 4.4s 2}
.cotacao-box-pisca::after{filter:blur(9px);padding:4px;opacity:0}
@keyframes cotacaoPonto{0%{--pisca-ang:0deg;opacity:0}8%{opacity:.85}92%{opacity:.85}100%{--pisca-ang:360deg;opacity:0}}
@media(prefers-reduced-motion:reduce){.cotacao-box-pisca,.cotacao-box-pisca::before,.cotacao-box-pisca::after{animation:none}}

/* Quem somos: selo de anos sobre as fotos (layout do tema) */
.sobre-selo{position:absolute;left:-70px;top:60px;z-index:2;width:180px;height:180px;border-radius:50%;background:#000280;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 20px 40px rgba(0,2,128,.25)}
.sobre-selo-numero{font-size:64px;line-height:1;font-weight:800;letter-spacing:-2px}
.sobre-selo-numero sup{font-size:30px;top:-.9em;margin-left:2px}
.sobre-selo-texto{width:70%;margin-top:6px;font-size:16px;line-height:1.25;font-weight:500}
@media (max-width:1199px){.sobre-selo{left:-30px;width:150px;height:150px}.sobre-selo-numero{font-size:52px}.sobre-selo-texto{font-size:14px}}
@media (max-width:991px){.sobre-selo{left:0;top:-30px}}
