*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#020812;
  --bg2:#03101d;
  --panel:#071321;
  --panel2:#091829;
  --blue:#1488ff;
  --cyan:#00b8ff;
  --line:rgba(0,166,255,.28);
  --text:#fff;
  --muted:#c7d0da;
}
html{scroll-behavior:smooth}
body{
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
.topbar{
  position:sticky;
  top:0;
  z-index:1000;
  background:#020914;
  border-bottom:1px solid rgba(25,119,202,.28);
}
.nav-wrap{
  width:min(1410px,calc(100% - 42px));
  height:90px;
  margin:auto;
  display:flex;
  align-items:center;
  gap:28px;
}
.brand{
  display:flex;
  align-items:center;
  width:335px;
}
.brand img{
  width:300px;
  height:72px;
  object-fit:contain;
  object-position:left center;
  mix-blend-mode:screen;
}
.nav-links{
  display:flex;
  gap:44px;
  align-items:center;
  margin-left:auto;
}
.nav-links a{
  font-size:16px;
  font-weight:600;
  color:#f2f4f7;
  transition:.2s;
}
.nav-links a:hover,.nav-links a.active{color:#109cff}
.chev{font-size:14px;margin-left:5px}
.whatsapp-top{
  margin-left:18px;
  min-width:215px;
  height:50px;
  border-radius:8px;
  background:#128bff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:800;
  font-size:16px;
}
.wa-icon{font-size:26px;line-height:1}
.menu-btn{
  display:none;
  margin-left:auto;
  background:none;
  border:0;
}
.menu-btn span{
  display:block;width:28px;height:2px;background:#fff;margin:6px 0
}
.hero{
  position:relative;
  min-height:445px;
  background:
    radial-gradient(circle at 75% 55%,rgba(0,103,255,.22),transparent 31%),
    linear-gradient(90deg,#020812 0%,#03101d 48%,#071525 100%);
  overflow:hidden;
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 62% 62%,rgba(0,174,255,.14),transparent 18%),
    linear-gradient(90deg,rgba(1,7,16,.98) 0%,rgba(1,7,16,.89) 35%,rgba(1,7,16,.32) 64%,rgba(1,7,16,.15) 100%);
}
.hero-grid-lines{
  position:absolute;inset:0;
  opacity:.16;
  background-image:
    linear-gradient(rgba(34,139,255,.25) 1px,transparent 1px),
    linear-gradient(90deg,rgba(34,139,255,.2) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to left,#000,transparent 82%);
}
.hero-inner{
  position:relative;
  z-index:2;
  width:min(1410px,calc(100% - 42px));
  margin:auto;
  display:grid;
  grid-template-columns:46% 54%;
  min-height:445px;
}
.hero-copy{
  padding:32px 0 20px;
  z-index:5;
}
.kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:#12a9ff;
  font-weight:800;
  font-size:16px;
  letter-spacing:.01em;
  margin-bottom:22px;
}
.kicker-icon{font-size:16px}
.kicker.centered{justify-content:center;margin-bottom:5px}
.hero h1{
  font-family:Manrope,Inter,sans-serif;
  font-weight:800;
  font-size:45px;
  line-height:1.08;
  letter-spacing:-.04em;
  max-width:610px;
}
.hero h1 span{color:#168cff}
.hero-text{
  margin-top:22px;
  max-width:590px;
  color:#f4f6f8;
  font-size:18px;
  line-height:1.45;
}
.hero-actions{
  display:flex;
  gap:18px;
  margin-top:24px;
}
.btn{
  height:48px;
  padding:0 22px;
  border-radius:7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:15px;
  font-weight:800;
}
.btn.primary{
  background:#138aff;
  border:1px solid #138aff;
}
.btn.outline{
  color:#12a9ff;
  border:1px solid #168fff;
  background:#02101c;
}
.btn.large{height:56px;padding:0 28px}
.location-row{
  margin-top:22px;
  display:flex;
  align-items:center;
  gap:20px;
  font-weight:600;
  font-size:16px;
}
.location-row .sep{
  width:1px;height:23px;background:#1b5b88;
}
.mini-icon{color:#0e96ff;margin-right:9px}
.hero-art{
  position:relative;
  min-height:445px;
}
.city{
  position:absolute;
  bottom:0;
  height:190px;
  width:42%;
  opacity:.72;
  filter:drop-shadow(0 0 12px #028cff);
  background:
    linear-gradient(to top,rgba(0,105,186,.45),transparent 78%),
    repeating-linear-gradient(90deg,transparent 0 18px,rgba(0,157,255,.35) 18px 20px,transparent 20px 36px),
    linear-gradient(135deg,transparent 0 34%,rgba(8,27,44,.9) 35% 100%);
  clip-path:polygon(0 100%,0 48%,5% 48%,5% 18%,10% 18%,10% 60%,15% 60%,15% 30%,22% 30%,22% 72%,28% 72%,28% 45%,33% 45%,33% 16%,38% 16%,38% 68%,45% 68%,45% 38%,54% 38%,54% 76%,62% 76%,62% 25%,67% 25%,67% 58%,73% 58%,73% 8%,78% 8%,78% 70%,84% 70%,84% 37%,90% 37%,90% 62%,100% 62%,100% 100%);
}
.city-left{left:0}
.city-right{right:0;transform:scaleX(-1)}
.shield-wrap{
  position:absolute;
  left:42%;
  top:41%;
  transform:translate(-50%,-50%);
  width:360px;
  height:390px;
}
.shield{
  position:absolute;
  left:50%;top:42%;
  transform:translate(-50%,-50%);
  width:225px;height:270px;
  background:linear-gradient(145deg,rgba(0,93,225,.8),rgba(0,21,77,.88));
  clip-path:polygon(50% 0,96% 16%,90% 67%,72% 89%,50% 100%,28% 89%,10% 67%,4% 16%);
  border:3px solid #44c8ff;
  filter:drop-shadow(0 0 18px #008fff) drop-shadow(0 0 38px rgba(0,102,255,.65));
}
.shield::before{
  content:"";
  position:absolute;inset:9px;
  clip-path:inherit;
  border:1px solid rgba(113,214,255,.7);
  background:radial-gradient(circle at 50% 38%,rgba(11,171,255,.35),transparent 45%);
}
.shield-inner{
  position:absolute;inset:0;
  display:grid;place-items:center;
}
.lock{
  position:relative;
  width:92px;height:125px;
  margin-top:25px;
}
.lock-arch{
  position:absolute;
  left:18px;top:0;
  width:56px;height:60px;
  border:10px solid #87ddff;
  border-bottom:0;
  border-radius:35px 35px 0 0;
  box-shadow:0 0 16px #0ebcff;
}
.lock-body{
  position:absolute;
  left:0;bottom:0;
  width:92px;height:75px;
  border-radius:10px;
  background:linear-gradient(145deg,#1bb7ff,#045fdb);
  border:2px solid #a7ecff;
  box-shadow:0 0 20px #00aaff;
}
.keyhole{
  position:absolute;left:50%;top:26px;
  transform:translateX(-50%);
  width:14px;height:24px;
  background:#001634;
  border-radius:50% 50% 35% 35%;
}
.halo{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(0,183,255,.42);
}
.halo-1{width:320px;height:320px}
.halo-2{width:270px;height:270px}
.platform{
  position:absolute;
  left:50%;bottom:0;
  transform:translateX(-50%);
  width:340px;height:95px;
  border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(0,176,255,.42),rgba(0,17,42,.8) 58%,transparent 70%);
  border-top:2px solid #18bfff;
}
.platform-ring{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid #109cff;
}
.r1{width:285px;height:60px}
.r2{width:230px;height:46px}
.r3{width:165px;height:31px}
.brazil-map{
  position:absolute;
  right:6%;
  top:11%;
  width:290px;height:245px;
  opacity:.8;
  background:
    radial-gradient(circle at 30% 20%,#00a7ff 0 2px,transparent 3px),
    radial-gradient(circle at 58% 38%,#00a7ff 0 2px,transparent 3px),
    radial-gradient(circle at 72% 64%,#00a7ff 0 2px,transparent 3px),
    radial-gradient(circle at 35% 71%,#00a7ff 0 2px,transparent 3px),
    repeating-radial-gradient(circle at 50% 50%,rgba(0,153,255,.8) 0 1px,transparent 1px 7px);
  clip-path:polygon(23% 1%,47% 5%,60% 12%,77% 16%,92% 28%,96% 43%,86% 53%,89% 65%,74% 69%,68% 81%,55% 85%,48% 99%,38% 90%,39% 78%,27% 69%,25% 53%,14% 46%,8% 30%,15% 18%);
  filter:drop-shadow(0 0 10px #008fff);
}
.map-dot{position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 10px #00aaff}
.d1{left:36%;top:30%}.d2{left:55%;top:44%}.d3{left:65%;top:56%}.d4{left:47%;top:64%}.d5{left:31%;top:55%}.d6{left:69%;top:30%}
.network-lines{
  position:absolute;
  border-top:1px solid rgba(0,155,255,.55);
  width:270px;height:120px;
  border-radius:50%;
  transform:rotate(13deg);
  opacity:.55;
}
.n1{right:2%;top:28%}.n2{right:8%;top:44%;transform:rotate(-8deg)}
.services{
  padding:15px 5% 13px;
  background:linear-gradient(#04101c,#020913);
  border-top:1px solid #124265;
}
.section-title{text-align:center;margin-bottom:18px}
.section-title h2{
  font-family:Manrope,Inter,sans-serif;
  font-size:31px;
  line-height:1.1;
}
.title-line{
  display:block;width:44px;height:3px;background:#1697ff;margin:9px auto 0
}
.service-grid{
  max-width:1410px;
  margin:auto;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.service-card{
  min-height:230px;
  border:1px solid #0b3c62;
  border-radius:10px;
  background:linear-gradient(180deg,#071624,#05111d);
  text-align:center;
  padding:15px 14px;
}
.service-icon{
  width:74px;height:74px;
  border-radius:50%;
  margin:0 auto 10px;
  display:grid;place-items:center;
  font-size:38px;
  color:#0aa9ff;
  border:1px solid #0a3a61;
  background:#071d32;
  text-shadow:0 0 14px rgba(0,172,255,.7);
}
.service-card h3{font-size:16px;margin-bottom:12px}
.service-card p{font-size:14px;line-height:1.5;color:#f0f3f7}
.benefits-bar{
  max-width:1410px;
  margin:14px auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid #0b3c62;
  border-radius:10px;
  background:#061421;
  padding:27px 18px;
}
.benefit{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:14px;
  align-items:center;
  padding:0 24px;
  border-right:1px solid #124362;
}
.benefit:last-child{border-right:0}
.benefit-icon{
  width:62px;height:62px;border-radius:50%;
  display:grid;place-items:center;
  font-size:34px;color:#10aaff;background:#071b2d;
}
.benefit h4{font-size:17px;line-height:1.25;margin-bottom:8px}
.benefit p{font-size:13px;color:#f3f5f7;line-height:1.45}
.dark-section{padding:75px 0;background:#030b16;border-top:1px solid #0c2942}
.dark-section.alt{background:#06111d}
.content-shell{
  width:min(1200px,calc(100% - 42px));
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}
.content-shell h2,.contact h2{font:800 38px/1.08 Manrope,Inter,sans-serif}
.content-shell p,.contact p{color:#aebdcb;font-size:18px;line-height:1.65}
.contact{padding:70px 0;background:#030a14}
.contact-card{
  width:min(1200px,calc(100% - 42px));
  margin:auto;
  border:1px solid #0d4168;
  background:linear-gradient(135deg,#071b2c,#04101b);
  border-radius:16px;
  padding:35px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.whatsapp-float{
  position:fixed;
  right:25px;
  bottom:24px;
  z-index:1200;
  width:72px;height:72px;border-radius:50%;
  background:#19d668;
  display:grid;place-items:center;
  box-shadow:0 8px 28px rgba(0,0,0,.45);
}
.wa-bubble{font-size:42px;color:white}
footer{background:#020812;border-top:1px solid #0b2c47}
.footer-inner{
  width:min(1200px,calc(100% - 42px));
  margin:auto;
  min-height:100px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
}
.footer-inner img{width:220px;height:70px;object-fit:contain;mix-blend-mode:screen}
.footer-inner p{color:#8092a3;font-size:13px}

@media (max-width:1200px){
  .nav-links{gap:24px}
  .whatsapp-top{min-width:190px}
  .service-grid{grid-template-columns:repeat(3,1fr)}
  .benefits-bar{grid-template-columns:1fr 1fr}
  .benefit:nth-child(2){border-right:0}
  .benefit:nth-child(-n+2){padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid #124362}
}
@media (max-width:920px){
  .brand{width:auto}
  .brand img{width:220px}
  .menu-btn{display:block}
  .nav-links{
    display:none;position:absolute;top:90px;left:20px;right:20px;
    padding:18px;background:#03101c;border:1px solid #0d4168;border-radius:12px;
    flex-direction:column;align-items:flex-start;gap:18px;
  }
  .nav-links.open{display:flex}
  .whatsapp-top{display:none}
  .hero-inner{grid-template-columns:1fr}
  .hero{min-height:720px}
  .hero-copy{padding-top:40px}
  .hero-art{min-height:310px}
  .shield-wrap{left:48%;top:50%;transform:translate(-50%,-50%) scale(.82)}
  .brazil-map{right:0}
  .content-shell{grid-template-columns:1fr;gap:28px}
}
@media (max-width:650px){
  .nav-wrap{height:74px;width:calc(100% - 24px)}
  .brand img{width:180px;height:58px}
  .nav-links{top:74px}
  .hero{min-height:800px}
  .hero-inner{width:calc(100% - 30px)}
  .hero h1{font-size:36px}
  .hero-text{font-size:16px}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .location-row{flex-direction:column;align-items:flex-start;gap:8px}
  .location-row .sep{display:none}
  .hero-art{min-height:360px}
  .shield-wrap{left:50%;transform:translate(-50%,-50%) scale(.7)}
  .brazil-map{width:230px;height:190px;right:-10%;top:18%}
  .service-grid{grid-template-columns:1fr}
  .benefits-bar{grid-template-columns:1fr}
  .benefit{border-right:0!important;border-bottom:1px solid #124362;padding:18px 6px!important;margin:0!important}
  .benefit:last-child{border-bottom:0}
  .section-title h2{font-size:25px}
  .contact-card{flex-direction:column;align-items:flex-start}
  .content-shell h2,.contact h2{font-size:31px}
  .footer-inner{flex-direction:column;justify-content:center;padding:20px 0}
}


/* WhatsApp — aparência igual à referência visual */
.whatsapp-svg{
  width:25px;
  height:25px;
  flex:0 0 25px;
  display:block;
}

.whatsapp-top{
  background:#138cff;
  color:#fff;
  border:1px solid #2198ff;
  border-radius:8px;
  box-shadow:none;
  font-weight:800;
  letter-spacing:0;
}
.whatsapp-top .whatsapp-svg{
  color:#fff;
  width:26px;
  height:26px;
}

.btn.outline .whatsapp-svg{
  color:#0ba9ff;
  width:25px;
  height:25px;
}

.whatsapp-float{
  width:72px;
  height:72px;
  right:24px;
  bottom:22px;
  border-radius:50%;
  background:#19d66b;
  border:0;
  box-shadow:0 7px 22px rgba(0,0,0,.42);
  display:grid;
  place-items:center;
}
.whatsapp-float::before{
  content:"";
  position:absolute;
  width:47px;
  height:47px;
  border:3px solid #fff;
  border-radius:50%;
}
.whatsapp-float .whatsapp-svg{
  position:relative;
  z-index:2;
  width:37px;
  height:37px;
  color:#fff;
}
.whatsapp-float::after{
  content:"";
  position:absolute;
  right:2px;
  top:2px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#ff3838;
}

@media (max-width:650px){
  .whatsapp-float{
    width:62px;
    height:62px;
    right:15px;
    bottom:15px;
  }
  .whatsapp-float::before{
    width:41px;
    height:41px;
  }
  .whatsapp-float .whatsapp-svg{
    width:32px;
    height:32px;
  }
}
