:root{
  --bg:#0f1115;
  --card:#171a21;
  --line:#262b36;
  --text:#e7eaf0;
  --muted:#9aa3b2;
  --accent:#4f8cff;
  --ok:#3ecf8e;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}
.container{max-width:860px;margin:0 auto;padding:0 20px}
header{padding:28px 0;border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:14px}
.logo .mark{
  width:44px;height:44px;border-radius:10px;
  background:linear-gradient(135deg,var(--accent),#7b5cff);
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:20px;color:#fff;
}
.logo .name{font-size:20px;font-weight:700}
nav a{color:var(--muted);text-decoration:none;margin-left:20px;font-size:15px}
nav a:hover{color:var(--text)}
.top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}

.hero{padding:48px 0 24px}
.hero h1{font-size:34px;margin:0 0 12px}
.hero p{color:var(--muted);font-size:18px;max-width:640px}

h2{font-size:24px;margin:40px 0 18px}
.services{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.card h3{margin:0 0 8px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:15px}

footer{margin-top:56px;border-top:1px solid var(--line);padding:28px 0 40px;color:var(--muted);font-size:14px}
footer .contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px 24px}
footer a{color:var(--accent);text-decoration:none}
footer b{color:var(--text)}

.form-wrap{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px;margin-top:24px}
label{display:block;margin:16px 0 6px;font-size:14px;color:var(--muted)}
input,select,textarea{
  width:100%;padding:12px 14px;border-radius:10px;
  border:1px solid var(--line);background:#0f1218;color:var(--text);
  font-size:15px;font-family:inherit;
}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sum{margin-top:18px;padding:14px 16px;border-radius:10px;background:#12241c;border:1px solid #1e3d2e;color:var(--ok);font-size:18px;font-weight:600}
button{margin-top:22px;width:100%;padding:14px;border:0;border-radius:10px;background:var(--accent);color:#fff;font-size:16px;font-weight:600;cursor:pointer}
button:hover{filter:brightness(1.08)}
button:disabled{opacity:.6;cursor:default}
.hint{color:var(--muted);font-size:13px;margin-top:8px}

.invoice{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px;margin-top:24px}
.badge{display:inline-flex;align-items:center;gap:8px;background:#12241c;border:1px solid #1e3d2e;color:var(--ok);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:18px}
.inv-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);gap:20px}
.inv-row:last-child{border-bottom:0}
.inv-row .k{color:var(--muted)}
.inv-row .v{text-align:right;font-weight:500}
.inv-total{font-size:22px;font-weight:700;color:var(--ok)}
@media(max-width:560px){.row{grid-template-columns:1fr}.hero h1{font-size:28px}}

.cat-icon{
  width:26px;height:26px;
  color:var(--accent);
  padding:11px;
  background:rgba(79,140,255,.12);
  border:1px solid rgba(79,140,255,.25);
  border-radius:12px;
  box-sizing:content-box;
  margin-bottom:16px;
  display:block;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.card:hover .cat-icon{
  transform:translateY(-3px);
  background:rgba(79,140,255,.2);
  border-color:rgba(79,140,255,.45);
}