/* === Base / Theme (matches your neon aesthetic) === */
:root{
  --bg:#0e0e10;
  --bg-2:#14161a;
  --panel:#111214;
  --glass:rgba(255,255,255,0.05);
  --text:#e8f6f3;
  --muted:#a7b7b3;
  --accent:#00ffcc;
  --accent-2:#00ffff;
  --danger:#ff4d6d;
  --shadow:0 0 12px rgba(0,255,204,0.18);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
}

/* === Navbar (re-uses your classes) === */
/* ===============================
   NAVBAR (single-row grid)
   =============================== */
.navbar{
  position:absolute; /* use fixed if you want it sticky */
  top:0; left:0; width:100%;
  z-index:10; background:transparent;
}

.navbar .nav-inner{
  display:grid;
  grid-template-columns: auto 1fr auto; /* left | center | right */
  align-items:center;
  gap:.75rem;
  max-width:1200px;
  width:100%;
  margin:0 auto;
  padding:.75rem clamp(12px, 4vw, 24px);
}

/* reset old nudges */
.navbar .nav-left,
.navbar .nav-center,
.navbar .nav-right{
  margin:0 !important;
  flex:initial !important;
  width:auto !important;
  min-width:0;
}

.navbar .nav-left{ justify-self:start; display:flex; align-items:center; }
.navbar .nav-center{ justify-self:center; }
.navbar .nav-right{ justify-self:end; display:flex; align-items:center; gap:.5rem; flex-wrap:nowrap; white-space:nowrap; }

/* Logo */
.navbar .logo{
  font-family:'Orbitron',sans-serif;
  font-weight:800; letter-spacing:.5px;
  color:var(--accent); text-decoration:none;
  text-shadow:0 0 10px #00ffcc88;
  font-size: clamp(1.25rem, 2.5vw + 1rem, 1.8rem);
}

/* Buttons */
.navbar .nav-right a{
  padding:.55rem .9rem; border-radius:999px;
  text-decoration:none; font-weight:700; font-size:.95rem;
  transition:.25s all;
}
.navbar .btn{ background:var(--accent); color:#000; }
.navbar .btn-outline{ border:1px solid var(--accent); color:var(--accent); background:transparent; }
.navbar .btn:hover{ box-shadow:0 0 10px #00ffcc88; }
.navbar .btn-outline:hover{ background:#00ffcc11; }

/* Dropdown (tap-friendly; absolute so it doesn't push layout) */
.navbar .dropdown{ position:relative; }
.navbar .dropbtn{
  background:transparent; border:0; color:var(--accent);
  font-weight:700; cursor:pointer; padding:.5rem .75rem; font-size:1.1rem;
}
.navbar .dropdown-content{
  position:absolute; left:0; top:calc(100% + 8px);
  display:none; min-width:200px;
  background:#1a1a1d; border:1px solid #00ffcc22; border-radius:12px;
  padding:.25rem; box-shadow:0 12px 28px rgba(0,0,0,.35); z-index:20;
}
.navbar .dropdown-content a{
  display:block; color:#fff; text-decoration:none; padding:.8rem 1rem; border-radius:8px;
}
.navbar .dropdown-content a:hover{ background:#00ffcc22; }
.navbar .dropdown-content.open{ display:block; }
/* also open on hover for desktop */
@media (hover:hover){ .navbar .dropdown:hover .dropdown-content{ display:block; } }

/* Hide right button group on very narrow screens (avoid wrapping) */
@media (max-width:520px){
  .navbar .nav-right{ display:none; }
  .navbar .logo{ font-size:1.35rem; }
}

/* === NAVBAR TRUE-CENTER FIX === */
.navbar .nav-inner{
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); /* equal sides, auto center */
  align-items: center;
  gap: .75rem;
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: .75rem clamp(12px, 4vw, 24px);
}

.navbar .nav-left,
.navbar .nav-center,
.navbar .nav-right{
  margin: 0 !important;
  flex: initial !important;
  width: auto !important;
  min-width: 0;
}

.navbar .nav-left  { justify-self: start; display:flex; align-items:center; }
.navbar .nav-center{ justify-self: center; } /* logo stays perfectly center */
.navbar .nav-right { justify-self: end; display:flex; align-items:center; gap:.5rem; flex-wrap:nowrap; white-space:nowrap; }

/* keep your existing button/dropdown styles */


/* keep your logo styling, just ensure no extra shift */
.logo{ margin: 0 !important; }

/* dropdown should not affect layout width */
.dropdown{ position: relative; }
.dropbtn{
  background: transparent; border: 0; color: var(--accent);
  font-weight: 700; cursor: pointer; padding: .5rem .75rem; font-size: 1.1rem;
}
.dropdown-content{
  position: absolute; left: 0; top: calc(100% + 8px);
  display: none; min-width: 200px;
  background: #1a1a1d; border: 1px solid #00ffcc22; border-radius: 12px;
  padding: .25rem; box-shadow: 0 12px 28px rgba(0,0,0,.35); z-index: 20;
}
.dropdown-content a{
  display:block; color:#fff; text-decoration:none; padding:.8rem 1rem; border-radius:8px;
}
.dropdown-content a:hover{ background:#00ffcc22; }
.dropdown:hover .dropdown-content{ display:block; }  /* desktop convenience */

/* optional: if you later re-enable the right buttons, hide them on tiny phones */
@media (max-width: 520px){
  .nav-right{ display: none; }
}

/* === Hero === */
.hero{position:relative;height:78vh;min-height:560px;display:grid;place-items:center;overflow:hidden;text-align:center;background:radial-gradient(ellipse at top, var(--bg) 0%, var(--bg-2) 100%)}
#vanta-canvas{position:absolute;inset:0}
.hero-overlay{
  position:absolute;inset:0;
  background:radial-gradient(65% 50% at 50% 30%, rgba(0,255,204,0.18) 0%, transparent 60%);
  animation:overlayPulse 6s ease-in-out infinite
}
@keyframes overlayPulse{0%,100%{opacity:.45}50%{opacity:.75}}

.hero-inner{position:relative;z-index:2;max-width:1100px;padding:0 1.5rem;animation:fadeInUp 1s ease-out}
.headline{font-family:'Orbitron',sans-serif;font-size:3rem;margin:.2rem 0}
.glow{text-shadow:0 0 8px var(--accent),0 0 18px var(--accent)}
.subhead{color:var(--muted);max-width:760px;margin:0 auto 1rem;font-size:1.1rem}
.trust-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin:1rem auto 1.5rem}
.trust-chip{border:1px solid #00ffcc33;padding:.45rem .75rem;border-radius:999px;background:rgba(255,255,255,0.03);box-shadow:0 2px 12px rgba(0,255,204,.06);font-weight:600;color:#d6fffa;display:flex;gap:.55rem;align-items:center}
.cta{display:inline-block;margin-top:.25rem;padding:.9rem 1.4rem;background:var(--accent);color:#000;font-weight:800;border-radius:40px;text-decoration:none;font-size:1rem;transition:transform .25s, box-shadow .25s}
.cta:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 0 16px var(--accent)}
.pulse{animation:pulseButton 2s infinite}
@keyframes pulseButton{0%{box-shadow:0 0 0 0 rgba(0,255,204,.55)}70%{box-shadow:0 0 0 22px rgba(0,255,204,0)}100%{box-shadow:0 0 0 0 rgba(0,255,204,0)}}
@keyframes fadeInUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}

/* === Main Layout === */
.main{position:relative;padding:3rem 1.25rem 2rem}
.contact-wrap{
  margin:-120px auto 0; /* overlap hero */
  max-width:1200px;display:grid;gap:2rem;
  grid-template-columns: 1.05fr .95fr
}
@media (max-width: 980px){
  .contact-wrap{grid-template-columns:1fr;margin-top:-80px}
}

/* === Panels & Cards === */
.neon-outline{
  position:relative;background:linear-gradient(145deg,#111214,#1b1d21);
  border-radius:20px;padding:1.5rem;border:1px solid #00ffcc33;box-shadow:var(--shadow);overflow:hidden
}
.neon-outline::before{
  content:"";position:absolute;inset:-1px;border-radius:inherit;z-index:0;
  background:conic-gradient(from 180deg at 50% 50%, #00ffcc33, #00ffff22, #00ffcc33);
  filter:blur(18px);opacity:0;transition:.5s opacity
}
.neon-outline:hover::before{opacity:1}
.neon-outline > *{position:relative;z-index:1}

.glass{
  background:var(--glass);backdrop-filter:blur(10px);
  border:1px solid #00ffcc22;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.25)
}

.left-panel{display:flex;flex-direction:column;gap:1rem}
.panel-card{padding:1.25rem}
.panel-title{font-family:'Orbitron',sans-serif;margin-top:.2rem}
.bullets{list-style:none;padding:0;margin:1rem 0 1.25rem}
.bullets li{margin:.5rem 0;color:#dffdfa;font-weight:600}
.bullets i{color:var(--accent);margin-right:.55rem;text-shadow:0 0 8px #00ffcc88}

.mini-metrics{display:flex;gap:1rem;flex-wrap:wrap}
.m-item{flex:1;min-width:140px;background:#121417;border:1px solid #00ffcc22;border-radius:14px;padding:0.9rem 1rem;text-align:center}
.m-num{display:block;font-family:'Orbitron',sans-serif;font-size:1.4rem;color:var(--accent);text-shadow:0 0 10px #00ffcc88}
.m-cap{font-size:.85rem;color:#cdeae4}

.info-cards{display:grid;gap:.8rem;grid-template-columns:1fr}
.info{display:flex;gap:.85rem;align-items:center;background:#121417;border:1px solid #00ffcc22;border-radius:14px;padding:.9rem 1rem}
.info i{font-size:1.2rem;color:var(--accent)}
.info h3{margin:0 0 .2rem 0}
.info a,.info p{color:#dffdfa;text-decoration:none}
.info a:hover{color:var(--accent)}

.badges{display:flex;gap:.6rem;flex-wrap:wrap}
.badge{display:flex;align-items:center;gap:.5rem;background:#121417;border:1px solid #00ffcc22;border-radius:999px;padding:.4rem .7rem}
.badge img{width:22px;height:22px;filter:drop-shadow(0 0 6px #00ffcc88)}
.badge span{font-weight:700;color:#d6fffa}

/* === Form Panel === */
.form-panel {
  padding: 1.5rem;
}

.form-header h2 {
  margin: .1rem 0 .4rem;
  font-family: 'Orbitron', sans-serif;
}

.form-header p {
  color: var(--muted);
  margin-top: 0;
}

.form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hp {
  display: none !important;
}

.field {
  display: flex;
  flex-direction: column;
  gap: .45rem;
}

.field.two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

@media (max-width: 680px) {
  .field.two {
    grid-template-columns: 1fr;
  }
}

label {
  font-weight: 700;
}

input, select, textarea {
  width: 100%;
  padding: .85rem 1rem;
  border-radius: 12px;
  border: 1px solid #2a2f33;
  background: #0f1215;
  color: #e9fffb;
  outline: none;
  transition: border .2s, box-shadow .2s;
  font-size: 1rem;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(0, 255, 204, .12);
}

small.error {
  opacity: 0;
  transform: translateY(-4px);
  height: 0;
  color: var(--danger);
  font-weight: 600;
  transition: .2s;
}

.field.has-error small.error {
  opacity: 1;
  transform: none;
  height: auto;
}

.field.has-error input,
.field.has-error select,
.field.has-error textarea {
  border-color: var(--danger);
  box-shadow: 0 0 0 4px rgba(255, 77, 109, .15);
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
}

.chip {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  border: 1px solid #00ffcc22;
  background: #101316;
  border-radius: 999px;
  padding: .4rem .8rem;
  cursor: pointer;
  user-select: none;
}

.chip input {
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border: 1px solid #00ffcc55;
  background: transparent;
  position: relative;
}

.chip input:checked {
  background: var(--accent);
  border-color: var(--accent);
}

.chip:hover {
  box-shadow: 0 0 0 3px rgba(0, 255, 204, .1);
}

/* === Consent toggle (accessible neon switch) === */
.consent {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  margin-top: .5rem;
}

.toggle-label {
  display: flex;
  align-items: center;
  gap: .75rem;
  cursor: pointer;
  user-select: none;
  position: relative; /* only needed if absolutely positioning input */
}

.toggle-input {
  opacity: 0;
  width: 48px; /* match track width */
  height: 28px; /* match track height */
  position: absolute;
  z-index: 2;
  cursor: pointer;
}

.toggle-track {
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: #222a2f;
  border: 1px solid #2a2f33;
  position: relative;
  pointer-events: none;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
}

.toggle-thumb {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #7c8a87;
  position: absolute;
  top: 50%;
  left: 3px; /* start inside track */
  transform: translateY(-50%);
  transition: transform 0.25s, background 0.25s;
}

/* Checked state */
.toggle-input:checked + .toggle-track .toggle-thumb {
  transform: translateX(calc(100% - 25px)) translateY(-50%);
  background: #00110d;
}

/* Checked state */
.toggle-input:checked + .toggle-track {
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  border-color: transparent;
}

.toggle-input:checked + .toggle-track .toggle-thumb {
  transform: translateX(26px) translateY(-50%);
  background: #00110d;
}

.consent .consent-text {
  color: var(--text);
  font-weight: 700;
}

.consent.has-error .toggle-track {
  border-color: var(--danger);
  box-shadow: 0 0 0 4px rgba(255, 77, 109, .12);
}

/* === Submit button shake animation === */
.submit {
  border: none;
  border-radius: 40px;
}
.submit.shake {
  animation: shake .4s;
}
@keyframes shake {
  10%, 90% { transform: translateX(-1px); }
  20%, 80% { transform: translateX(2px); }
  30%, 50%, 70% { transform: translateX(-4px); }
  40%, 60% { transform: translateX(4px); }
}

/* === Privacy links === */
.privacy {
  color: var(--muted);
  font-size: .9rem;
}
.privacy a {
  color: var(--accent);
}

/* === Form toast === */
.form-toast {
  pointer-events: none;
  position: fixed;
  right: 24px;
  bottom: 24px;
  display: flex;
  align-items: center;
  gap: .6rem;
  background: linear-gradient(145deg, #0f1517, #162022);
  border: 1px solid #00ffcc44;
  border-radius: 14px;
  padding: .8rem 1rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
  opacity: 0;
  transform: translateY(14px);
  transition: .25s;
  z-index: 50;
}
.form-toast i {
  color: #39ffcf;
}
.form-toast.show {
  opacity: 1;
  transform: none;
}


/* === FAQ === */
.faq-wrap{max-width:1100px;margin:2.5rem auto 0;padding:0 1rem}
.glow-heading{
  position:relative;text-align:center;font-family:'Orbitron',sans-serif;color:var(--accent);
  font-size:2.2rem;margin:0 0 1.2rem;text-shadow:0 0 5px var(--accent),0 0 18px var(--accent-2)
}
.faq{display:grid;gap:.65rem}
details{background:#111416;border:1px solid #00ffcc22;border-radius:14px;padding:.8rem 1rem}
summary{cursor:pointer;list-style:none;font-weight:800;display:flex;align-items:center;gap:.6rem}
summary::-webkit-details-marker{display:none}
details p{color:#cfeae5;margin:.5rem 0 0}

/* === CTA Banner === */
.cta-banner{
  max-width:1100px;margin:2.2rem auto 2.8rem;padding:1.2rem;
  display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;
  background:linear-gradient(135deg,#101316,#141a1c);border:1px solid #00ffcc22;border-radius:16px;box-shadow:var(--shadow)
}
.cta-banner h3{margin:.2rem 0}
.cta.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.cta.ghost:hover{background:#00ffcc11}

/* === FOOTER === */
.site-footer {
    position: relative;
    background: radial-gradient(ellipse at top, #0e0e10 0%, #14161a 100%);
    color: #bbb;
    padding: 4rem 2rem 2rem;
    font-size: 0.95rem;
    overflow: hidden;
    z-index: 1;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.footer-brand,
.footer-links,
.footer-social {
    flex: 1;
    min-width: 240px;
}

.footer-brand h3 {
    font-family: 'Orbitron', sans-serif;
    color: #00ffcc;
    font-size: 1.6rem;
    margin-bottom: 1rem;
    text-shadow: 0 0 12px #00ffcc88;
}

.footer-brand p {
    color: #aaa;
    line-height: 1.5;
    font-size: 0.95rem;
}

.footer-links h4,
.footer-social h4 {
    color: #00ffcc;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    font-family: 'Orbitron', sans-serif;
    text-shadow: 0 0 8px #00ffcc55;
}

.footer-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links ul li {
    margin-bottom: 0.6rem;
}

.footer-links ul li a {
    color: #bbb;
    text-decoration: none;
    transition: color 0.3s ease, text-shadow 0.3s ease;
}

.footer-links ul li a:hover {
    color: #00ffcc;
    text-shadow: 0 0 6px #00ffcc99;
}

.footer-social .social-icons {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.footer-social .social-icons a {
    color: #bbb;
    font-size: 1.4rem;
    padding: 0.5rem;
    border: 1px solid #00ffcc33;
    border-radius: 50%;
    transition: all 0.3s ease;
    box-shadow: 0 0 8px #00ffcc11;
    backdrop-filter: blur(2px);
}

.footer-social .social-icons a:hover {
    color: #00ffcc;
    background: rgba(0, 255, 204, 0.05);
    transform: scale(1.15);
    box-shadow: 0 0 12px #00ffcc55;
}

/* Glowing animated gradient layer */
.footer-glow {
    content: "";
    position: absolute;
    top: -60%;
    left: -60%;
    width: 220%;
    height: 220%;
    background: radial-gradient(circle at center, rgba(0,255,204,0.03), transparent 80%);
    animation: footerPulse 20s linear infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes footerPulse {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Footer bottom */
.footer-bottom {
    text-align: center;
    padding-top: 2rem;
    border-top: 1px solid #333;
    color: #888;
    font-size: 0.85rem;
    margin-top: 3rem;
    z-index: 2;
    position: relative;
}

.neon-text {
    color: #00ffcc;
    text-shadow: 0 0 5px #00ffcc, 0 0 10px #00ffff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-links ul li {
        margin-bottom: 0.8rem;
    }

    .footer-social .social-icons {
        justify-content: center;
    }
}

/* === Utilities === */
.visually-hidden{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
