html{-webkit-text-size-adjust:100%}
:root{
  --bg:#0b0f1a; --fg:#e8eef6; --muted:#9fb0c6; --accent:#ff6a3d; --glass:rgba(255,255,255,0.06);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:Inter,system-ui,Segoe UI,Arial;background:linear-gradient(160deg,#0b0f1a,#121a2b);color:var(--fg)}

/* nav */
.nav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:rgba(9,12,20,0.65);backdrop-filter:blur(10px);border-bottom:1px solid #1e2738}
.nav a{color:var(--fg);text-decoration:none;margin:0 10px;opacity:.9}
.nav .cta{padding:8px 12px;border:1px solid var(--accent);border-radius:10px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.logo{width:28px;height:28px}

/* hero */
.hero{position:relative;height:72vh;min-height:460px;display:grid;place-items:center;overflow:hidden}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.6) contrast(1.05) saturate(1.05)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 50%,rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%)}
.hero-content{position:relative;z-index:1;text-align:center;padding:0 16px;max-width:900px}
.hero h1{font-size:36px;line-height:1.1;margin:0 0 10px}
.hero p{color:var(--muted);margin:8px 0 18px}
.hero .btn{display:inline-block;margin:6px;padding:12px 16px;border-radius:12px;background:var(--accent);color:#111;font-weight:700;text-decoration:none}
.hero .btn.ghost{background:transparent;border:1px solid var(--accent);color:var(--fg)}

/* features */
.grid{display:grid;grid-template-columns:1fr;gap:14px;padding:28px 18px}
@media(min-width:900px){.grid{grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto}}
.card{background:var(--glass);border:1px solid #1e2738;border-radius:16px;padding:18px}
.card h3{margin:0 0 6px}

/* highlight */
.highlight{padding:30px 18px}
.highlight .wrap{max-width:1100px;margin:0 auto;background:linear-gradient(180deg,rgba(255,106,61,.12),rgba(0,0,0,0));border:1px solid #2a3348;border-radius:18px;padding:18px}
.ticks{display:grid;gap:8px;margin:12px 0 0;padding:0 0 0 18px}

/* steps */
.steps{padding:30px 18px;text-align:center}
.steps h2{margin:0 0 12px}
.stepgrid{display:grid;grid-template-columns:1fr;gap:12px;max-width:1000px;margin:0 auto}
@media(min-width:900px){.stepgrid{grid-template-columns:repeat(3,1fr)}}
.step{background:var(--glass);border:1px solid #1e2738;border-radius:16px;padding:18px;text-align:left}
.step span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#111;font-weight:700;margin-bottom:8px}

/* contact */
.contact{padding:30px 18px;text-align:center}
.lead-form{display:grid;gap:10px;max-width:540px;margin:0 auto}
.lead-form input,.lead-form select,.lead-form textarea{padding:12px;border-radius:12px;border:1px solid #2a3348;background:#0f1726;color:var(--fg)}
.lead-form button{padding:12px;border-radius:12px;background:var(--accent);border:none;font-weight:700}
.small{color:var(--muted)}

/* footer */
.footer{color:var(--muted);text-align:center;padding:26px 10px;border-top:1px solid #1e2738;margin-top:18px}

.lead-form input,
.lead-form select,
.lead-form textarea{
  font-size:16px; /* keep or add if missing */
}

/* --- Mobile tweaks --- */
@media (max-width: 600px){
  /* simplify the header on small screens */
  .nav nav{display:none}
  .brand span{font-size:18px}

  /* hero: shorter, larger text sizing fit */
  .hero{height:60vh;min-height:380px}
  .hero h1{font-size:28px}
  .hero p{font-size:15px}

  /* buttons: full-width for easy tapping */
  .hero .btn{
    display:block;
    width:100%;
    max-width:320px;
    margin:8px auto;
  }

  /* tighter padding */
  .grid{padding:20px 12px}
  .lead-form{padding:0 8px}
}

@media (max-width: 600px) {
  .lead-table { display: block; }
  .lead-table table, .lead-table thead, .lead-table tbody, .lead-table th, .lead-table td, .lead-table tr { display: block; width: 100%; }
  .lead-table tr { margin-bottom: 15px; background: var(--glass); border: 1px solid #1e2738; border-radius: 12px; padding: 12px; }
  .lead-table td { border: none; padding: 6px 0; }
  .lead-table td:before {
    content: attr(data-label);
    font-weight: bold;
    display: block;
    margin-bottom: 4px;
    color: var(--accent);
  }
}