:root{
  --bg:#0f1724;
  --card:#0b1220;
  --muted:#9aa4b2;
  --text:#e6eef6;
  --accent:#7cdbff;
  --glass: rgba(255,255,255,0.04);
  --radius:12px;
  --sidebar-width:300px;
}

/* Reset & base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial;
  background: radial-gradient(1200px 600px at 10% 10%, rgba(124,219,255,0.04), transparent),
              radial-gradient(1000px 500px at 90% 90%, rgba(140,90,255,0.03), transparent),
              var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.45;
}

/* Hero */
.hero{
  position:relative;
  border-radius:12px;
  overflow:hidden;
  height:min(60vh,520px);
  display:flex;
  align-items:center;
  align-content:center;
  margin-bottom:20px;
}

.hero__bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center center;
  transform:scale(1.03);
  will-change:transform,background-position;
  transition:transform 1.2s ease;
  animation: hero-zoom 20s ease-in-out infinite alternate;
  filter:contrast(0.98) saturate(0.95);
}

@keyframes hero-zoom{
  from { transform: scale(1.02) translateY(0); }
  to   { transform: scale(1.08) translateY(-4%); }
}

/* black overlay */
.hero__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.3) 60%);
  pointer-events:none;
}

/* content */
.hero__content{
  position:relative;
  z-index:3;
  padding:36px;
  max-width:820px;
  color: #fff;
  margin-left:24px;
}

.hero__title{
  margin:0 0 8px 0;
  font-size: clamp(1.6rem, 3.2vw, 2.6rem);
  letter-spacing:-0.02em;
  font-weight:700;
}

.hero__subtitle{
  margin:0;
  color: rgba(255,255,255,0.9);
  font-size: clamp(.95rem, 1.6vw, 1.1rem);
}
.hero__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}



/* reveal override for hero */
.hero .reveal{opacity:0; transform:translateY(8px); transition:opacity .6s ease, transform .6s ease}
.hero .reveal.show{opacity:1; transform:none}

/* smaller screens */
@media (max-width:900px){
  .hero{height:40vh;border-radius:0}
  .hero__content{padding:20px;margin-left:12px}
}
/* Layout */
.site{display:flex;min-height:100vh}
.sidebar{
  width:var(--sidebar-width);
  padding:28px;
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-right:1px solid rgba(255,255,255,0.03);
  backdrop-filter: blur(6px);
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
}
.content{flex:1;padding:40px;max-width:960px;margin:0 auto}

/* Profile */
.profile{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.avatar{
  width:84px;height:84px;border-radius:14px;object-fit:cover;border:1px solid rgba(255,255,255,0.06);
  box-shadow: 0 6px 24px rgba(2,6,23,0.6);
}
.name{margin:0;font-size:1.1rem}
.role{margin:0;color:var(--muted);font-size:.88rem}

/* Navigation */
.nav ul{list-style:none;padding:10px 0;margin:8px 0 18px 0}
.nav li{margin:8px 0}
.nav a{
  display:inline-block;padding:8px 10px;border-radius:8px;color:var(--text);text-decoration:none;
  transition:all .22s ease;
  position:relative;
}
.nav a::after{
  content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:linear-gradient(90deg,var(--accent),#a78bfa);transition:width .25s ease;border-radius:2px;
}
.nav a:hover{transform:translateX(6px)}
.nav a:hover::after{width:28px}

/* Card / page */
.page-header h1{margin:0 0 14px 0;font-weight:600}
.page-body{
  background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  padding:26px;border-radius:var(--radius);border:1px solid rgba(255,255,255,0.03);
  box-shadow: 0 8px 30px rgba(2,6,23,0.6);
  transition:transform .35s ease, box-shadow .35s ease, opacity .45s ease;
  transform-origin:top center;
}

/* small utility */
.small{color:var(--muted);font-size:.95rem}

/* Footer */
.site-footer{margin-top:18px;color:var(--muted);font-size:.9rem}

/* Reveal animation (initial hidden) */
.reveal{opacity:0;transform:translateY(14px) scale(.998)}
.reveal.show{opacity:1;transform:none}

/* Link styles */
a{color:var(--accent)}
a:hover{text-decoration:underline}

/* Responsive */
@media (max-width:900px){
  .site{flex-direction:column}
  .sidebar{position:relative;width:100%;height:auto;border-right:none;border-bottom:1px solid rgba(255,255,255,0.03)}
  .content{padding:22px}
}

/* Tiny floating accent dot (background) */
:root::after{
  content:'';position:fixed;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(124,219,255,0.06), transparent 30%),
             radial-gradient(circle at 70% 70%, rgba(167,139,250,0.04), transparent 30%);
  pointer-events:none;z-index:0;
}

/* subtle hover lift on project cards (if you create .card) */
.card{transition:transform .25s ease, box-shadow .25s ease}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 36px rgba(2,6,23,0.45)}

