@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap");@font-face{font-family:"Josefin Sans";src:url("../fonts/JosefinSans-Variable.ttf") format("truetype-variations");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:"Josefin Sans";src:url("../fonts/JosefinSans-Italic-Variable.ttf") format("truetype-variations");font-weight:100 700;font-style:italic;font-display:swap}:root{--ink-950:#080d18;--ink-900:#101828;--ink-800:#1a2338;--ink-700:#26324c;--ink-600:#364461;--blue-50:#eef3fe;--blue-100:#dce6fd;--blue-200:#b9cdfb;--blue-300:#8fadf6;--blue-400:#5c86ef;--blue-500:#2860e8;--blue-600:#1c4ecb;--blue-700:#193fa0;--royal-500:#3060b0;--royal-600:#274f93;--royal-700:#1f3f76;--white:#ffffff;--grey-50:#f7f8fa;--grey-100:#eef0f4;--grey-150:#e8e8e8;--grey-200:#dde1e8;--grey-300:#c3c9d4;--grey-400:#99a1b1;--grey-500:#6b7382;--grey-600:#4a5262;--grey-700:#333b4a;--success-500:#1f8a5b;--warning-500:#c77d18;--danger-500:#c6362f;--text-primary:var(--ink-900);--text-secondary:var(--grey-600);--text-muted:var(--grey-500);--text-inverse:var(--white);--text-accent:var(--blue-600);--surface-page:var(--white);--surface-subtle:var(--grey-50);--surface-muted:var(--grey-100);--surface-card:var(--white);--surface-inverse:var(--ink-900);--surface-accent:var(--blue-500);--border-default:var(--grey-200);--border-strong:var(--grey-300);--border-accent:var(--blue-500);--accent:var(--blue-500);--accent-hover:var(--blue-600);--accent-active:var(--blue-700);--accent-subtle:var(--blue-50);--focus-ring:var(--blue-400);--gradient-dome:linear-gradient(180deg,var(--blue-500) 0%,var(--royal-600) 55%,var(--royal-700) 100%);--gradient-ink:linear-gradient(150deg,var(--ink-900) 0%,var(--royal-700) 130%);--font-display:"Josefin Sans","Century Gothic",sans-serif;--font-body:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--container-max:1200px;--container-narrow:760px;--radius-sm:5px;--radius-md:8px;--radius-lg:12px;--radius-xl:18px;--radius-pill:999px;--shadow-sm:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);--shadow-md:0 4px 12px rgba(16,24,40,.08),0 2px 4px rgba(16,24,40,.04);--shadow-lg:0 12px 32px rgba(16,24,40,.10),0 4px 8px rgba(16,24,40,.05);--ease-standard:cubic-bezier(.2,0,0,1);--duration-base:200ms}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.12;color:var(--text-primary);margin:0 0 var(--space-4);letter-spacing:-0.01em}h1{font-size:clamp(2.25rem, 5vw, 3.75rem);font-weight:700}h2{font-size:clamp(1.75rem, 3.5vw, 2.5rem)}h3{font-size:1.375rem}h4{font-size:1.125rem}p{margin:0 0 var(--space-4)}p,li{max-width:68ch}a{color:var(--text-accent);text-decoration:none;transition:color var(--duration-base) var(--ease-standard)}a:hover{color:var(--accent-active);text-decoration:underline;text-underline-offset:3px}strong{font-weight:600}small{font-size:.875rem;color:var(--text-muted)}hr{border:0;border-top:1px solid var(--border-default);margin:var(--space-7) 0}img{max-width:100%;height:auto;display:block}code,pre{font-family:var(--font-mono);font-size:.9em}code{background:var(--surface-muted);padding:.12em .4em;border-radius:var(--radius-sm)}pre{background:var(--ink-900);color:#e6ebf5;padding:var(--space-5);border-radius:var(--radius-md);overflow-x:auto;line-height:1.6}pre code{background:none;padding:0;color:inherit}blockquote{margin:var(--space-6) 0;padding:var(--space-2) var(--space-5);border-left:3px solid var(--border-accent);color:var(--text-secondary);font-size:1.125rem}table{border-collapse:collapse;width:100%;margin:var(--space-5) 0;font-size:.95rem}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-default)}th{font-family:var(--font-display);font-weight:600;color:var(--text-secondary)}::selection{background:var(--blue-200)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.eyebrow{font-family:var(--font-display);font-weight:600;font-size:.8125rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-accent);margin:0 0 var(--space-3)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-5)}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:clamp(3rem, 8vw, 6rem)}.section--subtle{background:var(--surface-subtle)}.section--ink{background:var(--gradient-ink);color:var(--text-inverse)}.section--ink h1,.section--ink h2,.section--ink h3{color:var(--text-inverse)}.section--ink p{color:rgba(255,255,255,0.78)}.grid{display:grid;gap:var(--space-5)}.grid--2{grid-template-columns:repeat(2, 1fr)}.grid--3{grid-template-columns:repeat(3, 1fr)}.grid--4{grid-template-columns:repeat(4, 1fr)}@media (max-width: 860px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}@media (min-width: 861px) and (max-width: 1080px){.grid--4{grid-template-columns:repeat(2, 1fr)}}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,0.82);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--border-default)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:68px}.brand{display:flex;align-items:center;gap:var(--space-3);white-space:nowrap}.brand__mark{height:42px;width:auto;display:block}.brand__name{font-family:var(--font-display);font-weight:700;font-size:42px;line-height:1;letter-spacing:.04em;color:var(--ink-900);transform:translateY(0.13em)}@media (max-width: 780px){.brand__mark{height:34px}.brand__name{font-size:34px}}.site-nav{display:flex;align-items:center;gap:var(--space-5)}.site-nav a{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--text-primary);letter-spacing:.01em}.site-nav a:hover{color:var(--accent);text-decoration:none}.site-nav a[aria-current="page"]{color:var(--accent)}.nav-toggle{display:none}@media (max-width: 780px){.site-nav{display:none}.site-nav.is-open{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:var(--space-4);background:var(--white);padding:var(--space-5);border-bottom:1px solid var(--border-default);box-shadow:var(--shadow-md)}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--white);cursor:pointer}}.site-footer{background:var(--ink-900);color:rgba(255,255,255,0.72);padding-block:var(--space-8) var(--space-6);font-size:.9rem}.site-footer a{color:rgba(255,255,255,0.9)}.site-footer a:hover{color:var(--white)}.site-footer h4{color:var(--white);font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-4)}.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-6)}.site-footer__bottom{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid rgba(255,255,255,0.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);font-size:.8rem;color:rgba(255,255,255,0.5)}@media (max-width: 780px){.site-footer__grid{grid-template-columns:1fr}}.page-hero{padding-block:var(--space-8) var(--space-6);border-bottom:1px solid var(--border-default)}.prose>*+*{margin-top:var(--space-4)}.prose h2{margin-top:var(--space-7)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:600;font-size:.95rem;letter-spacing:.01em;line-height:1;padding:.8em 1.4em;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}.btn:hover{text-decoration:none}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);color:var(--white)}.btn--primary:hover{background:var(--accent-hover);color:var(--white)}.btn--secondary{background:transparent;color:var(--ink-900);border-color:var(--border-strong)}.btn--secondary:hover{border-color:var(--ink-900);color:var(--ink-900)}.btn--ghost{background:transparent;color:var(--accent);padding-inline:.4em}.btn--ghost:hover{color:var(--accent-active)}.btn--on-ink{background:var(--white);color:var(--ink-900)}.btn--on-ink:hover{background:var(--grey-100);color:var(--ink-900)}.btn--lg{font-size:1.05rem;padding:.95em 1.7em}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}a.card,.card--link{display:block;color:inherit}a.card:hover,.card--link:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px);text-decoration:none}.card__eyebrow{font-family:var(--font-display);font-weight:600;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-accent)}.card__title{font-family:var(--font-display);font-weight:600;font-size:1.25rem;margin:var(--space-2) 0 var(--space-3);color:var(--ink-900)}.card__body{color:var(--text-secondary);font-size:.975rem;margin:0}.theme-card{position:relative;overflow:hidden;padding-top:var(--space-6)}.theme-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-dome)}.badge{display:inline-flex;align-items:center;gap:.35em;font-family:var(--font-display);font-weight:600;font-size:.75rem;letter-spacing:.04em;padding:.3em .7em;border-radius:var(--radius-pill);background:var(--accent-subtle);color:var(--blue-700)}.badge--ink{background:var(--ink-900);color:var(--white)}.badge--neutral{background:var(--surface-muted);color:var(--text-secondary)}.badge--success{background:#e7f4ee;color:var(--success-500)}.tag{display:inline-flex;font-family:var(--font-mono);font-size:.75rem;padding:.25em .6em;border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--surface-subtle)}.people-group{margin-top:var(--space-7)}.people-group:first-of-type{margin-top:var(--space-5)}.people-group__title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--text-secondary);margin:0 0 var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-default)}.person__links{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2);font-size:.8rem}.person__links a{font-family:var(--font-display);font-weight:600}.person{text-align:left}.person__photo{aspect-ratio:1;width:100%;object-fit:cover;border-radius:var(--radius-lg);background:var(--surface-muted);border:1px solid var(--border-default)}.person__name{font-family:var(--font-display);font-weight:600;font-size:1.05rem;margin:var(--space-3) 0 2px;color:var(--ink-900)}.person__role{font-size:.875rem;color:var(--text-muted);margin:0}.pub{padding:var(--space-5) 0;border-bottom:1px solid var(--border-default)}.pub__title{font-family:var(--font-display);font-weight:600;font-size:1.1rem;margin:0 0 var(--space-2);color:var(--ink-900)}.pub__meta{font-size:.9rem;color:var(--text-muted);margin:0 0 var(--space-2)}.pub__venue{font-style:italic;color:var(--text-secondary)}.pub__links{display:flex;gap:var(--space-3);margin-top:var(--space-2);font-size:.85rem}.hero{position:relative;background:var(--gradient-ink);color:var(--white);overflow:hidden}.hero__inner{padding-block:clamp(4rem, 10vw, 8rem);position:relative;z-index:2}.hero h1{color:var(--white);max-width:16ch}.hero p{color:rgba(255,255,255,0.8);font-size:1.2rem;max-width:54ch}.hero__glow{position:absolute;inset:0;z-index:1;background:radial-gradient(60% 80% at 78% 15%, rgba(40,96,232,0.45), transparent 60%)}.hero__actions{display:flex;gap:var(--space-4);margin-top:var(--space-6);flex-wrap:wrap}.stat__num{font-family:var(--font-display);font-weight:700;font-size:2.75rem;color:var(--accent);line-height:1}.stat__label{font-size:.9rem;color:var(--text-secondary);margin-top:var(--space-2)}.post-date{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);margin:0 0 var(--space-3)}.grant__value{font-family:var(--font-display);font-weight:700;font-size:1.75rem;color:var(--accent);line-height:1}.grant__title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;margin:var(--space-3) 0 var(--space-2);color:var(--ink-900)}.grant__meta{font-size:.9rem;color:var(--text-muted);margin:0 0 var(--space-2)}.grant__summary{font-size:.95rem;color:var(--text-secondary);margin:0}.stack>*+*{margin-top:var(--space-4)}.cluster{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center}.text-center{text-align:center}.mono{font-family:var(--font-mono)}
