@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Source+Sans+3:wght@400;500;600;700&family=Source+Serif+4:wght@400;500;600;700&display=swap");
/*
  Scientific portfolio typography system — 8 November 2026.
  Based on MIT Brand Guide typography principles and MIT Communication Lab
  readability guidance, without using MIT brand fonts, marks or identity.
  Source Sans 3: readable body text. Source Serif 4: scholarly headings. IBM Plex Mono: quantitative labels.
*/
:root{
  --sans:"Source Sans 3",Arial,Helvetica,sans-serif;
  --serif:"Source Serif 4",Georgia,serif;
  --scientific-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{
  font-family:var(--sans);
  font-size:16px;
  font-weight:400;
  line-height:1.56;
  letter-spacing:0;
  color:#263342;
}
h1,h2,h3,h4,
.sidebar-top h1,
.hero h2,
.repo-project h3,
.research-card h3,
.project h3{
  font-family:var(--serif);
  font-weight:600;
  letter-spacing:-.012em;
  text-wrap:balance;
}
h1,h2{line-height:1.24;}
h3,h4{line-height:1.34;}
p,li,dd{overflow-wrap:break-word;}
p{line-height:1.56;}
strong,b{font-weight:700;}
a{ text-underline-offset:3px; }
a:focus-visible,button:focus-visible{outline:2px solid #2456A4;outline-offset:3px;}

/* Heading hierarchy: compact but distinct from research content. */
.sidebar-top h1{
  font-size:1.65rem;
  line-height:1.16;
  letter-spacing:-.025em;
}
.sidebar .tagline,.tagline{
  font-size:.93rem;
  line-height:1.45;
}
.sidebar .meta-block{font-size:.86rem;line-height:1.5;}
.sidebar-bottom,.sidebar-bottom a{font-size:.84rem;line-height:1.42;}
.sidebar-bottom .contact-label{font-size:.88rem;}
nav.toc a{font-size:.88rem;line-height:1.4;}
.eyebrow-rule h2,
.portfolio-detail .eyebrow-rule h2{
  font-family:var(--serif);
  font-size:1.37rem;
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.25;
}
.hero h2,.portfolio-detail .hero h2{
  font-size:clamp(1.85rem,3vw,2.3rem);
  line-height:1.16;
  letter-spacing:-.025em;
}
h3{font-size:1.13rem;}
.repo-project h3,.portfolio-detail .repo-project-heading h3,
#research-bundles .repo-project-heading h3,
#repositories .repo-project-heading h3{
  font-family:var(--serif);
  font-size:1.2rem;
  line-height:1.3;
}
.research-card h3,.project h3{font-size:1.14rem;line-height:1.31;}

/* The first impression and technical paragraphs must remain readable. */
#summary > p{
  font-family:var(--sans);
  font-size:1rem;
  line-height:1.61;
  max-width:67ch;
}
section.hero#overview > p.lede,
.hero .lede,.portfolio-detail .hero .lede{
  font-family:var(--sans);
  font-size:1rem;
  font-weight:400;
  line-height:1.60;
  color:#344355;
  letter-spacing:0;
  max-width:67ch;
}
#summary > p + p{margin-top:10px;}
.repo-section-intro,.section-intro,
#research-bundles .repo-section-intro,
#repositories .repo-section-intro,
.repo-section .repo-section-intro{
  font-size:.97rem;
  line-height:1.6;
  max-width:74ch;
}
.repo-copy,
#research-bundles .repo-copy,
#repositories .repo-copy,
.project-copy,
.research-card li,
.system-card p{
  font-family:var(--sans);
  font-size:.97rem;
  font-weight:400;
  line-height:1.6;
}
.repo-copy p{line-height:inherit;}
.entry p,.skill-group p,.training-list{font-size:.95rem;line-height:1.57;}
.entry h3{font-size:1.1rem;line-height:1.34;}
.entry .years,.entry .org{font-size:.86rem;}
/* Readable publication citations in the typeface of the rest of the site. */
.pub-title,.pub-list li,#publications .pub-list li{
  font-family:var(--sans);
  font-size:.96rem;
  line-height:1.6;
}
.pub-meta,.pub-note,#publications .pub-note{
  font-size:.85rem;
  line-height:1.5;
}
#publications h3{
  font-family:var(--sans);
  font-size:.96rem;
  line-height:1.36;
  font-weight:700;
  letter-spacing:0;
}
#publications .translation,#publications .english-title{color:#4B5563;}
/* Project metadata, captions and controls: no tiny unreadable microtype. */
.portfolio-nav a{font-family:var(--sans);font-size:.84rem;font-weight:600;line-height:1.35;}
.project-index a,.item-index a{font-size:.8rem;line-height:1.36;}
.repo-kicker,#repositories .repo-kicker{font-size:.78rem;line-height:1.45;font-weight:700;}
.repo-visual figcaption,
#research-bundles .repo-visual figcaption,
#repositories .repo-visual figcaption{
  font-family:var(--sans);
  font-size:.79rem;
  font-weight:400;
  line-height:1.46;
}
.repo-data-note,.research-card .meta,.project .meta,.pub-kind{font-size:.84rem;line-height:1.5;}
.repo-links a,.resource-box a,.doi-link{font-size:.83rem;line-height:1.4;}
.repo-evidence-label{font-size:.79rem;line-height:1.4;}
.repo-evidence-value,.metrics strong{
  font-family:var(--scientific-mono);
  font-size:1.02rem;
  font-weight:600;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.024em;
}
#featured-research .featured-research-intro{
  font-size:.9rem;
  line-height:1.5;
}
#featured-research .featured-research-card h3{
  font-family:var(--serif);
  font-size:1.07rem;
  line-height:1.3;
  font-weight:700;
}
#featured-research .featured-research-domain,
#featured-research .featured-research-status{font-size:.73rem;line-height:1.38;}
#featured-research .featured-research-subtitle{font-size:.82rem;line-height:1.45;}
#featured-research .featured-research-summary{font-size:.85rem;line-height:1.48;}
#featured-research .featured-research-evidence strong{
  font-family:var(--scientific-mono);
  font-size:1.08rem;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-.028em;
}
#featured-research .featured-research-evidence span{font-size:.78rem;line-height:1.43;}
#featured-research .featured-research-links{font-size:.81rem;line-height:1.4;}
footer,.visitor-country-note{font-size:.82rem;line-height:1.52;}
/* Preserve the established clean responsive layout and interactive card links. */
@media(max-width:900px){
  .sidebar-top h1{font-size:1.65rem;}
}
@media(max-width:560px){
  body{font-size:16px;}
  .eyebrow-rule h2,.portfolio-detail .eyebrow-rule h2{font-size:1.22rem;}
  .hero h2,.portfolio-detail .hero h2{font-size:1.75rem;}
  #featured-research .featured-research-summary{font-size:.91rem;}
  #featured-research .featured-research-card h3{font-size:1.11rem;}
  nav.toc a,.portfolio-nav a{line-height:1.5;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
}

/* Secondary labels retain readable scale without crowding the research cards. */
.project-number,.system-card .year,.method-tags span{font-size:.83rem;line-height:1.44;}
.skill-group h3{font-size:.88rem;line-height:1.35;font-weight:700;}
#repositories .repo-links a,#research-bundles .repo-links a{font-size:.84rem;line-height:1.43;}
#publications > p{font-size:.96rem;line-height:1.56;}
.kicker,.pub-kind,.output{font-size:.86rem;line-height:1.48;}

/* 2026-11-08: coherent academic typography refinement. */
body,button,input,select,textarea{font-family:var(--sans);}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;}
nav.toc a,.portfolio-nav a,.repo-links a,.project-index a,.item-index a{font-family:var(--sans);font-weight:600;letter-spacing:0;}
#publications .pub-title{font-family:var(--sans);font-weight:600;letter-spacing:0;}
#publications .pub-list li{line-height:1.56;}
#featured-research .featured-research-card h3{font-family:var(--serif);font-weight:600;font-size:1.13rem;line-height:1.32;}
.repo-project h3,.portfolio-detail .repo-project-heading h3{font-family:var(--serif);font-weight:600;letter-spacing:-.014em;}
.repo-kicker,.pub-kind,.featured-research-domain,.featured-research-status{letter-spacing:.035em;}
.repo-evidence-value,.metrics strong{font-variant-numeric:tabular-nums;}
@media(max-width:560px){#featured-research .featured-research-card h3{font-size:1.1rem;}body{line-height:1.58;}}

/* Professor-first readability: generous text size and restrained hierarchy. */
body{font-size:17px;line-height:1.65;}
#summary > p,.hero .lede,.portfolio-detail .hero .lede{font-size:1.05rem;line-height:1.68;max-width:68ch;}
.repo-copy,.project-copy,.research-card li,.system-card p,.entry p{font-size:1rem;line-height:1.65;}
#publications .pub-list li,.pub-title{font-size:1rem;line-height:1.65;}
.repo-section-intro,.section-intro{font-size:1rem;line-height:1.65;}
#featured-research .featured-research-summary{font-size:.94rem;line-height:1.58;}
#featured-research .featured-research-subtitle{font-size:.9rem;line-height:1.52;}
#featured-research .featured-research-domain,#featured-research .featured-research-status{font-size:.8rem;}
nav.toc a{font-size:.94rem;line-height:1.55;}
@media(max-width:560px){body{font-size:16px;line-height:1.62;}#summary > p,.hero .lede,.portfolio-detail .hero .lede{font-size:1rem;} }

/* Homepage density: compact research introduction and featured work (Nov 2026). */
.home-page #summary{margin-bottom:24px;}
.home-page #summary .eyebrow-rule{margin-bottom:9px;}
.home-page #summary .research-profile-lead{
  font-size:.96rem;line-height:1.43;font-weight:600;margin-bottom:7px;
}
.home-page #summary .research-profile-body{
  font-size:.86rem;line-height:1.48;margin-bottom:7px;max-width:79ch;
}
.home-page #summary .research-profile-links{margin-top:11px;gap:7px;}
.home-page #summary .research-profile-links a{
  font-size:.8rem;line-height:1.3;padding:7px 10px;
}
.home-page #portfolio{margin-bottom:24px;}
.home-page #portfolio .eyebrow-rule{margin-bottom:9px;}
.home-page #portfolio .portfolio-nav{margin-top:10px;gap:0;}
.home-page #portfolio .portfolio-nav a{min-height:40px;padding:7px 6px;font-size:.79rem;}
.home-page #featured-research{margin-bottom:37px;}
.home-page #featured-research .eyebrow-rule{margin-bottom:7px;}
.home-page #featured-research .featured-research-intro{margin-bottom:9px;font-size:.8rem;line-height:1.4;}
.home-page #featured-research .featured-research-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
}
.home-page #featured-research .featured-research-card{padding:10px 10px 9px;}
.home-page #featured-research .featured-research-top{margin-bottom:6px;gap:4px 6px;}
.home-page #featured-research .featured-research-domain,
.home-page #featured-research .featured-research-status{font-size:.65rem;line-height:1.3;}
.home-page #featured-research .featured-research-card h3{font-size:1rem;line-height:1.23;margin-bottom:3px;}
.home-page #featured-research .featured-research-subtitle{font-size:.75rem;line-height:1.32;margin-bottom:6px;}
.home-page #featured-research .featured-research-summary{font-size:.79rem;line-height:1.42;margin-bottom:8px;}
.home-page #featured-research .featured-research-evidence{padding-top:7px;gap:2px;}
.home-page #featured-research .featured-research-evidence strong{font-size:1rem;line-height:1.2;}
.home-page #featured-research .featured-research-evidence span{font-size:.73rem;line-height:1.34;}
.home-page #featured-research .featured-research-links{font-size:.75rem;margin-top:8px;gap:7px;}
@media(max-width:750px){
  .home-page #featured-research .featured-research-grid{grid-template-columns:1fr;}
  .home-page #summary .research-profile-body{font-size:.89rem;line-height:1.53;}
  .home-page #featured-research .featured-research-card{padding:12px 13px;}
}

/* Unified website font: Source Sans 3 across body, headings, cards and navigation. */
:root{--sans:"Source Sans 3",Arial,Helvetica,sans-serif;--serif:"Source Sans 3",Arial,Helvetica,sans-serif;}
body,button,input,select,textarea,
h1,h2,h3,h4,h5,h6,p,li,dt,dd,blockquote,figcaption,caption,
.sidebar-top h1,.hero h2,.repo-project h3,.research-card h3,.project h3,
.pub-title,.featured-research-card h3,.research-profile-lead{
  font-family:"Source Sans 3",Arial,Helvetica,sans-serif;
}

/* Publication audit: only English title text and translations receive grey styling.
   Indonesian titles inherit normal font weight; author names stay bold. */
.home-page #publications .pub-list .pub-title{font-weight:400;color:inherit;}
.home-page #publications .pub-list .pub-title b,
.home-page #publications .pub-list .pub-title > strong:not(.english-title){font-weight:700;}
.home-page #publications .pub-list .pub-title .english-title{
  color:#4B5563;font-weight:600;
}
.home-page #publications .pub-list .pub-title .translation,
.home-page #publications .pub-list.books-list .translation{
  color:#4B5563;font-weight:400;
}
.home-page #publications .pub-list.books-list em{font-weight:400;}

/* English translations in all published research, books and IP: bold dark grey. */
.home-page #publications .pub-list .translation,
.home-page #publications .pub-list .pub-title .translation,
.home-page #publications .pub-list.books-list .translation {
  color:#4B5563;
  font-weight:700;
}

/* Work Experience: reduce job-description bullet text by exactly 1pt only. */
.home-page #work .timeline .entry > ul,
.home-page #work .timeline .entry > ul li{
  font-size:calc(1rem - 1pt);
}
