/* ====== Indigo Theme Stylesheet with Light Mode ====== */
:root {
  --bg: #0b0d1a;
  --panel: #16172b;
  --panel-2: #1d1e36;
  --text: #f0f1ff;
  --muted: #9ba1cc;
  --brand: #4f46e5;
  --brand-2: #7c3aed;
  --accent: #818cf8;
  --shadow: 0 10px 25px rgba(0,0,0,.4);
  --radius: 18px;
  --radius-sm: 12px;
}

body {
  margin:0;
  font: 16px/1.6 system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans";
  background: radial-gradient(1200px 800px at 20% -5%, var(--panel-2), transparent 50%),
              radial-gradient(1600px 1000px at 110% 20%, rgba(124,58,237,.15), transparent 40%),
              var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.wrap { width: min(1120px, 92vw); margin: 0 auto; }

header {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(8px);
  background: rgba(11,13,26,.85);
  border-bottom: 1px solid rgba(129,140,248,.2);
}

.nav { display:flex; align-items:center; justify-content:space-between; padding:14px 0; }
.brand { display:flex; align-items:center; gap:12px; }
.logo {
  width:36px; height:36px; border-radius:12px;
  background:linear-gradient(135deg, var(--brand), var(--brand-2));
  color:white; font-weight:700; display:grid; place-items:center;
}
.brand span {
  font-weight: 700;
  font-size: 2rem;   /* larger text */
  letter-spacing: 0.5px;
}

.links { display:flex; gap:14px; flex-wrap:wrap; }
.links a {
  padding:8px 12px; color: var(--muted);
  border-radius: 10px; transition: .2s;
}
.links a:hover { color: var(--text); background: rgba(129,140,248,.15); }

.btn {
  display:inline-block; padding:10px 14px; border-radius:12px;
  font-weight:600; border:1px solid transparent;
  transition:.2s;
}
.btn.primary { background:linear-gradient(135deg, var(--brand), var(--brand-2)); color:#fff; }
.btn.ghost { border-color: rgba(124,58,237,.4); color: var(--text); font-size:.8rem; padding:4px 8px; }
.btn.primary:hover { opacity:0.9; }

/* ====== Sections ====== */
section { padding:36px 0; }
.section-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.section-title p { color: var(--muted); font-size: 1.2rem;}

.grid { display:grid; grid-template-columns: repeat(3,1fr); gap:18px; }
.card {
  background:var(--panel); border:1px solid rgba(124,58,237,.2);
  border-radius:var(--radius-sm); overflow:hidden;
  box-shadow:var(--shadow); display:flex; flex-direction:column;
}
.thumb {
  aspect-ratio: 16/9;
  background:linear-gradient(180deg, rgba(79,70,229,.25), rgba(124,58,237,.1));
  display:grid; place-items:center;
}
.thumb span { color: var(--muted); font-size:.9rem; }
.card-body { padding:14px; display:flex; flex-direction:column; gap:10px; }
.tags { display:flex; gap:8px; flex-wrap:wrap; }
.tag {
  font-size:.8rem; color:var(--muted);
  background:rgba(79,70,229,.15); border:1px solid rgba(124,58,237,.3);
  padding:4px 8px; border-radius:999px;
}

.about { display:grid; grid-template-columns: 1fr 1fr; gap:18px; }
.panel {
  background:var(--panel); border:1px solid rgba(124,58,237,.2);
  border-radius:var(--radius); padding:18px; box-shadow:var(--shadow);
}
.skills { display:flex; flex-wrap:wrap; gap:10px; }
.skill {
  padding:8px 10px; border:1px dashed rgba(124,58,237,.4);
  border-radius:12px; font-size:.95rem;
}

.contact { display:grid; grid-template-columns: 2fr 1fr; gap:18px; }
form { display:grid; gap:10px; }
label { font-weight:600; }
input, textarea {
  width:95%; padding:12px;
  border-radius:12px; border:1px solid rgba(124,58,237,.3);
  background:var(--panel-2); color:var(--text);
}
textarea { min-height:140px; resize:vertical; }

footer { padding:28px 0 40px; color:var(--muted); text-align:center; }

/* ====== Light Mode Variant ====== */
@media (prefers-color-scheme: light) {
  :root {
    --bg: #f9f9fb;
    --panel: #ffffff;
    --panel-2: #f1f2fa;
    --text: #1c1c2b;
    --muted: #4f4f72;
    --brand: #4338ca;
    --brand-2: #6d28d9;
    --accent: #6366f1;
    --shadow: 0 6px 20px rgba(0,0,0,.08);
  }
  header { background: rgba(255,255,255,.85); border-bottom:1px solid rgba(0,0,0,.05); }
  .logo { color: #fff; }
  .links a:hover { background: rgba(99,102,241,.1); }
}

/* ====== Lightbox ====== */
.lightbox {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.9);
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 20px;
}

.lightbox-content {
  max-width: 90%;
  max-height: 80%;
  border-radius: 12px;
  box-shadow: var(--shadow);
}

.lightbox .close {
  position: absolute;
  top: 20px; right: 30px;
  color: var(--text);
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
}

#caption {
  margin-top: 12px;
  color: var(--muted);
  text-align: center;
}

/* ====== Gallery ====== */
#gallery .grid {
  grid-template-columns: repeat(2, 1fr); /* 2 per row */
  gap: 24px;
}

#gallery .card {
  border-radius: var(--radius);
}

#gallery .thumb {
  aspect-ratio: 4 / 3; /* larger aspect ratio */
}

#gallery .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-sm);
}

#gallery .card-body {
  padding: 12px 14px;
}

#gallery h3 {
  font-size: 1.1rem;
}

#gallery p {
  font-size: 0.9rem;
  color: var(--muted);
}

/* ====== Responsive ====== */
@media (max-width:960px) {
  .grid { grid-template-columns:1fr 1fr; }
  .about { grid-template-columns:1fr; }
  .contact { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .grid { grid-template-columns:1fr; }
}
