
/* ===============================
   Gerald Höhn — Theme A (Classic Academic)
   Single shared stylesheet (no JS, no frameworks)
   =============================== */

/* ---- Base ---- */
* { box-sizing: border-box; }
html { scrollbar-gutter: stable both-edges; }
:root{
  --accent: #0b3d91;        /* classic deep blue */
  --ink: #1f2937;           /* main text */
  --muted: #6b7280;         /* secondary text */
  --surface: #ffffff;
  --bg: #fafafa;
  --maxw: 880px;            /* readable measure */
}

body{
  margin:0;
  padding:2rem;
  background:var(--bg);
  color:var(--ink);
  line-height:1.6;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size:16px;           /* slightly smaller than before */
}

.container{ max-width: var(--maxw); margin: 0 auto; }

/* ---- Header & Navigation (consistent height on every page) ---- */
header{
  min-height: 120px;                /* prevents “jump” between pages */
  border-bottom: 1px solid #eee;
  margin-bottom: 2rem;
  display: grid;
  align-content: center;
  padding-bottom: 1rem;
  background: var(--surface);
}

.site-title{
  margin: 0 0 .25rem 0;
  font-family: Georgia, "Times New Roman", Times, "Noto Serif", serif;   /* serif headings */
  font-weight: 700;
  font-size: clamp(1.9rem, 2vw + 1.1rem, 2.25rem);
  letter-spacing: .2px;
}

.subtitle{
  margin:0;
  color:var(--muted);
  font-size: 1.05rem;
}

nav{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap: 1.1rem;
  margin-top: 1.1rem;
  font-size: 1rem;
}
nav a{
  text-decoration: none;
  color: var(--accent);
  font-weight: 600;
  padding-bottom: 2px;
  border-bottom: 2px solid transparent;
  transition: border-color .15s ease-in-out;
}
nav a:hover{ border-bottom-color: var(--accent); }
nav a.active{ border-bottom-color: var(--accent); }

/* ---- Typography ---- */
h1,h2,h3{
  font-family: Georgia, "Times New Roman", Times, "Noto Serif", serif;
  font-weight: 700;
  line-height: 1.35;
  color: #111827;
}
h1{ font-size: clamp(1.6rem, 1.4vw + 1.2rem, 2rem); margin: 0 0 .75rem 0; }
h2{ font-size: clamp(1.35rem, 1.1vw + 1.05rem, 1.6rem); margin: 2rem 0 .5rem 0; border-bottom:1px solid #eee; padding-bottom:.45rem; }
h3{ font-size: 1.15rem; margin: 1.25rem 0 .25rem 0; }

p, li{ font-size: 1.05rem; }
ul{ padding-left: 1.15rem; }
li{ margin: .4rem 0; }

a{ color: var(--accent); }
strong{ font-weight: 600; }

/* ---- Utility blocks ---- */
.lead{ font-size: 1.08rem; color: #111827; }
.note{ background:#f6f8ff; border-left:4px solid var(--accent); padding:.75rem 1rem; margin:1rem 0; }

/* ---- Publication list (optional: used on publications & research pages) ---- */
.publication-list{ list-style: none; padding-left: 0; }
.publication-list li{ margin: 0 0 1rem 0; }
.publication-list .title{ display:block; font-weight:700; }
.publication-list .meta{ color: var(--muted); font-size: .98rem; }

/* ---- Footer ---- */
footer{
  text-align:center;
  color: #888;
  font-size: .95rem;
  margin-top: 3rem;
  border-top: 1px solid #eee;
  padding-top: 1.25rem;
}
