:root { --paper:#f8f8f5; --ink:#1d1f20; --muted:#686d6f; --line:#d8dad7; --soft:#eff0ed; --accent:#315b73; --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:var(--accent); text-decoration:none; text-underline-offset:.22em; }
a:hover { text-decoration:underline; }
a:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:1px; }
.skip-link { position:fixed; top:12px; left:12px; z-index:10; padding:8px 12px; background:var(--ink); color:var(--paper); transform:translateY(-180%); }
.skip-link:focus { transform:translateY(0); }
.page-shell { width:min(1160px,calc(100% - 80px)); margin:0 auto; padding:72px 0 32px; }
.hero { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:clamp(44px,7vw,88px); align-items:start; padding:0 0 64px; }
.hero h1 { margin:0 0 12px; font-family:var(--serif); font-size:clamp(2.55rem,5vw,3.75rem); font-weight:400; letter-spacing:-.035em; line-height:1.02; }
.hero__role { margin:0; font-size:1rem; }
.hero__institution { margin:4px 0 0; color:var(--muted); font-size:.9rem; line-height:1.45; }
.hero__interests { margin:24px 0 0; color:var(--muted); font-size:.9rem; }
.hero__interests span { padding:0 .28em; color:#9a9e9f; }
.profile-links { display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:26px; font-size:.9rem; }
.portrait { width:190px; aspect-ratio:4/5; margin:0; overflow:hidden; background:var(--soft); border-radius:50%; }
.portrait img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }
.research { border-top:1px solid var(--line); }
.section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:24px 0 8px; }
.section-heading h2 { margin:0; font-size:.75rem; font-weight:650; letter-spacing:.18em; text-transform:uppercase; }
.section-heading p { margin:0; color:var(--muted); font-size:.75rem; }
.paper { display:grid; grid-template-columns:180px minmax(0,1fr) minmax(115px,auto); gap:clamp(24px,3.2vw,40px); align-items:start; padding:35px 0 38px; border-top:1px solid var(--line); }
.paper:first-child { border-top:0; }
.paper__graphic { width:180px; aspect-ratio:5/3; overflow:hidden; background:var(--soft); }
.paper__graphic img { width:100%; height:100%; object-fit:cover; }
.paper__graphic picture { display:block; width:100%; height:100%; }
.paper h3 { max-width:650px; margin:-4px 0 0; font-family:var(--serif); font-size:clamp(1.32rem,2.2vw,1.65rem); font-weight:400; letter-spacing:-.012em; line-height:1.28; }
.paper h3 a { color:inherit; text-decoration:none; }
.paper__coauthors,.paper__description,.paper__note { max-width:660px; margin:9px 0 0; color:var(--muted); font-size:.875rem; }
.paper__coauthors { color:var(--ink); }
.paper__coauthors a { color:var(--accent); text-decoration:underline; text-decoration-color:rgba(49,91,115,.3); }
.paper__note { color:var(--accent); font-style:italic; }
.paper__meta { margin:16px 0 0; color:var(--muted); font-size:.69rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.paper__meta--acceptance { font-size:.8rem; font-weight:400; letter-spacing:.015em; text-transform:none; }
.paper__meta--acceptance strong { color:var(--ink); font-weight:650; }
.paper__links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px 18px; font-size:.84rem; white-space:nowrap; }
.paper__links .button-link { margin-top:-7px; padding:6px 10px; border:1px solid rgba(49,91,115,.42); border-radius:2px; }
.paper__links .button-link:hover { background:rgba(49,91,115,.07); text-decoration:none; }
.site-footer { padding:26px 0 0; border-top:1px solid var(--line); color:var(--muted); font-size:.72rem; }
.site-footer p { margin:0; }
@media (max-width:900px) {
  .page-shell { width:min(100% - 48px,760px); padding-top:52px; }
  .hero { gap:38px; padding-bottom:50px; }
  .paper { grid-template-columns:160px minmax(0,1fr); gap:24px 30px; }
  .paper__graphic { width:160px; }
  .paper__links { grid-column:2; justify-content:flex-start; margin-top:-10px; }
}
@media (max-width:640px) {
  .page-shell { width:auto; margin:0; padding:30px 22px 24px; }
  .hero { grid-template-columns:1fr; gap:24px; padding-bottom:40px; }
  .portrait { grid-row:1; width:124px; }
  .hero h1 { font-size:2.55rem; }
  .hero__interests { max-width:330px; }
  .section-heading { padding-top:20px; }
  .paper { grid-template-columns:clamp(64px,20%,78px) minmax(0,1fr); column-gap:14px; row-gap:12px; padding:28px 0 31px; }
  .paper__graphic { grid-column:1; grid-row:1; align-self:center; width:100%; max-width:78px; aspect-ratio:1; }
  .paper__body { display:contents; }
  .paper h3 { grid-column:2; grid-row:1; align-self:center; margin-top:0; font-size:1.42rem; }
  .paper__coauthors,.paper__description,.paper__note,.paper__meta { grid-column:1 / -1; margin-top:0; }
  .paper__links { grid-column:1 / -1; justify-content:flex-start; margin-top:0; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
