/* ============================================================
   Haji Gul — Academic site
   Light, premium academic identity
   Display: Newsreader (serif)  ·  Body: Inter  ·  Mono utility: Inter
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Newsreader:ital,opsz,wght@0,6..72,400;0,6..72,500;0,6..72,600;1,6..72,400&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --paper:#fbfaf7;          /* warm white */
  --paper2:#ffffff;         /* card white */
  --ink:#1a1f2e;            /* near-black slate */
  --ink-soft:#4a5268;       /* secondary text */
  --ink-faint:#8b91a3;      /* captions */
  --line:#e7e3da;           /* hairline */
  --line-strong:#d8d3c7;
  --primary:#283c6b;        /* deep indigo */
  --accent:#b4612f;         /* warm terracotta-bronze */
  --accent-soft:#f3ebe2;
  --shadow:0 1px 2px rgba(26,31,46,.04), 0 8px 24px rgba(26,31,46,.05);
  --shadow-lift:0 4px 10px rgba(26,31,46,.06), 0 18px 40px rgba(26,31,46,.08);

  /* per-page accent (overridden on <body data-accent>) */
  --hue:#283c6b;
  --hue-soft:#eef1f7;
}
body[data-accent="publications"]{--hue:#283c6b;--hue-soft:#eef1f7;}
body[data-accent="experience"]{--hue:#2f6b54;--hue-soft:#e9f3ee;}
body[data-accent="education"]{--hue:#6b3f8c;--hue-soft:#f1eaf6;}
body[data-accent="certifications"]{--hue:#b4612f;--hue-soft:#f6ece3;}
body[data-accent="supervision"]{--hue:#9c3b52;--hue-soft:#f7e9ed;}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.7;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--primary);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent)}
.wrap{max-width:920px;margin:0 auto;padding:0 26px}

/* ---------------- NAV ---------------- */
nav{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,247,.82);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
}
nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{
  font-family:'Newsreader',serif;font-weight:600;font-size:1.25rem;
  color:var(--ink);letter-spacing:-.01em;display:flex;align-items:center;gap:9px;
}
.brand:hover{color:var(--ink)}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block}
nav .links{display:flex;gap:4px;flex-wrap:wrap}
nav .links a{
  color:var(--ink-soft);font-size:.9rem;font-weight:500;
  padding:7px 13px;border-radius:8px;transition:all .18s;
}
nav .links a:hover{color:var(--ink);background:var(--hue-soft)}
nav .links a.active{color:var(--hue);background:var(--hue-soft);font-weight:600}
.menu-btn{display:none;background:none;border:1px solid var(--line-strong);color:var(--ink);
  border-radius:9px;padding:7px 11px;font-size:1.1rem;cursor:pointer;line-height:1}

/* ---------------- HERO (home) ---------------- */
.hero{padding:84px 0 60px;position:relative;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(60% 70% at 82% 6%, rgba(180,97,47,.10), transparent 60%),
    radial-gradient(50% 60% at 6% 90%, rgba(40,60,107,.10), transparent 60%);
  pointer-events:none;
}
.hero .wrap{position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.avatar{
  width:140px;height:140px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(145deg,var(--primary),#3d568f);
  display:flex;align-items:center;justify-content:center;
  font-family:'Newsreader',serif;font-size:3rem;font-weight:500;color:#fff;
  box-shadow:var(--shadow-lift);border:5px solid #fff;
  animation:fadeUp .7s ease both;
}
.eyebrow{
  font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin-bottom:14px;animation:fadeUp .7s .05s ease both;
}
.hero h1{
  font-family:'Newsreader',serif;font-weight:500;font-size:3.1rem;line-height:1.05;
  letter-spacing:-.02em;margin-bottom:12px;animation:fadeUp .7s .12s ease both;
}
.hero .role{
  font-size:1.12rem;color:var(--primary);font-weight:600;margin-bottom:16px;
  animation:fadeUp .7s .18s ease both;
}
.hero p.lead{
  color:var(--ink-soft);max-width:560px;font-size:1.04rem;margin-bottom:26px;
  animation:fadeUp .7s .24s ease both;
}
.social{display:flex;gap:10px;flex-wrap:wrap;animation:fadeUp .7s .3s ease both}
.social a{
  display:inline-flex;align-items:center;gap:7px;background:var(--paper2);
  border:1px solid var(--line);padding:8px 15px;border-radius:999px;
  font-size:.87rem;color:var(--ink);font-weight:500;box-shadow:var(--shadow);
  transition:transform .18s, box-shadow .18s, border-color .18s;
}
.social a:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--accent);color:var(--ink)}

/* ---------------- PAGE BAND (inner pages) ---------------- */
.page-band{padding:64px 0 40px;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.page-band::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,var(--hue-soft),transparent 80%);
  pointer-events:none;
}
.page-band .wrap{position:relative;z-index:1}
.page-band .eyebrow{color:var(--hue)}
.page-band h1{
  font-family:'Newsreader',serif;font-weight:500;font-size:2.5rem;letter-spacing:-.02em;
  margin-bottom:10px;animation:fadeUp .6s .05s ease both;
}
.page-band p{color:var(--ink-soft);max-width:600px;animation:fadeUp .6s .12s ease both}
.back-link{
  display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:.9rem;
  font-weight:500;color:var(--hue);
}
.back-link:hover{color:var(--accent);gap:9px}

/* ---------------- SECTIONS ---------------- */
section{padding:52px 0;border-bottom:1px solid var(--line)}
section:last-of-type{border-bottom:none}
.section-head{display:flex;align-items:baseline;gap:16px;margin-bottom:30px}
.section-idx{display:none;}
.section-head h2{
  font-family:'Newsreader',serif;font-weight:500;font-size:1.85rem;letter-spacing:-.01em;
}
.sub-h{
  font-size:.82rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-faint);margin:34px 0 16px;
}
.sub-h:first-child{margin-top:0}
.lead-text{color:var(--ink-soft);max-width:760px;font-size:1.02rem}

/* ---------------- CHIPS ---------------- */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips span{
  background:var(--paper2);border:1px solid var(--line);padding:6px 14px;
  border-radius:999px;font-size:.84rem;color:var(--ink-soft);
  transition:all .18s;
}
.chips span:hover{border-color:var(--hue);color:var(--hue);transform:translateY(-1px)}

/* ---------------- CARDS ---------------- */
.card{
  background:var(--paper2);border:1px solid var(--line);border-radius:14px;
  padding:20px 22px;margin-bottom:14px;box-shadow:var(--shadow);
  transition:transform .2s, box-shadow .2s, border-color .2s;
  position:relative;overflow:hidden;
}
.card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--hue);opacity:0;transition:opacity .2s;
}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:var(--line-strong)}
.card:hover::before{opacity:1}
.pub-title{font-weight:600;color:var(--ink);margin-bottom:6px;font-size:1.02rem;line-height:1.45}
.pub-authors{color:var(--ink-soft);font-size:.9rem;margin-bottom:6px}
.pub-authors .me{color:var(--accent);font-weight:600}
.pub-venue{font-size:.88rem;color:var(--primary);font-style:italic;font-family:'Newsreader',serif}
.pub-venue a{font-style:normal;font-family:'Inter',sans-serif}
.badge{
  display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;
  padding:3px 9px;border-radius:6px;margin-left:8px;vertical-align:middle;
  background:var(--accent-soft);color:var(--accent);
}
.badge.review{background:#fbf3e0;color:#9a6a16}
.badge.year{background:var(--hue-soft);color:var(--hue)}

/* ---------------- TIMELINE ---------------- */
.timeline{position:relative;padding-left:30px}
.timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(var(--hue),var(--line))}
.tl-item{position:relative;margin-bottom:26px}
.tl-item::before{
  content:"";position:absolute;left:-30px;top:5px;width:14px;height:14px;border-radius:50%;
  background:#fff;border:3px solid var(--hue);box-shadow:0 0 0 4px var(--paper);
}
.tl-role{font-weight:600;font-size:1.05rem}
.tl-org{color:var(--hue);font-size:.94rem;font-weight:500}
.tl-date{color:var(--ink-faint);font-size:.84rem;margin-bottom:8px;font-family:'Newsreader',serif;font-style:italic}
.tl-item ul{margin:8px 0 0 18px;color:var(--ink-soft);font-size:.92rem}
.tl-item li{margin-bottom:4px}

/* ---------------- GRID ---------------- */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mini{padding:22px}
.mini h3{font-family:'Newsreader',serif;font-weight:500;font-size:1.2rem;margin-bottom:5px;letter-spacing:-.01em}
.mini .sub{color:var(--hue);font-size:.9rem;font-weight:500}
.mini .date{color:var(--ink-faint);font-size:.84rem;font-style:italic;font-family:'Newsreader',serif;margin-top:3px}

/* ---------------- HIGHLIGHT ---------------- */
.highlight{
  background:linear-gradient(120deg,var(--accent-soft),var(--paper2));
  border:1px solid var(--line-strong);border-radius:16px;padding:26px 28px;
  display:flex;gap:20px;align-items:flex-start;box-shadow:var(--shadow);
}
.highlight .ic{font-size:2rem;line-height:1}
.highlight h3{font-family:'Newsreader',serif;font-weight:600;color:var(--accent);margin-bottom:5px;font-size:1.25rem}
.highlight p{color:var(--ink-soft);font-size:.96rem}

/* ---------------- CONTACT ---------------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-card{background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.contact-card .lbl{color:var(--ink-faint);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px;font-weight:600}
.contact-card a{font-weight:500}
.ref{font-size:.94rem;color:var(--ink-soft);margin-bottom:14px;padding-left:16px;border-left:2px solid var(--line-strong)}
.ref b{color:var(--ink);font-weight:600}

/* ---------------- SELECTED PAPERS ---------------- */
.paper{
  background:var(--paper2);border:1px solid var(--line);border-radius:14px;
  margin-bottom:16px;box-shadow:var(--shadow);overflow:hidden;
  transition:box-shadow .2s, border-color .2s;
}
.paper:hover{box-shadow:var(--shadow-lift);border-color:var(--line-strong)}
.paper-head{
  display:flex;align-items:flex-start;gap:14px;padding:20px 22px;cursor:pointer;
  list-style:none;
}
.paper-head::-webkit-details-marker{display:none}
.paper-num{
  font-family:'Newsreader',serif;font-style:italic;color:var(--hue);font-size:1.1rem;
  flex-shrink:0;min-width:24px;
}
.paper-head .pt{flex:1}
.paper-head .pt .pub-title{margin-bottom:4px}
.paper-head .pt .pub-venue{font-size:.84rem}
.paper-toggle{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;color:var(--hue);
  font-size:1.1rem;transition:transform .25s, background .2s;line-height:1;
}
details[open] .paper-toggle{transform:rotate(45deg);background:var(--hue-soft)}
.paper-body{padding:0 22px 22px;border-top:1px solid var(--line);margin-top:-2px}
.paper-body .abstract-label{
  font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-faint);margin:18px 0 8px;
}
.paper-body p.abstract{color:var(--ink-soft);font-size:.96rem;margin-bottom:8px}
.paper-figs{display:grid;grid-template-columns:1fr;gap:14px;margin-top:18px}
.paper-figs.two{grid-template-columns:1fr 1fr}
figure.fig{margin:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}
figure.fig img{width:100%;height:auto;display:block}
figure.fig figcaption{font-size:.82rem;color:var(--ink-faint);padding:8px 12px;font-style:italic;font-family:'Newsreader',serif}
.fig-placeholder{
  display:none;
  aspect-ratio:16/9;align-items:center;justify-content:center;
  color:var(--ink-faint);font-size:.85rem;text-align:center;padding:20px;
  background:repeating-linear-gradient(45deg,var(--paper),var(--paper) 10px,#f3f0ea 10px,#f3f0ea 20px);
}
.paper-links{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.paper-links a{
  font-size:.84rem;font-weight:500;padding:6px 13px;border-radius:8px;
  background:var(--hue-soft);color:var(--hue);
}
.paper-links a:hover{background:var(--hue);color:#fff}

@media(max-width:620px){.paper-figs.two{grid-template-columns:1fr}}

/* ---------------- CITATION ---------------- */
.cite-wrap{margin-top:18px}
.cite-bar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--hue-soft);border:1px solid var(--line);border-bottom:none;
  border-radius:10px 10px 0 0;padding:8px 14px;
}
.cite-bar .lbl{font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--hue)}
.cite-copy{
  border:1px solid var(--line-strong);background:var(--paper2);color:var(--ink-soft);
  font-size:.78rem;font-weight:600;padding:4px 12px;border-radius:7px;cursor:pointer;
  transition:all .18s;
}
.cite-copy:hover{background:var(--hue);color:#fff;border-color:var(--hue)}
.cite-copy.copied{background:#2f6b54;color:#fff;border-color:#2f6b54}
pre.cite{
  margin:0;background:var(--paper2);border:1px solid var(--line);border-radius:0 0 10px 10px;
  padding:14px 16px;overflow-x:auto;font-size:.8rem;line-height:1.5;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink-soft);
  white-space:pre;
}

/* ---------------- FOOTER ---------------- */
footer{padding:36px 0;text-align:center;color:var(--ink-faint);font-size:.88rem;border-top:1px solid var(--line)}
footer a{font-weight:500}

/* ---------------- ANIMATIONS ---------------- */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1;transform:translateY(0)}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* ---------------- RESPONSIVE ---------------- */
@media(max-width:760px){
  .hero{padding:52px 0 40px}
  .hero-grid{grid-template-columns:1fr;gap:24px;text-align:center}
  .avatar{margin:0 auto}
  .social{justify-content:center}
  .hero h1{font-size:2.3rem}
  .page-band h1{font-size:1.9rem}
  .grid2,.contact-grid{grid-template-columns:1fr}
  .section-head{flex-direction:column;gap:4px}
  nav .links{
    display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper2);
    flex-direction:column;padding:12px 26px;border-bottom:1px solid var(--line);box-shadow:var(--shadow-lift);
  }
  nav .links.open{display:flex}
  .menu-btn{display:block}
}
