:root{
  --bg: #0b0b0e;
  --surface: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.12);
  --text: #e8e8ea;
  --muted: #dddde5;
  --accent: #7c5cff;
  --accent-2:#2fd4d9;
  --ring: rgba(124,92,255,.45);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
h1,h2,h3,h4,h5,h6,div,p{color: var(--text);}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Apple Color Emoji","Segoe UI Emoji";
  background:
    radial-gradient(1200px 1200px at 10% -10%, rgba(124,92,255,.12), transparent 60%),
    radial-gradient(1000px 1000px at 110% 10%, rgba(47,212,217,.3), transparent 60%),
    var(--bg);
  color:var(--text);
  line-height:1.55;
  background: var(--bg);
  position: relative;
  overflow-x: hidden;
}
body::before{
  content:"";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(1200px 1200px at 10% -10%, rgba(124,92,255,.12), transparent 60%),
    radial-gradient(1000px 1000px at 110% 10%, rgba(47,212,217,.30), transparent 60%),
    var(--bg);
  /* Optional: tiny blur to soften banding on some displays */
  /* filter: blur(.2px); */
  /* Optional: reduce GPU overhead if needed */
  will-change: transform;
}
a{color:inherit;text-decoration:none}
.container{max-width:1080px; margin:0 auto;padding:0 20px}

@media (max-width: 1100px) {
  body{margin: 16px;}
}

/* Utilities */
.grid{display:grid;gap:20px}
.g-2{grid-template-columns:1fr}
@media (min-width: 860px){.g-2{grid-template-columns:1.2fr .8fr}}
.grid-3{display:grid;gap:20px;grid-template-columns:repeat(1,1fr)}
.grid-4{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}
.grid-2{display:grid;gap:20px;grid-template-columns:repeat(1,1fr)}
@media (min-width:860px){
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
}
.pad-18{padding:18px}
.mt-12{margin-top:12px}
.mt-24{margin-top:24px}
.mb-0{margin-bottom:0}
.list-tight{margin:12px 0; padding-left:24px}
.list-tight li{margin:6px 0}

/* Focus styles */
.btn:focus-visible,
a:focus-visible { outline:none; box-shadow:0 0 0 4px var(--ring); border-radius:14px }

/* Nav */
.top-navbar{
  position:fixed; left:0; right:0; top:0;
  height:var(--header-height,64px);
  display:flex; align-items:center;
  backdrop-filter:saturate(180%) blur(10px);
  background:linear-gradient(to bottom, rgba(0,0,0,.35), transparent);
  border-bottom:1px solid var(--border);
  z-index:40; padding:0 20px;
}
.top-navbar .container{padding:0}
.navbar-brand{display:flex;align-items:center;gap:10px;color:var(--text)}
.smart-nav-icon{height:36px;width:36px;object-fit:cover;border-radius:6px}

.show .navbar-nav .nav-item ,.collapsing .navbar-nav .nav-item {background-color: rgba(0, 0, 0, 0.5); color: #fff; padding: 8px;}
.show .navbar-nav .nav-item a ,.collapsing .navbar-nav .nav-item a {display: block; color: #fff; padding: 4px 8px;}
.show .navbar-nav .nav-item a:hover ,.collapsing .navbar-nav .nav-item a:hover {background-color: rgba(34, 34, 34, 0.5);}

/* Buttons */
.btn{color:#fff; display:inline-flex;align-items:center;gap:10px;border:1px solid var(--border);background:var(--surface);padding:10px 14px;border-radius:14px;transition:filter .2s ease, transform .2s ease}
.btn:hover{filter:brightness(1.1)}
.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2)); border-color:black}
.btn.primary:hover{filter:brightness(1.05)}

/* Cards */
.card{border:1px solid var(--border);background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border-radius:18px;box-shadow:var(--shadow)}

/* Hero */
.hero{padding:80px 0 40px}
.pill{display:inline-flex;align-items:center;border:1px solid var(--border);background:var(--surface);padding:6px 12px;border-radius:999px;font-size:13px;margin:0 8px 8px 0}
h1{font-size:44px;line-height:1.1;margin:10px 0 12px}
.lede{color:var(--muted);font-size:18px;max-width:60ch}
.actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}

/* Wins */
.wins{padding:20px 0}
.wins .stat{padding:18px;text-align:center}
.wins .metric{font-size:22px;font-weight:600}
.wins .label{color:var(--muted);font-size:13px}

/* Sections */
section{padding:44px 0}
h2{font-size:26px;margin:0 0 6px}
.sub{color:var(--muted);margin:0 0 20px}

/* Capabilities */
#capabilities{margin:44px auto; padding:0}
.cap{padding:18px}
.cap h3{margin:0 0 6px;font-size:18px}
.cap p{margin:0;color:var(--muted)}

/* Work */
#work{margin:44px auto; padding:0}
.work .item{overflow:hidden}
.thumb{
  aspect-ratio: 4 / 3;
  background: #111;
  border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  position:relative;
}
.thumb img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease}
.item:hover .thumb img{transform:scale(1.06)}
/* Icon/logo mode */
.thumb[data-fit="contain"] img{width:auto; max-width:70%; height:auto; object-fit:contain}
.item .meta{padding:14px}
.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.badge{font-size:12px;border:1px solid var(--border);padding:6px 10px;border-radius:999px;background:var(--surface)}

/* Research */
#research{margin:44px auto; padding:0}

/* About */
#about{margin:44px auto; padding:0}

.hobbies {list-style: none;padding: 0;margin: 0;}
.hobbies li {display: flex;align-items: center;margin: 8px 0;}
.hobby-icon {width: 48px;height:48px;margin-right:10px;opacity: 0.9;}

/* Principles */
#principles{margin:44px auto; padding:0}
.principles .row{display:grid;gap:16px}
@media (min-width: 860px){.principles .row{grid-template-columns:repeat(3,1fr)}}
.principle{padding:18px}
.principle h3{margin:0 0 8px;font-size:18px}

/* Contact */
#contact{margin:44px auto 22px; padding:0}
.contact .row{display:flex;gap:10px;flex-wrap:wrap}
.contact-card{display:flex;align-items:center;justify-content:center;padding:18px}

/* Footer */
footer{color:var(--muted);padding:22px 0; display:flex; align-items:center; justify-content:center}

/* Screenreader only */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}