/* Option A: editorial academic. Static HTML, system fonts, no UI dependencies. */
:root { color-scheme:light; --navy:#1e3765; --ink:#182e4c; --muted:#4c5b6c; --paper:#fcfbf8; --wash:#edf1f5; --line:#d6dce2; --serif:Georgia,'Times New Roman',serif; --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-padding-top:1.5rem; }
body { margin:0; background:var(--paper); color:var(--ink); font:1rem/1.65 var(--sans); }
img { max-width:100%; height:auto; }
a { color:var(--navy); text-underline-offset:.2em; text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:2px; }
button,summary { font:inherit; cursor:pointer; }
:focus-visible { outline:3px solid #2865aa; outline-offset:5px; }
[hidden] { display:none!important; }
h1,h2,h3 { font-family:var(--serif); font-weight:400; line-height:1.15; }
h1 { font-size:clamp(2.4rem,5vw,3.8rem); letter-spacing:-.035em; margin:0 0 1.5rem; }
h2 { font-size:clamp(1.8rem,3vw,2.3rem); letter-spacing:-.02em; margin:0 0 1.25rem; }
h3 { font-size:1.5rem; margin:2rem 0 1rem; }
p { margin:0 0 1.25rem; }
ul,ol { padding-left:1.4rem; margin:0 0 1.5rem; }
li+li { margin-top:.5rem; }
strong { font-weight:600; }
.site-width { width:min(100% - 5rem,70rem); margin-inline:auto; }
.skip-link { position:absolute; z-index:20; top:-6rem; left:1rem; padding:.7rem 1rem; background:white; }
.skip-link:focus { top:1rem; }
.university-bar { background:var(--navy); color:white; }
.university-bar-inner { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; min-height:4.5rem; padding-block:.7rem; }
.university-bar a { color:inherit; text-decoration:none; }
.university-logo { display:inline-flex; align-items:center; flex:0 0 auto; }
.university-logo img { display:block; width:8.5rem; }
.department-link { font-size:.875rem; text-align:right; }
.site-header { border-bottom:1px solid var(--line); }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; min-height:6rem; }
.site-name { color:var(--ink); font-size:1.65rem; font-weight:600; letter-spacing:-.045em; text-decoration:none; white-space:nowrap; }
.site-nav { display:flex; align-items:center; gap:1.6rem; font-size:.9375rem; }
.site-nav a,.site-nav summary { display:block; color:var(--ink); text-decoration:none; padding:.65rem 0; }
.site-nav [aria-current='page'],.site-nav .is-current>summary { color:var(--navy); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.5rem; }
.site-nav a:hover,.site-nav summary:hover { text-decoration:underline; text-underline-offset:.4rem; }
.people-menu { position:relative; }
.people-menu summary { list-style:none; }
.people-menu summary::-webkit-details-marker { display:none; }
.people-menu summary::after { content:'+'; margin-left:.35rem; font-size:.9em; }
.people-menu[open] summary::after { content:'−'; }
.people-submenu { position:absolute; z-index:10; top:100%; left:-.9rem; min-width:15rem; margin:0; padding:.5rem .9rem; list-style:none; background:var(--paper); border:1px solid var(--line); box-shadow:0 8px 20px #182e4c0d; }
.people-submenu li { margin:0; }
.people-submenu a { padding:.7rem .2rem; }
.menu-toggle { display:none; border:1px solid var(--line); background:transparent; color:var(--ink); min-height:2.75rem; padding:.45rem .85rem; }
.eyebrow { font:.75rem/1.5 var(--sans); letter-spacing:.13em; text-transform:uppercase; color:var(--muted); margin-bottom:1.2rem; }
.home-hero { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3rem; align-items:center; padding-block:4.5rem; }
.home-hero h1 { font-size:clamp(2.9rem,5.4vw,4.5rem); line-height:1.04; margin-bottom:1.5rem; }
.home-hero .intro { color:var(--muted); max-width:48ch; font-size:1.0625rem; }
.hero-photo { margin:0; }
.hero-photo img { width:100%; display:block; }
.carousel-stage { position:relative; aspect-ratio:2/1; overflow:hidden; background:var(--wash); }
.carousel-slide { position:absolute; inset:0; }
.carousel-slide img { height:100%; object-fit:cover; }
.carousel-slide.is-active img { animation:photo-appear .3s ease-out; }
.carousel-caption { color:var(--muted); font-size:.8125rem; line-height:1.5; min-height:3em; margin:.6rem 0 .5rem; }
.carousel-controls,.carousel-navigation { display:flex; align-items:center; gap:.5rem; }
.carousel-controls { justify-content:flex-end; flex-wrap:wrap; }
.carousel-controls button { display:inline-flex; justify-content:center; align-items:center; min-width:2.75rem; min-height:2.75rem; padding:.4rem .8rem; border:1px solid var(--line); background:var(--paper); color:var(--ink); font-size:.875rem; }
.carousel-controls button:hover { background:var(--wash); }
.carousel-count { min-width:2.8rem; text-align:center; color:var(--muted); font-size:.8125rem; font-variant-numeric:tabular-nums; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@keyframes photo-appear { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion:reduce) { .carousel-slide.is-active img { animation:none; } }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.75rem; margin-top:1.75rem; }
.actions a { min-height:2.75rem; display:inline-flex; align-items:center; gap:.4rem; }
.button-link { padding:.65rem 1.15rem; background:var(--navy); color:white; text-decoration:none; }
.button-link:hover { background:#142b50; }
.text-link { text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.home-research { padding-block:2.5rem 3.25rem; border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:1.5rem; }
.section-heading h2 { margin:0; }
.section-heading>a { font-size:.9375rem; }
.research-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.4rem 2.5rem; list-style:none; padding:0; margin:0; }
.research-links li { margin:0; }
.research-links a { display:block; min-height:2.75rem; padding:.8rem 0; border-bottom:1px solid var(--line); color:var(--ink); text-decoration:none; }
.research-links a:hover { text-decoration:underline; }
.home-connect { background:var(--wash); }
.connect-grid { display:grid; grid-template-columns:1fr 1fr; gap:4.5rem; padding-block:2.75rem; }
.connect-grid h2 { font-size:1.75rem; }
.connect-grid p { color:var(--muted); }
.home-people { padding-block:3rem; }
.inline-links { display:flex; gap:.8rem 2rem; flex-wrap:wrap; list-style:none; padding:0; margin:0; }
.inline-links li { margin:0; }
.inline-links a { display:inline-block; padding-block:.45rem; }
.page-content { padding-block:3.5rem 4rem; min-height:50vh; }
.page-content>.eyebrow { margin-bottom:1rem; }
.content-section { margin-bottom:3.25rem; }
.content-section:last-child { margin-bottom:0; }
.reading-page .content-section>p,.reading-page .content-section>ul { max-width:76ch; }
.reading-page .content-section>h2:not(:first-child) { border-top:1px solid var(--line); padding-top:2rem; margin-top:2.75rem; }
.page-index { margin-block:1.5rem 2.5rem; padding:1.25rem 1.5rem; background:var(--wash); }
.page-index p { margin:0 0 .75rem; font-size:.875rem; font-weight:600; }
.page-index ul { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.6rem 2rem; }
.page-index li { margin:0; }
.page-index a { display:inline-block; padding:.2rem 0; }
.people-section { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2.5rem 2rem; }
.people-section>:not(.person-card) { grid-column:1/-1; }
.people-section h1,.people-section h2 { margin-bottom:0; }
.person-card { min-width:0; }
.person-card div.fac_img { margin-bottom:1rem; }
.person-card img { display:block; width:100%; max-width:12rem; aspect-ratio:1; object-fit:cover; object-position:center top; background:var(--wash); }
.person-card p { margin:0; font-size:.9375rem; line-height:1.65; color:var(--muted); }
.person-card p a { font-size:1.0625rem; color:var(--ink); text-decoration:none; }
.person-card p a:hover { text-decoration:underline; }
.name-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 2.5rem; list-style:none; padding:0; }
.name-list li { margin:0; border-bottom:1px solid var(--line); padding-block:.65rem; }
.name-list a { display:block; color:var(--ink); text-decoration:none; }
.name-list a:hover { text-decoration:underline; }
.alumni-list { padding:0; list-style:none; max-width:85ch; }
.alumni-list li { border-bottom:1px solid var(--line); padding-block:.85rem; margin:0; }
.alumni-list a { color:var(--ink); }
.muted { color:var(--muted); }
.course-term { padding-block:1.5rem; border-bottom:1px solid var(--line); max-width:80ch; }
.course-term h2 { font-size:1.65rem; }
.course-term ul { margin-bottom:0; }
.calendar-actions { margin-bottom:1.75rem; }
.calendar-frame { display:block; width:100%; height:34rem; border:1px solid var(--line); background:white; }
.event-resources { display:grid; grid-template-columns:1fr 1fr; gap:.5rem 2.5rem; }
.event-resources p { margin:0; padding-block:.8rem; border-bottom:1px solid var(--line); }
.deadline { color:#8c2424; }
.seminar-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.seminar-table th,.seminar-table td { vertical-align:top; text-align:left; padding:1rem; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.seminar-table th { background:var(--wash); font-weight:600; }
.seminar-table th:first-child { width:23%; }
.seminar-table th:last-child { width:27%; }
.seminar-table p:last-child { margin:0; }
.site-footer { border-top:1px solid var(--line); }
.footer-main { display:flex; justify-content:space-between; gap:3rem; padding-block:2.5rem; color:var(--muted); font-size:.9375rem; }
.footer-title { color:var(--ink); font-family:var(--serif); font-size:1.5rem; margin-bottom:.5rem; }
.footer-main p:last-child { margin:0; }
.footer-links { display:grid; grid-template-columns:1fr 1fr; gap:.7rem 2rem; align-content:start; }
.footer-note { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--line); padding-block:1.25rem; font-size:.75rem; color:var(--muted); }
@media (max-width:65rem) {
  .site-nav { gap:1.1rem; }
  .home-hero { gap:2.5rem; }
  .people-section { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:55.999rem) {
  .site-width { width:calc(100% - 3rem); }
  .header-inner { flex-wrap:wrap; gap:0; min-height:5.25rem; padding-block:1rem; }
  .menu-toggle { display:block; }
  .site-nav { flex-basis:100%; flex-wrap:wrap; align-items:start; gap:.5rem 1.5rem; margin-top:1rem; padding-top:.7rem; border-top:1px solid var(--line); }
  .site-nav.is-enhanced { display:none; }
  .site-nav.is-enhanced.is-open { display:flex; }
  .people-submenu { position:static; box-shadow:none; border:0; min-width:0; padding:.25rem 0 .25rem .8rem; border-left:2px solid var(--line); }
  .home-hero { padding-block:3rem; gap:2rem; }
  .research-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .connect-grid { gap:2.5rem; }
  .name-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer-main { gap:2rem; }
  .footer-links { grid-template-columns:1fr; }
}
@media (max-width:40rem) {
  .site-width { width:calc(100% - 2.5rem); }
  .university-bar-inner { min-height:4.4rem; gap:1rem; }
  .university-logo img { width:7rem; }
  .department-link { font-size:.75rem; max-width:11rem; line-height:1.4; }
  .site-name { font-size:1.5rem; }
  .site-nav,.site-nav.is-enhanced.is-open { display:block; }
  .site-nav.is-enhanced:not(.is-open) { display:none; }
  .site-nav>a,.site-nav summary,.people-submenu a { padding-block:.65rem; }
  .home-hero { grid-template-columns:1fr; padding-block:2.5rem; }
  .home-hero h1 { font-size:clamp(2.65rem,10vw,3.7rem); }
  .home-hero .intro { font-size:1rem; }
  .home-hero .eyebrow { max-width:30ch; }
  .home-research { padding-block:2rem 2.5rem; }
  .section-heading { align-items:start; flex-direction:column; gap:.75rem; }
  .research-links { gap:.4rem 1.25rem; }
  .connect-grid { grid-template-columns:1fr; padding-block:2.5rem; }
  .home-people { padding-block:2rem; }
  .page-content { padding-block:2.5rem 3rem; }
  .page-index { padding:1rem; }
  .page-index ul { grid-template-columns:1fr; gap:.4rem; }
  .page-index a { padding-block:.4rem; }
  .people-section { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem 1.25rem; }
  .person-card p { font-size:.875rem; }
  .person-card p a { font-size:1rem; }
  .name-list,.event-resources { grid-template-columns:1fr; }
  .calendar-frame { height:32rem; }
  .seminar-table,.seminar-table tbody,.seminar-table tr,.seminar-table td { display:block; width:100%; }
  .seminar-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .seminar-table tr { padding-block:1rem; border-top:1px solid var(--line); }
  .seminar-table td { border:0; padding:.5rem 0; }
  .seminar-table td::before { content:attr(data-label); display:block; font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.25rem; }
  .footer-main,.footer-note { flex-direction:column; }
  .footer-main { padding-block:2rem; gap:1.5rem; }
  .footer-note { gap:.5rem; }
}
@media (max-width:23rem) {
  .people-section,.research-links { grid-template-columns:1fr; }
  .person-card .inner { display:grid; grid-template-columns:5rem 1fr; gap:1rem; }
  .person-card div.fac_img { margin:0; }
}
