:root {
      --bg: #0b0d12;
      --surface: #111520;
      --muted: #aab3c5;
      --primary: #6ee7ff;
      --primary-strong: #3bc0ff;
      --accent: #8b5cf6;
      --glass: rgba(255,255,255,0.06);
      --radius: 1.25rem;
      --shadow: 0 10px 30px rgba(0,0,0,.35);
      --grad:
        radial-gradient(1200px 600px at 80% -10%, rgba(59,192,255,.15), rgba(139,92,246,.08) 40%, transparent 60%),
        radial-gradient(800px 400px at 10% 10%, rgba(110,231,255,.12), transparent 60%);
    }

    html, body {
      height: 100%;
    }

    body {
      background: var(--bg);
      color: #e7edf7;
      font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      letter-spacing: .2px;
      overflow-x: hidden;
    }

    /* NAV */
    .navbar {
      background-color: #e6faff;
      border-bottom: 1px solid #b3e6f0;
    }
    .navbar .nav-link {
      color: #004d66 !important;
      font-weight: 500;
    }
    .navbar .nav-link:hover {
      color: #002b33 !important;
    }

    .brand-badge {
      display:inline-flex;
      align-items:center;
      gap:.5rem;
      font-weight:800;
      letter-spacing:.5px;
      text-transform:uppercase;
      font-size:.95rem;
    }
    .brand-dot {
      width: .6rem;
      height: .6rem;
      border-radius:50%;
      background: var(--primary);
      box-shadow: 0 0 0 .25rem rgba(110,231,255,.25);
    }

    /* HERO */
    .hero {
      position: relative;
      padding: 9rem 0 6rem;
      background: var(--grad);
      overflow: clip;
    }
    .hero h1 {
      font-weight: 800;
      line-height: 1.05;
      letter-spacing: -.5px;
      font-size: clamp(2.2rem, 4vw + 1rem, 4rem);
    }
    .hero p.lead {
      color: var(--muted);
      font-size: clamp(1rem, .8vw + .9rem, 1.25rem);
    }
    .hero-badge {
      font-size: .85rem;
      color:#a9fffb;
      background: rgba(110,231,255,.08);
      border:1px solid rgba(110,231,255,.25);
    }

    /* ELEMENTOS REUTILIZÁVEIS */
    .glass-card {
      background: var(--glass);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }
    .chip {
      display:inline-flex;
      gap:.5rem;
      align-items:center;
      padding:.5rem .75rem;
      border-radius: 999px;
      background: rgba(255,255,255,.04);
      border:1px solid rgba(255,255,255,.08);
      color:#cfe7ff;
      font-size:.9rem;
    }
    .chip i {
      opacity:.9;
    }

    section {
      padding: 5rem 0;
    }

    .section-title {
      font-weight: 800;
      letter-spacing: -.3px;
      margin-bottom: .5rem;
    }

    .section-sub {
      color: var(--muted);
    }

    .feature-icon {
      font-size: 1.7rem;
    }

    .feature-card:hover {
      transform: translateY(-4px);
      transition: .25s ease;
      border-color: rgba(110,231,255,.3);
    }

    .cta {
      background: linear-gradient(135deg, rgba(139,92,246,.18), rgba(59,192,255,.14));
      border: 1px solid rgba(255,255,255,.1);
    }

    footer {
      color: #b9c3d6;
    }

    .footer a {
      color: #0a3d4d;
      text-decoration: none;
    }
    .footer a:hover {
      text-decoration: underline;
    }

    #backToTop {
      position: fixed;
      right: 1rem;
      bottom: 1rem;
      display:none;
      z-index: 999;
    }

    .link-ux {
      position:relative;
      text-decoration:none;
    }
    .link-ux::after {
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-3px;
      height:2px;
      background: linear-gradient(90deg, var(--primary), var(--accent));
      transform: scaleX(0);
      transform-origin:left;
      transition: transform .25s ease;
    }
    .link-ux:hover::after {
      transform: scaleX(1);
    }

    .w-hero {
      max-width: 780px;
    }

    .icon-bullet {
      display:flex;
      align-items:center;
      gap:.6rem;
    }
    .icon-bullet i {
      font-size:1.1rem;
      color:var(--primary-strong);
    }

    .rounded-4 {
      border-radius: 1rem!important;
    }
    .shadow-sm {
      box-shadow: 0 10px 30px rgba(0,0,0,.45)!important;
    }

    /* Cards de preço / pacotes FLUXO */
    .pricing-card {
      border: 1px solid rgba(255,255,255,.08);
      border-radius: var(--radius);
      background: rgba(255,255,255,.03);
      box-shadow: var(--shadow);
      height: 100%;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition: .25s ease;
    }
    .pricing-card:hover {
      border-color: var(--primary);
      box-shadow: 0 20px 40px rgba(0,0,0,.6);
      transform: translateY(-3px);
    }
    .pricing-headline {
      font-weight:700;
      font-size:1.1rem;
      color:#e7edf7;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:.5rem;
    }
    .pricing-desc {
      color: var(--muted);
      font-size:.9rem;
      min-height:4.5rem;
    }
    .pricing-features {
      color:#cfd9ec;
      font-size:.85rem;
    }
    .pricing-features li i {
      color: var(--primary-strong);
    }

    .btn-outline-light {
      border-color:#fff;
      color:#fff;
    }
    .btn-outline-light:hover {
      background:#fff;
      color:#000;
    }

    /* Bloco explicativo de métodos de análise */
    .method-card {
      background: rgba(255,255,255,0.02);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: var(--radius);
      box-shadow: var(--shadow);
    }
    .method-card h6 {
      font-weight:600;
    }
    .method-badge {
      font-size: .7rem;
      font-weight:600;
      text-transform: uppercase;
      letter-spacing:.03em;
      color:#000;
      background: var(--primary);
      border-radius: .4rem;
      padding:.25rem .5rem;
    }

/* ====== AJUSTES DE ESTILO (mais clean/tech) ====== */
:root{
  --bg: #070A10;
  --surface: rgba(255,255,255,.06);
  --muted: rgba(231,237,247,.72);
  --primary: #34d3ff;
  --primary-strong: #1fb6ff;
  --accent: #8b5cf6;
  --glass: rgba(255,255,255,0.06);
  --radius: 1.25rem;
  --shadow: 0 18px 50px rgba(0,0,0,.45);
  --grad:
    radial-gradient(1200px 700px at 75% -15%, rgba(31,182,255,.20), rgba(139,92,246,.10) 45%, transparent 70%),
    radial-gradient(900px 500px at 10% 10%, rgba(52,211,255,.14), transparent 60%);
}

.navbar{
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.navbar .navbar-brand span:last-child{
  color: rgba(0,0,0,.55);
}
.navbar .nav-link{
  color: rgba(0,0,0,.72)!important;
}
.navbar .nav-link:hover{
  color: rgba(0,0,0,.92)!important;
}

/* Botões mais “premium” */
.btn-info{
  background: linear-gradient(90deg, var(--primary), var(--accent));
  border: 0;
  color: #071018;
}
.btn-info:hover{
  filter: brightness(1.05);
}

/* ====== ORB 3D (sem libs) ====== */
.tech-orb-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.tech-orb-scene{
  width: min(320px, 100%);
  aspect-ratio: 1 / 1;
  display:grid;
  place-items:center;
  perspective: 1200px;
  filter: drop-shadow(0 22px 40px rgba(0,0,0,.55));
}
.tech-orb{
  width: 280px;
  height: 280px;
  position: relative;
  transform-style: preserve-3d;
  animation: orbSpin 10s linear infinite;
}
.orb-layer{
  position:absolute;
  inset: 0;
  border-radius: 50%;
}
.orb-core{
  background:
    radial-gradient(circle at 30% 30%, rgba(52,211,255,.65), rgba(139,92,246,.25) 45%, rgba(0,0,0,.15) 70%),
    radial-gradient(circle at 70% 70%, rgba(31,182,255,.35), transparent 55%);
  box-shadow:
    inset 0 0 40px rgba(52,211,255,.22),
    inset 0 0 70px rgba(139,92,246,.18);
  transform: translateZ(22px);
}
.orb-glow{
  background: radial-gradient(circle, rgba(52,211,255,.22), transparent 62%);
  transform: translateZ(6px);
}

.orb-ring{
  position:absolute;
  inset: 10%;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.25);
  box-shadow: 0 0 0 1px rgba(52,211,255,.12), 0 0 22px rgba(52,211,255,.18);
  transform-style: preserve-3d;
}
.ring-1{ transform: rotateX(70deg) translateZ(40px); }
.ring-2{ transform: rotateY(70deg) translateZ(18px); }
.ring-3{ transform: rotateZ(25deg) rotateX(25deg) translateZ(2px); opacity:.7; }

.orb-grid{
  position:absolute;
  inset: 7%;
  border-radius: 50%;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.00), rgba(255,255,255,.00) 12px, rgba(255,255,255,.06) 12px, rgba(255,255,255,.06) 13px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.00), rgba(255,255,255,.00) 12px, rgba(255,255,255,.06) 12px, rgba(255,255,255,.06) 13px);
  mask-image: radial-gradient(circle, rgba(0,0,0,1) 55%, rgba(0,0,0,0) 72%);
  transform: rotateX(18deg) rotateY(-22deg) translateZ(10px);
  opacity: .9;
}

.orb-particles{
  position:absolute;
  inset: -12%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 20% 30%, rgba(255,255,255,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 70% 20%, rgba(52,211,255,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 70%, rgba(139,92,246,.55) 0 2px, transparent 3px),
    radial-gradient(circle at 35% 78%, rgba(255,255,255,.45) 0 2px, transparent 3px);
  animation: particleDrift 4.5s ease-in-out infinite alternate;
  transform: translateZ(55px);
  opacity:.8;
}

@keyframes orbSpin{
  0% { transform: rotateX(10deg) rotateY(0deg); }
  50%{ transform: rotateX(22deg) rotateY(180deg); }
  100%{ transform: rotateX(10deg) rotateY(360deg); }
}
@keyframes particleDrift{
  from { transform: translateZ(55px) rotateZ(0deg); }
  to   { transform: translateZ(55px) rotateZ(18deg); }
}

/* Responsivo: diminui orb em telas menores */
@media (max-width: 576px){
  .tech-orb{ width: 230px; height: 230px; }
}


/* ====== ORB "SOLTO NO AR" ====== */
.tech-orb-scene{ background: transparent !important; }
.tech-orb-card{ width: 100%; }
.tech-orb{ will-change: transform; }
.tech-orb::after{
  content:"";
  position:absolute;
  inset:-18%;
  border-radius:50%;
  background: radial-gradient(circle, rgba(52,211,255,.10), transparent 70%);
  filter: blur(6px);
  transform: translateZ(-40px);
}
/* Evita que cards “cortem” o efeito */
.glass-card{ overflow: visible; }

/* Modal com estética glass */
.glass-modal{
  background: rgba(8,12,20,.72);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 60px rgba(0,0,0,.55);
  color: rgba(255,255,255,.92);
}
.glass-modal .input-group-text{
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.85);
}
.glass-modal .form-control{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}
.glass-modal .form-control::placeholder{ color: rgba(255,255,255,.55); }

/* ====== RESPONSIVO GERAL ====== */
.section{
  padding-top: clamp(56px, 7vw, 96px);
  padding-bottom: clamp(56px, 7vw, 96px);
}
.hero h1{ font-size: clamp(2rem, 4.5vw, 3.4rem); }
.hero p{ font-size: clamp(1rem, 1.8vw, 1.15rem); }


/* ==========================================================
   HUB SEGURO (PHP) — estilos extras para Admin/Forms
   ========================================================== */
.form-control, .form-select{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(231,237,247,.92);
}
.form-control:focus, .form-select:focus{
  box-shadow: 0 0 0 .2rem rgba(52,211,255,.15);
  border-color: rgba(52,211,255,.35);
}
.table{
  color: rgba(231,237,247,.90);
}
.table thead th{
  color: rgba(231,237,247,.70);
  border-color: rgba(255,255,255,.12)!important;
}
.table td, .table th{
  border-color: rgba(255,255,255,.10)!important;
}
.admin-card{
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.badge-soft{
  background: rgba(52,211,255,.12);
  border: 1px solid rgba(52,211,255,.25);
  color: rgba(231,237,247,.92);
}
.hr-soft{
  border-color: rgba(255,255,255,.10);
}
.code-pill{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size: .85rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(231,237,247,.85);
}

/* ===== v2 additions (Admin / Login ornament) ===== */
.admin-subcard{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
}

.perm-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.03);
}
.perm-item input{ margin-top: 4px; }
.perm-item:hover{ background: rgba(255,255,255,.05); }

.ie7-mark3d{
  width: 62px;
  height: 40px;
  position: relative;
  perspective: 700px;
  filter: drop-shadow(0 18px 26px rgba(0,0,0,.45));
}
.ie7-mark3d .ie7-face,
.ie7-mark3d .ie7-depth{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 900;
  letter-spacing: .5px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: linear-gradient(135deg, rgba(72,205,255,.30), rgba(124,92,255,.28));
}
.ie7-mark3d .ie7-depth{
  transform: translateZ(-18px) rotateX(18deg) rotateY(-22deg);
  background: linear-gradient(135deg, rgba(72,205,255,.12), rgba(124,92,255,.10));
  opacity: .85;
}
.ie7-mark3d .ie7-face{
  transform: translateZ(6px) rotateX(12deg) rotateY(-18deg);
}
