:root{--blue:#0B1F3B;--blue2:#102B4D;--blue3:#14365F;--red:#E50914;--white:#fff;--grafite:#2E2E2E;--muted:#B8C5D8;--light:#F6F8FB;--line:#DDE5F0;--shadow:0 20px 60px rgba(0,0,0,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--blue);background:#fff}a{color:inherit}.container{width:min(1180px,92vw);margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(11,31,59,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.12)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:210px;max-width:45vw;display:block}.nav-links{display:flex;align-items:center;gap:18px;color:#fff;font-size:14px;font-weight:700}.nav-links a{text-decoration:none;opacity:.92}.nav-links a:hover{color:var(--red);opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.7);padding:10px 14px;border-radius:12px}.menu-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:10px;font-size:24px;padding:7px 12px}.section{padding:96px 0}.section-dark{background:radial-gradient(circle at top right,#14365F 0%,#0B1F3B 42%,#071529 100%);color:#fff}.section-light{background:var(--light);color:var(--blue)}.compact{padding:64px 0}.eyebrow{color:var(--red);font-weight:900;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,7vw,86px);line-height:.95;letter-spacing:-.055em;margin-bottom:24px}h1 span{color:#fff}h2{font-size:clamp(30px,4vw,52px);line-height:1.05;letter-spacing:-.04em;margin-bottom:18px}h3{font-size:22px;margin-bottom:10px}.lead{font-size:20px;line-height:1.65;color:#D8E2F0;max-width:680px}.hero{padding:120px 0 90px}.hero-grid,
.simulator-grid,
.partner-grid {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:56px;
  align-items:center;
}

.hero-actions,.final-cta .container{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
/* AJUSTE SEGURO DOS BOTÕES DO HERO */

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

.hero-actions .btn {
  min-height: 54px;
  padding: 0 22px;
}

.hero-actions .btn-primary {
  min-width: 330px;
}

.hero-actions .btn-outline {
  min-width: 220px;
}

@media (max-width: 768px) {
  .hero-actions {
    flex-wrap: wrap;
  }

  .hero-actions .btn {
    width: 100%;
  }
}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border-radius:14px;font-weight:900;text-decoration:none;border:0;cursor:pointer;transition:.2s}.btn-primary{background:var(--red);color:#fff;box-shadow:0 14px 32px rgba(229,9,20,.25)}.btn-primary:hover{transform:translateY(-2px);filter:brightness(1.05)}.btn-outline{color:#fff;border:1px solid rgba(255,255,255,.65);background:rgba(255,255,255,.05)}.trust-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px;max-width:720px}.trust-badges span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:14px 16px;font-weight:800}.hero-panel{min-height:440px;display:flex;align-items:center;justify-content:center}.command-card{width:100%;max-width:440px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:var(--shadow);padding:24px}.card-top{display:flex;gap:8px;margin-bottom:28px}.card-top span{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.35)}.card-top span:first-child{background:var(--red)}.monitor-line{display:flex;justify-content:space-between;gap:16px;border:1px solid rgba(255,255,255,.12);padding:15px;border-radius:14px;margin-bottom:12px;background:rgba(0,0,0,.12)}.monitor-line em{font-style:normal;color:var(--muted);font-weight:900}.monitor-line.active{border-color:rgba(229,9,20,.8)}.radar{position:relative;width:220px;height:220px;margin:30px auto 0;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.radar:before{content:"";position:absolute;inset:35%;border-radius:50%;background:var(--red);box-shadow:0 0 40px var(--red)}.radar i{position:absolute;inset:18%;border-radius:50%;border:1px solid rgba(255,255,255,.18)}.radar i:nth-child(2){inset:30%}.radar i:nth-child(3){inset:6%}.section-heading{max-width:820px;margin:0 auto 44px}.centered{text-align:center}.section-heading p,.split p{font-size:18px;line-height:1.65;color:#53677F}.section-dark .section-heading p,.section-dark .split p{color:#D3DDEB}.process-grid,.plans-grid,.feature-grid,.values-grid,.career-grid{display:grid;gap:20px}.process-grid{grid-template-columns:repeat(3,1fr)}.process-grid article,.plan-card,.feature-grid article,.values-grid article,.career-grid article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 10px 30px rgba(11,31,59,.06)}.section-dark .feature-grid article,.section-dark .career-grid article{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);color:#fff}.process-grid strong{color:var(--red);font-size:14px}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.plans-grid{grid-template-columns:repeat(4,1fr)}.plan-card{position:relative}.plan-card.featured{border:2px solid var(--red);transform:translateY(-8px)}.tag{display:inline-flex;border-radius:999px;background:#EEF2F7;padding:7px 10px;font-weight:900;font-size:12px;color:var(--blue);margin-bottom:8px}.featured .tag{background:var(--red);color:#fff}.price{font-size:28px;font-weight:900;margin:18px 0 6px}.price span{font-size:15px}.table-wrap{margin-top:40px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:0 10px 30px rgba(11,31,59,.08)}.compare-table{width:100%;border-collapse:collapse;min-width:760px}.compare-table th{background:var(--blue);color:#fff;text-align:left}.compare-table th,.compare-table td{padding:16px;border-bottom:1px solid var(--line)}.compare-table td:not(:first-child),.compare-table th:not(:first-child){text-align:center}.legal-note{font-size:12px;color:#667;padding:12px 16px;margin:0}.feature-grid{grid-template-columns:repeat(4,1fr)}.feature-grid.small{grid-template-columns:1fr}.icon{font-size:36px;margin-bottom:12px}.lead-form{display:grid;gap:14px}.lead-form label{font-weight:900}.lead-form input,.lead-form textarea{width:100%;display:block;margin-top:7px;border:1px solid var(--line);border-radius:14px;padding:15px;font:inherit}.checks{display:grid;gap:8px;font-size:14px}.checks label{font-weight:600}.result-card{background:var(--blue);color:#fff;border-radius:28px;padding:32px;min-height:420px;box-shadow:var(--shadow)}.cart-box{margin-top:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:18px}.cart-box ul{padding-left:20px}.comparison-box{display:grid;gap:18px}.comparison-box div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:22px}.mini-dashboard{display:grid;gap:12px}.mini-dashboard span{background:#fff;border:1px solid var(--line);padding:18px;border-radius:16px;font-weight:900}.steps{counter-reset:item;list-style:none;display:grid;gap:16px;margin:0;padding:0}.steps li{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;font-weight:900}.career-grid{grid-template-columns:repeat(2,1fr);margin-bottom:28px}.values-grid{grid-template-columns:repeat(3,1fr)}.final-cta{text-align:center;padding:88px 0}.final-cta .container{justify-content:center}.footer{background:#050A12;color:#fff;padding:46px 0}.footer img{width:220px}.footer-grid{display:grid;grid-template-columns:.8fr 1.4fr;gap:40px;align-items:start}.legal{font-size:12px;line-height:1.7;color:#B8C5D8}.center{text-align:center}@media(max-width:980px){.menu-toggle{display:block}.nav-links{position:absolute;top:84px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;background:var(--blue);padding:22px 4vw;border-bottom:1px solid rgba(255,255,255,.1)}.nav-links.open{display:flex}.hero-grid,.simulator-grid,.partner-grid,.split,.footer-grid{grid-template-columns:1fr}.process-grid,.plans-grid,.feature-grid,.values-grid{grid-template-columns:1fr 1fr}.hero{padding:84px 0 64px}.hero-panel{min-height:auto}.plans-grid .featured{transform:none}}@media(max-width:620px){.section{padding:68px 0}.process-grid,.plans-grid,.feature-grid,.values-grid,.career-grid,.trust-badges{grid-template-columns:1fr}h1{font-size:42px}.lead{font-size:17px}.brand img{width:175px}}
.brand img{object-fit:contain}.site-header .brand img{width:260px;height:auto;max-height:64px;border-radius:10px}.panel-logo{display:block;width:74px;height:74px;object-fit:contain;margin:0 auto 18px;filter:drop-shadow(0 10px 22px rgba(0,0,0,.25))}.feature-icon{width:58px;height:58px;display:block;margin-bottom:16px;padding:10px;border-radius:18px;background:#0B1F3B;border:1px solid rgba(255,255,255,.14)}.section-light .feature-icon{background:#0B1F3B}.sva-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.sva-card img{width:130px;display:block;margin-bottom:18px}.sva-card ul{display:grid;gap:10px;margin:0 0 18px;padding-left:20px;font-weight:800}.brand-proof{margin-top:36px;display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:0 10px 30px rgba(11,31,59,.06)}.brand-proof img{width:100%;border-radius:18px}.footer-logo{background:#fff;border-radius:10px;padding:8px}@media(max-width:980px){.brand-proof{grid-template-columns:1fr}.site-header .brand img{width:210px}}
.result-card .planos-prazos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 14px;
}

.result-card .plano-prazo {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  padding: 16px;
  text-align: left;
}

.result-card .plano-prazo span {
  display: block;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.78);
  margin-bottom: 6px;
}

.result-card .plano-prazo strong {
  display: block;
  font-size: 22px;
  color: #ffffff;
}

.result-card .plano-prazo.destaque-premium {
  background: rgba(255, 255, 255, 0.14);
  border: 2px solid rgba(255, 255, 255, 0.38);
  transform: none;
}

.result-card .melhor-condicao {
  margin-top: 8px;
  color: #86efac;
  font-weight: 800;
  font-size: 13px;
}
.result-card .plano-prazo {
  cursor: pointer;
  transition: all 0.2s ease;
}

.result-card .plano-prazo:hover {
  background: rgba(255, 255, 255, 0.14);
}

.result-card .plano-prazo.selecionado {
  border: 2px solid #ffffff;
  background: rgba(255, 255, 255, 0.18);
  transform: scale(1.01);

}

/* ================================
   FGL — UX Premium Análise Inteligente
================================ */

.lead-form-premium {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.form-step {
  padding: 22px;
  border: 1px solid rgba(11, 31, 59, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 40px rgba(11, 31, 59, 0.08);
}

.step-label {
  margin-bottom: 16px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #102B4D;
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.option-grid.small {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.option-card {
  position: relative;
  min-height: 92px;
  padding: 18px;
  border: 1.5px solid rgba(16, 43, 77, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f7f9fc);
  cursor: pointer;
  transition: all 0.22s ease;
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
}

.option-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.option-card span {
  font-size: 1.7rem;
}

.option-card strong {
  color: #102B4D;
  font-weight: 800;
}

.option-card:hover {
  transform: translateY(-3px);
  border-color: rgba(180, 25, 35, 0.45);
  box-shadow: 0 16px 34px rgba(11, 31, 59, 0.14);
}

.option-card:has(input:checked) {
  border-color: #b41923;
  background: linear-gradient(180deg, #fff7f8, #ffffff);
  box-shadow: 0 0 0 4px rgba(180, 25, 35, 0.08);
}

.option-card:has(input:checked)::after {
  content: "✓";
  position: absolute;
  top: 12px;
  right: 14px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #b41923;
  color: #ffffff;
  display: grid;
  place-items: center;
  font-size: 0.85rem;
  font-weight: 900;
}

.field-title {
  display: block;
  margin: 18px 0 10px;
  font-weight: 800;
  color: #102B4D;
}

.range-premium input {
  display: none;
}

.range-labels {
  display: none;
}

#porte_label {
  display: none;
}

.service-card {
  display: flex;
  gap: 14px;
  padding: 18px;
  border: 1.5px solid rgba(16, 43, 77, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f7f9fc);
  cursor: pointer;
  transition: all 0.22s ease;
}

.service-card input {
  width: 18px;
  height: 18px;
  accent-color: #b41923;
}

.service-card:hover {
  transform: translateY(-2px);
  border-color: rgba(180, 25, 35, 0.45);
}

.service-card:has(input:checked) {
  border-color: #b41923;
  background: #fff7f8;
  box-shadow: 0 0 0 4px rgba(180, 25, 35, 0.08);
}

.service-card p {
  margin: 6px 0 0;
  color: #536273;
}

.consent-box {
  background: #102B4D;
  color: #ffffff;
}

.consent-box p,
.consent-box label {
  color: #ffffff;
}

.consent-box input {
  accent-color: #b41923;
}

.lead-form-premium textarea,
.lead-form-premium input[type="text"],
.lead-form-premium input[type="tel"],
.lead-form-premium input[type="email"] {
  border-radius: 16px;
  border: 1.5px solid rgba(16, 43, 77, 0.16);
  background: #ffffff;
  padding: 14px 16px;
  transition: all 0.2s ease;
}

.lead-form-premium textarea:focus,
.lead-form-premium input:focus {
  outline: none;
  border-color: #b41923;
  box-shadow: 0 0 0 4px rgba(180, 25, 35, 0.08);
}

.processamento-fgl {
  padding: 22px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(16, 43, 77, 0.98), rgba(11, 31, 59, 0.98));
  color: #ffffff;
}

.processamento-fgl h3,
.processamento-fgl .eyebrow {
  color: #ffffff;
}

.processamento-fgl ul {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
}

.processamento-fgl li {
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  animation: fadeInUp 0.45s ease both;
}

.processamento-fgl li:nth-child(2) { animation-delay: 0.12s; }
.processamento-fgl li:nth-child(3) { animation-delay: 0.24s; }
.processamento-fgl li:nth-child(4) { animation-delay: 0.36s; }
.processamento-fgl li:nth-child(5) { animation-delay: 0.48s; }

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  .option-grid,
  .option-grid.small {
    grid-template-columns: 1fr;
  }

  .form-step {
    padding: 18px;
  }
}

/* =========================================
   AJUSTES UX PREMIUM FGL
========================================= */

.simulator-grid {
  align-items: flex-start !important;
}

.result-card {
  position: sticky;
  top: 110px;
}

.imoveis-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.area-externa-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.option-card.multiple-selected {
  border-color: #b41923;
  background: linear-gradient(180deg, #fff7f8, #ffffff);
  box-shadow: 0 0 0 4px rgba(180, 25, 35, 0.08);
}

.option-card.multiple-selected::after {
  content: "✓";
  position: absolute;
  top: 12px;
  right: 14px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #b41923;
  color: #ffffff;
  display: grid;
  place-items: center;
  font-size: 0.85rem;
  font-weight: 900;
}

.resultado-operacional {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.resultado-item {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.resultado-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.resultado-item strong {
  display: block;
  margin-bottom: 8px;
}

.resultado-item ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.processamento-fgl {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.processamento-fgl li {
  font-weight: 700;
}

.texto-continuidade {
  line-height: 1.7;
  color: rgba(255,255,255,.82);
}

@media (max-width: 980px) {

  .imoveis-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .result-card {
    position: relative;
    top: 0;
  }
}

@media (max-width: 768px) {

  .imoveis-grid,
  .area-externa-grid,
  .option-grid.small {
    grid-template-columns: 1fr;
  }

  .result-card {
    margin-top: 18px;
  }
}

.modal-fgl-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(5, 10, 18, 0.72);
  backdrop-filter: blur(8px);
  display: grid;
  place-items: center;
  padding: 24px;
}

.modal-fgl {
  position: relative;
  width: min(520px, 100%);
  max-height: 90vh;
  overflow-y: auto;
  background: #ffffff;
  color: #102B4D;
  border-radius: 28px;
  padding: 32px;
  text-align: center;
  box-shadow: 0 30px 90px rgba(0,0,0,.28);
  animation: modalFglIn .22s ease both;
}

.modal-fgl-close {
  position: absolute;
  top: 14px;
  right: 16px;
  border: 0;
  background: transparent;
  font-size: 28px;
  cursor: pointer;
  color: #102B4D;
}

.modal-fgl-icons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.modal-fgl-icons img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.modal-fgl-icons span {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #fff7f8;
  font-size: 30px;
}

.modal-fgl h3 {
  margin-bottom: 12px;
}

.modal-fgl p {
  color: #536273;
  line-height: 1.6;
}

.modal-fgl-destaque {
  background: #f6f8fb;
  border-radius: 18px;
  padding: 14px;
  font-weight: 700;
}

@keyframes modalFglIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.modal-fgl .btn {
  width: 100%;
  margin-top: 12px;
}

.modal-fgl .btn-outline {
  background: #ffffff;
  color: #102B4D;
  border: 1px solid rgba(16, 43, 77, 0.24);
}

.modal-fgl .btn-outline:hover {
  background: #f4f7fb;
}

.protecao-extra-box .btn-protecao-extra,
.btn-configuracao-fgl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 16px;
  padding: 14px 18px;
  border-radius: 999px;
  border: none;
  background: #c1121f;
  color: #ffffff;
  font-weight: 800;
  cursor: pointer;
  text-decoration: none;
  transition: 0.2s ease;
}

.protecao-extra-box .btn-protecao-extra:hover,
.btn-configuracao-fgl:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(193, 18, 31, 0.28);
}

.btn-configuracao-fgl.secundario {
  background: #102B4D;
}

.configuracao-opcoes-fgl {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.acoes-finais-fgl {
  display: flex;
  flex-direction: column;

  align-items: center;

  gap: 14px;

  margin-top: 24px;
}

.btn-secundario {
  display: inline-flex;

  justify-content: center;
  align-items: center;

  padding: 14px 18px;

  border-radius: 14px;

  border: 1px solid rgba(255,255,255,0.15);

  background: rgba(255,255,255,0.03);

  color: #FFFFFF;

  text-decoration: none;

  font-weight: 600;

  transition: all 0.2s ease;
}

.btn-secundario:hover {
  background: rgba(255,255,255,0.08);
}

.seletor-planos-fgl {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 20px;
  padding: 20px;
}

.planos-operacionais-fgl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.plano-operacional-card {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  padding: 14px 12px;
  background: rgba(255, 255, 255, 0.03);
  color: #ffffff;
  text-align: left;
  cursor: pointer;
  transition: 0.2s ease;
}

.plano-operacional-card span {
  display: block;
  font-weight: 800;
  font-size: 15px;
  margin-bottom: 4px;
}

.plano-operacional-card small {
  opacity: 0.82;
  font-size: 12px;
}

.plano-operacional-card:hover {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.28);
}

.plano-operacional-card.selecionado {
  background: #c1121f;
  border-color: #c1121f;
  box-shadow: 0 14px 32px rgba(193, 18, 31, 0.28);
}

@media (max-width: 640px) {
  .planos-operacionais-fgl {
    grid-template-columns: 1fr;
  }
}

.dashboard-vivo-fgl {
  margin: 24px 0;
  padding: 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(193,18,31,0.20), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.03));
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 24px 70px rgba(0,0,0,0.28);
  animation: fglFadeUp 0.55s ease both;
}

.dashboard-header-fgl {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.dashboard-header-fgl h4 {
  margin: 4px 0 0;
  color: #ffffff;
  font-size: 20px;
}

.status-operacao-fgl {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(20, 255, 120, 0.10);
  border: 1px solid rgba(20, 255, 120, 0.22);
  color: #ffffff;
  font-size: 13px;
  white-space: nowrap;
}

.score-operacional-fgl {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border-radius: 20px;
  background: rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.10);
  margin-bottom: 16px;
}

.score-numero-fgl span {
  font-size: 42px;
  font-weight: 900;
  color: #ffffff;
}

.score-numero-fgl small {
  color: rgba(255,255,255,0.65);
  font-weight: 700;
}

.score-info-fgl {
  flex: 1;
}

.score-info-fgl strong {
  color: #ffffff;
  font-size: 16px;
}

.score-info-fgl p {
  margin: 4px 0 10px;
  color: rgba(255,255,255,0.72);
}

.barra-score-fgl {
  height: 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  overflow: hidden;
}

.barra-score-fgl div {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #f59e0b, #c1121f);
  animation: fglBarraScore 1.1s ease both;
}

.status-grid-fgl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.status-card-fgl {
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,0.045);
  border: 1px solid rgba(255,255,255,0.10);
  transition: all 0.25s ease;
}

.status-card-fgl:hover {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,0.24);
  box-shadow: 0 18px 38px rgba(0,0,0,0.22);
}

.status-card-fgl span {
  display: block;
  margin-bottom: 8px;
}

.status-card-fgl strong {
  display: block;
  color: #ffffff;
  font-size: 14px;
}

.status-card-fgl p {
  margin: 4px 0 0;
  color: rgba(255,255,255,0.68);
  font-size: 13px;
}

@keyframes fglFadeUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fglBarraScore {
  from {
    width: 0;
  }
}

@media (max-width: 768px) {
  .dashboard-header-fgl {
    flex-direction: column;
  }

  .score-operacional-fgl {
    flex-direction: column;
    align-items: flex-start;
  }

  .status-grid-fgl {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .status-grid-fgl {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   FGL PROGRESS EXPERIENCE
========================================= */

.fgl-progress {
  width: 100%;
  height: 8px;

  background: rgba(16,43,77,.08);

  border-radius: 999px;

  overflow: hidden;

  margin-bottom: 28px;

  position: relative;
}

.fgl-progress::before {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      90deg,
      rgba(255,255,255,.18),
      transparent
    );

  animation: progressGlow 2.2s linear infinite;
}

.fgl-progress-bar {
  height: 100%;

  width: 16%;

  border-radius: 999px;

  background:
    linear-gradient(
      90deg,
      #b41923,
      #ff4d57
    );

  transition:
    width .35s ease,
    box-shadow .25s ease;

  box-shadow:
    0 0 18px rgba(180,25,35,.38);
}

@keyframes progressGlow {

  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(100%);
  }

}

/* =========================================
   FGL MULTISTEP FORM
========================================= */

.form-step {
  display: none;
}

.form-step.active-step {
  display: block;
  animation: stepFade .35s ease;
}

.step-actions {
  display: flex;
  justify-content: flex-end;
  gap: 16px;
  margin-top: 28px;
}

@keyframes stepFade {

  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

/* =========================================
   FGL LOADING OPERACIONAL
========================================= */

.loading-operacional {
  padding: 28px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(193,18,31,0.22), transparent 36%),
    linear-gradient(180deg, rgba(16,43,77,0.98), rgba(11,31,59,0.98));
  color: #ffffff;
  box-shadow: 0 24px 70px rgba(0,0,0,0.28);
  animation: fglFadeUp .45s ease both;
}

.loading-operacional.hidden {
  display: none;
}

.loading-operacional h3 {
  color: #ffffff;
  margin-bottom: 18px;
}

.loading-steps {
  display: grid;
  gap: 12px;
}

.loading-item {
  padding: 13px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.62);
  font-weight: 700;
  transform: translateY(8px);
  opacity: .45;
  transition: all .35s ease;
}

.loading-item.active {
  opacity: 1;
  color: #ffffff;
  background: rgba(255,255,255,0.11);
  border-color: rgba(255,255,255,0.24);
  transform: translateY(0);
  box-shadow: 0 14px 34px rgba(0,0,0,0.22);
}

.loading-item.done {
  opacity: 1;
  color: #86efac;
}

.step-actions .btn-outline {
  color: #102B4D;
  background: #ffffff;
  border: 1px solid rgba(16, 43, 77, 0.24);
}

.consent-box .step-actions .btn-outline {
  color: #ffffff;
  background: transparent;
  border: 1px solid rgba(255,255,255,0.55);
}

/* =========================================
   RESULTADO CINEMATOGRÁFICO
========================================= */

.resultado-fgl {
  animation: resultadoFade .6s ease;
}

.resultado-bloco {
  opacity: 0;
  transform: translateY(18px);
  animation: blocoFade .5s ease forwards;
}

.resultado-bloco:nth-child(1) {
  animation-delay: .1s;
}

.resultado-bloco:nth-child(2) {
  animation-delay: .3s;
}

.resultado-bloco:nth-child(3) {
  animation-delay: .5s;
}

.resultado-bloco:nth-child(4) {
  animation-delay: .7s;
}

.resultado-bloco:nth-child(5) {
  animation-delay: .9s;
}

.resultado-bloco:nth-child(6) {
  animation-delay: 1.1s;
}

@keyframes resultadoFade {

  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }

}

@keyframes blocoFade {

  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

.score-numero-fgl span {
  transition: all .4s ease;
}

.barra-score-fgl div {
  transition: width 1.2s ease;
}

.resultado-bloco {
  opacity: 0;
  transform: translateY(20px);
}

.resultado-bloco.visivel {
  animation: revelarBloco .55s ease forwards;
}

@keyframes revelarBloco {

  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }

}

.command-card {
  animation: painelRespira 3s ease-in-out infinite;
}

.monitor-line.active {
  box-shadow: 0 0 24px rgba(229, 9, 20, 0.28);
}

.radar:before {
  animation: radarPulse 1.8s ease-in-out infinite;
}

@keyframes painelRespira {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(0,0,0,.16);
  }

  50% {
    box-shadow: 0 24px 80px rgba(229,9,20,.22);
  }
}

@keyframes radarPulse {
  0%, 100% {
    transform: scale(1);
    opacity: .9;
  }

  50% {
    transform: scale(1.22);
    opacity: .55;
  }
}

/* =========================================
   HERO OPERACIONAL VIVO
========================================= */

.command-card {
  animation:
    painelRespira 3s ease-in-out infinite;
}

.monitor-line {
  transition:
    all .35s ease;
}

.monitor-line.active {
  border-color:
    rgba(229, 9, 20, 0.45);

  box-shadow:
    0 0 24px rgba(229, 9, 20, 0.22);
}

.radar {
  position: relative;
}

.radar::before {
  content: "";

  position: absolute;

  inset: -12px;

  border-radius: 50%;

  border:
    1px solid rgba(255,255,255,0.08);

  animation:
    radarPulse 1.8s ease-in-out infinite;
}

.panel-logo {
  animation:
    logoGlow 2.8s ease-in-out infinite;
}

@keyframes painelRespira {

  0%, 100% {
    box-shadow:
      0 20px 60px rgba(0,0,0,.18);
  }

  50% {
    box-shadow:
      0 24px 80px rgba(229,9,20,.18);
  }

}

@keyframes radarPulse {

  0%, 100% {
    transform: scale(1);
    opacity: .9;
  }

  50% {
    transform: scale(1.24);
    opacity: .42;
  }

}

@keyframes logoGlow {

  0%, 100% {
    filter:
      drop-shadow(0 0 0 rgba(229,9,20,0));
  }

  50% {
    filter:
      drop-shadow(0 0 18px rgba(229,9,20,.35));
  }

}

.card-top span {
  animation: bolinhaStatus 1.8s ease-in-out infinite;
}

.card-top span:nth-child(2) {
  animation-delay: .25s;
}

.card-top span:nth-child(3) {
  animation-delay: .5s;
}

@keyframes bolinhaStatus {
  0%, 100% {
    opacity: .35;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.25);
  }
}

.command-card {
  overflow: hidden;
}

.radar {

  width: 128px;
  height: 128px;

  margin: 34px auto 34px;

  opacity: .92;

}

.radar i {
  inset: 14px;
}

.radar i:nth-child(2) {
  inset: 28px;
}

.radar i:nth-child(3) {
  inset: 42px;
}

.radar::before {
  inset: -4px;
}

.card-top span {
  transition:
    all .45s ease;
}

.card-top span.processando {
  background: #f59e0b;
  box-shadow:
    0 0 10px rgba(245,158,11,.65);
}

.card-top span.concluido {
  background: #22c55e;
  box-shadow:
    0 0 14px rgba(34,197,94,.75);
}

.card-top span {
  animation: none !important;
  background: rgba(255,255,255,.28);
  opacity: .75;
}

.card-top span.status-ativo {
  background: #f59e0b;
  opacity: 1;
  box-shadow: 0 0 12px rgba(245,158,11,.65);
}

.card-top span.status-ok {
  background: #22c55e;
  opacity: 1;
  box-shadow: 0 0 12px rgba(34,197,94,.65);
}




/* =========================================
   FGL CLEAN OVERRIDES — VERSÃO FINAL
========================================= */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(7, 15, 28, 0.78);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  transition: all .35s ease;
}

/* HERO OPERACIONAL — CLEAN FINAL */

.command-card {
  overflow: hidden;
  animation: painelRespira 3s ease-in-out infinite;
}

.monitor-line {
  transition: all .35s ease;
}

.monitor-line.active {
  border-color: rgba(229, 9, 20, 0.45);
  box-shadow: 0 0 24px rgba(229, 9, 20, 0.22);
}

.radar {
  position: relative;
  width: 170px;
  height: 170px;
  margin: 22px auto 0;
}

.radar::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.08);
  animation: radarPulse 1.8s ease-in-out infinite;
}

.panel-logo {
  animation: logoGlow 2.8s ease-in-out infinite;
}

.card-top span {
  animation: none !important;
  transition: all .45s ease;
  background: rgba(255,255,255,.28);
  opacity: .75;
}

.card-top span.status-ativo {
  background: #f59e0b;
  opacity: 1;
  box-shadow: 0 0 12px rgba(245,158,11,.65);
}

.card-top span.status-ok {
  background: #22c55e;
  opacity: 1;
  box-shadow: 0 0 12px rgba(34,197,94,.65);
}

@keyframes painelRespira {
  0%, 100% {
    box-shadow: 0 20px 60px rgba(0,0,0,.18);
  }

  50% {
    box-shadow: 0 24px 80px rgba(229,9,20,.18);
  }
}

@keyframes radarPulse {
  0%, 100% {
    transform: scale(1);
    opacity: .9;
  }

  50% {
    transform: scale(1.24);
    opacity: .42;
  }
}

@keyframes logoGlow {
  0%, 100% {
    filter: drop-shadow(0 0 0 rgba(229,9,20,0));
  }

  50% {
    filter: drop-shadow(0 0 18px rgba(229,9,20,.35));
  }
}

/* BOTÕES — CLEAN FINAL */

.btn,
.btn-primary,
.btn-outline,
.btn-secundario,
.btn-configuracao-fgl,
.btn-protecao-extra {

  position: relative;

  overflow: hidden;

  transition:
    transform .22s ease,
    box-shadow .22s ease,
    background .22s ease;

}

.btn-primary,
.btn-configuracao-fgl,
.btn-protecao-extra {

  background:
    linear-gradient(
      135deg,
      #c1121f,
      #e11d2e
    );

  box-shadow:
    0 14px 34px rgba(193,18,31,.24);

}

.btn-primary:hover,
.btn-configuracao-fgl:hover,
.btn-protecao-extra:hover {

  transform:
    translateY(-2px);

  box-shadow:
    0 20px 44px rgba(193,18,31,.34);

}

.btn-outline,
.btn-secundario {

  backdrop-filter:
    blur(8px);

}

.btn::before,
.btn-primary::before,
.btn-configuracao-fgl::before,
.btn-protecao-extra::before {

  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255,255,255,.14),
      transparent
    );

  transform:
    translateX(-120%);

  transition:
    transform .7s ease;

}

.btn:hover::before,
.btn-primary:hover::before,
.btn-configuracao-fgl:hover::before,
.btn-protecao-extra:hover::before {

  transform:
    translateX(120%);

}

/* CARDS — CLEAN FINAL */

.plan-card,
.feature-grid article,
.process-grid article,
.resultado-item,
.status-card-fgl,
.plano-operacional-card,
.option-card,
.service-card {

  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease,
    background .24s ease;

}

.plan-card:hover,
.feature-grid article:hover,
.process-grid article:hover,
.resultado-item:hover,
.status-card-fgl:hover,
.plano-operacional-card:hover,
.option-card:hover,
.service-card:hover {

  transform:
    translateY(-4px);

  border-color:
    rgba(193,18,31,.22);

  box-shadow:
    0 20px 44px rgba(11,31,59,.12);

}

.option-card:has(input:checked),
.service-card:has(input:checked),
.plano-operacional-card.selecionado {

  box-shadow:
    0 0 0 4px rgba(193,18,31,.08),
    0 18px 40px rgba(193,18,31,.12);

}



/* =========================================
   MOBILE STICKY CTA
========================================= */

.mobile-sticky-fgl {

  position: fixed;

  left: 16px;
  right: 16px;
  bottom: 16px;

  z-index: 999;

  display: none;

  padding: 14px 18px;

  border-radius: 18px;

  background:
    linear-gradient(
      135deg,
      #c1121f,
      #e11d2e
    );

  color: #ffffff;

  font-weight: 800;

  text-align: center;

  text-decoration: none;

  box-shadow:
    0 18px 44px rgba(193,18,31,.34);

  animation:
    stickyPulse 2.2s ease-in-out infinite;
}

@keyframes stickyPulse {

  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-3px);
  }

}

@media (max-width: 768px) {

  .mobile-sticky-fgl {
    display: block;
  }

  body {
    padding-bottom: 90px;
  }

}

/* =========================================
   MOBILE CLEAN EXPERIENCE
========================================= */

@media (max-width: 768px) {

  .section {
    padding: 56px 0;
  }

  .hero {
    padding: 72px 0 48px;
  }

  h1 {
    font-size: 38px;
    line-height: 1.02;
  }

  h2 {
    font-size: 28px;
  }

  .lead {
    font-size: 16px;
    line-height: 1.6;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero-actions .btn {
    width: 100%;
  }

  .command-card {
    padding: 18px;
    border-radius: 24px;
  }

  .monitor-line {
    padding: 12px;
  }

  .form-step {
    padding: 16px;
    border-radius: 18px;
  }

  .option-card {
    min-height: 82px;
    padding: 16px;
  }

  .dashboard-vivo-fgl {
    padding: 18px;
    border-radius: 20px;
  }

  .score-numero-fgl span {
    font-size: 34px;
  }

  .status-card-fgl {
    padding: 12px;
  }

  .resultado-item {
    padding-bottom: 14px;
  }

  .acoes-finais-fgl {
    gap: 10px;
  }

  .btn,
  .btn-primary,
  .btn-outline,
  .btn-secundario {
    min-height: 52px;
    font-size: 15px;
  }

}

/* HEADER — CLEAN FINAL */

.site-header {

  min-height: 82px;

}

.nav {

  min-height: 82px;

  gap: 36px;

}

.nav-links {

  gap: 28px;

  align-items: center;

}

.nav-links a {

  font-size: 15px;

  font-weight: 700;

  letter-spacing: -.01em;

}

.brand img {

  height: 52px;

  width: auto;

}

.nav-cta {

  padding:
    12px 22px;

  border-radius: 14px;

}

/* PROCESS GRID — CLEAN FINAL */

.process-grid {
  gap: 18px;
}

.process-grid article {

  padding: 22px;

  min-height: auto;

}

.process-grid article strong {

  font-size: 13px;

  letter-spacing: .08em;

  opacity: .7;

}

.process-grid article h3 {

  margin:
    10px 0 10px;

  font-size: 20px;

  line-height: 1.15;

}

.process-grid article p {

  font-size: 15px;

  line-height: 1.55;

  margin: 0;

  max-width: 26ch;

}

/* HEADER WIDTH FIX — CLEAN FINAL */

.nav {
  height: 72px;
  min-height: 72px;
}

.site-header {
  min-height: 72px;
}

.brand img {
  height: 44px;
  width: auto;
}

.nav-links {
  gap: 22px;
  flex-wrap: nowrap;
}

.nav-links a {
  white-space: nowrap;
  font-size: 14px;
}

.nav-cta {
  padding: 10px 18px;
}

/* HEADER WIDTH FIX — CLEAN FINAL */

.nav {
  height: 72px;
  min-height: 72px;
}

.site-header {
  min-height: 72px;
}

.brand img {
  height: 44px;
  width: auto;
}

.nav-links {
  gap: 22px;
  flex-wrap: nowrap;
}

.nav-links a {
  white-space: nowrap;
  font-size: 14px;
}

.nav-cta {
  padding: 10px 18px;
}

/* PLANOS — CLEAN FINAL */

.table-wrap {

  margin-top: 34px;

  overflow-x: auto;

  border-radius: 24px;

  background:
    rgba(255,255,255,.72);

  backdrop-filter:
    blur(10px);

  border:
    1px solid rgba(11,31,59,.06);

  box-shadow:
    0 20px 60px rgba(11,31,59,.06);

}

.compare-table {

  min-width: 860px;

  border-collapse: separate;

  border-spacing: 0;

}

.compare-table thead th {

  position: sticky;

  top: 0;

  background:
    #f8fafc;

  z-index: 2;

}

.compare-table td,
.compare-table th {

  padding:
    18px 20px;

}

.compare-table tbody tr {

  transition:
    background .22s ease;

}

.compare-table tbody tr:hover {

  background:
    rgba(193,18,31,.03);

}

/* DARK SECTIONS — CLEAN FINAL */

.section-dark {

  background:
    linear-gradient(
      180deg,
      #07111f 0%,
      #0b1f3b 100%
    );

}

.section-dark.compact {

  background:
    linear-gradient(
      180deg,
      #081526 0%,
      #0b1f3b 100%
    );

}

.section-light {

  background:
    #f5f7fb;

}

/* HERO MOBILE — CLEAN FINAL */

@media (max-width: 768px) {

  .hero-grid {

    grid-template-columns: 1fr;

    gap: 36px;

  }

  .hero-copy {

    text-align: center;

  }

  .hero-copy h1 {

    font-size: 42px;

    line-height: .98;

    letter-spacing: -.03em;

  }

  .hero-copy .lead {

    font-size: 17px;

    line-height: 1.55;

    margin-inline: auto;

  }

  .trust-badges {

    justify-content: center;

  }

  .hero-panel {

    max-width: 420px;

    margin-inline: auto;

  }

  .command-card {

    padding: 22px;

  }

}

/* LOADING OPERACIONAL — CLEAN FINAL */

.loading-operacional-fgl {

  position: relative;

  overflow: hidden;

  border:
    1px solid rgba(255,255,255,.08);

  background:
    linear-gradient(
      180deg,
      rgba(7,17,31,.96),
      rgba(11,31,59,.96)
    );

  box-shadow:
    0 24px 80px rgba(0,0,0,.28);

}

.loading-operacional-fgl::before {

  content: "";

  position: absolute;

  inset: 0;

  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255,255,255,.03),
      transparent
    );

  animation:
    scannerFGL 4s linear infinite;

}

.loading-etapa {

  animation:
    etapaPulse 1.8s ease-in-out infinite;

}

.loading-etapa:nth-child(2) {
  animation-delay: .2s;
}

.loading-etapa:nth-child(3) {
  animation-delay: .4s;
}

.loading-etapa:nth-child(4) {
  animation-delay: .6s;
}

.loading-etapa:nth-child(5) {
  animation-delay: .8s;
}

@keyframes scannerFGL {

  0% {
    transform:
      translateX(-120%);
  }

  100% {
    transform:
      translateX(120%);
  }

}

@keyframes etapaPulse {

  0%, 100% {

    opacity: .55;

    transform:
      translateX(0);

  }

  50% {

    opacity: 1;

    transform:
      translateX(4px);

  }

}

/* FOOTER — CLEAN FINAL */

.footer-premium {
  background:
    linear-gradient(
      180deg,
      #050a12,
      #07111f
    );

  color: #ffffff;

  padding:
    56px 0 32px;
}

.footer-premium .footer-grid {
  display: grid;
  grid-template-columns: .9fr 1.2fr .9fr;
  gap: 42px;
  align-items: flex-start;
}

.footer-brand p,
.footer-info p,
.footer-contact span,
.footer-legal p {
  color: rgba(255,255,255,.68);
  line-height: 1.7;
}

.footer-info strong,
.footer-contact strong {
  display: block;
  margin-bottom: 14px;
  color: #ffffff;
}

.footer-info ul {
  padding-left: 18px;
  margin: 14px 0 0;
  display: grid;
  gap: 8px;
  color: rgba(255,255,255,.76);
}

.footer-contact {
  display: grid;
  gap: 10px;
}

.footer-contact a {
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
}

.footer-contact a:hover {
  color: #e11d2e;
}

.footer-legal {
  margin-top: 36px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.footer-legal p {
  font-size: 12px;
  margin: 0;
}

@media (max-width: 768px) {
  .footer-premium .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

/* PAINEL VIVO DO SIMULADOR — CLEAN FINAL */

.painel-etapa-fgl {
  animation: fglFadeUp .35s ease both;
}

.painel-etapa-fgl h3 {
  color: #ffffff;
  margin-bottom: 10px;
}

.painel-status {
  color: rgba(255,255,255,.72);
  line-height: 1.6;
  margin-bottom: 22px;
}

.painel-linhas {
  display: grid;
  gap: 12px;
}

.painel-linha {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 12px;
  align-items: flex-start;

  padding: 14px;

  border-radius: 16px;

  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
}

.painel-linha span {
  width: 28px;
  height: 28px;

  display: grid;
  place-items: center;

  border-radius: 999px;

  background: rgba(34,197,94,.14);
  color: #86efac;

  font-weight: 900;
}

.painel-linha p {
  margin: 0;
  color: rgba(255,255,255,.82);
  line-height: 1.5;
}

/* DIFERENCIAIS — EDITORIAL PREMIUM */

.feature-grid {

  display: grid;

  grid-template-columns:
    1.3fr 1fr;

  gap: 22px;

}

.feature-grid article:first-child {

  min-height: 320px;

  padding: 34px;

  background:
    linear-gradient(
      135deg,
      rgba(193,18,31,.16),
      rgba(11,31,59,.92)
    );

  border:
    1px solid rgba(193,18,31,.18);

}

.feature-grid article:first-child h3 {

  font-size: 30px;

}

.feature-grid article:last-child {

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.04),
      rgba(255,255,255,.02)
    );

  border:
    1px solid rgba(255,255,255,.08);

}

.feature-grid article {

  min-height: 220px;

  display: flex;

  flex-direction: column;

  justify-content: flex-start;

}

.feature-grid article h3 {

  margin:
    16px 0 12px;

}

.feature-grid article p {

  line-height: 1.65;

}

@media (max-width: 768px) {

  .feature-grid {

    grid-template-columns: 1fr;

  }

  .feature-grid article:first-child {

    min-height: auto;

  }

}

/* TIMELINE OPERACIONAL — CLEAN FINAL */

.operacional-flow {
  position: relative;
  overflow: hidden;
}

.timeline-fgl {
  display: grid;
  grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr 40px 1fr;
  align-items: stretch;
  gap: 0;
}

.timeline-item-fgl {
  position: relative;
  padding: 24px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(11,31,59,.08);
  box-shadow: 0 18px 44px rgba(11,31,59,.08);
  transition: all .24s ease;
}

.timeline-item-fgl:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(11,31,59,.12);
}

.timeline-item-fgl span {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(193,18,31,.08);
  color: #c1121f;
  font-weight: 900;
}

.timeline-item-fgl h3 {
  font-size: 19px;
  margin-bottom: 10px;
}

.timeline-item-fgl p {
  margin: 0;
  color: #53677F;
  line-height: 1.55;
  font-size: 15px;
}

.timeline-line-fgl {
  align-self: center;
  height: 2px;
  background: linear-gradient(
    90deg,
    rgba(193,18,31,.22),
    rgba(11,31,59,.18)
  );
}

@media (max-width: 980px) {
  .timeline-fgl {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .timeline-line-fgl {
    width: 2px;
    height: 24px;
    margin: 0 auto;
  }
}

/* CENTRAL DE TRANSPARÊNCIA — DASHBOARD CLEAN FINAL */

.dashboard-fgl {
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 24px;
  align-items: stretch;
}

.dashboard-main-fgl,
.dashboard-side-fgl {
  border-radius: 28px;
}

.dashboard-main-fgl {
  padding: 28px;
  background:
    radial-gradient(circle at top right, rgba(193,18,31,.12), transparent 34%),
    linear-gradient(180deg, #07111f, #0b1f3b);
  color: #ffffff;
  box-shadow: 0 24px 70px rgba(11,31,59,.18);
}

.dashboard-top-fgl {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 28px;
}

.dashboard-label {
  display: block;
  margin-bottom: 8px;
  color: #e11d2e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
}

.status-online-fgl {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.22);
  font-weight: 800;
  white-space: nowrap;
}

.status-online-fgl span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 14px rgba(34,197,94,.75);
}

.dashboard-timeline-fgl {
  display: grid;
  gap: 12px;
}

.timeline-dashboard-item {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
}

.timeline-dashboard-item strong {
  color: #86efac;
  font-size: 14px;
}

.timeline-dashboard-item p {
  margin: 0;
  color: rgba(255,255,255,.82);
}

.dashboard-side-fgl {
  display: grid;
  gap: 14px;
}

.dashboard-card-fgl {
  padding: 22px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid rgba(11,31,59,.08);
  box-shadow: 0 18px 44px rgba(11,31,59,.08);
}

.dashboard-card-fgl span {
  display: block;
  margin-bottom: 8px;
  color: #53677F;
  font-size: 13px;
  font-weight: 800;
}

.dashboard-card-fgl strong {
  color: #0B1F3B;
  font-size: 24px;
}

@media (max-width: 768px) {
  .dashboard-fgl {
    grid-template-columns: 1fr;
  }

  .dashboard-top-fgl {
    flex-direction: column;
  }
}

/* OPERAÇÃO EM TEMPO REAL — CLEAN FINAL */

.operacional-live {
  position: relative;
  overflow: hidden;
}

.live-grid-fgl {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 24px;
  align-items: stretch;
}

.mapa-operacional-fgl {
  padding: 28px;
  border-radius: 28px;

  background:
    linear-gradient(
      180deg,
      rgba(7,17,31,.96),
      rgba(11,31,59,.96)
    );

  border:
    1px solid rgba(255,255,255,.06);

  box-shadow:
    0 24px 70px rgba(0,0,0,.22);
}

.mapa-header-fgl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  color: #ffffff;
}

.mapa-header-fgl span {
  padding: 8px 12px;
  border-radius: 999px;

  background:
    rgba(34,197,94,.12);

  border:
    1px solid rgba(34,197,94,.22);

  color: #86efac;

  font-size: 13px;
  font-weight: 800;
}

.mapa-fake-fgl {
  position: relative;
  min-height: 340px;
  border-radius: 22px;

  background:
    radial-gradient(circle at center, rgba(255,255,255,.04), transparent 60%),
    linear-gradient(
      180deg,
      rgba(255,255,255,.03),
      rgba(255,255,255,.01)
    );

  overflow: hidden;
}

.mapa-fake-fgl::before {
  content: "";

  position: absolute;
  inset: 0;

  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);

  background-size: 34px 34px;

  opacity: .45;
}

.ponto-operacional {
  position: absolute;

  width: 18px;
  height: 18px;

  border-radius: 999px;

  animation:
    pulsePonto 2s ease-in-out infinite;
}

.ponto-operacional::before {
  content: "";

  position: absolute;
  inset: -10px;

  border-radius: inherit;

  background: inherit;

  opacity: .18;
}

.ponto-operacional.ativo {
  background: #22c55e;
}

.ponto-operacional.alerta {
  background: #e11d2e;
}

.ponto-operacional.normal {
  background: #38bdf8;
}

.ponto-operacional:nth-child(1) {
  top: 22%;
  left: 34%;
}

.ponto-operacional:nth-child(2) {
  top: 48%;
  left: 58%;
}

.ponto-operacional:nth-child(3) {
  top: 66%;
  left: 28%;
}

.ponto-operacional:nth-child(4) {
  top: 34%;
  left: 74%;
}

.eventos-live-fgl {
  display: grid;
  gap: 16px;
}

.evento-live-card {
  display: grid;
  grid-template-columns: 16px 1fr auto;
  gap: 16px;
  align-items: center;

  padding: 22px;

  border-radius: 22px;

  background:
    rgba(255,255,255,.04);

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:
    blur(12px);

  transition:
    transform .24s ease,
    border-color .24s ease;
}

.evento-live-card:hover {
  transform: translateY(-4px);

  border-color:
    rgba(193,18,31,.22);
}

.evento-live-card strong {
  color: #ffffff;
}

.evento-live-card p {
  margin: 4px 0 0;
  color: rgba(255,255,255,.68);
}

.evento-live-card em {
  color: #86efac;
  font-style: normal;
  font-weight: 800;
}

.evento-status {
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.evento-status.ativo {
  background: #22c55e;
  box-shadow: 0 0 14px rgba(34,197,94,.65);
}

.evento-status.analise {
  background: #f59e0b;
  box-shadow: 0 0 14px rgba(245,158,11,.65);
}

.evento-status.encerrado {
  background: #38bdf8;
  box-shadow: 0 0 14px rgba(56,189,248,.65);
}

@keyframes pulsePonto {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.18);
  }
}

@media (max-width: 980px) {

  .live-grid-fgl {
    grid-template-columns: 1fr;
  }

  .mapa-fake-fgl {
    min-height: 260px;
  }

}

/* MAPA DE ACOMPANHAMENTO OPERACIONAL — CLEAN FINAL */

.mapa-bairro-fgl {
  position: relative;
  min-height: 340px;
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(135deg, #dfe7ef, #f8fafc);
}

.mapa-bairro-fgl::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(11,31,59,.06) 1px, transparent 1px),
    linear-gradient(rgba(11,31,59,.06) 1px, transparent 1px);
  background-size: 44px 44px;
}

.mapa-rua {
  position: absolute;
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 2px 8px rgba(11,31,59,.08);
}

.rua-1 {
  width: 120%;
  top: 24%;
  left: -10%;
  transform: rotate(-8deg);
}

.rua-2 {
  width: 110%;
  top: 55%;
  left: -5%;
  transform: rotate(7deg);
}

.rua-3 {
  width: 14px;
  height: 110%;
  top: -5%;
  left: 34%;
  transform: rotate(6deg);
}

.rua-4 {
  width: 14px;
  height: 120%;
  top: -10%;
  left: 68%;
  transform: rotate(-5deg);
}

.zona-acompanhamento-fgl {
  position: absolute;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  top: 24%;
  left: 42%;
  transform: translate(-50%, -50%);
  background: rgba(193,18,31,.10);
  border: 2px solid rgba(193,18,31,.38);
  box-shadow: 0 0 0 14px rgba(193,18,31,.06);
  animation: zonaPulse 2.4s ease-in-out infinite;
}

.zona-acompanhamento-fgl span {
  position: absolute;
  inset: 42%;
  border-radius: 999px;
  background: #c1121f;
  box-shadow: 0 0 24px rgba(193,18,31,.75);
}

.pin-fgl {
  position: absolute;
  top: 46%;
  left: 51%;
  transform: translate(-50%, -50%);
  padding: 9px 12px;
  border-radius: 999px;
  background: #0b1f3b;
  color: #ffffff;
  font-weight: 900;
  font-size: 12px;
  box-shadow: 0 14px 30px rgba(11,31,59,.28);
}

.mapa-label-fgl {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 10px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  color: #0b1f3b;
  font-weight: 800;
  box-shadow: 0 10px 26px rgba(11,31,59,.14);
}

@keyframes zonaPulse {
  0%, 100% {
    box-shadow: 0 0 0 14px rgba(193,18,31,.06);
  }

  50% {
    box-shadow: 0 0 0 26px rgba(193,18,31,.03);
  }
}

/* EVENTOS OPERACIONAIS VIVOS */

.evento-live-card.vivo {

  animation:
    eventoFadeFGL .45s ease;

}

@keyframes eventoFadeFGL {

  from {

    opacity: 0;

    transform:
      translateY(8px);

  }

  to {

    opacity: 1;

    transform:
      translateY(0);

  }

}

/* MAPA SINCRONIZADO */

.evento-mapa-fgl {

  position: absolute;

  width: 18px;
  height: 18px;

  border-radius: 999px;

  transform:
    translate(-50%, -50%);

  animation:
    pulseMapaFGL 2s ease-in-out infinite;

}

.evento-mapa-fgl::before {

  content: "";

  position: absolute;

  inset: -12px;

  border-radius: inherit;

  background: inherit;

  opacity: .16;

}

.evento-mapa-fgl.ativo {
  background: #22c55e;
}

.evento-mapa-fgl.analise {
  background: #f59e0b;
}

.evento-mapa-fgl.encerrado {
  background: #38bdf8;
}

@keyframes pulseMapaFGL {

  0%, 100% {

    transform:
      translate(-50%, -50%) scale(1);

  }

  50% {

    transform:
      translate(-50%, -50%) scale(1.18);

  }

}

/* EVENTOS OPERACIONAIS DO DIA — CLEAN FINAL */

.operacao-stats-fgl {
  background: #07111f;
  color: #ffffff;
  padding: 28px 0;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.stats-grid-fgl {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
}

.stat-card-fgl {
  padding: 20px;
  border-radius: 20px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
  text-align: center;
  transition: all .24s ease;
}

.stat-card-fgl:hover {
  transform: translateY(-3px);
  border-color: rgba(193,18,31,.24);
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}

.stat-card-fgl span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.68);
  font-size: 13px;
  font-weight: 700;
}

.stat-card-fgl strong {
  display: block;
  color: #ffffff;
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -.04em;
}

.stat-card-fgl.destaque strong {
  color: #86efac;
}

@media (max-width: 980px) {
  .stats-grid-fgl {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 520px) {
  .stats-grid-fgl {
    grid-template-columns: 1fr;
  }
}

/* RISCO OPERACIONAL — CLEAN FINAL */

.risco-operacional-fgl {
  position: relative;
  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #07111f,
      #0b1f3b
    );

  color: #ffffff;
}

.risco-grid-fgl {

  display: grid;

  grid-template-columns:
    repeat(4, 1fr);

  gap: 18px;

}

.risco-card-fgl {

  position: relative;

  padding: 28px;

  border-radius: 24px;

  background:
    rgba(255,255,255,.045);

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:
    blur(12px);

  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;

}

.risco-card-fgl:hover {

  transform:
    translateY(-5px);

  border-color:
    rgba(193,18,31,.24);

  box-shadow:
    0 22px 60px rgba(0,0,0,.28);

}

.risco-card-fgl span {

  width: 44px;
  height: 44px;

  display: grid;
  place-items: center;

  margin-bottom: 18px;

  border-radius: 999px;

  background:
    rgba(193,18,31,.14);

  color: #ff6b76;

  font-size: 22px;
  font-weight: 900;

}

.risco-card-fgl h3 {

  margin-bottom: 12px;

  color: #ffffff;

}

.risco-card-fgl p {

  margin: 0;

  color:
    rgba(255,255,255,.72);

  line-height: 1.7;

}

.risco-card-fgl.destaque {

  background:
    linear-gradient(
      135deg,
      rgba(193,18,31,.18),
      rgba(11,31,59,.96)
    );

  border:
    1px solid rgba(193,18,31,.24);

}

.risco-card-fgl.destaque strong {

  display: block;

  margin-bottom: 14px;

  color: #ffb4ba;

  font-size: 14px;

  text-transform: uppercase;

  letter-spacing: .08em;

}

.risco-card-fgl.destaque h3 {

  font-size: 28px;

  line-height: 1.2;

}

@media (max-width: 980px) {

  .risco-grid-fgl {

    grid-template-columns:
      repeat(2, 1fr);

  }

}

@media (max-width: 640px) {

  .risco-grid-fgl {

    grid-template-columns: 1fr;

  }

}

/* DIFERENCIAL FINAL FGL — CLEAN PREMIUM */

.diferencial-fgl-final {

  position: relative;

  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #ffffff,
      #f8fafc
    );

}

.comparativo-fgl {

  display: grid;

  grid-template-columns:
    1fr 1fr;

  border-radius: 28px;

  overflow: hidden;

  border:
    1px solid rgba(11,31,59,.08);

  box-shadow:
    0 24px 70px rgba(11,31,59,.08);

}

.comparativo-header {

  padding: 24px;

  font-size: 22px;

  font-weight: 900;

  text-align: center;

}

.comparativo-header.mercado {

  background:
    #eef2f7;

  color:
    #5b6574;

}

.comparativo-header.fgl {

  background:
    linear-gradient(
      135deg,
      #07111f,
      #0b1f3b
    );

  color:
    #ffffff;

}

.comparativo-item {

  padding:
    22px 24px;

  font-size: 16px;

  font-weight: 700;

  border-top:
    1px solid rgba(11,31,59,.06);

}

.comparativo-item.mercado {

  background:
    #ffffff;

  color:
    #66768a;

}

.comparativo-item.fgl {

  background:
    linear-gradient(
      180deg,
      rgba(11,31,59,.98),
      rgba(7,17,31,.98)
    );

  color:
    #ffffff;

  position: relative;

}

.comparativo-item.fgl::before {

  content: "";

  position: absolute;

  left: 0;
  top: 0;
  bottom: 0;

  width: 4px;

  background:
    linear-gradient(
      180deg,
      #22c55e,
      #38bdf8
    );

}

.comparativo-item.mercado::before {

  content: "—";

  margin-right: 10px;

  color:
    rgba(193,18,31,.58);

}

.comparativo-item.fgl::after {

  content: "✓";

  position: absolute;

  right: 20px;
  top: 50%;

  transform:
    translateY(-50%);

  color:
    #86efac;

  font-weight: 900;

}

@media (max-width: 768px) {

  .comparativo-fgl {

    grid-template-columns:
      1fr;

  }

}

/* ARQUITETURAS OPERACIONAIS — CLEAN PREMIUM */

.arquiteturas-fgl {

  position: relative;

  overflow: hidden;

  background:
    linear-gradient(
      180deg,
      #07111f,
      #0b1f3b
    );

  color: #ffffff;

}

.arquiteturas-grid-fgl {

  display: grid;

  grid-template-columns:
    repeat(5, 1fr);

  gap: 18px;

}

.arquitetura-card-fgl {

  position: relative;

  padding: 28px;

  border-radius: 24px;

  background:
    rgba(255,255,255,.045);

  border:
    1px solid rgba(255,255,255,.08);

  backdrop-filter:
    blur(12px);

  transition:
    transform .24s ease,
    border-color .24s ease,
    box-shadow .24s ease;

}

.arquitetura-card-fgl:hover {

  transform:
    translateY(-6px);

  border-color:
    rgba(56,189,248,.24);

  box-shadow:
    0 24px 60px rgba(0,0,0,.28);

}

.arquitetura-card-fgl span {

  width: 56px;
  height: 56px;

  display: grid;
  place-items: center;

  margin-bottom: 18px;

  border-radius: 18px;

  background:
    rgba(255,255,255,.08);

  font-size: 28px;

}

.arquitetura-card-fgl h3 {

  margin-bottom: 14px;

  color:
    #ffffff;

  font-size: 22px;

}

.arquitetura-card-fgl p {

  margin: 0;

  color:
    rgba(255,255,255,.72);

  line-height: 1.7;

}

.arquitetura-card-fgl.destaque {

  background:
    linear-gradient(
      135deg,
      rgba(193,18,31,.18),
      rgba(11,31,59,.96)
    );

  border:
    1px solid rgba(193,18,31,.24);

}

.arquitetura-card-fgl.destaque::before {

  content: "OPERAÇÃO AMPLIADA";

  position: absolute;

  top: 18px;
  right: 18px;

  padding:
    6px 10px;

  border-radius:
    999px;

  background:
    rgba(255,255,255,.08);

  color:
    #ffb4ba;

  font-size: 11px;

  font-weight: 900;

  letter-spacing: .08em;

}

@media (max-width: 1180px) {

  .arquiteturas-grid-fgl {

    grid-template-columns:
      repeat(3, 1fr);

  }

}

@media (max-width: 768px) {

  .arquiteturas-grid-fgl {

    grid-template-columns:
      repeat(2, 1fr);

  }

}

@media (max-width: 560px) {

  .arquiteturas-grid-fgl {

    grid-template-columns:
      1fr;

  }

}

/* CAMADA HUMANA OPERACIONAL — CLEAN PREMIUM */

.camada-humana-fgl {
  background: #f5f7fb;
}

.humano-grid-fgl {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 48px;
  align-items: center;
}

.humano-copy-fgl p {
  color: #53677F;
  font-size: 18px;
  line-height: 1.7;
}

.humano-pontos-fgl {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.humano-pontos-fgl span {
  padding: 10px 14px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid rgba(11,31,59,.08);
  font-weight: 800;
  color: #0B1F3B;
}

.operador-card-fgl {
  padding: 28px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(193,18,31,.14), transparent 36%),
    linear-gradient(180deg, #07111f, #0b1f3b);
  color: #ffffff;
  box-shadow: 0 24px 70px rgba(11,31,59,.18);
}

.operador-top-fgl {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 24px;
}

.operador-top-fgl span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 16px rgba(34,197,94,.75);
}

.operador-status-fgl {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  margin-bottom: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.operador-status-fgl em {
  color: #86efac;
  font-style: normal;
  font-weight: 800;
}

.operador-linha-fgl {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.operador-linha-fgl:last-child {
  border-bottom: 0;
}

.operador-linha-fgl span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.76);
  font-weight: 900;
}

.operador-linha-fgl.active span {
  background: rgba(193,18,31,.18);
  color: #ffb4ba;
}

.operador-linha-fgl p {
  margin: 0;
  color: rgba(255,255,255,.78);
}

@media (max-width: 768px) {
  .humano-grid-fgl {
    grid-template-columns: 1fr;
  }
}

.operador-card-fgl {
  position: relative;
  overflow: hidden;
}

.operador-card-fgl::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      120deg,
      transparent,
      rgba(255,255,255,.04),
      transparent
    );
  transform: translateX(-120%);
  animation: operadorScannerFGL 4s linear infinite;
}

.operador-log-fgl {
  position: relative;
  z-index: 1;
}

.operador-linha-fgl {
  animation: operadorLinhaIn .35s ease both;
}

.operador-linha-fgl.active {
  background: rgba(193,18,31,.08);
  border-radius: 16px;
  padding-inline: 32px;
}

.operador-status-fgl {
  position: relative;
  z-index: 1;
}

@keyframes operadorScannerFGL {
  from {
    transform: translateX(-120%);
  }

  to {
    transform: translateX(120%);
  }
}

@keyframes operadorLinhaIn {
  from {
    opacity: 0;
    transform: translateX(8px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* AJUSTE FINAL — CAMADA HUMANA FGL */

.operador-card-fgl {
  padding: 32px;
}

.operador-linha-fgl.active {
  border: 1px solid rgba(0,255,163,.15);
  box-shadow: 0 0 18px rgba(0,255,163,.08);
}

.operador-top-fgl span {
  animation: pulseFGL 1.8s infinite;
}

@keyframes pulseFGL {
  0% {
    box-shadow: 0 0 0 0 rgba(0,255,163,.6);
  }

  70% {
    box-shadow: 0 0 0 10px rgba(0,255,163,0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(0,255,163,0);
  }
}

/* AJUSTE DE RESPIRO ENTRE SEÇÕES */

#como-trabalhamos {
  padding-bottom: 120px;
}

.risco-operacional-fgl {
  margin-top: 0;
  padding-top: 120px;
  padding-bottom: 120px;
}

.risco-operacional-fgl + .section-dark.compact {
  margin-top: 0;
}

.risco-operacional-fgl {
  margin-bottom: 0;
}

.risco-operacional-fgl + section {
  margin-top: 0;
}

/* =========================================
   CENTRAL DE TRANSPARÊNCIA FGL
========================================= */

.central-transparencia-fgl {
  background: #f5f7fb;
}

.portal-cliente-fgl {
  padding: 36px;
  border-radius: 32px;
  background: #ffffff;
  border: 1px solid rgba(11,31,59,.08);
  box-shadow: 0 24px 60px rgba(11,31,59,.08);
}

.portal-header-fgl {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(11,31,59,.08);
}

.portal-label-fgl {
  display: block;
  margin-bottom: 12px;
  color: #c1121f;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
}

.portal-header-fgl h3 {
  margin-bottom: 8px;
  font-size: 32px;
  color: #0B1F3B;
}

.portal-header-fgl p {
  margin: 0;
  color: #53677F;
  line-height: 1.6;
}

.portal-status-fgl {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px;
  border-radius: 999px;
  background: rgba(34,197,94,.10);
  border: 1px solid rgba(34,197,94,.18);
  font-weight: 800;
  color: #0B1F3B;
  white-space: nowrap;
}

.portal-status-fgl span {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 12px rgba(34,197,94,.8);
}

.portal-resumo-fgl {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
  margin-top: 28px;
}

.portal-resumo-card {
  padding: 24px;
  border-radius: 24px;
  background: #f8fafc;
  border: 1px solid rgba(11,31,59,.08);
}

.portal-resumo-card.destaque {
  background:
    linear-gradient(
      135deg,
      #07111f,
      #0b1f3b
    );
}

.portal-resumo-card small {
  display: block;
  margin-bottom: 10px;
  color: #53677F;
  font-weight: 800;
}

.portal-resumo-card.destaque small {
  color: rgba(255,255,255,.7);
}

.portal-resumo-card strong {
  display: block;
  margin-bottom: 10px;
  font-size: 28px;
  color: #0B1F3B;
}

.portal-resumo-card.destaque strong {
  color: #ffffff;
}

.portal-resumo-card p {
  margin: 0;
  color: #53677F;
  line-height: 1.55;
  font-size: 14px;
}

.portal-resumo-card.destaque p {
  color: rgba(255,255,255,.72);
}

.portal-acesso-fgl {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid rgba(11,31,59,.08);
}

.portal-acesso-fgl h3 {
  margin-bottom: 24px;
  font-size: 28px;
  color: #0B1F3B;
}

.portal-acesso-grid-fgl {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.portal-atalho-fgl {
  min-height: 180px;
  padding: 24px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(11,31,59,.08);
  box-shadow: 0 10px 30px rgba(11,31,59,.05);
  transition: .25s ease;
}

.portal-atalho-fgl:hover {
  transform: translateY(-4px);
  border-color: rgba(193,18,31,.25);
  box-shadow: 0 20px 40px rgba(11,31,59,.12);
}

.portal-atalho-fgl span {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 18px;
  border-radius: 18px;
  background: rgba(193,18,31,.08);
  font-size: 24px;
}

.portal-atalho-fgl strong {
  display: block;
  margin-bottom: 10px;
  color: #0B1F3B;
  font-size: 17px;
}

.portal-atalho-fgl p {
  margin: 0;
  color: #53677F;
  line-height: 1.55;
  font-size: 14px;
}

@media (max-width: 1180px) {

  .portal-resumo-fgl {
    grid-template-columns: repeat(2, 1fr);
  }

  .portal-acesso-grid-fgl {
    grid-template-columns: repeat(3, 1fr);
  }

}

@media (max-width: 768px) {

  .portal-cliente-fgl {
    padding: 24px;
  }

  .portal-header-fgl {
    flex-direction: column;
  }

  .portal-resumo-fgl,
  .portal-acesso-grid-fgl {
    grid-template-columns: 1fr;
  }

  .portal-header-fgl h3 {
    font-size: 28px;
  }

  .portal-atalho-fgl {
    min-height: auto;
  }

}

.command-card .trust-badges {
  grid-template-columns: repeat(2, 1fr);
  margin-top: 22px;
}

.command-card .trust-badges span {
  font-size: 13px;
  padding: 12px;
}
/* OVERRIDE FINAL — RADAR HERO */

.command-card .radar {
  width: 118px;
  height: 118px;
  margin: 38px auto 38px;
}

/* FIX — Badge sobrepondo card de Arquiteturas */
.arquitetura-card-fgl.destaque {
  padding-top: 58px;
}

.arquitetura-card-fgl.destaque::before {
  top: 18px;
  left: 24px;
  right: auto;
  max-width: calc(100% - 48px);
  white-space: nowrap;
}

/* FIX — Fluxo operacional em fundo escuro */
.section-dark.operacional-flow .timeline-item-fgl {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: #ffffff;
}

.section-dark.operacional-flow .timeline-item-fgl h3,
.section-dark.operacional-flow .timeline-item-fgl p {
  color: rgba(255,255,255,.82);
}

.section-dark.operacional-flow .timeline-item-fgl span {
  background: rgba(229,9,20,.18);
  color: #ffffff;
}

/* FIX — Equalizar cards de diferenciais */
#diferenciais .feature-grid {
  align-items: stretch;
}

#diferenciais .feature-grid article {
  min-height: 320px;
  height: 100%;
}

/* FIX — Selo FGL redondo */
.sva-card img {
  width: 130px;
  height: 130px;
  border-radius: 999px;
  object-fit: cover;
  background: #ffffff;
}

/* FIX — Cards parceiros alinhados */
#parceiros .feature-grid.small {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}

#parceiros .feature-grid.small article {
  min-height: 180px;
  height: 100%;
}

/* FIX — Equalizar cards de diferenciais */
#diferenciais .feature-grid {
  align-items: stretch;
}

#diferenciais .feature-grid article {
  min-height: 320px;
  height: 100%;
}

/* FIX — Cards diferenciais mesma altura */

#diferenciais .feature-grid {
  align-items: stretch;
}

#diferenciais .feature-grid article {

  display: flex;

  flex-direction: column;

  justify-content: flex-start;

  min-height: 320px;

  height: 100%;

}

#diferenciais .feature-grid article p {

  margin-top: auto;

}

/* =========================================
   DIFERENCIAIS OPERACIONAIS — LISTA EDITORIAL
========================================= */

.diferenciais-editorial-fgl {
  background:
    linear-gradient(
      180deg,
      #07111f,
      #0b1f3b
    );
}

.diferenciais-editorial-grid-fgl {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 64px;
  align-items: center;
}

.diferenciais-editorial-copy-fgl h2 {
  color: #ffffff;
  max-width: 520px;
}

.diferenciais-editorial-copy-fgl p {
  color: rgba(255,255,255,.72);
  font-size: 18px;
  line-height: 1.7;
  max-width: 560px;
}

.diferenciais-lista-fgl {
  display: grid;
  gap: 14px;
}

.diferencial-linha-fgl {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  align-items: flex-start;

  padding: 22px;

  border-radius: 22px;

  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.09);

  transition: .24s ease;
}

.diferencial-linha-fgl:hover {
  transform: translateY(-3px);
  border-color: rgba(193,18,31,.24);
  background: rgba(255,255,255,.065);
}

.diferencial-linha-fgl img {
  width: 46px;
  height: 46px;
  padding: 10px;
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
}

.diferencial-linha-fgl h3 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 20px;
}

.diferencial-linha-fgl p {
  margin: 0;
  color: rgba(255,255,255,.72);
  line-height: 1.6;
}

@media (max-width: 900px) {
  .diferenciais-editorial-grid-fgl {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 560px) {
  .diferencial-linha-fgl {
    grid-template-columns: 1fr;
  }
}

.site-header .brand img {
  height: 58px;
  width: auto;
}

/* =========================================
   HEADER LIGHT
========================================= */

.site-header {

  background: rgba(255,255,255,.96);

  border-bottom: 1px solid rgba(15,23,42,.08);

  backdrop-filter: blur(12px);

}

.site-header nav a {

  color: #0b1f3b;

}

.header-cta {

  border: 1px solid rgba(11,31,59,.16);

  color: #0b1f3b;

}

.site-header .brand img {

  height: 58px;

  width: auto;

  display: block;

}