/* Josefin Sans (SIL Open Font License), embedded so it loads everywhere (also from file://)
   and no request goes to Google. Source file: fonts/josefin-sans-600.woff2 */
@font-face {
  font-family: "Josefin Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("data:font/woff2;base64,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") format("woff2");
}

:root {
  --bg: #ffffff;
  --bg-alt: #f4f6f9;
  --surface: #ffffff;
  --text: #1a2230;
  --muted: #5b6676;
  --border: #dde3ea;
  --primary: #003560;      /* RUB blue */
  --primary-ink: #ffffff;
  --accent: #8dae10;       /* RUB green */
  --link: #0a5aa3;
  --radius: 10px;
  --shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 4px 16px rgba(16, 24, 40, .05);
  --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0f141b; --bg-alt: #151c25; --surface: #18212c; --text: #e6ebf1;
    --muted: #9aa6b5; --border: #273241; --primary: #5b9bd5; --primary-ink: #0f141b;
    --accent: #a8c93a; --link: #7db6ec; --shadow: none; color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0f141b; --bg-alt: #151c25; --surface: #18212c; --text: #e6ebf1;
  --muted: #9aa6b5; --border: #273241; --primary: #5b9bd5; --primary-ink: #0f141b;
  --accent: #a8c93a; --link: #7db6ec; --shadow: none; color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 76px; }
body { margin: 0; background: var(--bg); color: var(--text); font: 16px/1.6 var(--font); }
a { color: var(--link); text-underline-offset: 2px; }
h1, h2, h3 { line-height: 1.25; margin: 0 0 .5em; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.1rem; }
p { margin: 0 0 1em; }
.wrap { max-width: 1100px; margin: 0 auto; padding: 0 16px; }
.muted { color: var(--muted); }
.small { font-size: .9rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 600; color: var(--accent); margin-bottom: .6em; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--primary); color: var(--primary-ink); padding: 8px 12px; border-radius: 6px; z-index: 100; }
.skip:focus { left: 8px; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 50; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(8px); border-bottom: 1px solid var(--border); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--text); }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 8px; background: var(--primary); color: var(--primary-ink); font-weight: 700; font-size: .9rem; }
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.brand-text small { color: var(--muted); }
.nav { display: flex; gap: 4px; }
.nav a { padding: 8px 12px; border-radius: 6px; text-decoration: none; color: var(--text); font-weight: 500; font-size: .95rem; }
.nav a:hover { background: var(--bg-alt); }
.nav-toggle { display: none; }

/* Hero */
.hero { background: linear-gradient(135deg, #003560 0%, #0a4a80 60%, #17608f 100%); color: #fff; padding: 72px 0 64px; }
.hero h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); margin-bottom: .3em; }
.hero .eyebrow { color: #c6df6a; }
.hero .lead { font-size: 1.2rem; max-width: 46rem; opacity: .92; }

/* Sections */
.section { padding: 64px 0; }
.section.alt { background: var(--bg-alt); }
.section-intro { color: var(--muted); margin-bottom: 1.6em; }
.grid-2 { display: grid; grid-template-columns: 1.6fr 1fr; gap: 40px; align-items: start; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; }
.cards .card { border-top: 3px solid var(--accent); }
.cards .card p { color: var(--muted); margin: 0; }

.person { text-align: center; }
.avatar { width: 96px; height: 96px; margin: 0 auto 14px; border-radius: 50%; display: grid; place-items: center; background: var(--primary); color: var(--primary-ink); font-size: 1.8rem; font-weight: 700; }
.person img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin-bottom: 14px; }
.facts { list-style: none; padding: 0; margin: 16px 0 0; text-align: left; border-top: 1px solid var(--border); }
.facts li { padding: 8px 0; border-bottom: 1px solid var(--border); font-size: .93rem; }

/* Projects */
.projects { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; }
.project { border: 1px solid var(--border); border-radius: var(--radius); padding: 22px; overflow: hidden; background: var(--surface); display: flex; flex-direction: column; }
.project p { color: var(--muted); flex: 1; }
.project-logos { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 88px; margin: -22px -22px 18px; padding: 14px 20px; background: #fff; border-bottom: 1px solid var(--border); border-radius: var(--radius) var(--radius) 0 0; }
.project-logo { max-height: 60px; max-width: 60%; object-fit: contain; }
.funder-logo { max-height: 56px; max-width: 38%; object-fit: contain; }
.project-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; font-size: .85rem; margin-bottom: 10px; }
.tag { white-space: nowrap; background: color-mix(in srgb, var(--accent) 18%, transparent); color: var(--text); padding: 2px 10px; border-radius: 99px; font-weight: 600; font-size: .78rem; }
.more { font-weight: 600; text-decoration: none; }

/* Buttons */
.button { display: inline-block; background: var(--primary); color: var(--primary-ink); padding: 10px 18px; border-radius: 8px; text-decoration: none; font-weight: 600; border: 1px solid var(--primary); }
.button:hover { filter: brightness(1.1); }
.button.ghost { background: transparent; color: var(--primary); }

/* Publications */
.pub-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.pub-controls { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.pub-controls input, .pub-controls select { font: inherit; padding: 9px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); }
.pub-controls input { flex: 1 1 260px; }
.pub-year { margin-top: 28px; }
.pub-year h3 { font-size: 1.25rem; color: var(--primary); border-bottom: 2px solid var(--border); padding-bottom: 6px; }
.pub-list ol { list-style: none; padding: 0; margin: 0; }
.pub { padding: 12px 0; border-bottom: 1px solid var(--border); display: grid; grid-template-columns: 96px 1fr; gap: 14px; }
.pub-type { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); padding-top: 3px; }
.pub-title { font-weight: 600; }
.pub-title a { color: var(--text); text-decoration: none; }
.pub-title a:hover { color: var(--link); text-decoration: underline; }
.pub-authors { font-size: .93rem; }
.pub-authors .me { font-weight: 600; }
.pub-venue { font-size: .9rem; color: var(--muted); font-style: italic; }
.pub-links { font-size: .82rem; margin-top: 2px; }
.pub-links a { margin-right: 10px; }
.show-more { margin-top: 20px; }

/* Links */
.book { display: grid; grid-template-columns: 160px 1fr; gap: 28px; align-items: center; margin-bottom: 28px; }
.book-cover { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 4px 6px 16px rgba(0,0,0,.25); }
.link-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.link-list a { display: flex; flex-direction: column; padding: 16px 18px; border: 1px solid var(--border); border-radius: var(--radius); text-decoration: none; color: var(--text); background: var(--surface); height: 100%; }
.link-list a:hover { border-color: var(--primary); }
.link-list span { color: var(--muted); font-size: .9rem; }

address { font-style: normal; line-height: 1.8; }

/* Footer */
.site-footer { border-top: 1px solid var(--border); padding: 24px 0; font-size: .9rem; color: var(--muted); }
.footer-inner { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.site-footer a { color: var(--muted); }

/* Personal hero */
.hero-inner { display: grid; grid-template-columns: 200px 1fr; gap: 40px; align-items: center; }
.hero-photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; object-position: 50% 28%; border: 4px solid rgba(255,255,255,.25); background: rgba(255,255,255,.12); display: grid; place-items: center; font-size: 3.4rem; font-weight: 700; color: #fff; }
.hero h1.name {
  font-family: "Josefin Sans", "Futura", "Century Gothic", system-ui, sans-serif;
  font-weight: 600;
  font-size: clamp(2.1rem, 6vw, 4.2rem);
  line-height: 1.1;
  padding-top: .25em;      /* room for the umlaut dots */
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: .35em;
}
.hero h1.name::after { content: ""; display: block; width: 72px; height: 3px; margin-top: .22em; background: #c6df6a; border-radius: 2px; }
.affiliations { list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 8px; }
.affiliations li { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; padding-left: 12px; border-left: 3px solid #c6df6a; }
.affiliations span { opacity: .85; font-size: .95rem; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button.light { background: #fff; color: #003560; border-color: #fff; }
.button.outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.6); }

/* Legal pages */
.legal { max-width: 760px; }
.legal h1 { font-size: 2.2rem; }
.legal h2 { font-size: 1.15rem; margin-top: 2em; }
.legal ul { padding-left: 1.2em; }
.legal li { margin-bottom: .4em; }
.placeholder { background: #fff3b0; color: #5a4600; padding: 0 4px; border-radius: 3px; }
.back-link { text-decoration: none; font-weight: 500; }

/* Mobile */
@media (max-width: 820px) {
  .nav-toggle { display: inline-block; font: inherit; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text); }
  .nav { display: none; position: absolute; top: 64px; left: 0; right: 0; flex-direction: column; background: var(--bg); border-bottom: 1px solid var(--border); padding: 8px 16px 16px; }
  .nav.open { display: flex; }
  .grid-2 { grid-template-columns: 1fr; }
  .hero-inner { grid-template-columns: 1fr; gap: 20px; }
  .hero-photo { width: 120px; height: 120px; font-size: 2rem; }
  .book { grid-template-columns: 1fr; }
  .book-cover { max-width: 150px; }
  .pub { grid-template-columns: 1fr; gap: 2px; }
  .section { padding: 48px 0; }
}
