/*==============================================================================
  Segura Rastreamento Veicular — Camada de design moderna (2026)
  Direção: "claro e confiável". Luz de dia onde o setor inteiro usa sala escura.
  Azul institucional ancora, verde só na ação. Ver .impeccable.md na raiz.
==============================================================================*/

:root{
	/* --- Paleta clara, neutros puxados para o azul da marca (OKLCH) --- */
	--paper:oklch(98.4% 0.005 250);
	--paper-2:oklch(96% 0.009 250);
	--card:oklch(99.4% 0.003 250);
	--ink:oklch(26% 0.035 254);
	--ink-soft:oklch(50% 0.025 254);
	--line:oklch(89.5% 0.012 250);

	--brand:oklch(43% 0.09 252);        /* azul institucional (dark cerulean) */
	--brand-deep:oklch(30% 0.055 254);  /* barra utilitária / rodapé */
	--brand-soft:oklch(93.5% 0.03 250); /* fundo de chip e ícone */
	--signal:oklch(58% 0.13 250);       /* azul de sinal — uso raro */
	--go:oklch(78% 0.17 128);           /* verde da marca — SÓ ação */
	--go-deep:oklch(50% 0.12 128);

	/* --- Nomes legados mantidos: o restante do tema depende deles --- */
	--navy-950:#0b1728;
	--navy-900:#0e1c30;
	--navy-800:#13273f;
	--navy-700:#1c3a5b;
	--navy-600:oklch(43% 0.09 252);
	--blue-500:oklch(58% 0.13 250);
	--blue-400:oklch(72% 0.11 248);
	--green-500:oklch(78% 0.17 128);
	--green-600:oklch(50% 0.12 128);
	--muted:var(--ink-soft);
	--surface:var(--paper-2);
	--surface-2:oklch(93.5% 0.012 250);
	--isabelline:#ebeceb;
	--white:#ffffff;

	--font-display:'Archivo','Oswald',sans-serif;
	--font-body:'Asap','Lato',sans-serif;
	--font-mono:'Archivo',sans-serif;   /* números e rótulos — sem mono decorativa */

	/* Espaço em escala 4pt */
	--space-xs:8px;
	--space-sm:12px;
	--space-md:16px;
	--space-lg:24px;
	--space-xl:32px;
	--space-2xl:48px;
	--space-3xl:64px;

	--shadow-sm:0 2px 10px oklch(30% 0.05 254 / .06);
	--shadow-md:0 18px 40px -18px oklch(30% 0.05 254 / .22);
	--shadow-lg:0 40px 80px -40px oklch(30% 0.06 254 / .40);
	--radius:18px;
	--radius-lg:26px;
	--ease:cubic-bezier(.16,1,.3,1);
	--maxw:1200px;
}

/*------------------------------------------------------------------ Base */
/* O Bootstrap 3 zera o root em 10px. Ele próprio trabalha em px, então voltar
   para 16px é seguro e faz o rem valer o que a escala tipográfica espera. */
html{font-size:100%;scroll-behavior:smooth;}
body{
	font-family:var(--font-body);
	color:var(--ink);
	background:var(--paper);
	font-size:16px;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,h6{
	font-family:var(--font-display)!important;
	font-weight:700;
	letter-spacing:-.02em;
	color:var(--ink);
	line-height:1.08;
}
p,label,.btn,a,input,button,li{font-family:var(--font-body);}
strong{font-weight:700;}
.container{max-width:var(--maxw);}
/* O .container do Bootstrap 3 injeta ::before/::after de clearfix. Em grid/flex
   eles viram itens fantasmas e desmontam a coluna. */
.util-inner::before,.util-inner::after,
.nav-inner::before,.nav-inner::after,
.hero-shell::before,.hero-shell::after,
.login-drawer > .container::before,.login-drawer > .container::after{content:none!important;display:none!important;}
::selection{background:var(--brand);color:#fff;}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:6px;}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease);will-change:opacity,transform;}
.reveal.is-visible{opacity:1;transform:none;}
.reveal[data-delay="1"]{transition-delay:.08s;}
.reveal[data-delay="2"]{transition-delay:.16s;}
.reveal[data-delay="3"]{transition-delay:.24s;}
.reveal[data-delay="4"]{transition-delay:.32s;}

@media (prefers-reduced-motion:reduce){
	*{animation:none!important;transition:none!important;}
	.reveal{opacity:1!important;transform:none!important;}
	html{scroll-behavior:auto;}
}

/*==================================================== Barra utilitária (topo) */
.util-bar{background:var(--brand-deep);}
.util-inner{
	display:flex;align-items:center;justify-content:space-between;
	gap:var(--space-md);min-height:40px;flex-wrap:wrap;padding:4px 0;
}
.util-legal{
	margin:0;color:oklch(100% 0 0 / .52);font-size:11.5px;line-height:1.45;
	max-width:72ch;letter-spacing:.01em;
}
.util-actions{display:flex;align-items:center;gap:2px;flex-shrink:0;}
.util-link{
	display:inline-flex;align-items:center;gap:7px;
	background:none;border:0;padding:7px 12px;border-radius:9px;
	color:oklch(100% 0 0 / .82)!important;font-size:12.5px;font-weight:600;
	letter-spacing:.02em;cursor:pointer;
	transition:background .25s var(--ease),color .25s var(--ease);
}
.util-link:hover,.util-link:focus-visible{background:oklch(100% 0 0 / .10);color:#fff!important;text-decoration:none;}
.util-toggle[aria-expanded="true"]{background:oklch(100% 0 0 / .14);color:#fff!important;}
.util-link .feather-icon{font-size:14px;color:var(--blue-400);}

/* Gaveta de login — o JS escreve a altura (scrollHeight) para animar */
.login-drawer{
	height:0;overflow:hidden;
	background:oklch(26% 0.05 254);
	transition:height .42s var(--ease);
}
.login-form{padding:18px 0 22px;}
.login-label{
	display:block;margin-bottom:10px;color:oklch(100% 0 0 / .7);
	font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
}
.login-row{display:flex;gap:10px;flex-wrap:wrap;}
.login-input{
	flex:1 1 200px;min-width:0;
	background:oklch(100% 0 0 / .07);border:1px solid oklch(100% 0 0 / .16);
	border-radius:10px;padding:11px 14px;color:#fff;font-size:14px;
	transition:border-color .2s var(--ease),background .2s var(--ease);
}
.login-input::placeholder{color:oklch(100% 0 0 / .42);}
.login-input:focus{outline:none;border-color:var(--blue-400);background:oklch(100% 0 0 / .12);}
.login-btn{
	flex:0 0 auto;background:var(--go);color:oklch(26% 0.05 254);border:0;
	border-radius:10px;padding:11px 28px;font-weight:800;font-size:14px;letter-spacing:.02em;
	cursor:pointer;transition:filter .2s var(--ease),transform .2s var(--ease);
}
.login-btn:hover{filter:brightness(1.06);transform:translateY(-1px);}

/*=========================================================== Navegação principal */
.site-nav{
	position:sticky;top:0;z-index:1000;
	background:var(--card);
	border-bottom:1px solid var(--line);
	transition:box-shadow .35s var(--ease);
}
.site-nav.is-scrolled{box-shadow:0 14px 40px -28px oklch(30% .06 254 / .55);}
.nav-inner{display:flex;align-items:center;gap:var(--space-lg);min-height:76px;}
.nav-logo{display:flex;align-items:center;flex-shrink:0;}
.nav-logo img{height:44px;width:auto;display:block;transition:height .35s var(--ease);}
.site-nav.is-scrolled .nav-logo img{height:38px;}

.nav-menu{margin-left:auto;display:flex;align-items:center;gap:var(--space-lg);}
.nav-list{display:flex;list-style:none;margin:0;padding:0;gap:2px;}
.nav-list a{
	display:block;padding:9px 13px;border-radius:9px;
	color:var(--ink);font-weight:600;font-size:14.5px;letter-spacing:.01em;
	transition:background .25s var(--ease),color .25s var(--ease);
}
.nav-list a:hover{background:var(--paper-2);color:var(--brand);text-decoration:none;}
.nav-list a.is-current{color:var(--brand);background:var(--brand-soft);}

.nav-phone{
	display:flex;align-items:center;gap:10px;
	padding-left:var(--space-lg);border-left:1px solid var(--line);
	color:var(--ink)!important;text-decoration:none!important;
}
.nav-phone-ico{
	width:38px;height:38px;flex:0 0 38px;border-radius:11px;
	display:flex;align-items:center;justify-content:center;
	background:var(--brand-soft);color:var(--brand);font-size:15px;
	transition:background .25s var(--ease),color .25s var(--ease);
}
.nav-phone:hover .nav-phone-ico{background:var(--brand);color:#fff;}
.nav-phone-txt{display:flex;flex-direction:column;line-height:1.15;}
.nav-phone-txt small{
	font-size:10px;text-transform:uppercase;letter-spacing:.1em;
	color:var(--ink-soft);font-weight:700;
}
.nav-phone-txt b{
	font-family:var(--font-display);font-size:16.5px;color:var(--brand);
	letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:2px;
}
.nav-cta{
	background:var(--go);color:oklch(26% 0.05 254)!important;
	border-radius:999px;padding:12px 22px;font-weight:700;font-size:14.5px;
	letter-spacing:.01em;white-space:nowrap;text-decoration:none!important;
	box-shadow:0 14px 30px -16px oklch(78% .17 128 / .9);
	transition:transform .25s var(--ease),filter .25s var(--ease),box-shadow .25s var(--ease);
}
.nav-cta:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 38px -16px oklch(78% .17 128 / 1);}

.nav-burger{
	display:none;margin-left:auto;background:none;border:1px solid var(--line);
	border-radius:11px;width:46px;height:44px;padding:0 11px;cursor:pointer;
}
.nav-burger span{
	display:block;height:2px;border-radius:2px;background:var(--brand);
	transition:transform .3s var(--ease),opacity .25s var(--ease);
}
.nav-burger span + span{margin-top:5px;}
.nav-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/*===================================================================== HERO */
.hero{
	position:relative;overflow:hidden;
	background:var(--paper);
	padding:clamp(44px,6vw,72px) 0 clamp(84px,9vw,112px);
}
/* Halo suave de marca no alto à direita — cor, não brilho neon */
.hero::before{
	content:"";position:absolute;z-index:0;pointer-events:none;
	top:-30%;right:-5%;width:60%;height:90%;
	background:radial-gradient(circle at 60% 40%,var(--brand-soft),transparent 62%);
}
.hero-shell{
	position:relative;z-index:1;
	display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
	gap:clamp(28px,4vw,56px);align-items:center;
}

.hero-copy{max-width:38rem;}
.hero-eyebrow{
	display:inline-flex;align-items:center;gap:9px;
	font-family:var(--font-display);font-size:11.5px;font-weight:600;
	letter-spacing:.13em;text-transform:uppercase;
	color:var(--brand);background:var(--brand-soft);
	border-radius:999px;padding:8px 15px;margin-bottom:var(--space-lg);
}
.hero-ping{
	width:8px;height:8px;border-radius:50%;background:var(--go-deep);flex:0 0 8px;
	animation:ping 2.4s var(--ease) infinite;
}
@keyframes ping{
	0%{box-shadow:0 0 0 0 oklch(50% .12 128 / .5);}
	70%{box-shadow:0 0 0 10px oklch(50% .12 128 / 0);}
	100%{box-shadow:0 0 0 0 oklch(50% .12 128 / 0);}
}
.hero-title{
	font-size:clamp(2.1rem,3.5vw,3.15rem);
	font-weight:700;font-stretch:112%;
	line-height:1.04;letter-spacing:-.028em;
	color:var(--ink)!important;margin:0 0 var(--space-lg);
	text-wrap:balance;
}
.hero-title em{font-style:normal;color:var(--brand);}
.hero-sub{
	font-size:clamp(1.02rem,1.25vw,1.16rem);color:var(--ink-soft);
	line-height:1.65;max-width:46ch;margin:0;
}
/* Preço: a decisão da pessoa física passa por aqui, então fica entre a promessa e a ação */
.hero-price{
	display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;
	margin:var(--space-lg) 0 0;
}
.hero-price b{
	font-family:var(--font-display);font-weight:700;font-stretch:106%;
	font-size:clamp(1.9rem,2.6vw,2.35rem);line-height:1;letter-spacing:-.03em;
	color:var(--ink);font-variant-numeric:tabular-nums;
}
.hero-price span{font-size:14.5px;color:var(--ink-soft);}
.hero-cta{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:var(--space-lg) 0 var(--space-2xl);}
.btn-go{
	display:inline-flex;align-items:center;gap:10px;
	background:var(--go);color:oklch(26% 0.05 254)!important;
	font-weight:700;font-size:15.5px;border-radius:999px;padding:15px 28px;
	border:0;text-decoration:none!important;
	box-shadow:0 18px 38px -20px oklch(78% .17 128 / 1);
	transition:transform .25s var(--ease),filter .25s var(--ease),box-shadow .25s var(--ease);
}
.btn-go .fa{font-size:19px;}
.btn-go:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 24px 46px -20px oklch(78% .17 128 / 1);}
.btn-quiet{
	display:inline-flex;align-items:center;gap:10px;
	background:var(--card);color:var(--ink)!important;border:1px solid var(--line);
	font-weight:600;font-size:15px;border-radius:999px;padding:15px 26px;text-decoration:none!important;
	transition:border-color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease);
}
.btn-quiet:hover{border-color:var(--brand);background:var(--brand-soft);transform:translateY(-2px);}

.hero-proof{
	display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);
	margin:0;padding-top:var(--space-lg);border-top:1px solid var(--line);
}
.proof-item dt{
	font-family:var(--font-display);font-size:1.6rem;font-weight:700;font-stretch:108%;
	color:var(--brand);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.proof-item dd{
	margin:7px 0 0;font-size:12.5px;line-height:1.4;
	color:var(--ink-soft);max-width:19ch;
}

/* Foto: sangra até a borda direita da viewport, funde no papel à esquerda */
.hero-visual{
	position:relative;margin:0;
	margin-right:calc(50% - 50vw);
	border-radius:var(--radius-lg) 0 0 var(--radius-lg);
	overflow:visible;
}
.hero-visual img{
	display:block;width:100%;
	height:clamp(400px,50vw,600px);
	object-fit:cover;object-position:30% 72%;
	border-radius:var(--radius-lg) 0 0 var(--radius-lg);
	filter:saturate(1.04) contrast(1.03);
	box-shadow:0 50px 90px -50px oklch(30% .06 254 / .5);
}
/* Degradê que dissolve a borda esquerda da foto no fundo de papel */
.hero-visual::after{
	content:"";position:absolute;inset:0;pointer-events:none;
	border-radius:var(--radius-lg) 0 0 var(--radius-lg);
	background:linear-gradient(90deg,var(--paper) 0%,oklch(98.4% .005 250 / 0) 15%);
}
.hero-badge{
	position:absolute;z-index:2;left:clamp(-28px,-2vw,-12px);bottom:clamp(24px,4vw,40px);
	display:flex;align-items:center;gap:var(--space-sm);
	background:var(--card);border:1px solid var(--line);border-radius:16px;
	padding:13px 20px 13px 14px;box-shadow:var(--shadow-lg);
}
.badge-ico{
	width:40px;height:40px;flex:0 0 40px;border-radius:12px;
	display:flex;align-items:center;justify-content:center;
	background:var(--brand);color:#fff;font-size:16px;
}
.badge-txt{display:flex;flex-direction:column;line-height:1.2;}
.badge-txt small{font-size:11px;color:var(--ink-soft);font-weight:600;letter-spacing:.02em;}
.badge-txt b{
	font-family:var(--font-display);font-size:20px;color:var(--brand);
	letter-spacing:-.015em;font-variant-numeric:tabular-nums;margin-top:2px;
}

/* Entrada orquestrada — um único momento, escalonado */
@media (prefers-reduced-motion:no-preference){
	.hero-eyebrow,.hero-title,.hero-sub,.hero-price,.hero-cta,.hero-proof,.hero-visual{
		animation:heroIn .9s var(--ease) both;
	}
	.hero-title{animation-delay:.06s;}
	.hero-sub{animation-delay:.12s;}
	.hero-price{animation-delay:.18s;}
	.hero-cta{animation-delay:.24s;}
	.hero-proof{animation-delay:.3s;}
	.hero-visual{animation:heroInImg 1.1s var(--ease) both;animation-delay:.1s;}
}
@keyframes heroIn{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:none;}}
@keyframes heroInImg{from{opacity:0;transform:translateX(28px);}to{opacity:1;transform:none;}}

/*============================================================ Faixa de cotação */
.quote-band{background:var(--paper);padding-bottom:clamp(56px,7vw,90px);}
.quote-card{
	position:relative;z-index:6;margin-top:clamp(-72px,-6vw,-48px);
	background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);
	box-shadow:var(--shadow-lg);padding:clamp(24px,3vw,38px);
	display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);
	gap:clamp(20px,3vw,44px);align-items:center;
}
.quote-intro h2{
	font-size:clamp(1.45rem,2.1vw,1.85rem);margin:0 0 8px;color:var(--ink)!important;
	font-stretch:106%;letter-spacing:-.02em;
}
.quote-intro p{color:var(--ink-soft);font-size:14.5px;line-height:1.55;margin:0 0 var(--space-sm);}
.quote-phone{
	display:inline-block;font-size:13px;color:var(--ink-soft)!important;text-decoration:none!important;
}
.quote-phone b{
	font-family:var(--font-display);color:var(--brand);font-size:15px;
	font-variant-numeric:tabular-nums;margin-left:4px;
}
.quote-phone:hover b{text-decoration:underline;}

.quote-form{
	display:grid;grid-template-columns:repeat(6,minmax(0,1fr));
	gap:var(--space-sm) var(--space-md);align-items:end;
}
.quote-form .field{min-width:0;grid-column:span 2;}
.quote-form .field-sm{grid-column:span 2;}
.quote-form .quote-submit{grid-column:span 2;}
.quote-form label{
	display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
	color:var(--ink-soft);margin-bottom:6px;
}
.quote-form input{
	width:100%;background:var(--paper-2);border:1px solid var(--line);
	border-radius:12px;padding:12px 14px;font-size:14.5px;color:var(--ink);
	transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease);
}
.quote-form input::placeholder{color:oklch(66% .02 254);}
.quote-form input:focus{
	outline:none;border-color:var(--brand);background:var(--card);
	box-shadow:0 0 0 4px oklch(43% .09 252 / .12);
}
.quote-submit{
	background:var(--go);color:oklch(26% 0.05 254);border:0;border-radius:12px;
	padding:0 24px;height:46px;font-weight:800;font-size:14.5px;letter-spacing:.02em;
	cursor:pointer;white-space:nowrap;
	box-shadow:0 14px 30px -16px oklch(78% .17 128 / .9);
	transition:transform .2s var(--ease),filter .2s var(--ease);
}
.quote-submit:hover{transform:translateY(-2px);filter:brightness(1.05);}

/*==================================================================== Serviços (bloc-3) */
#bloc-3{background:var(--card)!important;}
#bloc-3.bloc-lg{padding:96px 50px;}
#bloc-3 .row{display:flex;flex-wrap:wrap;margin-left:-14px;margin-right:-14px;}
#bloc-3 .row>[class*="col-"]{
	padding:38px 30px;margin:14px;flex:1 1 300px;
	background:var(--paper-2);border:1px solid var(--line);border-radius:var(--radius);
	text-align:center;position:relative;overflow:hidden;
	transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}
#bloc-3 .row>[class*="col-"]:hover{transform:translateY(-8px);box-shadow:var(--shadow-md);border-color:var(--brand);}
#bloc-3 img{
	width:72px!important;height:72px;object-fit:contain;margin:0 auto 22px!important;padding:14px;
	background:var(--brand-soft);border-radius:18px;
}
#bloc-3 h3{font-size:1.28rem!important;color:var(--brand)!important;margin-bottom:14px!important;text-transform:none;}
#bloc-3 p{font-size:14.5px;color:var(--ink-soft);line-height:1.65;}
#bloc-3 small{color:oklch(62% .02 254);}

/*==================================================================== Estatísticas (bloc-4/5) */
.stats-modern{
	background:var(--brand-deep)!important;
	color:#fff;padding:90px 0;position:relative;overflow:hidden;width:100%!important;
}
.stats-modern .stats-head span{
	font-family:var(--font-display);color:var(--blue-400);letter-spacing:.16em;
	text-transform:uppercase;font-size:12px;font-weight:600;
}
.stats-modern .stats-head h2{color:#fff!important;font-size:clamp(1.9rem,3.4vw,2.8rem);margin:12px 0 8px;}
.stats-modern .stats-head p{color:oklch(100% 0 0 / .66);max-width:52ch;}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px;margin-top:46px;}
.stat-card{
	background:oklch(100% 0 0 / .05);border:1px solid oklch(100% 0 0 / .10);border-radius:var(--radius);
	padding:32px 26px;transition:transform .35s var(--ease),background .35s var(--ease);
}
.stat-card:hover{transform:translateY(-6px);background:oklch(100% 0 0 / .08);}
.stat-num{
	font-family:var(--font-display);font-size:clamp(2.6rem,5vw,3.6rem);font-weight:700;
	line-height:1;color:var(--green-500);font-variant-numeric:tabular-nums;font-stretch:108%;
}
.stat-num.accent{color:var(--blue-400);}
.stat-label{margin-top:14px;color:oklch(100% 0 0 / .78);font-size:14px;line-height:1.5;letter-spacing:.02em;text-transform:uppercase;font-weight:600;}
.stats-img{margin-top:10px;}
.stats-img img{max-width:100%;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));}

/*==================================================================== Seções parallax (bloc-7 / bloc-8) */
#bloc-7,#bloc-8{width:100%!important;}
#bloc-7.bloc-md,#bloc-8.bloc-md{padding:120px 50px;}
.texture-darken::before{background:linear-gradient(90deg,rgba(11,23,40,.85),rgba(11,23,40,.35))!important;}
#bloc-7 h1,#bloc-8 h1{color:#fff!important;font-size:clamp(2rem,4.4vw,3.6rem)!important;letter-spacing:-.02em;text-shadow:0 4px 30px rgba(0,0,0,.4);}
#bloc-7 h2{color:var(--blue-400)!important;font-size:clamp(1.3rem,2.6vw,2rem)!important;font-weight:500;margin-top:10px;}
#bloc-8 h1{text-align:right;}

/*==================================================================== Página interna: banner (bloc-10) */
#bloc-10{
	position:relative;min-height:38vh;display:flex;align-items:center;justify-content:center;
	padding:90px 0 70px!important;background:var(--brand-deep)!important;
}
#bloc-10.texture-darken::before{background:linear-gradient(180deg,rgba(11,23,40,.7),rgba(14,28,48,.82))!important;}
#bloc-10 .container{position:relative;z-index:2;}
#bloc-10 h3.titulo{
	color:#fff!important;text-align:center;font-size:clamp(2rem,4.5vw,3.2rem)!important;letter-spacing:-.02em;
	position:relative;display:inline-block;left:50%;transform:translateX(-50%);
}
#bloc-10 h3.titulo::after{content:"";display:block;width:70px;height:4px;border-radius:3px;margin:18px auto 0;background:var(--go);}

/*==================================================================== Quem somos */
.quem-somos#somos{padding:90px 0!important;}
.quem-somos#somos .texto h3{color:var(--brand)!important;font-size:2rem!important;position:relative;padding-bottom:16px;}
.quem-somos#somos .texto h3::after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;border-radius:3px;background:var(--go);}
.quem-somos#somos p{color:var(--ink-soft);font-size:15.5px;line-height:1.8;}
.quem-somos#somos .imagem img{border-radius:var(--radius-lg);box-shadow:var(--shadow-md);}
.quem-somos#equipe{background:var(--brand)!important;}
.quem-somos#equipe .texto h3{color:#fff!important;font-size:2rem!important;}
.quem-somos#equipe .texto p{color:oklch(100% 0 0 / .9);font-size:15.5px;line-height:1.8;}

/*==================================================================== Clientes */
.clientes{padding:80px 0!important;}
.clientes .logo{
	background:var(--card);border:1px solid var(--line);border-radius:16px;
	margin-bottom:24px!important;padding:22px;height:130px!important;display:flex;align-items:center;justify-content:center;
	transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.clientes .logo:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);}
.clientes .logo img{position:static!important;transform:none!important;top:auto!important;max-width:100%!important;max-height:82px!important;filter:grayscale(1);opacity:.72;transition:filter .3s var(--ease),opacity .3s var(--ease);}
.clientes .logo:hover img{filter:grayscale(0);opacity:1;}

#solicite-orcamento-cliente{background:var(--brand)!important;padding:80px 0!important;}
#solicite-orcamento-cliente h3{color:#fff!important;font-size:clamp(1.6rem,3vw,2.4rem)!important;}
#solicite-orcamento-cliente p{color:oklch(100% 0 0 / .9)!important;}
#solicite-orcamento-cliente a.btn,#solicite-orcamento-cliente .btn-dark-cerulean{
	display:inline-flex;align-items:center;gap:10px;background:var(--go)!important;color:oklch(26% .05 254)!important;
	border-radius:999px;padding:15px 32px;font-weight:800;letter-spacing:.02em;
	box-shadow:0 16px 34px -18px oklch(78% .17 128 / 1);transition:transform .25s var(--ease),filter .25s var(--ease);
}
#solicite-orcamento-cliente a.btn:hover,#solicite-orcamento-cliente .btn-dark-cerulean:hover{transform:translateY(-2px);filter:brightness(1.05);}

/*==================================================================== CTA / Contatos (footer) */
#contatos{background:var(--paper-2)!important;padding:88px 0!important;position:relative;}
.cta-online{max-width:640px;margin:0 auto;}
.cta-eyebrow{
	display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:12px;
	font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--go-deep);
	background:oklch(78% .17 128 / .14);border:1px solid oklch(78% .17 128 / .3);border-radius:999px;padding:7px 15px;margin-bottom:18px;
}
#contatos h1{color:var(--ink)!important;font-size:clamp(1.7rem,3vw,2.4rem)!important;margin-bottom:14px!important;}
.cta-desc{color:var(--ink-soft);font-size:16px;margin-bottom:28px;}
.cta-desc b{color:var(--brand);font-family:var(--font-display);}
#contatos .btn-dark-cerulean{
	display:inline-flex;align-items:center;gap:12px;background:var(--go)!important;color:oklch(26% .05 254)!important;
	border-radius:999px;padding:16px 34px;font-weight:800;font-size:16px;letter-spacing:.02em;
	box-shadow:0 18px 40px -20px oklch(78% .17 128 / 1);transition:transform .25s var(--ease),filter .25s var(--ease);
}
#contatos .btn-dark-cerulean .fa{font-size:20px;}
#contatos .btn-dark-cerulean:hover{transform:translateY(-3px);filter:brightness(1.05);}

#bloc-15{background:var(--brand-deep)!important;padding:70px 0!important;}
#bloc-15 .fa,#bloc-15 .li_mail,#bloc-15 [class*="icon"]{color:var(--blue-400)!important;}
#bloc-15 h3,#bloc-15 h5{color:#fff!important;}
#bloc-15 h5{font-family:var(--font-body)!important;color:oklch(100% 0 0 / .82)!important;font-size:15px!important;line-height:1.7;}
#bloc-15 a h5{color:oklch(100% 0 0 / .82)!important;}
#bloc-15 a:hover h5{color:var(--blue-400)!important;}
#bloc-15 .col-sm-4{padding:16px 24px;}

#bloc-13{background:var(--navy-950)!important;padding:26px 0!important;}
#bloc-13 .social .fa{color:oklch(100% 0 0 / .7)!important;transition:color .25s var(--ease),transform .25s var(--ease);}
#bloc-13 .social:hover .fa{color:var(--blue-400)!important;transform:translateY(-3px);}

#bloc-16{background:var(--navy-950)!important;padding:40px 0 46px!important;border-top:1px solid oklch(100% 0 0 / .06);}
#bloc-16 img{max-height:52px;width:auto;opacity:1;margin-bottom:18px;}
#bloc-16 h6{color:oklch(100% 0 0 / .62)!important;font-family:var(--font-body)!important;font-size:12.5px;letter-spacing:.02em;}
#bloc-16 a{color:var(--blue-400)!important;}

/*==================================================================== Botões globais */
.btn-dark-cerulean{background:var(--brand);border-radius:12px;}
.btn-united-nations-blue{border-radius:12px;}

/*==================================================================== WhatsApp flutuante */
.wa-float{
	position:fixed;right:22px;bottom:22px;z-index:900;width:60px;height:60px;border-radius:50%;
	background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;
	box-shadow:0 14px 30px -8px rgba(37,211,102,.6);transition:transform .3s var(--ease),box-shadow .3s var(--ease);
	animation:waPulse 2.6s var(--ease) infinite;
}
.wa-float .fa{font-size:32px;color:#fff;}
.wa-float:hover{transform:scale(1.08) translateY(-2px);box-shadow:0 18px 40px -8px rgba(37,211,102,.75);}
@keyframes waPulse{0%{box-shadow:0 14px 30px -8px rgba(37,211,102,.6),0 0 0 0 rgba(37,211,102,.5);}70%{box-shadow:0 14px 30px -8px rgba(37,211,102,.6),0 0 0 16px rgba(37,211,102,0);}100%{box-shadow:0 14px 30px -8px rgba(37,211,102,.6),0 0 0 0 rgba(37,211,102,0);}}

/*==================================================================== ScrollToTop / Modal */
.scrollToTop{
	width:46px;height:46px;border-radius:14px;background:var(--brand)!important;color:#fff!important;
	display:flex!important;align-items:center;justify-content:center;bottom:92px;right:24px;box-shadow:var(--shadow-md);
}
.scrollToTop span{margin-top:0!important;}
.modal#alerta .modal-content{border-radius:20px;overflow:hidden;border:0;box-shadow:var(--shadow-lg);}
.modal#alerta .modal-header{background:var(--brand);}
.modal#alerta .modal-title{font-family:var(--font-display)!important;color:#fff;}

/*==================================================================== Responsivo */
@media (max-width:1099px){
	.nav-inner{gap:var(--space-md);}
	.nav-list a{padding:9px 10px;font-size:14px;}
	.nav-phone{padding-left:var(--space-md);}
	.nav-phone-txt{display:none;}
}
@media (max-width:991px){
	/* Navegação vira gaveta */
	.nav-burger{display:block;}
	.nav-menu{
		position:absolute;top:100%;left:0;right:0;
		flex-direction:column;align-items:stretch;gap:var(--space-md);
		background:var(--card);border-bottom:1px solid var(--line);
		padding:var(--space-lg);margin:0;
		box-shadow:0 30px 60px -30px oklch(30% .06 254 / .5);
		transform-origin:top;
		display:none;
	}
	.nav-menu.is-open{display:flex;animation:navDrop .35s var(--ease) both;}
	@keyframes navDrop{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:none;}}
	.nav-list{flex-direction:column;gap:2px;}
	.nav-list a{padding:13px 14px;font-size:16px;}
	.nav-phone{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:var(--space-md);}
	.nav-phone-txt{display:flex;}
	.nav-cta{text-align:center;padding:15px 22px;}

	/* Hero empilha; foto sangra dos dois lados */
	.hero{padding-bottom:clamp(80px,12vw,110px);}
	.hero-shell{grid-template-columns:1fr;gap:var(--space-2xl);}
	.hero-copy{max-width:none;}
	.hero-visual{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;}
	.hero-visual img{height:clamp(280px,44vw,380px);border-radius:0;object-position:52% 66%;}
	.hero-visual::after{border-radius:0;background:linear-gradient(180deg,var(--paper) 0%,oklch(98.4% .005 250 / 0) 22%);}
	.hero-badge{left:auto;right:16px;bottom:16px;}

	.quote-card{grid-template-columns:1fr;margin-top:clamp(-56px,-5vw,-40px);}
	#bloc-8 h1{text-align:center;}
	#bloc-7.bloc-md,#bloc-8.bloc-md{padding:80px 24px;}
}
@media (max-width:767px){
	body{font-size:15px;}
	.util-inner{justify-content:center;text-align:center;}
	.util-legal{font-size:10.5px;order:2;flex:1 1 100%;}
	.util-actions{order:1;flex:1 1 100%;justify-content:center;}
	.nav-inner{min-height:66px;}
	.nav-logo img{height:38px;}

	.hero-title{font-size:clamp(2rem,8vw,2.6rem);}
	.hero-cta{margin:var(--space-lg) 0 var(--space-xl);}
	.hero-cta .btn-go,.hero-cta .btn-quiet{flex:1 1 100%;justify-content:center;}
	.hero-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md) var(--space-lg);}
	.proof-item dt{font-size:1.35rem;}
	.hero-badge{padding:11px 16px 11px 12px;}
	.badge-txt b{font-size:17px;}

	.quote-form{grid-template-columns:repeat(2,minmax(0,1fr));}
	.quote-form .field,.quote-form .field-sm{grid-column:span 1;}
	.quote-form .quote-submit{grid-column:1 / -1;width:100%;}

	#bloc-3.bloc-lg{padding:60px 16px;}
	#bloc-3 .row>[class*="col-"]{margin:10px 0;}
	.stats-modern{padding:64px 0;}
	.clientes .logo{height:110px!important;}
	.wa-float{width:54px;height:54px;right:16px;bottom:16px;}
}
@media (max-width:479px){
	.quote-form{grid-template-columns:1fr;}
	.quote-form .field,.quote-form .field-sm{grid-column:span 1;}
	.proof-item dd{max-width:none;}
}
