/* styles.css - modern purple-themed responsive styles */

/* Reset & base */
:root{
  --bg: #0f0b1a;
  --card: #141026;
  --muted: #bfb9d6;
  --accent: #6e3cff;
  --accent-2: #a885ff;
  --glass: rgba(255,255,255,0.03);
  --radius: 12px;
  --container: 1100px;
  --max-width: 1200px;
  --txt: #f6f5ff;
  --gap: 1.25rem;
  --shadow: 0 6px 18px rgba(13,8,30,0.55);
  font-family: Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--txt);
  background: linear-gradient(180deg,#080612 0%, #0f0b1a 60%);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
  font-size:16px;
}

/* container */
.container{
  width:94%;
  max-width:var(--container);
  margin:0 auto;
  padding:2rem 0;
}

/* header */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  backdrop-filter: blur(6px);
  background: linear-gradient(180deg, rgba(15,11,26,0.85), rgba(15,11,26,0.55));
  border-bottom:1px solid rgba(255,255,255,0.03);
}
.header-inner{
  display:flex;
  align-items:center;
  gap:1rem;
  justify-content:space-between;
  padding:0.75rem 0;
}

/* brand */
.brand{
  display:flex;
  align-items:center;
  gap:0.75rem;
  text-decoration:none;
  color:var(--txt);
}
.brand-logo{
  width:44px;
  height:44px;
  border-radius:8px;
  object-fit:cover;
  box-shadow:var(--shadow);
}
.brand-text{font-weight:700}

/* nav */
.site-nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:1rem;
}
.site-nav a{
  display:inline-block;
  color:var(--muted);
  text-decoration:none;
  padding:0.5rem 0.6rem;
  border-radius:8px;
}
.site-nav a:hover, .site-nav a:focus{background:var(--glass); color:var(--txt); outline:none}

/* nav toggle - mobile */
.nav-toggle{
  background:none;
  border:0;
  display:none;
  padding:0.25rem;
  cursor:pointer;
  color:var(--txt);
}
.hamburger{width:28px;height:2px;background:var(--txt);display:block;position:relative;border-radius:2px}
.hamburger::after, .hamburger::before{content:"";position:absolute;left:0;right:0;height:2px;background:var(--txt);border-radius:2px}
.hamburger::before{top:-8px}
.hamburger::after{bottom:-8px}

/* hero */
.hero{padding:3.25rem 0}
.hero-grid{display:grid;grid-template-columns:1fr 480px;gap:2rem;align-items:center}
.hero-content h1{font-size:2.1rem;margin:0 0 .5rem}
.lead{color:var(--muted);margin:0 0 1rem}
.cta-row .btn{margin-right:0.5rem}
.quick-contact{list-style:none;padding:0;margin:1rem 0 0;color:var(--muted)}
.quick-contact a{color:var(--accent-2)}

/* hero media */
.device-mock{background:linear-gradient(135deg,var(--accent),var(--accent-2));padding:0.75rem;border-radius:16px;box-shadow:var(--shadow)}
.device-mock img{width:100%;height:auto;border-radius:10px;display:block}

/* sections */
.section{padding:2.25rem 0}
.section h2{margin:0 0 0.5rem;font-size:1.5rem}
.section-sub{color:var(--muted);margin-bottom:1rem}

/* stats */
.stats-grid{display:flex;gap:1rem;margin-top:1rem;flex-wrap:wrap}
.stat{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:1rem;border-radius:12px;min-width:120px;box-shadow:var(--shadow)}
.stat strong{display:block;font-size:1.25rem;color:var(--accent-2)}
.stat span{color:var(--muted);font-size:.95rem}

/* cards */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{background:var(--card);padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,0.03);box-shadow:var(--shadow)}
.card h3{margin-top:0}
.card-features{list-style:none;padding-left:0;margin:0.75rem 0 0;color:var(--muted);font-size:.95rem}

/* portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1rem}
.project-card{background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent);border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.03)}
.project-card img{width:100%;height:auto;display:block}
.project-card figcaption{padding:0.75rem}

/* testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
blockquote{background:var(--glass);padding:1rem;border-radius:12px;border-left:4px solid var(--accent);color:var(--muted);margin:0}
blockquote cite{display:block;margin-top:0.5rem;color:var(--muted);font-size:.95rem}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 420px;gap:2rem;align-items:start}
.contact-list{list-style:none;padding:0;color:var(--muted)}
.contact-form{background:var(--card);padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,0.03)}
.contact-form label{display:block;margin-top:0.5rem;font-weight:600}
.contact-form input, .contact-form textarea, .contact-form select{
  margin-top:0.35rem;padding:0.6rem;border-radius:8px;border:1px solid rgba(255,255,255,0.06);
  background:transparent;color:var(--txt);width:100%;
}
.form-row{display:flex;gap:0.5rem;margin-top:1rem}
.form-feedback{margin-top:0.75rem;color:var(--accent-2)}

/* buttons */
.btn{
  display:inline-block;padding:0.6rem 1rem;border-radius:10px;border:0;text-decoration:none;font-weight:700;cursor:pointer;
}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2));color:white;box-shadow:0 8px 30px rgba(110,60,255,0.18)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--txt)}

/* footer */
.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:1.5rem 0;margin-top:2rem;background:transparent}
.footer-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}
.footer-links{list-style:none;padding:0;margin:0;display:flex;gap:0.75rem}
.footer-links a{color:var(--muted);text-decoration:none}

/* responsive */
@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr; text-align:center}
  .device-mock{margin:0 auto;max-width:420px}
  .contact-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
}

@media (max-width:760px){
  .nav-toggle{display:block}
  .site-nav{position:absolute;right:1rem;top:74px;background:linear-gradient(180deg,rgba(15,11,26,0.98),rgba(15,11,26,0.98));padding:1rem;border-radius:12px;display:none}
  .site-nav.open{display:block}
  .site-nav ul{flex-direction:column}
}
