/* ===================================================================
   COPAVI — Conservação e Pavimentação de Rodovias
   Tema clean / branco — design system
   =================================================================== */

:root{
	--white:#ffffff;
	--ink:#171a1d;
	--muted:#65707a;
	--line:#e7e9ec;
	--bg-soft:#f6f7f8;
	--dark:#6f6f6f;
	--dark-2:#1f2226;
	--orange:#f3701f;
	--orange-dark:#d8590f;
	--orange-soft:#fdece0;
	--radius:14px;
	--shadow:0 14px 40px rgba(20,20,20,.08);
	--container:1220px;
	--font:'MarkPro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
	margin:0;
	font-family:var(--font);
	color:var(--ink);
	background:var(--white);
	font-size:var(--fs-base,16px);
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ margin:0 0 .5em; font-weight:900; line-height:1.15; letter-spacing:-.01em; }
p{ margin:0 0 1em; color:var(--muted); }
.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.eyebrow{
	display:inline-flex; align-items:center; gap:8px;
	color:var(--orange-dark); font-weight:700; font-size:13px;
	letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px;
}
.eyebrow::before{ content:""; width:22px; height:2px; background:var(--orange); display:inline-block; }
.section{ padding:88px 0; }
.section--soft{ background:var(--bg-soft); }
.parallax-section{ position:relative; overflow:hidden; z-index:0; }
.parallax-section .parallax-bg{
	position:absolute; top:-20%; left:0; width:100%; height:140%;
	background-image:linear-gradient(rgba(246,247,248,.92), rgba(246,247,248,.92)), url('../../../images/bg-parallax.jpg');
	background-size:cover; background-position:center;
	z-index:0; pointer-events:none; will-change:transform;
}
.parallax-section > .container{ position:relative; z-index:1; }
.section--dark{ background:var(--dark); color:var(--white); }
.section--dark p{ color:#b7bcc2; }

/* ============ COPAVITO (mascote + músicas + vídeo) ============ */
.copavito-section{ background:var(--copavito-bg,#f2f2f2); }
.copavito-row{ display:flex; flex-wrap:wrap; gap:40px; align-items:center; }
.copavito-row .col-md-6{ flex:1 1 400px; min-width:0; }
.copavito-left{ display:flex; flex-wrap:wrap; align-items:center; gap:28px; }
.copavito-stage{ position:relative; flex:0 0 200px; height:380px; display:flex; align-items:flex-end; justify-content:center; }
.copavito-glow{
	position:absolute; left:50%; bottom:28px; width:210px; height:210px; margin-left:-105px;
	border-radius:50%; background:radial-gradient(circle, var(--orange-soft) 0%, rgba(253,236,224,0) 70%);
}
.copavito-img{
	position:relative; z-index:1; height:340px; width:auto; max-width:none; margin-bottom:26px;
	animation:copavitoFloat 4.2s ease-in-out infinite; will-change:transform;
	filter:drop-shadow(0 10px 14px rgba(20,20,20,.12));
}
.copavito-shadow{
	position:absolute; left:50%; bottom:6px; width:120px; height:14px; margin-left:-60px; border-radius:50%;
	background:rgba(20,20,20,.16); filter:blur(5px); animation:copavitoShadow 4.2s ease-in-out infinite;
}
.copavito-stage.is-playing .copavito-img,
.copavito-stage.is-playing .copavito-shadow{ animation-duration:1.5s; }
@keyframes copavitoFloat{
	0%,100%{ transform:translate3d(0,0,0) rotate(-1.5deg); }
	50%{ transform:translate3d(8px,-18px,0) rotate(1.5deg); }
}
@keyframes copavitoShadow{
	0%,100%{ transform:scale(1); opacity:.9; }
	50%{ transform:scale(.72); opacity:.5; }
}
.copavito-player{ flex:1 1 240px; min-width:0; }
.copavito-controls{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.copavito-controls select{
	flex:1; min-width:0; height:52px; padding:0 16px; border:1.5px solid var(--line); border-radius:999px;
	background:#fff; font-family:var(--font); font-size:14px; font-weight:600; color:var(--ink);
}
.copavito-play{
	flex:none; width:52px; height:52px; border-radius:50%; border:0; background:var(--orange); color:#fff;
	display:flex; align-items:center; justify-content:center; cursor:pointer; transition:.2s ease;
	box-shadow:0 8px 20px rgba(243,112,31,.35);
}
.copavito-play:hover{ background:var(--orange-dark); transform:scale(1.06); }
.copavito-play svg{ width:22px; height:22px; fill:currentColor; }
.copavito-play .ico-pause{ display:none; }
.copavito-play.is-playing .ico-play{ display:none; }
.copavito-play.is-playing .ico-pause{ display:block; }
.copavito-video{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:#000; }
.copavito-video video{ display:block; width:100%; height:auto; max-height:560px; }
@media (prefers-reduced-motion:reduce){ .copavito-img, .copavito-shadow{ animation:none; } }

/* ============ INSTITUCIONAL (página única) ============ */
.inst-nav{ background:#fff; border-bottom:1px solid var(--line); }
.inst-nav .container{ display:flex; flex-wrap:wrap; gap:6px 28px; justify-content:center; padding-top:16px; padding-bottom:16px; }
.inst-nav a{ font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); padding:6px 0; border-bottom:2px solid transparent; }
.inst-nav a:hover{ color:var(--orange-dark); border-bottom-color:var(--orange); }
.inst-cols{ display:flex; flex-wrap:wrap; gap:40px; }
.inst-cols .col-md-6{ flex:1 1 380px; min-width:0; }
.inst-text{ max-width:820px; }
.inst-text .btn{ margin-top:8px; }
section[id]{ scroll-margin-top:20px; }

.timeline{ position:relative; margin-top:72px; padding:8px 0; }
.timeline::before{
	content:""; position:absolute; left:50%; top:0; bottom:0; width:2px; margin-left:-1px;
	background:linear-gradient(180deg, rgba(243,112,31,0), var(--orange) 8%, var(--orange) 92%, rgba(243,112,31,0));
}
.timeline-item{ position:relative; width:50%; padding:0 44px 44px 0; }
.timeline-item.is-right{ margin-left:50%; padding:0 0 44px 44px; }
.timeline-dot{
	position:absolute; top:26px; right:-8px; width:16px; height:16px; border-radius:50%;
	background:#fff; border:4px solid var(--orange); box-shadow:0 0 0 6px var(--orange-soft);
}
.timeline-item.is-right .timeline-dot{ right:auto; left:-8px; }
.timeline-card{
	background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
	padding:22px 26px; position:relative;
}
.timeline-card p{ margin:0; }
.timeline-year{ font-size:34px; font-weight:900; line-height:1; color:var(--orange-dark); margin-bottom:10px; }
@media (max-width:760px){
	.timeline::before{ left:14px; }
	.timeline-item, .timeline-item.is-right{ width:100%; margin-left:0; padding:0 0 32px 44px; }
	.timeline-dot, .timeline-item.is-right .timeline-dot{ left:6px; right:auto; }
}

/* ============ ONDE ATUAMOS (carrossel de logos) ============ */
.atuamos-section{ background:#fff; }
.logo-carousel{ display:flex; align-items:center; gap:12px; }
.lc-viewport{
	flex:1; min-width:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -ms-overflow-style:none;
}
.lc-viewport::-webkit-scrollbar{ display:none; }
.lc-track{ display:flex; }
.lc-item{ flex:0 0 20%; padding:0 10px; scroll-snap-align:start; }
.lc-card{
	background:#fff; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
	box-shadow:0 6px 18px rgba(20,20,20,.05); transition:.25s ease;
}
.lc-card img{ width:100%; height:auto; display:block; filter:grayscale(1); opacity:.7; transition:.25s ease; }
.lc-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); }
.lc-card:hover img{ filter:none; opacity:1; }
.lc-btn{
	flex:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:#fff; cursor:pointer;
	display:flex; align-items:center; justify-content:center; color:var(--ink); transition:.2s ease;
	box-shadow:0 6px 14px rgba(20,20,20,.08);
}
.lc-btn:hover{ background:var(--btn-bg,var(--orange)); border-color:var(--btn-bg,var(--orange)); color:#fff; }
.lc-btn svg{ width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:960px){ .lc-item{ flex-basis:33.333%; } }
@media (max-width:600px){ .lc-item{ flex-basis:50%; } .lc-btn{ width:36px; height:36px; } }

/* ============ MAPA DO BRASIL (malha de atuação) ============ */
.malha-row{ display:flex; flex-wrap:wrap; gap:40px; align-items:center; }
.malha-row .col-md-6{ flex:1 1 380px; min-width:0; }
.mapa-brasil-wrap{ max-width:460px; margin:0 auto; }
#mapaSVG a{ cursor:pointer; }
#mapaSVG a path{ fill:rgba(255,255,255,.06); transition:fill .2s ease; }
#mapaSVG a text{ pointer-events:none; font-size:9px; }
#mapaSVG a:hover path{ fill:rgba(243,112,31,.55); }
#mapaSVG a.active path{ fill:var(--orange); }
#mapaSVG a.active:hover path{ fill:var(--orange-dark); }
#mapaSVG a[data-malha]{ cursor:pointer; }
/* Estado com atuacao parcial (ex.: BA so na divisa com o ES) */
#mapaSVG a.parcial path.mapa-parcial-fill{ fill:var(--orange); }
#mapaSVG a.parcial:hover path{ fill:rgba(243,112,31,.30); }
#mapaSVG a.parcial:hover path.mapa-parcial-fill{ fill:var(--orange-dark); }

.malha-modal{
	position:fixed; inset:0; z-index:900; background:rgba(15,17,20,.62); display:flex; align-items:center; justify-content:center;
	padding:24px; opacity:0; visibility:hidden; transition:.2s ease;
}
.malha-modal.is-open{ opacity:1; visibility:visible; }
.malha-modal-box{
	position:relative; background:#fff; color:var(--ink); border-radius:var(--radius); width:100%; max-width:720px; max-height:88vh; overflow-y:auto;
	padding:36px 36px 30px; box-shadow:0 30px 70px rgba(0,0,0,.35); transform:translateY(14px) scale(.98); transition:.25s ease;
}
.malha-modal.is-open .malha-modal-box{ transform:none; }
.malha-modal-close{
	position:absolute; top:12px; right:14px; width:38px; height:38px; border:0; border-radius:50%; background:var(--bg-soft);
	font-size:26px; line-height:1; cursor:pointer; color:var(--ink); z-index:1;
}
.malha-modal-close:hover{ background:var(--orange-soft); color:var(--orange-dark); }
.malha-modal-box img{ width:100%; border-radius:12px; margin-bottom:20px; display:block; background:var(--bg-soft); }
.malha-modal-box h3{ font-size:24px; margin:0 0 18px; padding-right:30px; }
.malha-modal-item + .malha-modal-item{ margin-top:26px; padding-top:26px; border-top:1px solid rgba(0,0,0,.08); }
.malha-modal-legenda{ font-size:13px; font-weight:700; color:var(--orange-dark); margin-bottom:12px; text-transform:uppercase; letter-spacing:.03em; }
.malha-modal-desc{ font-size:15px; color:var(--muted); }
.malha-modal-desc p{ margin-bottom:.8em; }
@media (max-width:640px){ .malha-modal-box{ padding:26px 20px 22px; } }
.section-head{ max-width:680px; margin-bottom:48px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* Buttons */
.btn{
	display:inline-flex; align-items:center; gap:10px;
	padding:14px 26px; border-radius:999px; font-weight:700; font-size:15px;
	border:1px solid transparent; cursor:pointer; transition:.2s ease;
	white-space:nowrap;
}
.btn svg{ width:11px; height:11px; fill:currentColor; transform:rotate(-90deg); }
.btn-orange{ background:var(--btn-bg,var(--orange)); color:var(--btn-text,#fff); }
.btn-orange:hover{ background:var(--btn-bg-hover,var(--orange-dark)); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn-ghost:hover{ border-color:var(--ink); }
.btn-white{ background:#fff; color:var(--ink); }
.btn-white:hover{ background:var(--orange-soft); }

/* ============ HEADER ============ */
/* Header sobreposto (flutua sobre o banner/hero, sem empurrar o conteúdo pra baixo) */
header.site-header{
	background:transparent; position:absolute; top:0; left:0; right:0; z-index:500;
	border-bottom:0;
}
header.site-header .container{ padding-top:0px; padding-bottom:0px; }
header.site-header .row{     
    display: flex;
    align-items: center;
    background: linear-gradient(90deg, rgba(var(--header-rgb,52,52,52),0) 0%, rgba(var(--header-rgb,52,52,52),var(--header-alpha,.6)) 20%, rgba(var(--header-rgb,52,52,52),var(--header-alpha,.6)) 100%);
    border-radius: 0px 0px 50px 50px;
    padding: 0px 13px;
    height: 90px; 
	}
	
a.logo {
    left: -20px;
    position: relative;
    top: 24px;
}	
	
	
header.site-header .col-md-2{ flex:0 0 auto; margin-right:40px; }
header.site-header .col-md-10{
	flex:1 1 auto; display:flex; align-items:center; justify-content:space-between;
}
.site-header .logo img{ height:140px; width:auto; max-width:none; }
.main-nav ul{ display:flex; align-items:center; gap:26px; }

.main-nav a{
	color:var(--nav-color,#fff); font-size:11px; font-weight:500; letter-spacing:normal;
	text-transform:none; padding:8px 0; position:relative;
	text-shadow:0 1px 4px rgba(0,0,0,.35);
	text-transform: uppercase;
}


.main-nav a::after{
	content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
	background:var(--orange); transform:scaleX(0); transition:.2s;
}
.main-nav a:hover, .main-nav a.active{ color:var(--orange); }
.main-nav a:hover::after, .main-nav a.active::after{ transform:scaleX(1); }

/* Submenu (Sobre nós) */
.main-nav li{ position:relative; }
.main-nav .caret{
	display:inline-block; width:6px; height:6px; margin-left:4px; vertical-align:middle;
	border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg);
}
.main-nav .submenu{
	position:absolute; top:100%; left:-16px; min-width:200px; padding:10px 0; margin:0;
	display:block; background:rgba(40,42,45,.96); border-radius:0 0 14px 14px;
	box-shadow:0 14px 30px rgba(0,0,0,.28);
	opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; z-index:20;
}
.main-nav .has-sub:hover > .submenu,
.main-nav .has-sub:focus-within > .submenu{ opacity:1; visibility:visible; transform:none; }
.main-nav .submenu li{ display:block; }
.main-nav .submenu a{ display:block; padding:10px 20px; white-space:nowrap; text-shadow:none; }
.main-nav .submenu a::after{ display:none; }
.main-nav .submenu a:hover, .main-nav .submenu a.active{ color:var(--orange); background:rgba(255,255,255,.05); }
.header-actions{ display:flex; align-items:center; gap:18px; }

.header-actions a {text-transform: uppercase;  font-size:11px; font-weight:500; }

/* Páginas internas (sem hero de foto) recebem uma faixa escura atrás do header sobreposto,
   já que .page-hero por si só cobre essa área. */
.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.burger span{ width:24px; height:2px; background:#fff; display:block; }

/* ============ HERO / SLIDER ============ */
.hero{ position:relative; min-height:600px; display:flex; align-items:flex-end; overflow:hidden; background:#0d0d0d; }
.hero-slide{
	position:absolute; inset:0; background-size:cover; background-position:center;
	opacity:0; transition:opacity 1.1s ease; z-index:0;
}
.hero-slide.is-active{ opacity:1; z-index:1; }
.hero::after{
	content:""; position:absolute; inset:0; z-index:2;
	/* background:linear-gradient(0deg, rgba(10,10,10,.88) 5%, rgba(10,10,10,.35) 55%, rgba(10,10,10,.15) 100%); */
}
.hero-content{ position:relative; z-index:3; padding:70px 24px 64px; max-width:var(--container); margin:0 auto; width:100%; }
.hero-content h1{ color:#fff; font-size:clamp(32px,5vw,58px); max-width:820px; }
.hero-content p{ color:#e7e7e7; font-size:18px; max-width:560px; }
.hero-dots{ position:relative; z-index:3; display:flex; gap:8px; padding:0 24px 34px; max-width:var(--container); margin:0 auto; }
.hero-dots button{ width:28px; height:3px; background:rgba(255,255,255,.35); border:0; cursor:pointer; padding:0;  position: relative; top: -18px;}
.hero-dots button.is-active{ background:var(--orange); }

/* ============ STAT / ABOUT ============ */
.about-grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:center; }
.about-media{ position:relative; /*border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);*/ }
.about-media img{ /*width:100%; height:100%; object-fit:cover;*/
width: 100%;
    height: 100%;
    object-fit: cover;
    position: relative;
    right: 22px;
    border-radius: 14px;
    top: -23px;

 }
.stat-badge{
	/*position:absolute; left:20px; bottom:20px; background:var(--orange); border-radius:16px;
	padding:22px 28px; box-shadow:var(--shadow); text-align:center; color:#fff;*/
	
	position: absolute;
    right: 5px;
    bottom: 20px;
    background: var(--orange);
    border-radius: 16px;
    padding: 22px 28px;
    box-shadow: -19px 6px 31px -9px #212121;
    text-align: center;
    color: #fff;
    bottom: 0px;
}
.js-badge .stat-badge{ opacity:0; transform:scale(0); transform-origin:100% 100%; }
.js-badge.is-visible .stat-badge{ animation:badgePop .9s cubic-bezier(.34,1.56,.64,1) .25s forwards; }
@keyframes badgePop{
	0%{ opacity:0; transform:scale(0); }
	40%{ opacity:1; }
	100%{ opacity:1; transform:scale(1); }
}
@media (prefers-reduced-motion:reduce){ .js-badge .stat-badge{ opacity:1; transform:none; animation:none !important; } }
.stat-badge-icon{ width:30px; height:30px; display:block; margin:0 auto 10px; }
.stat-badge-label{ display:block; font-size:11px; font-weight:700; color:#fff; text-transform:uppercase; letter-spacing:.06em; opacity:.92; margin-bottom:4px; }
.stat-badge-value{ display:block; font-size:36px; font-weight:900; color:#fff; line-height:1; }

.funfact-row{
	display:flex; flex-wrap:wrap; justify-content:space-between; gap:32px;
	margin-top:64px; padding-top:48px; border-top:1px solid #ececec;
}
.funfact-item{ flex:1 1 200px; text-align:center; }
.funfact-number{ font-size:44px; font-weight:900; color:var(--orange-dark); line-height:1; }
.funfact-number .plus{ color:var(--orange); }
.funfact-label{ margin-top:8px; font-size:13px; color:var(--muted); text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:640px){
	.funfact-row{ gap:24px 16px; }
	.funfact-item{ flex:1 1 45%; }
	.funfact-number{ font-size:32px; }
}

/* ============ CARDS (o que fazemos / serviços) ============ */
.cards-2{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.card{
	background:#fff; border:1px solid var(--line); border-radius:var(--radius);
	overflow:hidden; box-shadow:var(--shadow); transition:.25s ease;
}
.card:hover{ transform:translateY(-4px); }
.card-media{ height:220px; overflow:hidden; }
.card-media img{ width:100%; height:100%; object-fit:cover; transition:.4s ease; }
.card:hover .card-media img{ transform:scale(1.06); }
.card-body{ padding:28px; }
.tag{
	display:inline-block; background:var(--orange-soft); color:var(--orange-dark);
	font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em;
	padding:5px 12px; border-radius:999px; margin-bottom:14px;
}

/* ============ CTA STRIP ============ */
.cta-strip-wrap{ background:linear-gradient(135deg,var(--cta-1,#f1781b) 0%,var(--cta-2,#ff6f00) 100%); }
.js-cta .cta-strip{ opacity:0; transform:translateY(70px) scale(.9); }
.js-cta.is-visible .cta-strip{ opacity:1; transform:none; transition:opacity .8s ease, transform .9s cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion:reduce){ .js-cta .cta-strip{ opacity:1; transform:none; } }
.cta-strip{
	background:var(--cta-inner,#dc5f00); color:#fff; border-radius:24px; padding:56px;
	display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
}
.cta-strip h2{ color:#fff; margin-bottom:0; max-width:520px; }

#introouvidoria p {text-align:justify;}
.ov-intro{ display:grid; grid-template-columns:4fr 6fr 2fr; align-items:center; gap:40px; }
.ov-intro > *{ min-width:0; }
.ov-intro-media .copavito-stage{ margin:0 auto; height:440px; }
.ov-intro-media .copavito-img{ top:74px; animation-name:ovCopavitoFloat; }
@media (min-width:961px){ #introouvidoria{ padding-bottom:140px; } }
@keyframes ovCopavitoFloat{
	0%,100%{ transform:translate3d(0,0,0) rotate(-1.5deg) scale(1.5); }
	50%{ transform:translate3d(8px,-18px,0) rotate(1.5deg) scale(1.5); }
}
.ov-bubble{
	display:flex; align-items:center; gap:10px;
	background:var(--orange); color:#fff; border-radius:18px 18px 18px 4px; padding:12px 16px;
	font-size:12px; font-weight:800; line-height:1.25; box-shadow:0 10px 22px rgba(243,112,31,.35);
}
.ov-bubble svg{ width:26px; height:26px; flex:none; }
.ov-intro-media .ov-bubble{ position:absolute; z-index:2; top:6px; left:100%; margin-left:-71px; width:142px; }
#consultar{ background:var(--consultar-bg,#fa730a); }
.ov-bubble--2{ transition:.2s ease; }
.ov-bubble--2:hover{ background:var(--orange-dark); transform:translateY(-3px); }
@media (max-width:960px){
	.ov-intro{ grid-template-columns:1fr; gap:24px; }
	.ov-bubble--2{ display:inline-flex; }
}

/* Trabalhe Conosco: botão no cabeçalho (desktop) x item dentro do menu (mobile) */
.main-nav li.li-versaomobile{ display:none; }
@media (max-width:960px){
	.header-actions .ocultarversaomobile{ display:none !important; }
	.main-nav li.li-versaomobile{ display:block; width:100%; margin-top:10px; }
	.main-nav a.versaomobile{
		display:block; width:100%; text-align:center; padding:14px 20px; border-radius:999px;
		background:var(--btn-bg,var(--orange)); color:var(--btn-text,#fff); font-weight:700;
	}
	.main-nav a.versaomobile::after{ display:none; }
	.main-nav a.versaomobile:hover{ background:var(--btn-bg-hover,var(--orange-dark)); color:var(--btn-text,#fff); }
}

/* ============ FOOTER ============ */
footer.site-footer{
	position:relative; color:#d3d6d9; padding:78px 0 26px; overflow:hidden;
	background-color:var(--footer-2,#3a3d41);
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .05  0 0 0 0 .05  0 0 0 0 .06  0 0 0 1.1 -.42'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23f)'/%3E%3C/svg%3E"),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .78  0 0 0 0 .8  0 0 0 0 .82  0 0 0 .9 -.56'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E"),
		radial-gradient(ellipse 520px 220px at 18% 30%,rgba(0,0,0,.22),transparent 70%),
		radial-gradient(ellipse 620px 260px at 78% 70%,rgba(255,255,255,.05),transparent 70%),
		radial-gradient(ellipse 480px 200px at 55% 15%,rgba(0,0,0,.18),transparent 70%),
		linear-gradient(180deg,var(--footer-1,#45484d) 0%,var(--footer-2,#33363a) 100%);
}
footer.site-footer::before{
	display:none;
	content:""; position:absolute; left:0; right:0; top:26px; height:6px; pointer-events:none;
	background:repeating-linear-gradient(90deg,#f2c230 0 46px,transparent 46px 96px);
	opacity:.85;
}
footer.site-footer .container{ position:relative; z-index:1; }
/* Encaixe laranja (espelho do selo da logo) no lado direito do rodap� */
@media (min-width:961px){
	footer.site-footer{ padding-top:60px; }
	footer.site-footer::after{
		content:""; position:absolute; z-index:0; right:0; top:0; width:260px; height:130px; pointer-events:none;
		background:url("../../../images/caixa-since2.png") no-repeat right top/100% 100%; opacity:.4;
		filter:drop-shadow(0 8px 10px rgba(0,0,0,.28));
	}
}
.footer-since{ display:none; }
@media (min-width:961px){
	.footer-since{
		display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
		position:absolute; z-index:2; right:0; top:0; width:260px; height:130px; padding:0 18px 26px 40px;
		color:#b4b8bd; font-size:10px; font-weight:700; letter-spacing:.32em; line-height:1.1; text-transform:uppercase;
		text-shadow:0 1px 3px rgba(0,0,0,.35);
	}
	.footer-since strong{ display:block; font-size:20px; font-weight:900; letter-spacing:.04em; margin-top:2px; color:#fff; }
}

footer.site-footer p{ color:#c2c6ca; }
.footer-grid{ display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:40px; margin-bottom:48px; }
.footer-grid h4{ color:#fff; font-size:14px; text-transform:uppercase; letter-spacing:.06em; margin-bottom:18px; }
.footer-grid a{ color:var(--footer-link,#b7bcc2); display:block; padding:6px 0; font-size:14px; }
.footer-grid a:hover{ color:var(--orange); }
.footer-logo img{ height:34px; margin-bottom:16px; }
.social-row{ display:flex; gap:12px; margin-top:18px; }
.social-row a{
	width:38px; height:38px; border-radius:50%; border:1px solid rgba(255,255,255,.18);
	display:flex; align-items:center; justify-content:center; padding:0;
}
.social-row svg{ width:16px; height:16px; fill:#e7e7e7; }
.social-row a:hover{ background:var(--orange); border-color:var(--orange); }
.footer-bottom{
	border-top:1px solid rgba(255,255,255,.1); padding-top:22px;
	display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:13px; color:#8b9096;
}

/* ============ PAGE HEADER (páginas internas) ============ */
.page-hero{ background:var(--dark); color:#fff; padding:150px 10px 20px 20px; }
.page-hero h1{ color:#fff; font-size:clamp(28px,4vw,44px); }
.breadcrumb{ font-size:13px; color:#9aa0a6; margin-bottom:14px; }
.breadcrumb a{ color:#c4c8cc; }
.breadcrumb a:hover{ color:var(--orange); }

/* ============ ACCORDION (unidades / contatos) ============ */
.accordion-item{ border-bottom:1px solid var(--line); }
.accordion-trigger{
	width:100%; background:none; border:0; cursor:pointer; text-align:left;
	padding:22px 4px; display:flex; align-items:center; justify-content:space-between;
	font-size:17px; font-weight:700; font-family:var(--font); color:var(--ink);
}
.accordion-trigger .badge{ font-weight:400; font-size:13px; color:var(--muted); margin-left:10px; }
.accordion-trigger svg{ width:14px; height:14px; fill:var(--muted); transition:.2s; flex:none; }
.accordion-item.is-open .accordion-trigger svg{ transform:rotate(180deg); }
.accordion-panel{ max-height:0; overflow:hidden; transition:max-height .3s ease; }
.accordion-item.is-open .accordion-panel{ max-height:400px; }
.accordion-panel-inner{ padding:0 4px 26px; color:var(--muted); font-size:14px; line-height:1.9; }
.accordion-panel-inner strong{ color:var(--ink); }

/* ============ FORM ============ */
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field{ margin-bottom:18px; }
.field.full{ grid-column:1/-1; }
.field label{ display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
.field input, .field textarea, .field select{
	width:100%; border:1px solid var(--line); border-radius:10px; padding:13px 16px;
	font-family:var(--font); font-size:15px; color:var(--ink); background:#fff;
}
.field input:focus, .field textarea:focus, .field select:focus{ outline:none; border-color:var(--orange); }
.field textarea{ min-height:130px; resize:vertical; }
.field-prefix{ display:flex; align-items:stretch; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#fff; }
.field-prefix span{ display:flex; align-items:center; padding:0 14px; background:var(--bg-soft); color:var(--muted); font-weight:700; font-size:14px; border-right:1px solid var(--line); }
.field-prefix input{ border:0; border-radius:0; flex:1; }
.field-prefix input:focus{ border:0; }
.field-prefix:focus-within{ border-color:var(--orange); }
.alerta-form--ok{ background:#eaf7ee; color:#1e7a3c; padding:14px 18px; border-radius:10px; margin-bottom:18px; }
.alerta-form--fail{ background:#fdeceb; color:#c53a2f; padding:14px 18px; border-radius:10px; margin-bottom:18px; }
.hidden{ display:none !important; }

/* ============ BLOG / DOWNLOADS LISTS ============ */
.list-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.download-row{
	display:flex; align-items:center; justify-content:space-between; gap:20px;
	padding:20px 24px; border:1px solid var(--line); border-radius:12px; margin-bottom:14px;
}
.download-row .meta{ font-size:13px; color:var(--muted); }
.year-heading{ font-size:22px; font-weight:900; margin:44px 0 18px; }
.year-heading:first-child{ margin-top:0; }

/* ============ WHATSAPP FLOAT ============ */
.whats-float{
	position:fixed; right:24px; bottom:24px; z-index:600; background:#25D366; color:#fff;
	width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center;
	box-shadow:0 10px 30px rgba(0,0,0,.25);
}
.whats-float svg{ width:26px; height:26px; fill:#fff; }

/* ============ COOKIES ============ */
.box-cookies{
	position:fixed; left:20px; right:20px; bottom:20px; z-index:9999; background:#15171a; color:#fff;
	border-radius:14px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between;
	gap:20px; box-shadow:var(--shadow); flex-wrap:wrap;
}
.box-cookies.hide{ display:none; }
.box-cookies p{ color:#cfd2d6; margin:0; font-size:13px; flex:1; min-width:240px; }
.box-cookies .btns{ display:flex; gap:10px; }
.box-cookies button{ border:0; border-radius:999px; padding:10px 20px; font-weight:700; cursor:pointer; font-family:var(--font); }
.box-cookies .btn-cookies{ background:var(--orange); color:#fff; }
.box-cookies .btn-cookies2{ background:transparent; color:#cfd2d6; border:1px solid rgba(255,255,255,.25); }

/* ============ OUVIDORIA WIZARD ============ */
.ov-wizard{ background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); padding:44px; max-width:720px; margin:0 auto; }
.ov-progress{ display:flex; align-items:center; gap:8px; margin-bottom:36px; }
.ov-progress .bar{ flex:1; height:4px; border-radius:4px; background:var(--line); overflow:hidden; }
.ov-progress .bar span{ display:block; height:100%; background:var(--orange); width:0%; transition:width .3s ease; }
.ov-progress .label{ font-size:13px; color:var(--muted); white-space:nowrap; font-weight:700; }
.ov-step{ display:none; animation:ovFade .25s ease; }
.ov-step.is-active{ display:block; }
@keyframes ovFade{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:translateY(0); } }
.ov-step h3{ font-size:22px; margin-bottom:10px; }
.ov-step .ov-help{ font-size:14px; color:var(--muted); margin-bottom:24px; }
.ov-options{ display:grid; gap:12px; margin-bottom:8px; }
.ov-option{
	display:flex; align-items:center; gap:14px; border:1.5px solid var(--line); border-radius:12px;
	padding:16px 18px; cursor:pointer; transition:.15s ease; font-weight:600; font-size:15px;
}
.ov-option:hover{ border-color:#d8d8d8; background:var(--bg-soft); }
.ov-option input{ accent-color:var(--orange); width:18px; height:18px; flex:none; }
.ov-option.is-checked{ border-color:var(--orange); background:var(--orange-soft); }
.vagas-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.vaga-card{ cursor:pointer; outline:none; }
.vaga-card:focus-visible{ box-shadow:0 0 0 3px var(--orange-soft), 0 0 0 5px var(--orange); }
.vaga-card p{ margin-bottom:14px; }
.vaga-more{ font-size:13px; font-weight:800; color:var(--orange-dark); text-transform:uppercase; letter-spacing:.05em; }
.vaga-more::after{ content:" \2192"; }
@media (max-width:960px){ .vagas-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .vagas-grid{ grid-template-columns:1fr; } }
.vaga-modal{
	position:fixed; inset:0; z-index:900; background:rgba(15,17,20,.62); display:flex; align-items:center; justify-content:center;
	padding:24px; opacity:0; visibility:hidden; transition:.2s ease;
}
.vaga-modal.is-open{ opacity:1; visibility:visible; }
.vaga-modal-box{
	position:relative; background:#fff; border-radius:var(--radius); width:100%; max-width:620px; max-height:88vh; overflow-y:auto;
	padding:36px 36px 30px; box-shadow:0 30px 70px rgba(0,0,0,.35); transform:translateY(14px) scale(.98); transition:.25s ease;
}
.vaga-modal.is-open .vaga-modal-box{ transform:none; }
.vaga-modal-close{
	position:absolute; top:12px; right:14px; width:38px; height:38px; border:0; border-radius:50%; background:var(--bg-soft);
	font-size:26px; line-height:1; cursor:pointer; color:var(--ink);
}
.vaga-modal-close:hover{ background:var(--orange-soft); color:var(--orange-dark); }
.vaga-modal-box h3{ font-size:26px; margin:6px 0 6px; padding-right:40px; }
.vaga-modal-meta{ font-size:13px; color:var(--muted); margin-bottom:16px; }
.vaga-modal-desc{ font-size:15px; color:var(--muted); }
.vaga-modal-desc p{ margin-bottom:.8em; }
.vaga-modal-actions{ margin-top:22px; }
.tr-choice{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:8px 0 8px; }
.tr-choice-card{
	display:flex; flex-direction:column; align-items:flex-start; gap:8px; text-align:left; cursor:pointer;
	border:1.5px solid var(--line); border-radius:14px; background:#fff; padding:24px 22px;
	font-family:var(--font); color:var(--ink); transition:.18s ease;
}
.tr-choice-card:hover{ border-color:var(--orange); background:var(--orange-soft); transform:translateY(-2px); box-shadow:var(--shadow); }
.tr-choice-card svg{ width:34px; height:34px; color:var(--orange-dark); }
.tr-choice-card strong{ font-size:18px; font-weight:900; }
.tr-choice-card span{ font-size:13.5px; line-height:1.5; color:var(--muted); font-weight:500; }
@media (max-width:640px){ .tr-choice{ grid-template-columns:1fr; } }
.ov-options--inline{ grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); }
.ov-options--inline .ov-option{ padding:12px 16px; }
.ov-step .field small.ov-help{ display:block; margin:6px 0 0; font-size:12.5px; }
.ov-step .field input[type=file]{ padding:10px; background:#fff; }
.ov-actions{ display:flex; justify-content:space-between; align-items:center; margin-top:32px; }
.ov-actions .btn-link{ background:none; border:0; color:var(--muted); font-weight:700; cursor:pointer; font-family:var(--font); font-size:14px; }
.ov-actions .btn-link:hover{ color:var(--ink); }
.ov-accept-box{ background:var(--bg-soft); border-radius:12px; padding:20px; font-size:13.5px; color:var(--muted); line-height:1.8; margin-bottom:20px; }
.ov-check-row{ display:flex; align-items:flex-start; gap:12px; font-size:14px; font-weight:600; cursor:pointer; }
.ov-check-row input{ margin-top:3px; accent-color:var(--orange); width:18px; height:18px; flex:none; }
.ov-summary dl{ margin:0; }
.ov-summary dt{ font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin-top:16px; }
.ov-summary dt:first-child{ margin-top:0; }
.ov-summary dd{ margin:2px 0 0; font-weight:600; }
.ov-success{ text-align:center; padding:20px 0; }
.ov-success .protocolo{
	display:inline-block; background:var(--dark); color:#fff; font-weight:900; font-size:22px;
	letter-spacing:.03em; padding:16px 28px; border-radius:12px; margin:20px 0;
}
.ov-error{ color:#c53a2f; font-size:14px; margin-top:14px; }
.ov-status-box{ background:var(--bg-soft); border-radius:var(--radius); padding:32px; max-width:520px; margin:60px auto 0; text-align:center; }
.ov-status-result{ margin-top:18px; text-align:left; }
.status-pill{ display:inline-block; padding:6px 14px; border-radius:999px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; background:var(--orange-soft); color:var(--orange-dark); }
.ov-timeline-public{ border-left:3px solid var(--line); margin:10px 0 0 6px; padding:0; }
.ov-timeline-public-item{ position:relative; padding:0 0 18px 22px; }
.ov-timeline-public-item:before{ content:""; position:absolute; left:-8px; top:3px; width:12px; height:12px; border-radius:50%; background:var(--orange); border:2px solid #fff; box-shadow:0 0 0 2px var(--line); }
.ov-timeline-public-meta{ font-size:12px; color:var(--muted); margin-bottom:4px; }

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
	.main-nav .caret{ display:none; }
	.main-nav .submenu{ position:static; opacity:1; visibility:visible; transform:none; background:none; box-shadow:none; padding:0 0 0 16px; min-width:0; }
	.main-nav .submenu a{ padding:10px 0; font-size:10.5px; opacity:.85; }
	header.site-header .container{ padding-top:0px; padding-bottom:0px; }
	header.site-header .col-md-2{ margin-right:12px; }
	.site-header .logo img{ height:34px; max-width:150px; }
	.main-nav{ position:fixed; inset:72px 0 0 0; background:var(--dark); transform:translateX(100%); transition:.25s ease; overflow-y:auto; padding:20px 0; }
	.main-nav.is-open{ transform:translateX(0); }
	.main-nav ul{ flex-direction:column; align-items:flex-start; padding:0 24px; gap:6px; }
	.main-nav a{ display:block; width:100%; padding:14px 0; }
	.burger{ display:flex; }
	.about-grid{ grid-template-columns:1fr; }
	.cards-2{ grid-template-columns:1fr; }
	.footer-grid{ grid-template-columns:1fr 1fr; }
	.list-3{ grid-template-columns:1fr; }
	.form-grid{ grid-template-columns:1fr; }
	.section{ padding:60px 0; }
	.cta-strip{ padding:36px; text-align:center; justify-content:center; }
	.ov-wizard{ padding:26px; }
}
@media (max-width:600px){
	.footer-grid{ grid-template-columns:1fr; }
	.footer-bottom{ flex-direction:column; }
}

/* Logo do cabeçalho na versão mobile */
@media (max-width: 960px) {
	.site-header .logo img {
		height: auto;
		max-width: 252px;
		top: -19px !important;
		position: relative;
	}
}

/* Copavito da Home na versão mobile: maior e deslocado, mantendo a flutuação */
@media (max-width: 960px) {
	.copavito-section .copavito-img {
		top: -43px;
		animation-name: copavitoFloatMobile;
	}
	@keyframes copavitoFloatMobile {
		0%,100% { transform: translate3d(0,0,0) rotate(-1.5deg) scale(1.3); }
		50%     { transform: translate3d(8px,-18px,0) rotate(1.5deg) scale(1.3); }
	}
}
@media (max-width: 960px) and (prefers-reduced-motion: reduce) {
	.copavito-section .copavito-img { animation: none; transform: scale(1.3); }
}

/* Ouvidoria na versão mobile: Copavito e balão */
@media (max-width: 960px) {
	.ov-intro-media .copavito-img {
		top: -62px;
		animation-name: ovCopavitoFloat;
		height: 298px;
	}
	.ov-intro-media .ov-bubble {
		position: relative;
		z-index: 2;
		top: 6px;
		left: 10%;
		margin-left: 0;
		width: 142px;
	}
}

/* Imagens .about-media na versão mobile: só position:relative, sem deslocamento */
@media (max-width: 960px) {
	.about-media img {
		position: relative;
		right: 0;
		top: 0;
	}
}

/* Caixa "Unidades no Brasil" menor na versão mobile */
@media (max-width: 960px) {
	.stat-badge { padding: 8.4px 12px; border-radius: 9.6px; box-shadow: -7px 3.6px 13px -5px #212121; }
	.stat-badge-icon { width: 15.6px; height: 15.6px; margin-bottom: 3.6px; }
	.stat-badge-label { font-size: 7.2px; margin-bottom: 1.2px; letter-spacing: .04em; }
	.stat-badge-value { font-size: 19.2px; }
}

/* Copavito da Home no desktop: maior e deslocado, mantendo a flutuação */
@media (min-width: 961px) {
	.copavito-section .copavito-img {
		top: -40px;
		animation-name: copavitoFloatDesk;
	}
	@keyframes copavitoFloatDesk {
		0%,100% { transform: translate3d(0,0,0) rotate(-1.5deg) scale(1.5); }
		50%     { transform: translate3d(8px,-18px,0) rotate(1.5deg) scale(1.5); }
	}
}
@media (min-width: 961px) and (prefers-reduced-motion: reduce) {
	.copavito-section .copavito-img { animation: none; transform: scale(1.5); }
}
@media (min-width: 961px) { .copavito-section { padding-top: 60px; } }

/* Seção "O que fazemos" (section--soft parallax-section): menos espaço no topo */
.section.section--soft.parallax-section { padding-top: 40px; }

/* Celular (até 600px) mantém o Copavito da Home deslocado; tablet (iPad mini 768px) não */
@media (max-width: 600px) {
	.copavito-section .copavito-img { left: 34%; }
}

/* iPad mini na horizontal (1024px) e telas parecidas: menu com fonte menor, sem quebrar linha */
@media (min-width: 961px) and (max-width: 1100px) {
	.main-nav a {
		font-size: 7px;
		white-space: nowrap;
	}
}

/* iPad mini na vertical (768px): botão do menu (burger) posicionado à direita */
@media (min-width: 601px) and (max-width: 960px) {
	.header-actions {
		display: flex;
		align-items: center;
		gap: 18px;
		float: right;
		right: 10%;
		position: absolute;
	}
}

/* Logo acima do botão do menu na versão mobile/tablet */
@media (max-width: 960px) {
	.site-header .logo img {
		z-index: 9;
	}
}

/* Institucional > História: texto à esquerda, vídeo à direita, equilibrados */
.inst-cols--video{ align-items:center; gap:56px; }
.inst-cols--video .col-md-6{ flex:1 1 400px; }
.inst-cols--video .col-md-6 > p:last-child{ margin-bottom:0; }
.inst-cols--video .copavito-video video{ max-height:520px; margin:0 auto; }
