    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

    :root {
      --bg:       #080b10;
      --bg2:      #0d1119;
      --bg3:      #121824;
      --surface:  #161d2a;
      --line:     rgba(255,255,255,0.07);
      --line2:    rgba(255,255,255,0.12);
      --text:     #c8d4e8;
      --muted:    #5a6a82;
      --bright:   #eaf0fc;
      --gold:     #e8b86d;
      --gold2:    #f5d08a;
      --blue:     #4a9eff;
      --teal:     #3dd9c0;
      --font-serif: 'Playfair Display', Georgia, serif;
      --font-mono:  'JetBrains Mono', monospace;
      --font-body:  'Libre Baskerville', Georgia, serif;
    }

    html { scroll-behavior: smooth; }

    body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      font-size: 16px;
      line-height: 1.7;
      overflow-x: hidden;
      cursor: none;
    }

    /* ── Cursor ─────────────────────────────── */
    .cursor { position:fixed; width:8px; height:8px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .2s,height .2s,background .2s; mix-blend-mode:screen; }
    .cursor-trail { position:fixed; width:32px; height:32px; border:1px solid rgba(232,184,109,.35); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:left .12s ease,top .12s ease; }
    .cursor.big { width:16px; height:16px; }

    /* ── Stars background ───────────────────── */
    #stars-canvas { position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.6; }

    /* ── NAV ────────────────────────────────── */
    nav {
      position: fixed; top:0; left:0; right:0; z-index:50;
      display: flex; justify-content:space-between; align-items:center;
      padding: 1.25rem 5rem;
      border-bottom: 1px solid var(--line);
      background: rgba(8,11,16,.85);
      backdrop-filter: blur(24px);
    }
    .nav-logo { font-family:var(--font-serif); font-weight:700; font-size:1rem; color:var(--bright); letter-spacing:.01em; }
    .nav-logo span { color:var(--gold); font-style:italic; }
    .nav-logo a { color:inherit; text-decoration:none; }
    .nav-links { display:flex; gap:2.5rem; list-style:none; }
    .nav-links a { font-family:var(--font-mono); font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s; }
    .nav-links a:hover { color:var(--gold); }

    /* ── HERO ───────────────────────────────── */
    #hero {
      min-height: 100vh;
      display: flex; align-items: center;
      padding: 9rem 5rem 5rem;
      position: relative; z-index:1;
      overflow: hidden;
    }
    .hero-content { max-width: 1480px; }
    .hero-eyebrow {
      display: inline-flex; align-items:center; gap:.6rem;
      font-family: var(--font-mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase;
      color: var(--gold); margin-bottom:2rem;
      border: 1px solid rgba(232,184,109,.2); padding:.4rem 1rem;
    }
    .hero-eyebrow::before { content:''; width:6px; height:6px; background:var(--gold); border-radius:50%; animation:blink 2.5s infinite; }
    @keyframes blink { 0%,100%{opacity:1}50%{opacity:.2} }
    h1.hero-name {
      font-family: var(--font-serif); font-weight:900;
      font-size: clamp(3.2rem,6.5vw,6.5rem);
      line-height: .95; letter-spacing:-.03em;
      color: var(--bright); margin-bottom:.5rem;
    }
    h1.hero-name em { color:var(--gold); font-style:italic; display:inline; }
    .hero-title {
      font-family: var(--font-mono); font-size:.8rem; letter-spacing:.15em; text-transform:uppercase;
      color: var(--teal); margin:1.5rem 0 2rem;
      border-left: 2px solid var(--teal); padding-left:1rem;
    }
    .hero-desc {
      font-size: 1.05rem; color:rgba(200,212,232,.75); line-height:1.85;
      max-width: 1020px; margin-bottom:3rem;
    }
    .hero-ctas { display:flex; gap:1rem; flex-wrap:wrap; }
    .btn { display:inline-block; padding:.8rem 2rem; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; text-decoration:none; cursor:none; transition:all .25s; }
    .btn-gold { background:var(--gold); color:#080b10; }
    .btn-gold:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 8px 28px rgba(232,184,109,.3); }
    .btn-ghost { border:1px solid var(--line2); color:var(--muted); }
    .btn-ghost:hover { border-color:var(--gold); color:var(--gold); }
    .hero-orb {
      position: absolute; right:-15%; top:10%;
      width: 700px; height:700px;
      background: radial-gradient(circle, rgba(74,158,255,.06) 0%, rgba(61,217,192,.04) 40%, transparent 70%);
      border-radius:50%; pointer-events:none;
      animation: orbit 20s linear infinite;
    }
    @keyframes orbit { 0%{transform:rotate(0) translateX(30px) rotate(0)} 100%{transform:rotate(360deg) translateX(30px) rotate(-360deg)} }
    .hero-stats {
      display: flex; gap:3.5rem; margin-top:4rem;
      padding-top:2rem; border-top:1px solid var(--line);
    }
    .stat-n { font-family:var(--font-serif); font-weight:900; font-size:2.2rem; color:var(--bright); line-height:1; }
    .stat-n span { color:var(--gold); }
    .stat-l { font-family:var(--font-mono); font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:.3rem; }

    /* ── SECTION BASE ───────────────────────── */
    section { padding:7rem 5rem; position:relative; z-index:1; }
    .sec-label { font-family:var(--font-mono); font-size:.62rem; letter-spacing:.25em; text-transform:uppercase; color:var(--gold); margin-bottom:.75rem; }
    .sec-title { font-family:var(--font-serif); font-weight:900; font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.02em; color:var(--bright); line-height:1.05; }
    .sec-rule { width:36px; height:2px; background:var(--gold); margin:1.75rem 0 3rem; }

    /* ── ABOUT ──────────────────────────────── */
    #about { border-top:1px solid var(--line); background:var(--bg2); }
    .about-grid { display:grid; grid-template-columns:3fr 2fr; gap:5rem; align-items:start; }
    .about-body p { font-size:1rem; color:rgba(200,212,232,.8); line-height:1.9; margin-bottom:1.4rem; }
    .about-body p:last-child { margin-bottom:0; }
    .about-interests { margin-top:2rem; }
    .about-interests h4 { font-family:var(--font-mono); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:1.2rem; }
    .interest-item { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:.9rem; font-size:.88rem; color:var(--text); line-height:1.55; }
    .interest-item::before { content:'▸'; color:var(--gold); font-size:.7rem; margin-top:.15rem; flex-shrink:0; }
    .about-side { display:flex; flex-direction:column; gap:1px; background:var(--line); }
    .about-card { background:var(--bg2); padding:1.75rem; border-top:2px solid transparent; transition:border-color .3s; }
    .about-card:hover { border-top-color:var(--gold); }
    .about-card-icon { font-size:1.4rem; margin-bottom:.85rem; }
    .about-card h4 { font-family:var(--font-serif); font-weight:700; font-size:.95rem; color:var(--bright); margin-bottom:.4rem; }
    .about-card p { font-size:.78rem; color:var(--muted); line-height:1.6; }

    /* ── SKILLS ─────────────────────────────── */
    #skills { border-top:1px solid var(--line); }
    .skills-outer { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:3rem; }
    .skill-block { background:var(--bg); padding:2.5rem; }
    .skill-block:hover { background:var(--bg3); }
    .skill-cat { font-family:var(--font-mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:1.4rem; }
    .skill-tags { display:flex; flex-wrap:wrap; gap:.45rem; }
    .skill-tag { font-family:var(--font-mono); font-size:.68rem; padding:.3rem .7rem; border:1px solid var(--line2); color:var(--text); letter-spacing:.04em; transition:all .25s; cursor:default; }
    .skill-tag:hover { border-color:var(--gold); color:var(--gold); background:rgba(232,184,109,.05); }
    .skill-note { font-size:.72rem; color:var(--muted); margin-top:.6rem; font-style:italic; }

    /* ── RESEARCH ───────────────────────────── */
    #research { border-top:1px solid var(--line); background:var(--bg2); }
    .research-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
    .research-card { background:var(--bg2); padding:2.5rem; position:relative; overflow:hidden; }
    .research-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:1px; background:linear-gradient(90deg,var(--gold),transparent); transform:scaleX(0); transform-origin:left; transition:transform .4s; }
    .research-card:hover::after { transform:scaleX(1); }
    .research-icon { font-size:1.8rem; margin-bottom:1.2rem; }
    .research-card h3 { font-family:var(--font-serif); font-weight:700; font-size:1.05rem; color:var(--bright); margin-bottom:.75rem; line-height:1.35; }
    .research-card p { font-size:.82rem; color:var(--muted); line-height:1.7; }

    /* ── PUBLICATIONS ───────────────────────── */
    #publications { border-top:1px solid var(--line); }
    .pub-tabs { display:flex; gap:0; margin-bottom:3rem; border:1px solid var(--line); width:fit-content; }
    .pub-tab { font-family:var(--font-mono); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; padding:.7rem 1.5rem; cursor:none; color:var(--muted); background:transparent; border:none; border-right:1px solid var(--line); transition:all .25s; }
    .pub-tab:last-child { border-right:none; }
    .pub-tab.active { background:var(--gold); color:#080b10; }
    .pub-tab:hover:not(.active) { color:var(--gold); }
    .pub-section { display:none; }
    .pub-section.active { display:block; }
    .pub-item { padding:1.75rem 0; border-bottom:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:start; }
    .pub-item:last-child { border-bottom:none; }
    .pub-year { font-family:var(--font-mono); font-size:.68rem; color:var(--gold); letter-spacing:.1em; white-space:nowrap; padding-top:.15rem; }
    .pub-title { font-family:var(--font-serif); font-style:italic; font-size:.98rem; color:var(--bright); line-height:1.5; margin-bottom:.4rem; }
    .pub-authors { font-size:.78rem; color:var(--muted); margin-bottom:.3rem; }
    .pub-journal { font-family:var(--font-mono); font-size:.68rem; color:var(--teal); letter-spacing:.05em; }
    .pub-link { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-decoration:none; margin-top:.6rem; transition:color .25s; }
    .pub-link:hover { color:var(--gold); }
    .pub-link::after { content:'↗'; }
    .patent-item { padding:1.75rem 0; border-bottom:1px solid var(--line); }
    .patent-item:last-child { border-bottom:none; }
    .patent-badge { display:inline-block; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; padding:.25rem .6rem; background:rgba(232,184,109,.1); border:1px solid rgba(232,184,109,.3); color:var(--gold); margin-bottom:.75rem; }
    .patent-title { font-family:var(--font-serif); font-style:italic; font-size:.98rem; color:var(--bright); line-height:1.5; margin-bottom:.4rem; }
    .patent-authors { font-size:.78rem; color:var(--muted); }
    .patent-num { font-family:var(--font-mono); font-size:.68rem; color:var(--teal); margin-top:.3rem; }

    /* ── EXPERIENCE ─────────────────────────── */
    #experience { border-top:1px solid var(--line); background:var(--bg2); }
    .exp-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
    .timeline { position:relative; padding-left:2rem; }
    .timeline::before { content:''; position:absolute; left:0; top:0; bottom:0; width:1px; background:var(--line2); }
    .tl-item { position:relative; padding-bottom:3rem; }
    .tl-item:last-child { padding-bottom:0; }
    .tl-item::before { content:''; position:absolute; left:-2.4rem; top:5px; width:9px; height:9px; border:1px solid var(--gold); border-radius:50%; background:var(--bg2); }
    .tl-date { font-family:var(--font-mono); font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
    .tl-role { font-family:var(--font-serif); font-weight:700; font-size:1rem; color:var(--bright); margin-bottom:.2rem; }
    .tl-org { font-size:.82rem; color:var(--teal); margin-bottom:.75rem; }
    .tl-desc { font-size:.82rem; color:var(--muted); line-height:1.75; }
    .tl-heading { font-family:var(--font-mono); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--teal); margin-bottom:2rem; }

    /* ── BLOG ───────────────────────────────── */
    #blog { border-top:1px solid var(--line); }
    .blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
    .blog-card { background:var(--bg); padding:2.5rem; display:flex; flex-direction:column; }
    .blog-card:hover { background:var(--bg3); }
    .blog-tag { font-family:var(--font-mono); font-size:.6rem; letter-spacing:.15em; text-transform:uppercase; color:var(--teal); margin-bottom:1rem; }
    .blog-title { font-family:var(--font-serif); font-weight:700; font-size:1.05rem; color:var(--bright); line-height:1.4; margin-bottom:1rem; flex:1; }
    .blog-excerpt { font-size:.8rem; color:var(--muted); line-height:1.7; margin-bottom:1.5rem; }
    .blog-meta { font-family:var(--font-mono); font-size:.62rem; color:var(--muted); display:flex; justify-content:space-between; padding-top:1.2rem; border-top:1px solid var(--line); }
    .blog-status-live { color:#39ff7a; text-shadow:0 0 5px rgba(57,255,122,.85), 0 0 12px rgba(57,255,122,.5); font-weight:600; animation:blink 1.4s infinite; }
    .blog-status-soon { color:#f5ff4d; text-shadow:0 0 5px rgba(245,255,77,.85), 0 0 12px rgba(245,255,77,.5); font-weight:600; animation:blink 1.4s infinite; }
    .blog-coming { display:flex; align-items:center; justify-content:center; min-height:160px; }
    .blog-coming span { font-family:var(--font-mono); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); border:1px dashed var(--line2); padding:.6rem 1.2rem; }
    .blog-card-link { display:contents; text-decoration:none; color:inherit; cursor:none; }

    /* ── BLOG POST ──────────────────────────── */
    .post { max-width:760px; margin:0 auto; padding:9rem 2rem 6rem; position:relative; z-index:1; }
    .post-back { font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .25s; }
    .post-back:hover { color:var(--gold); }
    .post-tags { display:flex; gap:.5rem; margin:1.75rem 0 1rem; }
    .post-title { font-family:var(--font-serif); font-weight:900; font-size:clamp(1.8rem,4vw,2.6rem); line-height:1.15; letter-spacing:-.02em; color:var(--bright); margin-bottom:1.25rem; }
    .post-meta { font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em; color:var(--muted); display:flex; flex-wrap:wrap; gap:1.5rem; padding-bottom:2rem; border-bottom:1px solid var(--line); }
    .post-status { color:var(--gold); }

    .post-body { font-size:1rem; color:var(--text); line-height:1.85; margin-top:2.5rem; }
    .post-body h2 { font-family:var(--font-serif); font-weight:700; font-size:1.6rem; color:var(--bright); margin:3rem 0 1.25rem; }
    .post-body h3 { font-family:var(--font-serif); font-weight:700; font-size:1.2rem; color:var(--bright); margin:2.25rem 0 1rem; }
    .post-body p { margin-bottom:1.4rem; color:rgba(200,212,232,.85); }
    .post-body a { color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(232,184,109,.3); }
    .post-body a:hover { color:var(--gold2); }
    .post-body ul, .post-body ol { margin:0 0 1.4rem 1.4rem; color:rgba(200,212,232,.85); }
    .post-body li { margin-bottom:.5rem; line-height:1.75; }
    .post-body blockquote { font-family:var(--font-serif); font-style:italic; font-size:1.2rem; color:var(--bright); border-left:2px solid var(--gold); padding-left:1.5rem; margin:2rem 0; }
    .post-body hr { border:none; border-top:1px solid var(--line); margin:2.5rem 0; }
    .post-body img { max-width:100%; border:1px solid var(--line2); }
    .post-body p:has(img) { text-align:center; }
    .post-body p:has(img) + p:has(em:only-child) { font-family:var(--font-mono); font-size:.72rem; color:var(--muted); text-align:center; margin-top:-.75rem; }
    .post-body p:has(img) + p:has(em:only-child) em { font-style:normal; }
    #markdown-toc { list-style:none; margin:2rem 0; padding:1.5rem 1.75rem; border:1px solid var(--line2); background:var(--bg2); }
    #markdown-toc::before { content:'Contents'; display:block; font-family:var(--font-mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:1rem; }
    #markdown-toc ul { list-style:none; margin:.5rem 0 0 1.25rem; }
    #markdown-toc a { font-size:.85rem; }

    .post-tag-row { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:3rem; padding-top:2rem; border-top:1px solid var(--line); }

    /* ── CONTACT ────────────────────────────── */
    #contact { border-top:1px solid var(--line); background:var(--bg2); text-align:center; }
    .contact-bg-text { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--font-serif); font-weight:900; font-size:clamp(6rem,18vw,18rem); color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.03); pointer-events:none; line-height:1; user-select:none; overflow:hidden; }
    .contact-inner { position:relative; z-index:1; max-width:620px; margin:0 auto; }
    .contact-tagline { font-family:var(--font-serif); font-style:italic; font-size:clamp(1.5rem,3vw,2.5rem); color:var(--bright); margin:1rem 0 2rem; }
    .contact-desc { font-size:.95rem; color:var(--muted); line-height:1.8; margin-bottom:3rem; }
    .contact-emails { display:flex; flex-direction:column; gap:.6rem; margin-bottom:3rem; }
    .contact-email-row { display:flex; align-items:center; justify-content:center; gap:.85rem; }
    .contact-email { font-family:var(--font-mono); font-size:.82rem; color:var(--gold); letter-spacing:.05em; }
    .copy-btn { font-family:var(--font-mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); background:transparent; border:1px solid var(--line2); padding:.25rem .65rem; cursor:none; transition:all .25s; }
    .copy-btn:hover { border-color:var(--gold); color:var(--gold); }
    .copy-btn.copied { border-color:var(--teal); color:var(--teal); }
    .social-row { display:flex; justify-content:center; gap:2rem; flex-wrap:wrap; }
    .social-link { font-family:var(--font-mono); font-size:.65rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .3s; border:1px solid var(--line); padding:.5rem 1rem; }
    .social-link:hover { color:var(--gold); border-color:var(--gold); }

    /* ── FOOTER ─────────────────────────────── */
    footer { border-top:1px solid var(--line); padding:2rem 5rem; display:flex; justify-content:space-between; align-items:center; position:relative; z-index:1; }
    footer p { font-family:var(--font-mono); font-size:.65rem; color:var(--muted); letter-spacing:.08em; }
    footer span { color:var(--gold); }

    /* ── ANIMATIONS ─────────────────────────── */
    .reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
    .reveal.in { opacity:1; transform:none; }
    .reveal-delay-1 { transition-delay:.1s; }
    .reveal-delay-2 { transition-delay:.2s; }
    .reveal-delay-3 { transition-delay:.3s; }

    /* ── RESPONSIVE ─────────────────────────── */
    @media(max-width:1024px) {
      nav { padding:1.2rem 2rem; }
      .nav-links { display:none; }
      section { padding:5rem 2rem; }
      #hero { padding:8rem 2rem 4rem; }
      .post { padding:8rem 1.5rem 4rem; }
      .about-grid, .exp-grid { grid-template-columns:1fr; gap:3rem; }
      .skills-outer, .research-grid, .blog-grid { grid-template-columns:1fr; }
      .projects-grid { grid-template-columns:1fr; }
      footer { flex-direction:column; gap:1rem; text-align:center; padding:2rem; }
    }
