:root{
  --bg:#071021;
  --bg2:#0b1428;
  --bg3:#0f1b37;
  --card:#102041;
  --muted:#9fb1d8;
  --muted2:#d7e2f8;
  --brand:#f59e0b;
  --brandDark:#d97706;
  --white:#ffffff;
  --ok:#22c55e;
  --danger:#ef4444;
  --accent:#2563eb;
  --line:#1f2f58;
  --shadow:0 20px 50px rgba(0,0,0,.35);
  --radius:18px;
}

*{box-sizing:border-box;scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:#e5e7eb;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.14), transparent 24%),
    radial-gradient(circle at top left, rgba(245,158,11,.08), transparent 20%),
    linear-gradient(180deg,#06101f 0,#081325 100%);
  line-height:1.55;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

.topbar{
  position:sticky;
  top:0;
  z-index:999;
  background:linear-gradient(90deg,#f59e0b,#fbbf24);
  color:#111827;
  font-weight:800;
  text-align:center;
  padding:10px 16px;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
  font-size:14px;
}

header{
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(6,16,31,.98) 0, rgba(7,16,33,.94) 100%);
  position:relative;
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0;
  position:relative;
  z-index:2;
}

.logo{
  display:flex;
  gap:12px;
  align-items:center;
}

.logo .mark{
  width:40px;
  height:40px;
  border-radius:10px;
  background:linear-gradient(135deg,var(--brand) 0,#ffedd5 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#111;
  font-weight:900;
  font-size:20px;
  box-shadow:0 10px 24px rgba(245,158,11,.25);
}

.logo strong{font-size:15px}
.logo small{
  display:block;
  color:#9fb1d8;
  text-transform:uppercase;
  letter-spacing:1.2px;
  font-size:11px
}

.nav-cta{
  padding:12px 22px;
  border:2px solid var(--brand);
  border-radius:999px;
  color:var(--brand);
  font-weight:800;
  transition:.25s ease;
  white-space:nowrap;
}
.nav-cta:hover{
  background:var(--brand);
  color:#111;
  transform:translateY(-1px);
}

.hero{
  padding:34px 0 72px;
  position:relative;
  z-index:1;
}

.hero-intro{
  text-align:left;
  max-width:1120px;
  margin:0 auto 28px;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--brand);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:14px;
}

.hero h1{
  margin:0 0 14px;
  max-width:1080px;
  font-size:clamp(40px,6vw,76px);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.03em;
  background:linear-gradient(to right,#fff 0,#e5edf9 55%,#9ec5ff 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-subheadline{
  margin:0 0 16px;
  font-size:clamp(22px,2.6vw,31px);
  line-height:1.18;
  font-weight:800;
  color:#dbeafe;
  max-width:920px;
}

.hero-desc{
  color:var(--muted2);
  font-size:clamp(17px,2.1vw,21px);
  margin:0;
  max-width:980px;
}

.hero-main{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:26px;
  align-items:stretch;
  margin-top:26px;
}

.hero-left{
  display:flex;
  flex-direction:column;
  gap:18px;
}

.hero-panel{
  background:linear-gradient(180deg,rgba(13,26,51,.92) 0, rgba(10,20,40,.96) 100%);
  border:1px solid #1d315d;
  border-radius:24px;
  padding:24px;
  box-shadow:var(--shadow);
}

.hero-panel h3{
  margin:0 0 12px;
  font-size:24px;
  line-height:1.1;
  color:#fff;
}

.hero-panel p{
  margin:0;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}

.hero-proof{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}

.hero-proof .mini{
  background:rgba(15,27,55,.82);
  border:1px solid #20335f;
  border-radius:18px;
  padding:16px 15px;
  box-shadow:var(--shadow);
  min-height:112px;
}

.hero-proof .mini strong{
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1.1;
  margin-bottom:6px;
}

.hero-proof .mini span{
  display:block;
  color:var(--muted);
  font-size:14px;
  line-height:1.35;
}

.badges{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.badge{
  background:rgba(16,32,65,.78);
  border:1px solid #253962;
  padding:10px 14px;
  border-radius:999px;
  color:#d7e3ff;
  font-size:14px;
  font-weight:700;
}

.hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:center;
  margin-top:4px;
}

.cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:linear-gradient(180deg,#ffb21a 0,#f59e0b 100%);
  color:#111827;
  font-weight:900;
  border:none;
  border-radius:14px;
  padding:18px 28px;
  cursor:pointer;
  font-size:17px;
  transition:.25s ease;
  box-shadow:0 18px 34px rgba(245,158,11,.18);
}

.cta:hover{
  background:linear-gradient(180deg,#fbbf24 0,#d97706 100%);
  transform:translateY(-1px) scale(1.01);
}

.cta.secondary{
  background:transparent;
  color:#fff;
  border:1px solid #27406f;
  box-shadow:none;
}

.cta.secondary:hover{
  background:#0d1b38;
}

.hero-note{
  color:var(--muted);
  font-size:14px;
  margin:0;
}

.media{
  background:linear-gradient(180deg,#0f1b37 0,#0b1428 100%);
  border:2px solid #1d2f58;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 26px 60px rgba(0,0,0,.42);
  min-height:100%;
  display:flex;
  flex-direction:column;
}

.media-head{
  padding:14px 16px;
  border-bottom:1px solid #18264a;
  background:linear-gradient(180deg,#0f1b37 0,#0d1832 100%);
  color:#dbeafe;
  font-size:15px;
  font-weight:800;
  line-height:1.45;
}

.media-body{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#0e1830 0,#0b152c 100%);
  padding:16px;
}

.media iframe{
  width:100%;
  aspect-ratio:16/9;
  display:block;
  min-height:auto;
  background:#0f1b37;
  border-radius:16px;
}

.media-foot{
  padding:14px 16px;
  background:#0b1428;
  color:#9fb1d8;
  font-size:14px;
  border-top:1px solid #18264a;
  line-height:1.6;
}

section{
  padding:82px 0;
  border-top:1px solid #122246;
}

.section-title{
  text-align:center;
  margin-bottom:48px;
}

.section-title h2{
  margin:0 0 12px;
  font-size:clamp(30px,3vw,40px);
  line-height:1.1;
  color:#fff;
}

.section-title p{
  margin:0 auto;
  max-width:820px;
  color:var(--muted);
  font-size:18px;
}

.cols{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.card{
  background:linear-gradient(180deg,rgba(16,32,65,.95) 0, rgba(14,26,51,.96) 100%);
  border:1px solid #1f335f;
  border-radius:20px;
  padding:28px;
  transition:.22s ease;
  box-shadow:var(--shadow);
  height:100%;
}

.card:hover{
  transform:translateY(-3px);
  border-color:#3158a5;
  background:#132650;
}

.card h3{
  margin:0 0 10px;
  font-size:24px;
  color:#fff;
  line-height:1.15;
}

.card .muted{
  color:var(--muted);
  line-height:1.65;
}

.stat-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:10px;
}

.stat{
  background:linear-gradient(180deg,rgba(16,32,65,.96) 0, rgba(12,23,46,.98) 100%);
  border:1px solid #223963;
  border-radius:18px;
  padding:22px;
  text-align:center;
  box-shadow:var(--shadow);
}

.stat strong{
  display:block;
  font-size:34px;
  line-height:1;
  color:#fff;
  margin-bottom:8px;
}

.stat span{
  display:block;
  color:var(--muted);
  font-size:14px;
}

.national-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:24px;
  align-items:stretch;
}

.map-card,.ranking-card{
  background:linear-gradient(180deg,rgba(16,32,65,.95) 0, rgba(12,23,46,.98) 100%);
  border:1px solid #223963;
  border-radius:22px;
  padding:28px;
  box-shadow:var(--shadow);
}

.ranking-list{
  display:grid;
  gap:12px;
  margin-top:14px;
}

.rank{
  display:grid;
  grid-template-columns:70px 1fr 70px;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-radius:14px;
  background:#0c1832;
  border:1px solid #1a2a52;
  color:#dbeafe;
}

.rank strong{font-size:15px}

.rank .bar{
  position:relative;
  height:10px;
  border-radius:999px;
  background:#122246;
  overflow:hidden;
}

.rank .bar span{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#2563eb,#60a5fa);
}

.map-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:center;
  margin-top:8px;
}

.brazil-map{
  min-height:270px;
  border-radius:18px;
  border:1px dashed #29457f;
  background:
    radial-gradient(circle at 30% 25%, rgba(37,99,235,.18), transparent 35%),
    radial-gradient(circle at 70% 60%, rgba(245,158,11,.12), transparent 28%),
    #0b152d;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#c7d5f8;
  padding:20px;
  font-weight:700;
}

.map-points{
  display:grid;
  gap:12px;
}

.point{
  padding:14px 16px;
  border-radius:14px;
  background:#0c1832;
  border:1px solid #1b2c57;
}

.point strong{
  display:block;
  color:#fff;
}

.point span{
  display:block;
  color:var(--muted);
  font-size:14px;
}

.sim-wrap{
  max-width:980px;
  margin:0 auto;
  background:linear-gradient(180deg,#0f1b37 0,#0d1730 100%);
  border:1px solid #21365f;
  border-radius:26px;
  padding:34px;
  box-shadow:var(--shadow);
}

.sim-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:start;
}

.sim-side{
  background:#0b1429;
  border:1px solid #1b2d56;
  border-radius:18px;
  padding:22px;
  height:100%;
}

.sim-side h3{
  margin:0 0 10px;
  font-size:24px;
}

.sim-help{
  color:var(--muted);
  font-size:15px;
  margin-bottom:16px;
}

.sim-field{
  margin-bottom:14px;
}

.sim-field label{
  display:block;
  margin-bottom:8px;
  color:#cfe1ff;
  font-weight:700;
  font-size:14px;
}

.sim-field input,.sim-field select{
  width:100%;
  padding:15px 16px;
  border-radius:12px;
  border:1px solid #233a68;
  background:#081326;
  color:#fff;
  font-size:16px;
}

.sim-button{
  width:100%;
  margin-top:6px;
}

.result-box{
  background:linear-gradient(180deg,#0b1730 0,#091226 100%);
  border:1px solid #1b305d;
  border-radius:20px;
  padding:24px;
  min-height:100%;
}

.result-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:12px;
}

.result-tag{
  font-size:12px;
  color:#111;
  background:#fbbf24;
  padding:8px 10px;
  border-radius:999px;
  font-weight:900;
  white-space:nowrap;
}

.result-box h3{
  margin:0;
  font-size:28px;
  line-height:1.1;
}

.result-box p{
  color:var(--muted);
  margin:10px 0 0;
}

.result-value{
  font-size:42px;
  line-height:1;
  font-weight:900;
  color:#22c55e;
  margin:18px 0 8px;
}

.result-list{
  display:grid;
  gap:10px;
  margin-top:18px;
}

.result-item{
  padding:12px 14px;
  border-radius:14px;
  background:#0d1b38;
  border:1px solid #1c3160;
  color:#dbeafe;
  font-size:14px;
}

.sim-disclaimer{
  margin-top:18px;
  color:#8ea0c7;
  font-size:12px;
  line-height:1.5;
}

.steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
}

.step{
  background:linear-gradient(180deg,#0c1731 0,#0b142a 100%);
  border:1px solid #1d315c;
  border-radius:20px;
  padding:28px;
  box-shadow:var(--shadow);
  height:100%;
}

.step .n{
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(180deg,#2563eb 0,#1d4ed8 100%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  margin-bottom:16px;
  font-size:18px;
  box-shadow:0 12px 24px rgba(37,99,235,.22);
}

.step h3{
  margin:0 0 10px;
  font-size:24px;
}

.logos{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  margin-top:10px;
}

.logo-box{
  min-height:72px;
  border-radius:16px;
  background:#0b1730;
  border:1px solid #1c305d;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:16px;
  color:#dbeafe;
  font-weight:800;
  font-size:14px;
}

.faq-wrap{
  max-width:860px;
  margin:0 auto;
}

.faq-item{
  margin-bottom:14px;
  border:1px solid #1c315e;
  background:linear-gradient(180deg,#0f1b37 0,#0d1730 100%);
  border-radius:16px;
  padding:20px 22px;
  box-shadow:var(--shadow);
}

.faq-item h4{
  color:#fff;
  margin:0 0 8px;
  font-size:20px;
}

.faq-item p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
}

.form-box{
  background:linear-gradient(180deg,#0f1b37 0,#0d1730 100%);
  padding:42px;
  border-radius:26px;
  border:1px solid #26467a;
  max-width:920px;
  margin:0 auto;
  box-shadow:var(--shadow);
}

.form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.form .full{
  grid-column:1/-1;
}

label{
  display:block;
  margin-bottom:8px;
  font-weight:700;
  font-size:14px;
  color:#bfdbfe;
}

input,select,textarea{
  width:100%;
  padding:15px 16px;
  border-radius:12px;
  border:1px solid #20355f;
  background:#091327;
  color:#e5e7eb;
  font-size:16px;
  transition:border-color .2s ease, box-shadow .2s ease;
}

input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(245,158,11,.12);
}

.submit{
  background:linear-gradient(180deg,#ffb21a 0,#f59e0b 100%);
  color:#111;
  font-weight:900;
  border:none;
  border-radius:14px;
  padding:19px 22px;
  cursor:pointer;
  font-size:18px;
  width:100%;
  margin-top:6px;
  transition:.25s ease;
  box-shadow:0 16px 30px rgba(245,158,11,.18);
}

.submit:hover{
  background:linear-gradient(180deg,#fbbf24 0,#d97706 100%);
  transform:translateY(-1px);
}

.form-privacy{
  font-size:12px;
  text-align:center;
  margin-top:14px;
  color:#7f95c4;
  line-height:1.55;
}

.form-side-note{
  margin-top:22px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}

.float-wa{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:998;
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#22c55e;
  color:#08131d;
  font-size:28px;
  box-shadow:0 18px 36px rgba(34,197,94,.28);
  border:3px solid rgba(255,255,255,.18);
}

footer{
  padding:38px 0 92px;
  color:#94a3b8;
  border-top:1px solid #122041;
  background:#070d18;
}

.footer-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
}

.footer-links a{
  margin-left:18px;
}

@media (max-width:1100px){
  .hero-main,
  .national-grid,
  .sim-grid{
    grid-template-columns:1fr;
  }
  .hero-proof{
    grid-template-columns:repeat(3,1fr);
  }
  .stat-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .logos{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (max-width:920px){
  .nav{padding:14px 0}
  .hero{padding:24px 0 56px}
  .hero-proof,
  .cols,
  .steps,
  .form{
    grid-template-columns:1fr;
  }
  .stat-grid{
    grid-template-columns:1fr 1fr;
  }
  .logos{
    grid-template-columns:1fr 1fr;
  }
  .section-title p{
    font-size:17px;
  }
  .media-body{
    padding:12px;
  }
  .media iframe{
    min-height:unset;
  }
}

@media (max-width:640px){
  .topbar{
    font-size:13px;
    padding:9px 12px;
  }
  .hero h1{
    font-size:42px;
  }
  .hero-subheadline{
    font-size:24px;
  }
  .hero-desc{
    font-size:18px;
  }
  .nav{
    gap:10px;
  }
  .nav-cta{
    padding:10px 14px;
    font-size:14px;
  }
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
  }
  .cta,.cta.secondary{
    width:100%;
  }
  .stat-grid,
  .logos{
    grid-template-columns:1fr;
  }
  .map-box{
    grid-template-columns:1fr;
  }
  .form-box{
    padding:26px 20px;
  }
  .result-value{
    font-size:34px;
  }
  .footer-links a{
    display:inline-block;
    margin:8px 14px 0 0;
  }
}
