:root{
  --bg:#050406;
  --card:#0b0a0d;
  --neon1: #9b5cff; /* gradient start */
  --neon2: #6c2cff; /* gradient end */
  --muted: #9aa0ad;
  --glass: rgba(255,255,255,0.03);
  --radius: 12px;
  --container: 1100px;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: linear-gradient(180deg,var(--bg),#000);
  color: #e8e8ee;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  font-size:16px;
}

/* Layout */
.container{
  width: calc(100% - 40px);
  max-width: var(--container);
  margin: 0 auto;
  padding: 40px 20px;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background: linear-gradient(180deg, rgba(5,4,6,0.6), rgba(5,4,6,0.2));
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* Logo */
.logo{
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
}
.logo-ico{display:block}
.logo-text .wordmark{
  font-family: "Playfair Display", serif;
  font-weight:600;
  letter-spacing:0.12em;
  color:transparent;
  background: linear-gradient(90deg,var(--neon1),var(--neon2));
  -webkit-background-clip: text;
  background-clip: text;
  font-size:18px;
  text-shadow: 0 0 12px rgba(139, 71, 255, 0.25);
}

/* Navigation */
.nav{display:flex; gap:18px; align-items:center}
.nav a{color:var(--muted); text-decoration:none; font-weight:500}
.btn-outline{
  padding:8px 14px;
  border-radius:8px;
  border:1px solid rgba(155,92,255,0.18);
  color:var(--neon1);
  text-decoration:none;
  font-weight:600;
}

/* Hero */
.hero{
  padding:72px 0;
}
.hero-inner{
  display:grid;
  grid-template-columns: 1fr 360px;
  gap:36px;
  align-items:start;
}
.hero-title{
  font-size:36px;
  margin:0 0 16px;
  font-weight:700;
  letter-spacing: -0.02em;
  color: #f6f6ff;
}
.hero-sub{
  margin:0 0 22px;
  color:var(--muted);
  max-width:60ch;
}
.hero-cta{display:flex; gap:12px; margin-bottom:18px}
.btn{
  background: linear-gradient(90deg,var(--neon1),var(--neon2));
  color:#fff;
  padding:12px 18px;
  border-radius:10px;
  text-decoration:none;
  font-weight:600;
  border:none;
  cursor:pointer;
  box-shadow: 0 8px 30px rgba(108,44,255,0.15);
}
.btn.ghost, .btn.ghost:visited{
  background:transparent;
  border:1px solid rgba(255,255,255,0.06);
  color:var(--muted);
}

/* feature list */
.feature-list{
  margin:18px 0 0;
  padding:0;
  list-style:none;
  color:var(--muted);
  display:grid;
  gap:8px;
}

/* Card on right */
.card{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:14px;
  padding:18px;
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 8px 30px rgba(0,0,0,0.6);
}
.card-header{font-size:12px;color:var(--muted); margin-bottom:10px}
.card-body h3{margin:0 0 8px}
.card-body p{margin:0 0 12px; color:var(--muted)}

/* Sections */
.section{padding:64px 0}
.section.alt{background:linear-gradient(180deg, rgba(10,8,12,0.5), transparent)}
.section-title{font-size:20px;margin:0 0 8px;color:#fff}
.lead{color:var(--muted); margin-bottom:18px}

/* three columns */
.three-cols{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:20px;
  margin-top:18px;
}
.col h4{margin:0 0 8px}

/* services grid */
.services-grid{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:18px;
  margin-top:22px;
}
.service{
  background:var(--glass);
  border-radius:12px;
  padding:18px;
  border:1px solid rgba(255,255,255,0.02);
}

/* projects */
.projects{display:grid; gap:12px; margin-top:16px}
.project{padding:12px;border-radius:10px;background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.02)}

/* contact */
.contact-inner{display:grid; grid-template-columns: 1fr 420px; gap:28px; align-items:start}
.contact-form{background:var(--card); border-radius:12px; padding:18px; border:1px solid rgba(255,255,255,0.03)}
.contact-form label{display:block; margin-bottom:12px; font-size:14px; color:var(--muted)}
.contact-form input, .contact-form textarea{
  width:100%;
  margin-top:6px;
  padding:10px 12px;
  border-radius:8px;
  background:rgba(255,255,255,0.02);
  border:1px solid rgba(255,255,255,0.03);
  color:#fff;
  outline:none;
  transition: box-shadow .15s, border-color .12s;
}
.contact-form input:focus, .contact-form textarea:focus{
  box-shadow: 0 6px 20px rgba(107,41,255,0.12);
  border-color: rgba(155,92,255,0.6);
}
.form-row{display:flex; gap:10px; margin-top:8px}
.form-msg{margin-top:10px; color:var(--muted); font-size:14px}

/* Footer */
.site-footer{padding:24px 0; border-top:1px solid rgba(255,255,255,0.03)}
.site-footer p{margin:0;color:var(--muted)}

/* Responsive */
@media (max-width: 980px){
  .hero-inner{grid-template-columns:1fr; }
  .contact-inner{grid-template-columns:1fr}
  .three-cols{grid-template-columns:1fr}
  .services-grid{grid-template-columns:1fr}
}

/* small niceties */
a.link{color:var(--neon1); text-decoration:none; font-weight:600}