:root{--bg:#111111;--bg2:#1a1a1a;--panel:#222222;--panel2:#2b2b2b;--text:#f7f7f7;--muted:#b6b6b6;--line:#454545;--accent:#d6d6d6;--accent2:#efefef;--max:1220px;--radius:18px;--shadow:0 18px 60px rgba(0,0,0,.26)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.narrow{max-width:900px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:16px;z-index:1000;background:#ffffff;color:#000;padding:10px 14px;border-radius:8px}.site-header{position:sticky;top:0;z-index:100;background:rgba(7,17,31,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.10)}.nav{display:flex;align-items:center;gap:22px;min-height:78px}.brand{display:flex;flex-direction:column;line-height:1.05;min-width:210px}.brand strong{font-family:"Libre Baskerville",serif;font-size:18px;letter-spacing:.06em}.brand span{font-size:9px;letter-spacing:.15em;color:var(--muted);margin-top:7px}.menu{display:flex;align-items:center;justify-content:center;gap:17px;flex:1}.menu a{font-size:13px;color:#d0d0d0;padding:8px 0;border-bottom:2px solid transparent}.menu a:hover,.menu a.active{color:#ffffff;border-color:var(--accent)}.social-mini{display:flex;gap:7px}.pill,.profile-links a{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:11px;color:#dedede}.pill:hover,.profile-links a:hover{border-color:var(--accent);color:#ffffff}.mobile-btn{display:none;background:transparent;color:#ffffff;border:1px solid var(--line);border-radius:10px;padding:9px 12px}.hero{overflow:hidden;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.07),transparent 35%),linear-gradient(135deg,#111111 10%,#1e1e1e 100%);border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:56px;align-items:center;padding:82px 0 70px}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700;color:var(--accent2)}h1,h2,h3{line-height:1.17;margin-top:0}h1{font-family:"Libre Baskerville",serif;font-size:clamp(44px,7vw,82px);letter-spacing:.015em;margin:18px 0 8px}h2{font-size:clamp(26px,3.7vw,43px);margin:10px 0 18px}.hero h2{font-size:24px;font-weight:500}.univ{color:#d8d8d8;margin:0 0 10px}.tagline{font-size:21px;font-weight:600;color:#eeeeee;margin:14px 0}.lead{font-size:18px;max-width:710px;color:#bcbcbc}.lead-sm{font-size:18px;color:#c9c9c9}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line);border-radius:11px;padding:10px 17px;font-size:13px;font-weight:600;background:rgba(255,255,255,.015)}.btn:hover{border-color:var(--accent);transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,#5a5a5a,#bdbdbd);border-color:transparent;color:white;box-shadow:0 10px 30px rgba(255,255,255,.10)}.profile-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.portrait-card{position:relative;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#2f2f2f,#1b1b1b);padding:18px;box-shadow:var(--shadow)}.portrait-card img{border-radius:16px}.portrait-card blockquote{position:absolute;left:32px;right:32px;bottom:28px;margin:0;padding:16px 18px;background:rgba(6,15,26,.78);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);border-radius:14px;font-family:"Libre Baskerville",serif;font-size:14px;color:#f2f2f2}.stats-wrap{border-bottom:1px solid var(--line);background:#161616}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 0}.stat{border:1px solid var(--line);border-radius:14px;padding:20px;background:linear-gradient(145deg,#292929,#1d1d1d)}.stat b{display:block;font-size:30px}.stat span{font-size:12px;color:var(--muted)}.section{padding:76px 0}.section.alt{background:linear-gradient(180deg,#151515,#1b1b1b);border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:24px}.section-head h2{margin:8px 0 0}.text-link{color:var(--accent2);font-size:13px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}.card,.fact-card,.contact-card{border:1px solid var(--line);background:linear-gradient(145deg,#242424,#191919);border-radius:var(--radius);padding:24px;box-shadow:0 8px 32px rgba(0,0,0,.12)}.card h3{font-size:18px;margin:14px 0 9px}.card p,.fact-card p{color:var(--muted);font-size:14px}.icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid #555555;background:#303030;color:#e6e6e6;font-weight:700;font-size:12px}.grey-ai{display:grid;grid-template-columns:.9fr 1.3fr;gap:50px;align-items:center}.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.flow-step{position:relative;text-align:center;padding:18px 10px;border:1px solid var(--line);border-radius:15px;background:#202020}.flow-bubble{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;border:1px solid #777777;box-shadow:0 0 25px rgba(255,255,255,.09);font-weight:700;color:#ededed}.flow-step b{display:block;font-size:13px}.flow-step small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.flow.large{margin-top:28px}.research-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.research-principles div{border-top:2px solid #777777;padding:16px 4px}.research-principles b,.research-principles span{display:block}.research-principles span{font-size:13px;color:var(--muted);margin-top:6px}.meta,.year{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent2)}.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.tags span{padding:5px 9px;border:1px solid var(--line);border-radius:999px;font-size:10px;color:#cccccc}.tags.big span{font-size:12px;padding:7px 11px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);margin-top:30px;border-top:2px solid #666666}.time{padding:18px 16px 0 0;position:relative}.time:before{content:"";width:10px;height:10px;border:3px solid var(--accent);background:var(--bg);border-radius:50%;position:absolute;top:-7px;left:0}.time b,.time span{display:block}.time span{font-size:12px;color:var(--muted);margin-top:5px}.timeline.vertical{display:block;border-top:0;border-left:2px solid #666666;padding-left:26px}.timeline.vertical .time{padding:0 0 30px 14px}.timeline.vertical .time:before{top:3px;left:-32px}.contact-band{background:radial-gradient(circle at 85% 30%,rgba(255,255,255,.06),transparent 30%)}.cta{display:flex;justify-content:space-between;align-items:center;gap:35px}.cta h2{max-width:850px}.page-hero{padding:76px 0 56px;background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.06),transparent 35%),#151515;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(38px,5.3vw,66px)}.page-hero p{font-size:18px;color:#bdbdbd;max-width:850px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:40px}.fact-card hr{border:0;border-top:1px solid var(--line);margin:24px 0}.max-760{max-width:760px}.publication-list{display:grid;gap:10px}.publication{display:grid;grid-template-columns:85px 1fr;column-gap:16px;border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:#1b1b1b}.publication .year{grid-row:1 / 4;font-size:14px;padding-top:2px}.publication h3{font-size:16px;margin:0 0 5px}.publication p{margin:2px 0;color:var(--muted);font-size:13px}.pub-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 24px}.filter-btn{border:1px solid var(--line);background:#202020;color:#c8d8e8;border-radius:999px;padding:8px 12px;cursor:pointer}.filter-btn.active,.filter-btn:hover{border-color:var(--accent);color:white;background:#303030}.search-row{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:22px}.search{width:min(600px,100%);background:#151515;border:1px solid var(--line);border-radius:12px;color:#ffffff;padding:14px 15px;font:inherit}.search:focus{outline:2px solid rgba(255,255,255,.20);border-color:var(--accent)}.pub-summary{display:flex;gap:10px;flex-wrap:wrap}.pub-summary span{border:1px solid var(--line);border-radius:12px;padding:12px 15px;color:var(--muted);font-size:12px}.pub-summary b{font-size:20px;color:#ffffff;margin-right:5px}.no-results{padding:30px;text-align:center;color:var(--muted)}.project-list{display:grid;gap:12px}.project{display:grid;grid-template-columns:140px 1fr;gap:22px;padding:22px;border-bottom:1px solid var(--line)}.project>span{color:var(--accent2);font-weight:600}.project h3{font-size:18px;margin:0 0 5px}.project p{margin:0;color:var(--muted)}.course-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.course{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:15px 0}.course .icon{width:40px;height:40px;flex:none}.cv-list{list-style:none;padding:0;margin:0}.cv-list li{padding:15px 0;border-bottom:1px solid var(--line)}.cv-list strong,.cv-list span{display:block}.cv-list span{color:var(--muted);font-size:13px;margin-top:3px}.cv-list.compact li{padding:10px 0}.thesis-list{display:grid;grid-template-columns:1fr 1fr;gap:0 34px}.mt{margin-top:34px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.contact-card span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--accent2)}.contact-card h2{font-size:25px;margin-top:8px}.contact-card h3{margin:9px 0}.contact-card p{color:var(--muted)}.profile-stack{display:grid;gap:9px;margin-top:14px}.profile-stack a{color:#e7e7e7}.footer{border-top:1px solid var(--line);background:#0d0d0d;padding:32px 0}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr auto;gap:20px;align-items:center;font-size:12px;color:var(--muted)}.footer-grid strong,.footer-grid span{display:block}.footer-grid strong{color:#ffffff;font-size:14px}.footer-links{display:flex;gap:12px;flex-wrap:wrap}.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}@media(max-width:1050px){.menu{position:absolute;top:78px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;padding:14px;background:#171717;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.menu.open{display:flex}.menu a{padding:10px}.mobile-btn{display:block;margin-left:auto}.social-mini{display:none}.hero-grid{grid-template-columns:1fr .72fr}.cards.four{grid-template-columns:repeat(2,1fr)}.grey-ai{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}@media(max-width:760px){.container{width:min(var(--max),calc(100% - 28px))}.brand{min-width:0}.brand strong{font-size:15px}.hero-grid{grid-template-columns:1fr;padding:58px 0}.portrait-card{max-width:520px}.stats{grid-template-columns:repeat(2,1fr)}.cards,.cards.three,.cards.four{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.research-principles,.grid-2,.course-columns,.contact-grid{grid-template-columns:1fr}.timeline{grid-template-columns:1fr;border-top:0;border-left:2px solid #666666;padding-left:22px}.time{padding:0 0 24px 10px}.time:before{top:3px;left:-29px}.cta,.section-head,.search-row{align-items:flex-start;flex-direction:column}.publication{grid-template-columns:1fr}.publication .year{grid-row:auto}.project{grid-template-columns:1fr}.thesis-list{grid-template-columns:1fr}.footer-grid{display:block}.footer-grid>div{margin:10px 0}}@media(max-width:470px){.stats{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.portrait-card blockquote{position:static;margin-top:12px}.section{padding:58px 0}}@media print{.site-header,.footer,.actions,.profile-links,.mobile-btn{display:none!important}body{background:#ffffff;color:#111}.section,.page-hero{background:#ffffff!important;border:0}.card,.fact-card,.publication,.contact-card{box-shadow:none;background:#ffffff;color:#111;border:1px solid #ddd}.muted,.card p,.publication p,.time span{color:#444!important}}
/* v3 monochrome academic theme */
body{background:linear-gradient(180deg,#101010 0%,#181818 48%,#101010 100%)}
.site-header{background:rgba(16,16,16,.92)}
.hero{background:radial-gradient(circle at 76% 22%,rgba(255,255,255,.08),transparent 34%),linear-gradient(135deg,#0e0e0e 0%,#2a2a2a 100%)}
.btn.primary{background:linear-gradient(135deg,#f3f3f3,#a8a8a8);color:#101010;box-shadow:0 10px 30px rgba(0,0,0,.28)}
.btn.primary:hover{background:linear-gradient(135deg,#ffffff,#c8c8c8)}
.portrait-card{background:linear-gradient(145deg,#3a3a3a,#171717);padding:14px;overflow:hidden}
.portrait-card img{width:100%;height:520px;object-fit:cover;object-position:center 20%;background:#f4f4f4;filter:grayscale(15%) contrast(1.03)}
.stat,.card,.fact-card,.contact-card{background:linear-gradient(145deg,#2a2a2a,#181818)}
.section.alt{background:linear-gradient(180deg,#1d1d1d,#141414)}
.flow-step{background:linear-gradient(145deg,#252525,#171717)}
.icon,.flow-bubble{background:#2b2b2b;border-color:#666;color:#f2f2f2}
.page-hero{background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.07),transparent 35%),linear-gradient(180deg,#202020,#151515)}
.publication{grid-template-columns:125px 1fr;background:linear-gradient(145deg,#232323,#161616);align-items:start}
.publication .year{grid-row:auto;font-size:15px;font-weight:700;color:#f0f0f0}
.index-badges{grid-column:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:8px}
.index-badge{display:inline-flex;border:1px solid #666;background:#2d2d2d;color:#eee;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.07em;white-space:nowrap}
.publication h3{grid-column:2;grid-row:1 / span 2}
.publication p{grid-column:2}
.filter-btn{background:#1f1f1f;color:#d5d5d5}
.filter-btn.active,.filter-btn:hover{background:#ededed;color:#111;border-color:#ededed}
.search{background:#181818;color:#f5f5f5}
.pub-count{font-size:12px;color:#bdbdbd;margin:-12px 0 18px}
.text-link,.meta,.section-kicker,.eyebrow{color:#e0e0e0}
.tags span{background:#202020}
@media(max-width:760px){.publication{grid-template-columns:1fr}.publication .year,.index-badges,.publication h3,.publication p{grid-column:1}.index-badges{flex-direction:row;flex-wrap:wrap}.publication h3{grid-row:auto}.portrait-card img{height:auto;max-height:620px;object-fit:cover}}

/* Ensure JavaScript publication filters actually remove non-matching cards. */
.publication[hidden]{display:none!important}
.publication.is-filtered-out{display:none!important}


/* V4 publication architecture */
.publication-list{display:block}
.publication-group{margin:34px 0 54px}
.publication-group[hidden],.proceedings-master-head[hidden]{display:none!important}
.pub-group-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:0 0 16px;padding:0 2px 14px;border-bottom:1px solid var(--line)}
.pub-group-head h2{margin:0;font-size:clamp(21px,2.5vw,30px)}
.pub-group-head p{margin:0;color:var(--muted);font-size:12px;text-align:right;max-width:440px}
.pub-group-list{display:grid;gap:10px}
.proceedings-master-head{margin:68px 0 22px;padding:26px 28px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#2a2a2a,#171717)}
.proceedings-master-head h2{margin:0 0 8px;font-size:clamp(28px,3.3vw,42px)}
.proceedings-master-head p{margin:0;color:var(--muted)}
.index-badge.index-proceedings{border-color:#8b8b8b;background:#303030;color:#f4f4f4}
.index-badge.index-INTERNATIONAL,.index-badge.index-NATIONAL{border-color:#686868;background:#252525;color:#dedede}
.index-badge.index-fulltext,.index-badge.index-abstract{border-color:#505050;background:#1f1f1f;color:#bdbdbd}
.pub-links{margin-top:8px!important}.pub-links a{display:inline-flex;padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:#eeeeee;font-size:11px}.pub-links a:hover{border-color:#9a9a9a;background:#292929}
.proceedings-group .publication h3{font-weight:500;line-height:1.55}
@media(max-width:760px){.pub-group-head{align-items:flex-start;flex-direction:column}.pub-group-head p{text-align:left}.proceedings-master-head{padding:20px}.publication-group{margin:28px 0 44px}}


/* V5 — Papers / Proceedings two-level publication architecture */
.publication-mode{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 18px}
.mode-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:1px solid var(--line);border-radius:16px;padding:18px 20px;background:linear-gradient(145deg,#242424,#181818);color:#f2f2f2;cursor:pointer;transition:.2s ease}
.mode-btn strong{font-family:"Libre Baskerville",serif;font-size:22px;letter-spacing:.04em}
.mode-btn small{font-size:12px;color:var(--muted);font-weight:400}
.mode-btn:hover{border-color:#8a8a8a;transform:translateY(-1px)}
.mode-btn.active{background:linear-gradient(145deg,#f2f2f2,#bdbdbd);border-color:#f0f0f0;color:#111}
.mode-btn.active small{color:#3f3f3f}
.contextual-toolbar[hidden],.publication-main-section[hidden]{display:none!important}
.publication-main-head{margin:34px 0 14px;padding:24px 26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#292929,#171717)}
.publication-main-head h2{font-family:"Libre Baskerville",serif;font-size:clamp(28px,3vw,40px);margin:6px 0 6px}
.publication-main-head p{margin:0;color:var(--muted);max-width:800px}
.publication-main-section .publication-group:first-of-type{margin-top:24px}
@media(max-width:760px){.publication-mode{grid-template-columns:1fr}.mode-btn{padding:16px 18px}.publication-main-head{padding:20px}}


/* V6: compound Proceedings filters */
[hidden]{display:none!important}
.proceedings-toolbar{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.75rem;
}
.proceedings-filter-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem;
}
.proceedings-filter-label{
  min-width:76px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.62;
}
.filter-hint{
  margin:.15rem 0 .8rem;
  font-size:.9rem;
  opacity:.68;
}


/* V10 — clickable homepage metrics; V6 page layout preserved */
.metric-link{color:inherit;text-decoration:none;position:relative;cursor:pointer;display:flex;flex-direction:column;gap:.38rem;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.metric-link small{font-size:.78rem;opacity:.58;line-height:1.35}
.metric-link em{font-style:normal;font-size:.76rem;font-weight:600;opacity:.48;margin-top:.15rem;transition:opacity .2s ease,transform .2s ease}
.metric-link:hover,.metric-link:focus-visible{transform:translateY(-4px);border-color:#8b8b8b;box-shadow:0 12px 28px rgba(0,0,0,.22);outline:none}
.metric-link:hover em,.metric-link:focus-visible em{opacity:.9;transform:translateX(3px)}


/* V11 — premium homepage refinements; V6 geometry and portrait sizing preserved */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%);
}
.hero::after{
  content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);
  border-radius:50%;right:-180px;top:-230px;z-index:-1;box-shadow:
  0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012);
}
.hero-copy h1{
  letter-spacing:-.035em;
  text-shadow:0 12px 34px rgba(0,0,0,.32);
}
.hero-signature{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 8px}
.hero-signature span{
  display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;
  border:1px solid rgba(255,255,255,.16);border-radius:999px;
  background:rgba(255,255,255,.045);color:#e9e9e9;
  font-size:10px;font-weight:700;letter-spacing:.055em;text-transform:uppercase;
  backdrop-filter:blur(6px);
}
.portrait-card{position:relative;box-shadow:0 28px 65px rgba(0,0,0,.34)}
.portrait-card::before{
  content:"PROFILE";position:absolute;top:25px;left:26px;z-index:2;
  padding:5px 9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;
  background:rgba(10,10,10,.48);backdrop-filter:blur(8px);
  color:#f2f2f2;font-size:9px;font-weight:800;letter-spacing:.16em;
}
.portrait-card blockquote{
  position:relative;margin-top:0;border-top:1px solid rgba(255,255,255,.1);
}
.stats-wrap{position:relative}
.stats{gap:10px}
.metric-link{
  overflow:hidden;min-height:172px;justify-content:flex-end;
  background:linear-gradient(155deg,#303030 0%,#1d1d1d 55%,#151515 100%);
}
.metric-link::before{
  content:"";position:absolute;left:0;top:0;width:100%;height:2px;
  background:linear-gradient(90deg,#f0f0f0,rgba(240,240,240,.08));
  opacity:.62;
}
.metric-link b{font-size:clamp(29px,2.4vw,42px);letter-spacing:-.04em}
.metric-link span{font-weight:650;line-height:1.3}
.metric-link:hover{
  background:linear-gradient(155deg,#383838 0%,#222 55%,#171717 100%);
  box-shadow:0 18px 40px rgba(0,0,0,.3);
}
.section-head h2,.grey-ai h2{letter-spacing:-.025em}
.grey-ai{
  position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.07);
  border-radius:24px;padding:clamp(24px,4vw,46px);
  background:radial-gradient(circle at 86% 12%,rgba(255,255,255,.07),transparent 30%),linear-gradient(145deg,#242424,#151515);
}
.grey-ai::after{
  content:"GREY AI";position:absolute;right:-8px;bottom:-25px;
  font-family:"Libre Baskerville",serif;font-size:clamp(58px,9vw,128px);
  color:rgba(255,255,255,.025);letter-spacing:-.06em;pointer-events:none;
}

/* V11 — stronger Papers architecture and publication cards */
.paper-category-number{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;margin-right:auto;border:1px solid #626262;border-radius:50%;
  background:#222;color:#eee;font-size:11px;font-weight:800;letter-spacing:.08em;
}
.papers-sci-group,.papers-indexed-group{position:relative}
.publication{
  position:relative;overflow:hidden;
  border:1px solid #353535;
  border-radius:15px;
  padding:18px 20px;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.publication::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:2px;
  background:linear-gradient(#a8a8a8,#454545);opacity:.58;
}
.publication:hover{
  transform:translateY(-2px);
  border-color:#666;
  background:linear-gradient(145deg,#292929,#181818);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.publication h3{font-size:clamp(15px,1.45vw,18px);line-height:1.5;margin-top:0}
.publication .year{
  display:inline-flex;align-items:center;justify-content:center;
  width:max-content;min-width:58px;padding:5px 9px;border-radius:8px;
  background:#2e2e2e;border:1px solid #484848;
}
.index-badges{gap:5px}
.index-badge{transition:border-color .18s ease,background .18s ease}
.index-quartile{
  border-color:#858585!important;background:#3a3a3a!important;color:#fff!important;
}
.pub-links a{
  position:relative;overflow:hidden;background:#242424;
  transition:.18s ease;
}
.pub-links a:hover{transform:translateX(2px);background:#eee;color:#111}
.publication-group .pub-group-head{
  position:relative;padding:0 0 16px;
}
.publication-group .pub-group-head h2{letter-spacing:-.025em}
.publication-group .pub-group-head p{line-height:1.55}
@media(max-width:760px){
  .hero-signature{margin-top:12px}
  .metric-link{min-height:145px}
  .paper-category-number{width:34px;height:34px}
  .publication{padding:16px}
}


/* V12 — three main publication collections */
.publication-mode{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.publication-mode .mode-btn{
  min-height:112px;
}
.publication-main-section[data-main-section="books"] .publication-main-head{
  background:
    radial-gradient(circle at 88% 10%,rgba(255,255,255,.06),transparent 30%),
    linear-gradient(135deg,#2a2a2a,#171717);
}
.publication-main-section[data-main-section="books"] .publication-group{
  margin-top:24px;
}
.publication-main-section[data-main-section="books"] .publication::before{
  background:linear-gradient(#d0d0d0,#575757);
  opacity:.72;
}
@media(max-width:900px){
  .publication-mode{grid-template-columns:1fr}
}


/* V15 — homepage portrait refinements */
.portrait-card::before{
  content:none!important;
  display:none!important;
}
.portrait-card blockquote{
  text-align:center;
  margin-left:auto;
  margin-right:auto;
  display:flex;
  align-items:center;
  justify-content:center;
}


/* V17 — restore V6-style portrait quote placement */
.portrait-card{
  position:relative;
}
.portrait-card blockquote{
  position:static!important;
  transform:none!important;
  width:auto!important;
  margin:0!important;
  padding:18px 20px!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.10)!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  color:inherit!important;
  text-align:center!important;
  display:block!important;
  line-height:1.55;
}


/* V18 — match the V6 portrait/quote composition shown by the user */
.portrait-card{
  position:relative!important;
  padding:14px!important;
  overflow:hidden!important;
  border-radius:24px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:linear-gradient(145deg,#343434,#1a1a1a)!important;
  box-shadow:0 24px 60px rgba(0,0,0,.34)!important;
}

.portrait-card img{
  display:block!important;
  width:100%!important;
  height:520px!important;
  object-fit:cover!important;
  object-position:center 20%!important;
  border-radius:16px!important;
  background:#f4f4f4!important;
}

.portrait-card blockquote{
  position:absolute!important;
  left:8%!important;
  right:8%!important;
  bottom:28px!important;
  z-index:3!important;

  width:auto!important;
  margin:0!important;
  padding:16px 20px!important;

  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  background:rgba(7,13,20,.88)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;

  color:#f5f5f5!important;
  text-align:left!important;
  font-family:"Libre Baskerville",serif!important;
  font-weight:700!important;
  font-size:clamp(.88rem,1.1vw,1rem)!important;
  line-height:1.55!important;

  box-shadow:0 12px 30px rgba(0,0,0,.3)!important;
  transform:none!important;
}

@media(max-width:760px){
  .portrait-card img{
    height:auto!important;
    max-height:620px!important;
  }
  .portrait-card blockquote{
    left:7%!important;
    right:7%!important;
    bottom:22px!important;
    padding:14px 16px!important;
    font-size:.9rem!important;
  }
}


/* V20 — five research areas including Agent-Based Modelling & Simulation */
.cards.five{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}
.cards.five .card{
  min-width:0;
}
.cards.five .card h3{
  font-size:clamp(1rem,1.15vw,1.18rem);
}
@media(max-width:1180px){
  .cards.five{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
  .cards.five{grid-template-columns:1fr}
}


/* V21 — premium monochrome / retina-oriented presentation layer */
:root{
  --black-0:#050505;
  --black-1:#0a0a0a;
  --black-2:#111111;
  --graphite:#181818;
  --charcoal:#222222;
  --mid:#4a4a4a;
  --line-hi:rgba(255,255,255,.18);
  --line-soft:rgba(255,255,255,.09);
  --text-hi:#ffffff;
  --text:#ededed;
  --text-soft:#bdbdbd;
  --glass:rgba(18,18,18,.72);
}

html{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:"kern" 1,"liga" 1;
  background:#080808;
}
body{
  color:var(--text);
  background:
    radial-gradient(circle at 14% 0%,rgba(255,255,255,.055),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.035),transparent 26%),
    linear-gradient(180deg,#090909 0%,#111 34%,#171717 60%,#0a0a0a 100%);
  background-attachment:fixed;
}

/* Crisp typography */
h1,h2,h3,h4,strong,b{
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
h1,h2{
  letter-spacing:-.035em;
}
p,li,a,span,small{
  text-rendering:optimizeLegibility;
}

/* Header */
.site-header{
  background:rgba(8,8,8,.80)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
  backdrop-filter:blur(18px) saturate(115%);
  -webkit-backdrop-filter:blur(18px) saturate(115%);
  box-shadow:0 8px 28px rgba(0,0,0,.26);
}
.brand strong{color:#fff;letter-spacing:.02em}
.menu a{
  color:#d9d9d9;
  transition:color .18s ease,background .18s ease,border-color .18s ease;
}
.menu a:hover,.menu a.active{
  color:#fff;
  background:rgba(255,255,255,.055);
}

/* Hero */
.hero{
  background:
    radial-gradient(circle at 76% 20%,rgba(255,255,255,.12),transparent 26%),
    radial-gradient(circle at 15% 10%,rgba(255,255,255,.045),transparent 22%),
    linear-gradient(135deg,#050505 0%,#171717 48%,#2a2a2a 100%)!important;
}
.hero::before{
  opacity:.9;
  background:
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:52px 52px;
}
.hero-copy h1{
  color:#fff;
  text-shadow:0 2px 0 rgba(255,255,255,.03),0 18px 42px rgba(0,0,0,.42);
}
.hero-copy h2{color:#ededed}
.hero-copy .lead{color:#c9c9c9;max-width:760px}
.hero-signature span{
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.025))!important;
  border-color:rgba(255,255,255,.17)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.tagline{
  color:#fafafa;
  font-weight:700;
  letter-spacing:.025em;
}

/* Portrait */
.portrait-card{
  background:linear-gradient(145deg,#3a3a3a 0%,#1c1c1c 52%,#0d0d0d 100%)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  box-shadow:
    0 28px 70px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.portrait-card img{
  image-rendering:auto;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  transform:translateZ(0);
  filter:grayscale(100%) contrast(1.06) brightness(1.02)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.portrait-card blockquote{
  background:linear-gradient(135deg,rgba(6,10,14,.94),rgba(14,20,27,.90))!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:
    0 16px 34px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.035)!important;
}

/* Buttons */
.btn{
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(180deg,#242424,#171717);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
.btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,255,255,.34);
  box-shadow:0 12px 28px rgba(0,0,0,.28);
}
.btn.primary{
  background:linear-gradient(135deg,#ffffff 0%,#d8d8d8 58%,#a9a9a9 100%)!important;
  color:#0a0a0a!important;
  border-color:#efefef!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34),inset 0 1px 0 #fff!important;
}

/* Metric cards */
.metric-link{
  border:1px solid rgba(255,255,255,.10)!important;
  background:
    radial-gradient(circle at 85% 0%,rgba(255,255,255,.075),transparent 28%),
    linear-gradient(145deg,#292929 0%,#1c1c1c 56%,#121212 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}
.metric-link:hover{
  border-color:rgba(255,255,255,.27)!important;
  background:
    radial-gradient(circle at 85% 0%,rgba(255,255,255,.11),transparent 30%),
    linear-gradient(145deg,#323232 0%,#222 56%,#161616 100%)!important;
  box-shadow:0 18px 38px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
.metric-link b{color:#fff}
.metric-link span{color:#e7e7e7}
.metric-link small,.metric-link em{color:#b8b8b8}

/* Sections & cards */
.section.alt{
  background:
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.045),transparent 28%),
    linear-gradient(180deg,#1a1a1a 0%,#111 100%)!important;
}
.card,.fact-card,.contact-card,.publication,.publication-main-head,.proceedings-master-head{
  border-color:rgba(255,255,255,.095)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.card,.fact-card,.contact-card{
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.05),transparent 28%),
    linear-gradient(145deg,#252525,#171717)!important;
}
.card:hover,.fact-card:hover,.contact-card:hover{
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
}
.icon,.flow-bubble{
  background:linear-gradient(180deg,#343434,#202020)!important;
  border-color:rgba(255,255,255,.17)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

/* Grey AI section */
.grey-ai{
  background:
    radial-gradient(circle at 82% 8%,rgba(255,255,255,.085),transparent 28%),
    linear-gradient(145deg,#242424 0%,#161616 60%,#0f0f0f 100%)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.03);
}
.flow-step{
  background:linear-gradient(145deg,#242424,#141414)!important;
  border:1px solid rgba(255,255,255,.08);
}

/* Publications */
.page-hero{
  background:
    radial-gradient(circle at 82% 4%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(180deg,#242424 0%,#121212 100%)!important;
}
.mode-btn{
  background:
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.05),transparent 28%),
    linear-gradient(145deg,#242424,#161616)!important;
  border-color:rgba(255,255,255,.10)!important;
}
.mode-btn:hover{
  border-color:rgba(255,255,255,.26)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
}
.mode-btn.active{
  background:linear-gradient(135deg,#fff 0%,#d7d7d7 65%,#a8a8a8 100%)!important;
  color:#0b0b0b!important;
}
.publication{
  background:
    radial-gradient(circle at 96% 0%,rgba(255,255,255,.045),transparent 22%),
    linear-gradient(145deg,#222,#141414)!important;
}
.publication:hover{
  background:
    radial-gradient(circle at 96% 0%,rgba(255,255,255,.075),transparent 24%),
    linear-gradient(145deg,#292929,#181818)!important;
}
.index-badge{
  background:linear-gradient(180deg,#323232,#232323)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.index-quartile{
  background:linear-gradient(180deg,#efefef,#bdbdbd)!important;
  color:#111!important;
  border-color:#e9e9e9!important;
}
.search{
  background:linear-gradient(180deg,#171717,#101010)!important;
  border-color:rgba(255,255,255,.11)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.search:focus{
  border-color:rgba(255,255,255,.32)!important;
  box-shadow:0 0 0 3px rgba(255,255,255,.05);
}

/* Fine borders and separators */
hr,.pub-group-head,.portrait-card blockquote{
  border-color:rgba(255,255,255,.10)!important;
}
.section-kicker,.eyebrow,.meta{
  color:#d8d8d8!important;
}
.muted,.card p,.publication p,.time span{
  color:#b8b8b8!important;
}

/* Retina-friendly media rendering */
img,svg{
  max-width:100%;
  height:auto;
}
img{
  image-rendering:auto;
}
@media (min-resolution:2dppx){
  body{background-attachment:scroll}
  .site-header{backdrop-filter:blur(20px) saturate(120%);-webkit-backdrop-filter:blur(20px) saturate(120%)}
  .portrait-card,.card,.metric-link,.publication{box-shadow:inset 0 .5px 0 rgba(255,255,255,.05)}
}

/* Reduced motion accessibility */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* V25 — Academics: memberships, editorial and reviewing refinements */
.membership-list li,
.editorial-list li,
.reviewing-list li{
  padding-bottom:16px;
}
.service-access-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:7px;
  color:#f2f2f2;
  font-size:.78rem;
  line-height:1.4;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.28);
  opacity:.76;
  transition:opacity .18s ease,border-color .18s ease,transform .18s ease;
  overflow-wrap:anywhere;
}
.service-access-link:hover,
.service-access-link:focus-visible{
  opacity:1;
  border-color:rgba(255,255,255,.8);
  transform:translateX(2px);
  outline:none;
}
.service-subheading{
  margin-top:38px!important;
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.11);
}


/* V27 — Google Scholar citation metric */
.pub-summary .scholar-citations{
  position:relative;
}
.pub-summary .scholar-citations small{
  display:block;
  margin-top:3px;
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.02em;
  color:var(--text-soft,#bdbdbd);
  opacity:.7;
}
#scholarCitationCount{
  font-variant-numeric:tabular-nums;
}


/* V29 — split supervised theses into PhD and MSc groups */
.thesis-group{
  margin-top:26px;
}
.thesis-group + .thesis-group{
  margin-top:42px;
  padding-top:30px;
  border-top:1px solid rgba(255,255,255,.10);
}
.thesis-group h3{
  margin:0 0 6px;
  font-size:clamp(1.25rem,2vw,1.55rem);
}
.thesis-group-note{
  margin:0 0 16px;
  color:var(--text-soft,#bdbdbd);
  font-size:.9rem;
}


/* =========================================================
   V30 FINAL — Premium academic monochrome presentation layer
   ========================================================= */
:root{
  --ink-950:#050505;--ink-900:#080808;--ink-850:#0c0c0c;--ink-800:#111111;
  --ink-700:#181818;--ink-650:#202020;--ink-600:#292929;--silver-500:#8f8f8f;
  --silver-300:#cfcfcf;--silver-200:#e5e5e5;--paper:#fafafa;
  --bg:var(--ink-900);--bg2:var(--ink-700);--panel:var(--ink-650);--panel2:var(--ink-600);
  --text:#f6f6f6;--muted:#b8b8b8;--line:rgba(255,255,255,.115);
  --accent:#d8d8d8;--accent2:#f2f2f2;--max:1240px;--radius:20px;
  --shadow:0 22px 70px rgba(0,0,0,.34);
}
html{color-scheme:dark;background:#080808;scrollbar-color:#5f5f5f #111}
body{
  min-height:100vh;color:var(--text);font-size:16px;letter-spacing:-.005em;
  background:
    radial-gradient(1000px 600px at 8% -10%,rgba(255,255,255,.055),transparent 58%),
    radial-gradient(900px 560px at 95% 12%,rgba(255,255,255,.035),transparent 56%),
    linear-gradient(180deg,#070707 0%,#101010 48%,#090909 100%);
}
::selection{background:#e8e8e8;color:#0a0a0a}
:focus-visible{outline:2px solid #f3f3f3;outline-offset:3px;border-radius:6px}
.container{width:min(var(--max),calc(100% - 48px))}.narrow{max-width:940px}

.site-header{
  background:rgba(8,8,8,.82)!important;border-bottom:1px solid rgba(255,255,255,.085)!important;
  box-shadow:0 8px 32px rgba(0,0,0,.22)!important;
  backdrop-filter:blur(20px) saturate(115%)!important;-webkit-backdrop-filter:blur(20px) saturate(115%)!important;
}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);pointer-events:none}
.nav{min-height:80px}.brand strong{color:#fff;font-size:18px;letter-spacing:.055em}.brand span{color:#a8a8a8;font-size:9px;letter-spacing:.17em}
.menu{gap:14px}.menu a{position:relative;padding:10px 3px;border-bottom:0!important;font-size:12.5px;font-weight:550;color:#c9c9c9}
.menu a::after{content:"";position:absolute;left:50%;right:50%;bottom:4px;height:1px;background:#f1f1f1;transition:left .2s ease,right .2s ease,opacity .2s ease;opacity:0}
.menu a:hover,.menu a.active{color:#fff;background:transparent!important}.menu a:hover::after,.menu a.active::after{left:3px;right:3px;opacity:1}
.pill,.profile-links a{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.025);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.pill:hover,.profile-links a:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.32);transform:translateY(-1px)}

h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.04em!important;line-height:1.03}h2{letter-spacing:-.032em!important;line-height:1.08}h3{letter-spacing:-.018em}
.section-kicker,.eyebrow{color:#d7d7d7!important;letter-spacing:.20em}

.hero{
  min-height:calc(100vh - 80px);display:flex;align-items:center;
  background:
    radial-gradient(700px 480px at 82% 18%,rgba(255,255,255,.115),transparent 60%),
    radial-gradient(600px 420px at 4% 20%,rgba(255,255,255,.045),transparent 60%),
    linear-gradient(132deg,#050505 0%,#111 50%,#272727 100%)!important;
}
.hero-grid{padding:74px 0 68px;gap:64px}.hero-copy{position:relative;z-index:2}
.hero-copy h1{max-width:780px;font-size:clamp(50px,7.2vw,88px);margin:18px 0 10px;text-shadow:0 18px 55px rgba(0,0,0,.42)}
.hero-copy h2{color:#ededed;font-size:clamp(21px,2.2vw,27px)}.univ{color:#c8c8c8}
.hero-signature{gap:8px;margin:18px 0 12px}.hero-signature span{min-height:29px;padding:6px 10px;border:1px solid rgba(255,255,255,.15)!important;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.018))!important;color:#ededed;box-shadow:inset 0 1px 0 rgba(255,255,255,.045)}
.tagline{max-width:900px;color:#fff!important;font-size:clamp(17px,1.55vw,21px);line-height:1.45}.lead{color:#bebebe!important;line-height:1.72;max-width:780px}

.portrait-card{isolation:isolate;padding:14px!important;border-radius:26px!important;border:1px solid rgba(255,255,255,.15)!important;background:linear-gradient(145deg,#373737,#1a1a1a 58%,#0d0d0d)!important;box-shadow:0 32px 85px rgba(0,0,0,.46),inset 0 1px 0 rgba(255,255,255,.055)!important}
.portrait-card::after{content:"";position:absolute;inset:14px;border-radius:16px;border:1px solid rgba(255,255,255,.055);pointer-events:none;z-index:2}
.portrait-card img{width:100%!important;height:520px!important;object-fit:cover!important;object-position:center 20%!important;border-radius:16px!important;filter:grayscale(100%) contrast(1.045) brightness(1.015)!important}
.portrait-card blockquote{left:8%!important;right:8%!important;bottom:28px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.16)!important;background:linear-gradient(135deg,rgba(8,8,8,.91),rgba(25,25,25,.86))!important;color:#f7f7f7!important;box-shadow:0 14px 38px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.03)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}

.btn{min-height:46px;padding:10px 18px;border-radius:12px;background:linear-gradient(180deg,#222,#151515);border-color:rgba(255,255,255,.14);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.btn:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.30);box-shadow:0 12px 30px rgba(0,0,0,.28)}
.btn.primary{background:linear-gradient(135deg,#fff,#d7d7d7 62%,#aaa)!important;color:#0b0b0b!important;border-color:#eee!important;box-shadow:0 14px 34px rgba(0,0,0,.32),inset 0 1px 0 #fff!important}

.stats-wrap{background:linear-gradient(180deg,#111,#0d0d0d)!important;border-top:1px solid rgba(255,255,255,.05)}
.stats{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:10px;padding:18px 0!important}
.metric-link{min-height:168px!important;padding:20px!important;justify-content:flex-end;border-radius:16px!important;border:1px solid rgba(255,255,255,.095)!important;background:radial-gradient(260px 150px at 100% 0%,rgba(255,255,255,.07),transparent 58%),linear-gradient(145deg,#272727,#181818 58%,#101010)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.metric-link::before{height:1px!important;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.05))!important}
.metric-link:hover{transform:translateY(-5px)!important;border-color:rgba(255,255,255,.23)!important;box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.045)!important}
.metric-link b{font-size:clamp(28px,2.5vw,40px)!important;color:#fff}.metric-link span{font-size:12.5px;color:#e2e2e2}.metric-link small,.metric-link em{color:#aaa!important}

.section{padding:84px 0}.section.alt{background:radial-gradient(700px 350px at 12% 0%,rgba(255,255,255,.035),transparent 65%),linear-gradient(180deg,#181818,#101010)!important}
.card,.fact-card,.contact-card{border-radius:20px!important;border:1px solid rgba(255,255,255,.095)!important;background:radial-gradient(340px 180px at 100% 0%,rgba(255,255,255,.05),transparent 62%),linear-gradient(145deg,#232323,#151515)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 10px 28px rgba(0,0,0,.14);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.card:hover,.fact-card:hover,.contact-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.20)!important;box-shadow:0 18px 44px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035)}
.cards.five{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:12px}.cards.five .card{padding:22px}.cards.five .card h3{font-size:17px}
.icon,.flow-bubble{background:linear-gradient(180deg,#333,#1f1f1f)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}

.grey-ai{border-radius:26px!important;padding:clamp(28px,4vw,48px)!important;border:1px solid rgba(255,255,255,.105)!important;background:radial-gradient(480px 250px at 88% 0%,rgba(255,255,255,.07),transparent 62%),linear-gradient(145deg,#232323,#121212 68%)!important;box-shadow:0 28px 72px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.025)}
.flow-step{border-color:rgba(255,255,255,.09)!important;background:linear-gradient(145deg,#232323,#131313)!important}

.page-hero{padding:86px 0 64px!important;background:radial-gradient(760px 360px at 84% 0%,rgba(255,255,255,.075),transparent 62%),linear-gradient(180deg,#202020,#101010)!important;border-bottom:1px solid rgba(255,255,255,.09)!important}
.page-hero h1{max-width:980px;font-size:clamp(40px,5vw,64px)!important}.page-hero p{color:#bdbdbd!important;line-height:1.7}

.pub-summary{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px!important}
.pub-summary span,.pub-summary .summary-link{display:flex;min-height:74px;flex-wrap:wrap;align-content:center;align-items:baseline;gap:0 5px;padding:13px 15px!important;border-radius:14px!important;border:1px solid rgba(255,255,255,.10)!important;background:linear-gradient(145deg,#242424,#151515);color:#b9b9b9!important;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.pub-summary .summary-link:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.24)!important;background:linear-gradient(145deg,#2a2a2a,#181818)}
.pub-summary b{font-size:22px!important;color:#fff!important;font-variant-numeric:tabular-nums}.pub-summary small{flex-basis:100%;margin-top:2px!important}

.publication-mode{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-top:28px!important}
.mode-btn{min-height:116px!important;padding:18px 20px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.10)!important;background:radial-gradient(260px 140px at 100% 0%,rgba(255,255,255,.045),transparent 60%),linear-gradient(145deg,#222,#141414)!important}
.mode-btn strong{font-size:21px!important}.mode-btn.active{background:linear-gradient(135deg,#fff,#d8d8d8 68%,#aaa)!important;color:#0c0c0c!important;box-shadow:0 14px 32px rgba(0,0,0,.25)}

.search{min-height:48px;border-radius:14px!important;background:linear-gradient(180deg,#151515,#0f0f0f)!important}
.filter-btn{color:#d7d7d7!important;border-color:rgba(255,255,255,.10)!important;background:#181818!important}
.filter-btn.active,.filter-btn:hover{background:#ededed!important;color:#111!important;border-color:#ededed!important}

.publication-main-head{border-radius:20px!important;background:radial-gradient(420px 200px at 96% 0%,rgba(255,255,255,.055),transparent 65%),linear-gradient(135deg,#252525,#141414)!important}
.publication{border-radius:16px!important;border-color:rgba(255,255,255,.09)!important;background:radial-gradient(320px 160px at 100% 0%,rgba(255,255,255,.035),transparent 62%),linear-gradient(145deg,#202020,#121212)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}
.publication:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.20)!important;box-shadow:0 14px 34px rgba(0,0,0,.21),inset 0 1px 0 rgba(255,255,255,.025)!important}
.publication::before{width:2px!important;background:linear-gradient(#d6d6d6,#4f4f4f)!important}
.index-badge{border-color:rgba(255,255,255,.16)!important;background:linear-gradient(180deg,#303030,#202020)!important}.index-quartile{background:linear-gradient(180deg,#f2f2f2,#bfbfbf)!important;color:#111!important}
.pub-links a{border-color:rgba(255,255,255,.14)!important;background:#1e1e1e!important}.pub-links a:hover{background:#f0f0f0!important;color:#111!important}

.cv-list li{border-bottom-color:rgba(255,255,255,.09)!important}.cv-list strong{color:#f3f3f3}.cv-list span{color:#aaa}
.service-access-link{color:#dfdfdf!important;border-bottom-color:rgba(255,255,255,.24)!important}
.thesis-group{padding:22px 24px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(145deg,#202020,#131313)}
.thesis-group + .thesis-group{margin-top:22px!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.09)!important}.thesis-group-note{color:#aaa!important}

.contact-card h2 a,.contact-card h3 a{word-break:break-word}.profile-stack a{display:flex;align-items:center;min-height:38px;padding:7px 10px;border:1px solid rgba(255,255,255,.09);border-radius:10px;background:rgba(255,255,255,.018);transition:.18s ease}.profile-stack a:hover{background:rgba(255,255,255,.065);border-color:rgba(255,255,255,.22);transform:translateX(2px)}

.footer{padding:38px 0!important;background:linear-gradient(180deg,#0b0b0b,#050505)!important;border-top-color:rgba(255,255,255,.09)!important}
.footer-grid{grid-template-columns:1.15fr 1.45fr auto!important;gap:26px!important}.footer-links{gap:9px 14px!important}.footer-links a{color:#c8c8c8;transition:color .18s ease}.footer-links a:hover{color:#fff}

@media (hover:hover){.text-link{transition:opacity .18s ease,transform .18s ease}.text-link:hover{opacity:.82;transform:translateX(2px)}}
@media(max-width:1180px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.cards.five{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:1050px){.menu{top:80px!important;background:rgba(15,15,15,.97)!important;border-color:rgba(255,255,255,.12)!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.menu a{padding:12px 10px!important}.hero{min-height:auto}.hero-grid{grid-template-columns:1fr .78fr!important;gap:38px}}
@media(max-width:820px){.pub-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}.publication-mode{grid-template-columns:1fr!important}.cards.five{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.container{width:min(var(--max),calc(100% - 30px))}.section{padding:64px 0}.hero-grid{grid-template-columns:1fr!important;padding:56px 0!important}.hero-copy h1{font-size:clamp(44px,14vw,66px)}.portrait-card{max-width:540px;margin-inline:auto}.portrait-card img{height:auto!important;max-height:620px!important}.stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.metric-link{min-height:146px!important}.cards.five{grid-template-columns:1fr!important}.footer-grid{display:grid!important;grid-template-columns:1fr!important}}
@media(max-width:470px){.pub-summary{grid-template-columns:1fr!important}.stats{grid-template-columns:1fr!important}.portrait-card blockquote{position:absolute!important;left:7%!important;right:7%!important;bottom:20px!important;margin:0!important;font-size:.84rem!important}}
@media print{body{font-size:11pt}.card,.fact-card,.publication,.contact-card,.thesis-group{background:#fff!important;color:#111!important;box-shadow:none!important}}
@media (min-resolution:2dppx){.site-header,.card,.metric-link,.publication,.portrait-card,.mode-btn,.pub-summary span,.pub-summary .summary-link{border-width:.5px!important}}
