:root{--ink:#111827;--paper:#f6f3ed;--card:#fffdf9;--muted:#697386;--line:#dedbd3;--accent:#d98f35;--shadow:0 18px 50px rgba(17,24,39,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.mark{font-weight:800;letter-spacing:.16em}.topnav{display:flex;gap:22px;color:var(--muted);flex-wrap:wrap;justify-content:flex-end}.hero{padding:72px 0 54px;max-width:850px}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,5vw,60px);font-weight:400;letter-spacing:-.06em;line-height:.95;margin:16px 0 20px}.hero p{max-width:760px;color:#4b5563;font-size:20px;line-height:1.55;margin:0}.section{padding:52px 0;border-top:1px solid var(--line)}.section h2{font-family:Georgia,"Times New Roman",serif;font-size:38px;font-weight:400;letter-spacing:-.04em;margin:0 0 24px}.section-intro{color:var(--muted);max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);padding:24px;box-shadow:var(--shadow)}.card h3{font-size:19px;line-height:1.25;margin:16px 0 8px}.card p{color:var(--muted);font-size:14px;margin:0}.label{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.list{display:grid;gap:0;border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid var(--line)}.row strong{font-size:14px}.row span,.row p{color:var(--muted);margin:0;font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{border:1px solid var(--line);background:var(--card);padding:8px 11px;font-size:13px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.button{display:inline-flex;padding:11px 16px;border:1px solid var(--ink);font-size:13px;font-weight:700}.button.primary{background:var(--ink);color:#fff}.button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 42px;color:var(--muted);font-size:12px}.footer a{color:var(--muted)}@media(max-width:800px){.wrap{width:min(100% - 32px,620px)}.grid{grid-template-columns:1fr}.row{grid-template-columns:1fr;gap:4px}.hero{padding:54px 0 42px}.footer{display:block}.footer span{display:block;margin-top:8px}}

.media-list{border-top:1px solid var(--line)}.media-item{display:block;width:100%;padding:17px 0;border-bottom:1px solid var(--line);font-size:15px;line-height:1.6;color:var(--ink)}.media-item a{font-weight:600}

.page-ending { border-top: 1px solid var(--line); min-height: 28px; }


/* Shared header layout across the homepage, main pages, and research projects. */
@media (max-width: 800px) {
  .topbar { align-items: center; flex-wrap: nowrap; gap: 12px; padding: 20px 0; font-size: 11px; letter-spacing: .02em; }
  .mark { flex: 0 0 auto; font-size: inherit; letter-spacing: inherit; }
  .topnav { flex: 1; min-width: 0; flex-wrap: nowrap; align-items: center; justify-content: flex-end; gap: clamp(8px, 2.5vw, 20px); font-size: inherit; letter-spacing: inherit; }
  .topbar a { display: inline-flex; align-items: center; min-height: 36px; white-space: nowrap; }
}
@media (max-width: 360px) {
  .topbar { gap: 8px; font-size: 10px; letter-spacing: 0; }
  .topnav { gap: 8px; }
}
