:root{
  --bg: #0f1724;
  --card: #0b1220;
  --muted: #9aa4b2;
  --accent: #6d9bf6;
  --accent-2: #2dd4bf;
  --text: #e6eef8;
  --glass: rgba(255,255,255,0.04);

  --max-width: 1100px;
  --radius: 12px;
  --gap: 1.25rem;
  --font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font-sans);
  background: linear-gradient(180deg,#071122 0%, #07162a 100%);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
}

/* Layout */
.container{
  width:90%;
  max-width:var(--max-width);
  margin:0 auto;
}

/* Accessibility skip link */
.skip {
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}
.skip:focus { 
  left:0; top:8px; width:auto; height:auto; padding:8px 12px; background:#fff; color:#000; z-index:9999;
}

/* Header */
.site-header{
  position:sticky;
  top:0;
  backdrop-filter: blur(6px);
  background: linear-gradient(180deg, rgba(7,10,20,0.6), rgba(7,10,20,0.4));
  border-bottom: 1px solid rgba(255,255,255,0.03);
  z-index:50;
}
.header-inner{
  display:flex;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
  padding:1rem 0;
}
.logo{font-weight:800; letter-spacing:1px; color:var(--text); text-decoration:none; font-size:1.1rem;}
.nav ul{list-style:none; margin:0; padding:0; display:flex; gap:1rem; align-items:center;}
.nav a{color:var(--muted); text-decoration:none; padding:8px; border-radius:8px;}
.nav a:hover{color:var(--text); background:rgba(255,255,255,0.02)}

/* Header actions */
.header-actions{display:flex; gap:.5rem; align-items:center;}
#themeToggle, #burger { background:transparent; border:0; color:var(--muted); font-size:1.05rem; cursor:pointer; padding:8px; border-radius:8px;}
#burger { display:none; }

/* Hero */
.hero{padding:4rem 0 2rem;}
.hero-inner{display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:center;}
.hero-copy h1{font-size:2.1rem; margin:0 0 .6rem; line-height:1.05;}
.hero-copy p{color:var(--muted); margin:0 0 1.2rem;}
.hero-cta .btn{margin-right:.6rem}
.card{background:var(--card); border-radius:var(--radius); padding:0; overflow:hidden; box-shadow:0 10px 30px rgba(2,6,23,0.6)}
.card img{display:block; width:100%; height:auto;}
.card-caption{padding:.75rem .9rem; color:var(--muted); font-size:.9rem}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.6rem .95rem; border-radius:10px; text-decoration:none;
  border:1px solid rgba(255,255,255,0.04); color:var(--text); background:transparent; cursor:pointer;
}
.btn.primary{background:linear-gradient(90deg,var(--accent),var(--accent-2)); color:#061524; font-weight:600; border:0}
.btn.ghost{background:transparent; color:var(--muted); border:1px solid rgba(255,255,255,0.03)}

/* Sections */
.section{padding:3rem 0;}
.section.alt{background:linear-gradient(180deg, rgba(255,255,255,0.01), transparent)}
.section-title{font-size:1.35rem; margin:0 0 .3rem}
.section-sub{color:var(--muted); margin:0 0 1.1rem}

/* Grid */
.grid{display:grid; gap:1rem}
.services-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.service{background:var(--card); padding:1.1rem; border-radius:12px; box-shadow:0 6px 18px rgba(2,6,23,0.55)}
.service h3{margin:0 0 .5rem}
.muted{color:var(--muted)}

/* Portfolio */
.portfolio-controls{display:flex; gap:.6rem; align-items:center; margin-bottom:1rem}
.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.portfolio-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent); border-radius:12px; overflow:hidden; transition:transform .16s ease; cursor:pointer}
.portfolio-card img{width:100%; height:160px; object-fit:cover; display:block}
.portfolio-body{padding:.8rem}
.portfolio-tags{margin-top:.6rem; display:flex; gap:.4rem; flex-wrap:wrap}
.portfolio-tags span{background:rgba(255,255,255,0.03); padding:.28rem .5rem; border-radius:999px; font-size:.8rem; color:var(--muted)}

/* Blog */
.blog-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.blog-card{display:flex; flex-direction:column; gap:.6rem; background:var(--card); border-radius:12px; overflow:hidden}
.blog-card img{height:150px; width:100%; object-fit:cover}
.blog-body{padding:.9rem}

/* Contact */
.contact-inner{display:grid; grid-template-columns: 1fr 1fr; gap:2rem; align-items:start}
.contact-form label{display:block; margin-bottom:.9rem}
.contact-form input, .contact-form textarea{width:100%; padding:.65rem; border-radius:8px; border:1px solid rgba(255,255,255,0.04); background:transparent; color:var(--text)}
.form-actions{display:flex; gap:.6rem; margin-top:.6rem}
.form-notice{margin-top:.8rem; color:var(--accent-2)}

/* Footer */
.site-footer{padding:1rem 0; border-top:1px solid rgba(255,255,255,0.02); color:var(--muted)}
.footer-inner{display:flex; justify-content:space-between; align-items:center; gap:1rem}

/* Small screens */
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr; text-align:center}
  .contact-inner{grid-template-columns:1fr}
  #burger{display:inline-block}
  .nav{display:none}
  .header-inner{align-items:center}
  .portfolio-grid, .blog-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
}

/* Simple hover effects */
.portfolio-card:hover{transform:translateY(-6px)}

/* Light theme override (for demo) */
.theme-light{
  --bg: #f7fbff;
  --card: #ffffff;
  --muted: #556677;
  --accent: #2563eb;
  --accent-2: #06b6d4;
  --text: #0b1220;
  background: linear-gradient(180deg,#f6fbff 0%, #eef6ff 100%);
  color:var(--text);
}
body.theme-light .site-header{background:rgba(255,255,255,0.6); box-shadow:0 4px 12px rgba(2,6,23,0.04)}
