:root{
  --bg:#12161a;
  --panel:#191f25;
  --panel-border:rgba(79,195,217,0.14);
  --accent:#4fc3d9;
  --accent-dim:#2f7c8c;
  --gold:#e8a34d;
  --text:#eef1f3;
  --subtext:#9aa7ae;
  --radius:10px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'IBM Plex Sans',sans-serif;
  line-height:1.6;
}
h1,h2,h3{
  font-family:'Unbounded',sans-serif;
  font-weight:700;
  line-height:1.25;
  margin:0 0 16px;
}
a{color:var(--accent);text-decoration:none;}
.container{max-width:1080px;margin:0 auto;padding:0 24px;}

/* Nav */
nav.site-nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 0;border-bottom:1px solid var(--panel-border);
}
nav.site-nav .logo{display:flex;align-items:center;gap:10px;font-family:'Unbounded',sans-serif;font-weight:700;font-size:18px;color:var(--text);}
nav.site-nav .logo img{height:32px;width:auto;}
nav.site-nav .links{display:flex;gap:28px;font-size:14px;letter-spacing:.02em;}
nav.site-nav .links a{color:var(--subtext);}
nav.site-nav .links a:hover{color:var(--text);}
nav.site-nav .links a.cta{
  color:var(--bg);background:var(--gold);padding:9px 18px;border-radius:6px;font-weight:600;
}

/* Hero */
.hero{padding:90px 0 70px;text-align:left;}
.hero h1{font-size:44px;max-width:680px;}
.hero p.lead{font-size:18px;color:var(--subtext);max-width:560px;margin-bottom:32px;}
.hero .btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:13px 26px;border-radius:6px;font-weight:600;font-size:15px;
  font-family:'IBM Plex Sans',sans-serif;
}
.btn-primary{background:var(--gold);color:var(--bg);}
.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--panel-border);}

/* Section labels */
.section-label{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--accent);margin-bottom:10px;
}

/* Cards grid */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:24px;}
@media(max-width:720px){.grid{grid-template-columns:1fr;}}
.card{
  background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);
  padding:26px;
}
.card h3{font-size:18px;margin-bottom:8px;}
.card p{color:var(--subtext);font-size:14.5px;margin:0;}

/* Sections */
section{padding:60px 0;}
section.alt{background:var(--panel);border-top:1px solid var(--panel-border);border-bottom:1px solid var(--panel-border);}

/* Numbered steps */
.steps{counter-reset:step;margin-top:28px;}
.step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--panel-border);}
.step:last-child{border-bottom:none;}
.step .num{
  counter-increment:step;font-family:'Unbounded',sans-serif;font-weight:700;color:var(--accent);
  font-size:22px;min-width:36px;
}
.step .num::before{content:counter(step, decimal-leading-zero);}
.step h4{margin:0 0 4px;font-size:16px;}
.step p{margin:0;color:var(--subtext);font-size:14.5px;}

/* Form */
form.contact-form{max-width:520px;margin-top:24px;display:flex;flex-direction:column;gap:14px;}
form.contact-form input,form.contact-form textarea{
  background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;
  padding:13px 15px;color:var(--text);font-family:inherit;font-size:14.5px;
}
form.contact-form textarea{min-height:130px;resize:vertical;}
form.contact-form button{
  align-self:flex-start;background:var(--gold);color:var(--bg);border:none;
  padding:13px 28px;border-radius:6px;font-weight:600;font-size:15px;cursor:pointer;
}

footer{padding:34px 0;text-align:center;color:var(--subtext);font-size:13px;border-top:1px solid var(--panel-border);}


/* Hamburger nav */
.menu-wrap{ position:fixed; top:1.2rem; right:1.2rem; z-index:20; }
.menu-btn{
  width:44px; height:44px; background:var(--panel); border:1px solid var(--panel-border);
  border-radius:10px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  cursor:pointer;
}
.menu-btn span{ width:20px; height:2px; background:var(--text); display:block; }
.menu-dropdown{
  position:absolute; top:54px; right:0; background:var(--panel); border:1px solid var(--panel-border);
  border-radius:10px; padding:0.6rem; min-width:170px; display:none; flex-direction:column;
  font-family:'IBM Plex Mono', monospace; font-size:0.8rem; letter-spacing:0.1em; text-transform:uppercase;
}
.menu-dropdown.open{ display:flex; }
.menu-dropdown a{ padding:0.7rem 0.9rem; color:var(--subtext); border-radius:6px; }
.menu-dropdown a:hover, .menu-dropdown a.active{ color:var(--accent); background:rgba(79,195,217,0.08); }
.simple-header{ display:flex; align-items:center; gap:12px; padding:22px 0; border-bottom:1px solid var(--panel-border); }
.simple-header img{ height:44px; width:auto; }
.simple-header span{ font-family:'Unbounded',sans-serif; font-weight:700; font-size:18px; }
