:root{
  --bg:#0d1117; --panel:#161b22; --muted:#8b949e; --text:#e6edf3; --accent:#23c483; --line:#262b33;
  --radius:16px; --radius-sm:12px; --shadow:0 8px 24px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--text); background:linear-gradient(180deg,#0b1016,#0d1117 35%);}
a{color:inherit; text-decoration:none}
.container{max-width:1100px; margin:0 auto; padding:0 20px}

/* Header / Nav */
.site-header{position:sticky; top:0; z-index:50; background:rgba(13,17,23,.7); backdrop-filter:saturate(1.2) blur(8px); border-bottom:1px solid var(--line)}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; height:64px}
.brand{font-weight:800; letter-spacing:.3px; font-size:1.2rem}
.nav-toggle{display:none; font-size:1.3rem; background:none; border:1px solid var(--line); border-radius:10px; padding:.4rem .6rem; color:var(--text)}
.nav ul{display:flex; gap:8px; list-style:none; padding:0; margin:0}
.nav a, .nav button.sub-toggle{padding:.55rem .8rem; border-radius:10px; border:1px solid transparent; background:none; color:var(--text); font:inherit}
.nav a:hover, .nav button.sub-toggle:hover{background:var(--panel); border-color:var(--line)}
.nav .btn{border:1px solid var(--accent)}
.has-sub{position:relative}
.has-sub .sub{position:absolute; top:calc(100% + 8px); left:0; display:none; min-width:220px; background:var(--panel); border:1px solid var(--line); border-radius:var(--radius-sm); box-shadow:var(--shadow); padding:8px}
.has-sub .sub a{display:block; padding:.6rem .8rem}
.has-sub.open .sub{display:block}

/* Hero */
.hero{padding:72px 0 24px; border-bottom:1px solid var(--line); background:
 radial-gradient(1200px 300px at 50% -40%, rgba(35,196,131,.25), rgba(35,196,131,0) 60%);}
.hero h1{font-size:clamp(1.8rem,3.6vw,2.6rem); line-height:1.2; margin:0 0 .8rem}
.hero .accent{color:var(--accent)}
.lead{color:var(--muted); max-width:720px}
.hero-cta{display:flex; gap:12px; margin-top:18px}
.btn{display:inline-block; padding:.65rem 1rem; border-radius:12px; border:1px solid var(--line); background:var(--panel)}
.btn-primary{border-color:var(--accent); background:linear-gradient(180deg,#2ee6a4,#23c483); color:#0b1215; font-weight:700}
.btn-ghost{background:none}

/* Cards */
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; padding:36px 0}
.card{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:8px}
.card h2{margin:.2rem 0 .3rem; font-size:1.15rem}
.card p{margin:0; color:var(--muted)}
.tag{display:inline-block; font-size:.72rem; color:#0b1215; background:var(--accent); padding:.2rem .55rem; border-radius:999px; font-weight:700}
.link{margin-top:auto; color:var(--accent)}

/* Contact */
.contact{padding:42px 0; border-top:1px solid var(--line)}
.contact h2{margin-top:0}
.form{background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow); max-width:820px}
.form .grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
label{display:block; font-size:.9rem; color:var(--text); margin-bottom:10px}
input, textarea{width:100%; margin-top:6px; background:#0f141b; border:1px solid #222a34; color:var(--text); padding:.7rem .8rem; border-radius:12px; outline:none}
input:focus, textarea:focus{border-color:var(--accent); box-shadow:0 0 0 3px rgba(35,196,131,.15)}

/* Footer */
.site-footer{border-top:1px solid var(--line); padding:18px 0 30px; color:var(--muted)}
.footer-wrap{display:flex; align-items:center; justify-content:space-between}
.footer-nav{display:flex; gap:12px}

/* Responsive */
@media (max-width: 980px){ .cards{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 680px){
  .nav-toggle{display:block}
  .nav{display:none; position:absolute; right:20px; top:64px; background:var(--panel); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow)}
  .nav.open{display:block}
  .nav ul{flex-direction:column; width:240px; padding:8px}
  .cards{grid-template-columns:1fr}
  .form .grid{grid-template-columns:1fr}
}
