
:root{
  --bg:#F7F7F7;
  --primary:#306EF2;
  --navy:#081126;
  --gray:#C2C2C2;
  --muted:#595959;
  --text:#262626;
  --white:#FFFFFF;
  --card:#FFFFFF;
  --border:rgba(8,17,38,.10);
  --shadow:0 18px 60px rgba(8,17,38,.10);
  --radius:24px;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Cairo',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 15% 20%, rgba(48,110,242,.14), transparent 24%),
    radial-gradient(circle at 90% 10%, rgba(8,17,38,.10), transparent 20%),
    linear-gradient(180deg, rgba(255,255,255,.65), rgba(247,247,247,.92));
  z-index:-2;
}
.grid-lines{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:
    linear-gradient(rgba(8,17,38,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(8,17,38,.035) 1px, transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 95%);
}
.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter:blur(16px);
  background:rgba(247,247,247,.80);
  border-bottom:1px solid rgba(8,17,38,.07);
}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}
.brand img{height:48px;width:auto}
.nav-links{display:flex;align-items:center;gap:24px;color:var(--muted);font-weight:700;font-size:.98rem}
.nav-links a:hover{color:var(--primary)}
.companies-menu{position:relative;display:flex;align-items:center}
.companies-toggle{
  display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;border-radius:999px;
  border:1px solid rgba(8,17,38,.08);background:rgba(255,255,255,.88);color:var(--navy);font-family:inherit;
  font-size:.92rem;font-weight:800;cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,color .25s ease,background .25s ease;
  box-shadow:0 8px 20px rgba(8,17,38,.06);backdrop-filter:blur(10px)
}
.companies-toggle:hover{transform:translateY(-1px);border-color:rgba(48,110,242,.28);color:var(--primary);box-shadow:0 14px 30px rgba(8,17,38,.10);background:#fff}
.companies-toggle svg{width:14px;height:14px;transition:transform .28s ease}
.companies-menu.open .companies-toggle svg{transform:rotate(180deg)}
.companies-dropdown{
  position:absolute;top:calc(100% + 14px);right:0;width:300px;padding:14px;border-radius:22px;background:rgba(255,255,255,.88);
  border:1px solid rgba(8,17,38,.08);box-shadow:0 24px 60px rgba(8,17,38,.16);display:grid;gap:10px;z-index:1200;backdrop-filter:blur(18px);
  opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);pointer-events:none;transition:opacity .25s ease,transform .28s ease,visibility .28s ease
}
.companies-dropdown::before{
  content:"";position:absolute;top:-7px;right:28px;width:14px;height:14px;background:rgba(255,255,255,.92);
  border-left:1px solid rgba(8,17,38,.08);border-top:1px solid rgba(8,17,38,.08);transform:rotate(45deg)
}
.companies-menu.open .companies-dropdown{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.companies-dropdown-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 4px 8px}
.companies-dropdown-top strong{display:block;color:var(--navy);font-size:1rem;line-height:1.1}
.companies-dropdown-top span{display:block;margin-top:4px;color:var(--muted);font-size:.82rem;font-weight:700}
.company-link{
  display:flex;align-items:center;gap:12px;padding:12px;border-radius:18px;background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(246,248,252,.88));
  border:1px solid rgba(8,17,38,.06);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease;position:relative;overflow:hidden
}
.company-link::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(48,110,242,.06), transparent 45%);opacity:0;transition:opacity .25s ease}
.company-link:hover{transform:translateY(-2px);border-color:rgba(48,110,242,.18);box-shadow:0 14px 28px rgba(8,17,38,.08);background:#fff}
.company-link:hover::before{opacity:1}
.company-icon{
  width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, rgba(48,110,242,.10), rgba(48,110,242,.03));
  border:1px solid rgba(8,17,38,.05);flex:0 0 auto;overflow:hidden;position:relative;z-index:1
}
.company-icon img{width:28px;height:28px;object-fit:contain;display:block}
.company-meta,.company-arrow{position:relative;z-index:1}
.company-meta{flex:1;min-width:0}
.company-meta strong{display:block;color:var(--navy);line-height:1.1;font-size:.94rem}
.company-meta span{display:block;margin-top:4px;color:var(--muted);font-size:.80rem;font-weight:700}
.company-arrow{
  width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--navy);background:rgba(8,17,38,.04);
  transition:transform .25s ease,background .25s ease,color .25s ease;flex:0 0 auto
}
.company-arrow svg{width:14px;height:14px}
.company-link:hover .company-arrow{transform:translateX(2px);background:rgba(48,110,242,.10);color:var(--primary)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;font-weight:800;transition:.25s ease;border:1px solid transparent}
.btn-primary{background:var(--primary);color:var(--white);box-shadow:0 14px 28px rgba(48,110,242,.22)}
.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.03)}
.btn-secondary{border-color:rgba(8,17,38,.12);color:var(--navy);background:rgba(255,255,255,.78)}
.btn-secondary:hover{transform:translateY(-2px);border-color:rgba(48,110,242,.30)}
.hero{padding:72px 0 48px}
.hero-badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 18px}
.hero-badge{padding:10px 14px;border-radius:999px;background:#fff;border:1px solid rgba(8,17,38,.10);color:var(--navy);font-weight:800;font-size:.92rem;box-shadow:0 10px 24px rgba(8,17,38,.06)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:stretch}
.hero-copy,.hero-visual,.card,.timeline,.contact-card,.service-card,.value-card,.cert-card{
  position:relative;overflow:hidden;border-radius:var(--radius);background:rgba(255,255,255,.78);border:1px solid var(--border);box-shadow:var(--shadow)
}
.hero-copy{padding:42px;min-height:620px;display:flex;flex-direction:column;justify-content:center}
.hero-copy::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle, rgba(48,110,242,.18), transparent 68%)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;width:max-content;padding:8px 14px;border-radius:999px;background:rgba(48,110,242,.10);color:var(--primary);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;margin-bottom:18px}
h1,h2,h3{margin:0;line-height:1.05}
h1{font-size:clamp(2.8rem, 6vw, 5.4rem);color:var(--navy);letter-spacing:-.03em}
.hero-copy p{font-size:1.08rem;color:var(--muted);max-width:60ch;margin:18px 0 26px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:28px}
.hero-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:8px}
.hero-highlights div{padding:18px;border-radius:20px;background:linear-gradient(180deg, rgba(48,110,242,.10), rgba(8,17,38,.02));border:1px solid rgba(48,110,242,.10)}
.hero-highlights strong{display:block;font-size:1.35rem;color:var(--navy)}
.hero-highlights span{color:var(--muted);font-weight:700;font-size:.95rem}
.hero-visual{
  min-height:620px;
  padding:28px;
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(5,10,20,.35), rgba(5,10,20,.65), rgba(5,10,20,.85)),
    url('../img/plano-de-fundo.png') center/cover no-repeat,
    linear-gradient(180deg, rgba(8,17,38,.78), rgba(8,17,38,.92)),
    radial-gradient(circle at top right, rgba(48,110,242,.24), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.03) 25%, transparent 25%) 0 0/34px 34px,
    linear-gradient(315deg, rgba(255,255,255,.02) 25%, transparent 25%) 0 0/34px 34px,
    #081126;
  color:#fff;
  display:flex;
  align-items:flex-end;
}


.hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at center, rgba(0,0,0,0), rgba(0,0,0,.34));
  pointer-events:none;
}
.hero-visual::before{content:"";position:absolute;inset:0;background-image:url('../img/simbolo-azul.svg');background-repeat:no-repeat;background-position:center;background-size:70%;opacity:.12;filter:grayscale(1) brightness(2)}
.hero-panel{position:relative;z-index:2;width:100%;padding:28px;border-radius:24px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.hero-panel h2{font-size:1.55rem;margin-bottom:14px}
.hero-panel p{margin:0 0 16px;color:rgba(255,255,255,.80)}
.hero-list{display:grid;gap:10px}
.hero-list span{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}
.hero-list span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 6px rgba(48,110,242,.16);flex:0 0 auto}
section{padding:28px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-head p{margin:0;color:var(--muted);max-width:62ch;font-weight:600}
.section-title{font-size:clamp(2rem, 4.2vw, 3.4rem);color:var(--navy);letter-spacing:-.03em}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card{padding:30px}.card p{margin:0;color:var(--muted);font-weight:600}
.timeline{padding:30px}
.timeline-list{display:grid;gap:16px;position:relative;margin-top:6px}
.timeline-item{display:grid;grid-template-columns:92px 1fr;gap:16px;align-items:flex-start;padding:18px;border-radius:20px;background:linear-gradient(180deg, rgba(48,110,242,.08), rgba(255,255,255,.45));border:1px solid rgba(48,110,242,.08)}
.timeline-year{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border-radius:16px;background:var(--navy);color:#fff;font-weight:800;font-size:1.05rem}
.timeline-item p{margin:0;color:var(--muted);font-weight:600}
.mission-grid,.services-grid,.values-grid,.cert-grid,.contact-grid{display:grid;gap:18px}
.mission-grid{grid-template-columns:repeat(2,1fr)}
.services-grid{grid-template-columns:repeat(3,1fr)}
.values-grid{grid-template-columns:repeat(4,1fr)}
.cert-grid{grid-template-columns:repeat(3,1fr)}
.contact-grid{grid-template-columns:1.05fr .95fr}
.service-card,.value-card,.cert-card,.contact-card{padding:26px}
.service-card::before,.value-card::before,.cert-card::before,.contact-card::before{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;background:radial-gradient(circle, rgba(48,110,242,.14), transparent 70%);border-radius:50%}
.service-index,.value-index,.cert-index{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;background:rgba(48,110,242,.12);color:var(--primary);font-weight:900;margin-bottom:16px}
.service-card h3,.value-card h3,.cert-card h3,.contact-card h3{font-size:1.3rem;color:var(--navy);margin-bottom:10px}
.service-card p,.value-card p,.cert-card p,.contact-card p,.contact-card a{margin:0;color:var(--muted);font-weight:600}
.value-card{min-height:210px;background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(48,110,242,.05))}
.cert-card{min-height:220px;text-align:center}
.cert-card{min-height:220px;text-align:center}
.cert-badge{width:min(180px,100%);height:auto;margin:0 auto 18px;display:block;filter:drop-shadow(0 10px 24px rgba(8,17,38,.10));transition:transform .25s ease, filter .25s ease}
.cert-card:hover .cert-badge{transform:translateY(-3px) scale(1.02);filter:drop-shadow(0 16px 30px rgba(8,17,38,.14))}
.contact-list{display:grid;gap:14px;margin-top:22px}
.showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.showcase-card{min-height:260px;border-radius:24px;overflow:hidden;position:relative;border:1px solid var(--border);box-shadow:var(--shadow);background:linear-gradient(180deg, rgba(8,17,38,.18), rgba(8,17,38,.82)),linear-gradient(135deg, rgba(48,110,242,.18), transparent 42%),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),#112243;background-size:auto,auto,26px 26px,26px 26px,auto;display:flex;align-items:flex-end;padding:22px}
.showcase-card::after{content:"";position:absolute;inset:auto -40px -40px auto;width:180px;height:180px;background:url('../img/simbolo-azul.svg') center/contain no-repeat;opacity:.10;filter:brightness(2.1)}
.showcase-card:nth-child(2){background:linear-gradient(180deg, rgba(8,17,38,.18), rgba(8,17,38,.82)),linear-gradient(135deg, rgba(48,110,242,.12), transparent 42%),linear-gradient(45deg, rgba(255,255,255,.05) 12%, transparent 12%, transparent 50%, rgba(255,255,255,.05) 50%, rgba(255,255,255,.05) 62%, transparent 62%, transparent),#0d1a33;background-size:auto,auto,34px 34px,auto}
.showcase-card:nth-child(3){background:linear-gradient(180deg, rgba(8,17,38,.18), rgba(8,17,38,.82)),radial-gradient(circle at top left, rgba(48,110,242,.18), transparent 38%),linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),#10203d;background-size:auto,auto,30px 30px,30px 30px,auto}
.showcase-card h3,.showcase-card p{position:relative;z-index:1;margin:0;color:#fff}
.showcase-card p{margin-top:8px;color:rgba(255,255,255,.82);font-weight:600}
.contact-panel{padding:34px;border-radius:var(--radius);background:linear-gradient(180deg, #081126, #112243);color:#fff;box-shadow:var(--shadow);overflow:hidden;position:relative}
.contact-panel::before{content:"";position:absolute;right:-80px;bottom:-80px;width:280px;height:280px;background:url('../img/simbolo-azul.svg') center/contain no-repeat;opacity:.12;filter:brightness(2)}
.contact-panel img{height:54px;width:auto;margin-bottom:22px;filter:brightness(2.2)}
.contact-panel p{color:rgba(255,255,255,.78);max-width:46ch}
.contact-item{padding:16px 18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;font-weight:700;position:relative;z-index:1}
.cta-bar{margin-top:18px;display:flex;flex-wrap:wrap;gap:12px}
.site-footer{padding:26px 0 42px}
.footer-box{padding:24px 26px;border-radius:24px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;box-shadow:var(--shadow)}
.footer-box p{margin:0;color:var(--muted);font-weight:700}
.mobile-toggle{display:none;background:none;border:none;padding:8px;cursor:pointer}
.mobile-toggle span{display:block;width:26px;height:2px;background:var(--navy);margin:6px 0;border-radius:999px}
.whatsapp-float{position:fixed;right:22px;bottom:22px;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.22);z-index:1100;transition:transform .25s ease, box-shadow .25s ease}
.whatsapp-float:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 24px 48px rgba(0,0,0,.28)}
.whatsapp-float svg{width:30px;height:30px;fill:currentColor}

@media (max-width:1080px){
  .hero-grid,.about-grid,.contact-grid,.mission-grid,.showcase-grid{grid-template-columns:1fr}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .cert-grid{grid-template-columns:1fr}
  .hero-copy,.hero-visual{min-height:auto}
}
@media (max-width:760px){
  .nav{min-height:74px}
  .mobile-toggle{display:block}
  .nav-links{position:absolute;top:74px;left:16px;right:16px;background:rgba(255,255,255,.98);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:22px;padding:18px;display:none;flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}
  .companies-menu{width:100%;order:3}
  .companies-toggle{width:100%;justify-content:center}
  .companies-dropdown{left:0;right:0;width:100%;padding:14px}
  .companies-dropdown-top{flex-direction:column;align-items:flex-start;padding-bottom:14px}
  .companies-grid{grid-template-columns:1fr}
  .company-link{min-height:auto}
  .nav-cta{display:none}
  .hero{padding-top:34px}
  .hero-copy{padding:28px}
  .hero-visual{padding:20px}
  .hero-highlights,.services-grid,.values-grid,.showcase-grid{grid-template-columns:1fr}
  .timeline-item{grid-template-columns:1fr}
  .section-head{align-items:flex-start;flex-direction:column}
  h1{font-size:clamp(2.4rem,12vw,4rem)}
  .section-title{font-size:clamp(1.8rem,8vw,3rem)}
  .footer-box{align-items:flex-start}
  .whatsapp-float{width:58px;height:58px;right:16px;bottom:16px}
}


/* Motion + icons */
html{scroll-padding-top:110px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
.reveal-up:nth-child(2){transition-delay:.06s}.reveal-up:nth-child(3){transition-delay:.12s}.reveal-up:nth-child(4){transition-delay:.18s}.reveal-up:nth-child(5){transition-delay:.24s}.reveal-up:nth-child(6){transition-delay:.30s}
.hero-copy,.hero-visual,.service-card,.value-card,.cert-card,.showcase-card,.contact-card,.card,.timeline{transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease}
.service-card:hover,.value-card:hover,.cert-card:hover,.showcase-card:hover,.contact-card:hover,.card:hover,.timeline:hover{transform:translateY(-5px);box-shadow:0 26px 60px rgba(8,17,38,.14);border-color:rgba(48,110,242,.18)}
.card-icon{width:54px;height:54px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;margin:0 0 18px;background:linear-gradient(180deg, rgba(48,110,242,.13), rgba(48,110,242,.04));border:1px solid rgba(48,110,242,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.card-icon svg{width:26px;height:26px;stroke:var(--primary);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.service-card,.value-card{padding-top:22px}
.service-card h3,.value-card h3{margin-bottom:12px}
.service-index,.value-index{font-size:.84rem;width:44px;height:44px;border-radius:14px;margin-bottom:14px;background:rgba(48,110,242,.10)}
.value-card .card-icon{background:linear-gradient(180deg, rgba(8,17,38,.06), rgba(48,110,242,.04))}
.values-grid .value-card{min-height:250px}
.services-grid .service-card{min-height:250px}
.section-head.reveal{transition-delay:0s}
.hero-badge,.hero-highlights div,.hero-panel,.companies-toggle,.btn{transition:transform .3s ease, box-shadow .3s ease, background .3s ease, border-color .3s ease}
.hero-badge:hover,.hero-highlights div:hover{transform:translateY(-2px)}
.hero-panel{animation:floatPanel 8s ease-in-out infinite}
@keyframes floatPanel{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important;animation:none !important;transition:none !important}
  .reveal{opacity:1;transform:none}
}


/* Correção do menu Empresas */
.companies-menu{
  position:relative;
  z-index:1200;
}

.companies-menu::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:18px;
}

.companies-dropdown{
  top:calc(100% + 8px) !important;
}

.section-head-flex{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
flex-wrap:wrap;
}

.politica-actions{
display:flex;
gap:10px;
}

.politica-actions a{
font-size:14px;
padding:10px 18px;
border-radius:30px;
text-decoration:none;
font-weight:600;
transition:0.25s;
}

.politica-actions .btn-primary{
background:#306EF2;
color:#fff;
}

.politica-actions .btn-secondary{
background:#eef2ff;
color:#1d2a44;
}

.politica-actions a:hover{
transform:translateY(-2px);
}