:root{--bg: #f4f6f9;--card-bg: #ffffff;--ink: #26292f;--muted: #6b7280;--accent: #1f4e79;--accent-soft: #e4ecf4;--border: #e3e7ee;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65}main{max-width:52rem;margin:0 auto;padding:2rem 1.25rem 4rem}.site-header{background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.site-header .wrap{max-width:52rem;margin:0 auto;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.25rem 1rem}.site-header .brand{font-family:var(--serif);font-size:1.35rem;font-weight:600;color:var(--ink);text-decoration:none}.site-header .brand:hover{color:var(--accent)}.site-header nav ul{display:flex;flex-wrap:wrap;gap:.15rem;margin:0;padding:0;list-style:none}.site-header nav a{display:inline-block;padding:.5rem .8rem;border-radius:6px;color:var(--ink);font-size:.95rem}.site-header nav a:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.site-header nav a[aria-current]{color:var(--accent);font-weight:600}.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;top:.75rem;left:.75rem;width:auto;height:auto;z-index:100;padding:.5rem 1rem;background:var(--card-bg);border:1px solid var(--accent);border-radius:6px}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}main [id]{scroll-margin-top:4.5rem}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.site-footer{border-top:1px solid var(--border);color:var(--muted);font-size:.85rem}.site-footer .wrap{max-width:52rem;margin:0 auto;padding:1rem 1.25rem}details.teaching-group{border:1px solid var(--border);border-radius:8px;margin-bottom:.6rem;overflow:hidden}details.teaching-group summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 1rem;cursor:pointer;font-family:var(--serif);font-size:1.05rem;list-style:none;user-select:none}details.teaching-group summary::-webkit-details-marker{display:none}details.teaching-group summary:hover{background:var(--accent-soft);color:var(--accent)}details.teaching-group summary:after{content:"";border:solid currentColor;border-width:0 2px 2px 0;padding:3px;transform:rotate(45deg);flex:none}details.teaching-group[open] summary:after{transform:rotate(225deg)}details.teaching-group ul{margin:.25rem 0 .5rem;padding-left:1.5rem;padding-right:1rem}details.teaching-group summary{transition:background .15s ease}details.teaching-group summary:after{transition:transform .15s ease}@media(prefers-reduced-motion:reduce){details.teaching-group summary,details.teaching-group summary:after{transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.card{background:var(--card-bg);border:1.5px solid #d5dae2;border-radius:6px;padding:1.4rem 1.75rem;margin-bottom:1.4rem;box-shadow:0 1px 3px #0000000a}.card>:last-child{margin-bottom:0}h1{font-family:var(--serif);font-size:2rem;margin:0 0 1rem}h2{font-family:var(--serif);font-size:1.35rem;margin:0 0 1rem;padding-bottom:.4rem;border-bottom:2px solid var(--accent-soft)}h3{font-family:var(--serif);font-size:1.1rem;margin:1.4rem 0 .5rem}p{margin:.5rem 0 1rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}ul{list-style:none;padding-left:.75rem;margin:.25rem 0 .5rem}li{padding:.5rem 0;border-bottom:1px solid var(--border)}li:last-child{border-bottom:none;padding-bottom:.25rem}.site-header nav li{padding:0;border-bottom:none}.muted{color:var(--muted)}dl.meta{display:grid;grid-template-columns:max-content 1fr;column-gap:1.5rem;row-gap:.45rem;margin:.5rem 0 1rem}dl.meta dt{color:var(--muted);font-style:italic}dl.meta dd{margin:0}address{font-style:normal}.portrait{float:right;width:245px;border-radius:6px;margin:0 0 .75rem 1.5rem}@media(max-width:560px){.portrait{float:none;display:block;width:220px;margin:0 auto 1rem}}.pub .venue{color:var(--muted);display:block}.icon-link img{vertical-align:sub;height:20px;width:auto}
