:root { --font-geist:Arial,sans-serif; --paper:#f7f4ed; --ink:#182536; --muted:#53606d; --line:rgba(24,37,54,.18); --blue:#3451b2; --lime:#dfedaa; --white:#fffdf8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist),Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }

.site-header { position:sticky; top:0; z-index:50; display:grid; grid-template-columns:1fr auto 1fr; column-gap:clamp(32px,4vw,64px); align-items:center; width:100%; min-height:78px; padding:0 max(24px,calc((100vw - 1400px)/2)); border-bottom:1px solid var(--line); background:rgba(247,244,237,.95); box-shadow:0 8px 30px rgba(24,37,54,.04); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.brand { display:flex; gap:12px; align-items:center; width:fit-content; min-width:max-content; }
.wordmark { width:fit-content; font-size:20px; font-weight:780; letter-spacing:-.035em; white-space:nowrap; }
.pronounce-name { display:flex; gap:7px; align-items:center; justify-content:center; min-height:34px; padding:0 10px; border:1px solid var(--line); background:transparent; color:var(--ink); font-family:inherit; font-size:11px; font-weight:700; cursor:pointer; white-space:nowrap; transition:background 160ms ease,color 160ms ease,transform 160ms ease; }
.pronounce-name span:first-child { color:var(--blue); font-size:9px; }
.pronounce-name:hover { background:var(--blue); color:var(--white); transform:translateY(-1px); }
.pronounce-name:hover span:first-child { color:var(--lime); }
.pronounce-name:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }
.pronounce-name:disabled { cursor:not-allowed; opacity:.55; }
.wordmark span,.eyebrow { color:var(--blue); }
nav { display:flex; gap:34px; font-size:14px; font-weight:570; }
nav a,.header-contact,.work-card>a { transition:color 180ms ease; }
nav a:hover,.header-contact:hover { color:var(--blue); }
.header-actions { justify-self:end; display:flex; gap:16px; align-items:center; }
.header-contact { font-size:14px; font-weight:650; white-space:nowrap; }
.header-contact span,.work-card>a span { margin-left:4px; }
.copy-email { display:flex; gap:7px; align-items:center; justify-content:center; min-height:38px; padding:0 12px; border:1px solid var(--blue); background:var(--blue); color:var(--white); font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; transition:background 160ms ease,color 160ms ease,transform 160ms ease; }
.copy-email:hover { background:var(--ink); transform:translateY(-1px); }
.copy-email:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }

.hero { position:relative; display:grid; grid-template-columns:minmax(0,1.42fr) minmax(330px,.58fr); gap:clamp(48px,8vw,130px); align-items:center; width:min(100% - 48px,1400px); min-height:calc(100vh - 88px); margin:0 auto; padding:70px 0 76px; }
.hero:before { position:absolute; top:10%; left:-13%; width:390px; height:390px; border:1px solid rgba(52,81,178,.14); border-radius:50%; content:""; pointer-events:none; }
.hero-copy { position:relative; }
.eyebrow { margin:0 0 28px; font-size:12px; font-weight:720; letter-spacing:.17em; text-transform:uppercase; }
h1 { max-width:940px; margin-bottom:32px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(53px,6.25vw,104px); font-weight:400; letter-spacing:-.055em; line-height:.96; }
h1 em { color:var(--blue); font-weight:400; }
.hero-intro { max-width:720px; margin-bottom:36px; color:var(--muted); font-size:clamp(17px,1.45vw,21px); line-height:1.65; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:54px; }
.button { display:inline-flex; gap:24px; align-items:center; justify-content:space-between; min-height:52px; padding:0 20px; border:1px solid var(--ink); font-size:14px; font-weight:650; transition:transform 180ms ease,background 180ms ease; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:var(--ink); color:var(--white); }
.button.primary:hover { background:var(--blue); }
.button.secondary:hover { background:var(--white); }
.hero-methods { display:flex; gap:56px; margin:0; }
.hero-methods div { display:grid; gap:6px; }
.hero-methods dt { color:var(--muted); font-size:10px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.hero-methods dd { margin:0; font-size:13px; font-weight:600; }
.portrait-panel { position:relative; justify-self:end; width:min(100%,430px); padding:22px 22px 0 0; }
.portrait-panel:before { position:absolute; top:0; right:0; width:74%; height:74%; background:var(--lime); content:""; }
.portrait-frame { position:relative; aspect-ratio:.9; overflow:hidden; border-radius:48% 48% 8px 8px; background:#ddd; filter:saturate(.82) contrast(1.03); }
.portrait-frame img { width:100%; height:100%; object-fit:cover; }
.portrait-note { position:relative; display:flex; align-items:center; justify-content:space-between; padding:18px 0 0; font-size:12px; }
.portrait-note span { color:var(--muted); }

.news-strip { display:grid; grid-template-columns:180px minmax(0,1fr); align-items:stretch; width:min(100% - 48px,1400px); margin:0 auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.news-title { display:flex; align-items:center; margin:0; color:var(--blue); font-size:12px; font-weight:720; letter-spacing:.17em; line-height:1; text-transform:uppercase; }
.news-list { margin:0; padding:0; list-style:none; }
.news-item { display:grid; grid-template-columns:140px minmax(0,1fr); align-items:stretch; min-height:70px; border-left:1px solid var(--line); }
.news-item time { display:flex; align-items:center; padding:0 24px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.news-item a { display:flex; gap:24px; align-items:center; justify-content:space-between; padding:18px 24px; border-left:1px solid var(--line); font-size:15px; font-weight:600; line-height:1.45; transition:background 180ms ease,color 180ms ease; }
.news-item a:hover { background:rgba(255,253,248,.72); color:var(--blue); }
.news-item a:focus-visible { outline:3px solid var(--lime); outline-offset:-3px; }

.research-section { padding:112px max(24px,calc((100vw - 1400px)/2)); background:#e9edf6; color:var(--ink); }
.section-heading { display:grid; grid-template-columns:1.4fr .6fr; gap:60px; align-items:end; margin-bottom:64px; }
.section-heading h2,.agenda-title h2,.profile-intro h2,.personal-heading h2,footer h2 { margin-bottom:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(40px,5vw,76px); font-weight:400; letter-spacing:-.045em; line-height:1.02; }
.section-heading>p { margin:0; color:#657180; font-size:16px; line-height:1.65; }
.research-heading>p { color:#4c5a6c; }
.light-heading>p { color:var(--muted); }
.flip-hint { display:flex; gap:9px; align-items:center; margin:-36px 0 30px; color:#4c5a6c; font-size:12px; font-weight:650; }
.flip-hint span { display:grid; place-items:center; width:25px; height:25px; border:1px solid rgba(52,81,178,.28); border-radius:50%; color:var(--blue); font-size:15px; }
.work-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid rgba(24,37,54,.16); border-left:1px solid rgba(24,37,54,.16); }
.work-card { position:relative; height:560px; overflow:hidden; border-right:1px solid rgba(24,37,54,.16); border-bottom:1px solid rgba(24,37,54,.16); background:transparent; cursor:pointer; perspective:720px; perspective-origin:50% 50%; transition:box-shadow 320ms ease; }
.work-card-inner { display:grid; width:100%; height:100%; transform-style:preserve-3d; -webkit-transform-style:preserve-3d; }
.work-card.is-turning { z-index:2; box-shadow:0 18px 40px rgba(24,37,54,.2); }
.work-card-face { grid-area:1/1; display:flex; flex-direction:column; min-width:0; min-height:0; height:100%; padding:32px; overflow:hidden; background:rgba(255,255,255,.7); transform-origin:50% 50%; backface-visibility:hidden; -webkit-backface-visibility:hidden; transition:transform 2000ms cubic-bezier(.22,.68,.18,1); }
.work-card.is-turning .work-card-face { will-change:transform; }
.work-card-front { transform:rotateY(0deg); }
.work-card-back { transform:rotateY(180deg); background:var(--white); }
.work-card.is-flipped .work-card-front { transform:rotateY(-180deg); }
.work-card.is-flipped .work-card-back { transform:rotateY(0deg); }
.work-card.featured .work-card-face { background:var(--blue); color:var(--white); }
.card-topline { display:flex; gap:22px; justify-content:space-between; margin-bottom:66px; color:#596777; font-size:10px; font-weight:650; letter-spacing:.1em; text-transform:uppercase; }
.work-card-back .card-topline { margin-bottom:22px; }
.featured .card-topline,.featured .coauthors { color:rgba(255,255,255,.84); }
.work-card h3 { max-width:650px; margin-bottom:12px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(28px,2.7vw,44px); font-weight:400; letter-spacing:-.03em; line-height:1.1; }
.work-card-back h3 { margin-bottom:20px; font-size:clamp(24px,2vw,34px); }
.coauthors { color:#596777; font-size:13px; }
.author-link { border-bottom:1px solid currentColor; text-underline-offset:3px; transition:color 160ms ease,border-color 160ms ease; }
.author-link:hover { color:var(--blue); }
.featured .author-link:hover { color:var(--lime); }
.finding { max-width:630px; margin:auto 0 30px; color:#4c5a6c; font-size:15px; line-height:1.65; }
.featured .finding { color:#fff; }
.card-abstract { flex:1 1 auto; min-height:0; max-width:690px; margin:0 0 24px; padding-right:10px; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:rgba(52,81,178,.42) transparent; scrollbar-width:thin; color:#3f4d5d; font-family:Georgia,"Times New Roman",serif; font-size:15px; line-height:1.62; }
.featured .card-abstract { color:#fff; }
.work-card-actions { display:flex; flex-wrap:wrap; gap:16px; align-items:center; justify-content:space-between; margin-top:auto; }
.flip-card-toggle,.work-card-paper { width:fit-content; padding:0 0 4px; border:0; border-bottom:1px solid currentColor; background:transparent; color:inherit; font-family:inherit; font-size:13px; font-weight:650; cursor:pointer; transition:color 160ms ease,border-color 160ms ease; }
.flip-card-toggle span,.work-card-paper span { margin-left:5px; }
.work-card:not(.featured) .flip-card-toggle:hover,.work-card:not(.featured) .work-card-paper:hover { color:var(--blue); }
.featured .flip-card-toggle:hover,.featured .work-card-paper:hover { color:var(--lime); }
.work-card :is(a,button):focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.work-card.featured :is(a,button):focus-visible { outline-color:var(--lime); }
.featured { color:var(--white); }

.research-library { padding:118px max(24px,calc((100vw - 1400px)/2)); background:var(--white); }
.library-intro { display:grid; grid-template-columns:1.05fr 1fr; column-gap:70px; align-items:end; margin-bottom:74px; }
.library-intro .eyebrow { grid-column:1/-1; }
.library-intro h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,5vw,76px); font-weight:400; letter-spacing:-.045em; line-height:1; }
.library-intro>p:last-child { max-width:500px; margin:0; color:var(--muted); font-size:16px; line-height:1.65; }
.paper-groups { display:grid; gap:94px; }
.group-heading { display:flex; align-items:baseline; justify-content:space-between; padding-bottom:20px; border-bottom:2px solid var(--ink); }
.group-heading h3 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(30px,3vw,44px); font-weight:400; }
.group-heading span { color:var(--blue); font-size:12px; font-weight:750; }
.accordion-list { border-bottom:1px solid var(--line); }
.paper-accordion { border-top:1px solid var(--line); }
.group-heading+.accordion-list>.paper-accordion:first-child { border-top:0; }
.paper-accordion summary { display:grid; grid-template-columns:58px 1fr 32px; gap:24px; align-items:center; min-height:142px; padding:24px 0; cursor:pointer; list-style:none; }
.paper-accordion summary::-webkit-details-marker { display:none; }
.paper-index { align-self:start; padding-top:5px; color:var(--blue); font-size:11px; font-weight:750; }
.paper-summary-main { display:grid; gap:7px; }
.paper-summary-main small { color:var(--blue); font-size:10px; font-style:normal; font-weight:730; letter-spacing:.12em; text-transform:uppercase; }
.paper-summary-main strong { max-width:980px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(22px,2.4vw,34px); font-weight:400; letter-spacing:-.02em; line-height:1.15; }
.paper-summary-main em { color:var(--muted); font-size:13px; font-style:normal; }
.accordion-icon { display:grid; place-items:center; width:30px; height:30px; border:1px solid var(--line); border-radius:50%; font-size:20px; font-weight:300; transition:transform 180ms ease,background 180ms ease,color 180ms ease; }
.paper-accordion[open] .accordion-icon { transform:rotate(45deg); background:var(--blue); color:var(--white); }
.paper-accordion[open] summary { color:var(--blue); }
.abstract-panel { display:grid; grid-template-columns:58px minmax(0,820px) auto; gap:24px; padding:0 0 42px; }
.abstract-label { margin:4px 0 0; color:var(--blue); font-size:10px; font-weight:730; letter-spacing:.12em; text-transform:uppercase; }
.abstract-panel>p:nth-child(2) { margin:0; color:#3f4d5d; font-family:Georgia,"Times New Roman",serif; font-size:18px; line-height:1.72; }
.abstract-panel>a { align-self:end; justify-self:end; border-bottom:1px solid currentColor; padding-bottom:4px; color:var(--blue); font-size:12px; font-weight:700; white-space:nowrap; }

.journal-strip { display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:center; min-height:124px; padding:26px 24px; background:var(--lime); }
.journal-strip span { margin-right:8px; font-size:10px; font-weight:740; letter-spacing:.16em; text-transform:uppercase; }
.journal-strip strong { font-family:Georgia,"Times New Roman",serif; font-size:clamp(16px,1.8vw,24px); font-weight:400; }
.journal-strip i { width:4px; height:4px; border-radius:50%; background:var(--ink); }

.publications-section { padding:112px max(24px,calc((100vw - 1400px)/2)); }
.publication-help { max-width:620px; margin:-34px 0 42px; color:var(--muted); font-size:14px; line-height:1.6; }
.publication-list { border-top:1px solid var(--line); }
.publication-accordion summary { grid-template-columns:90px 1fr 32px; }
.publication-accordion .paper-summary-main { gap:10px; }
.pub-year { color:var(--muted); font-size:13px; font-weight:700; }
.publication-abstract { grid-template-columns:90px minmax(0,820px) auto; }
.citation-actions { align-self:end; display:flex; flex-direction:column; gap:12px; align-items:stretch; justify-self:end; min-width:150px; }
.citation-actions>a,.bibtex-button { display:flex; gap:9px; align-items:center; justify-content:center; min-height:40px; padding:0 13px; border:1px solid var(--blue); background:transparent; color:var(--blue); font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; transition:background 160ms ease,color 160ms ease; }
.citation-actions>a:hover,.bibtex-button:hover { background:var(--blue); color:var(--white); }
.bibtex-button span:first-child { font-family:Georgia,"Times New Roman",serif; font-size:14px; }

.agenda-section { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(50px,8vw,120px); padding:112px max(24px,calc((100vw - 1400px)/2)); background:#ece8df; }
.agenda-title h2 { max-width:530px; font-size:clamp(42px,4.5vw,70px); }
.agenda-grid { border-top:1px solid var(--line); }
.agenda-grid article { display:grid; grid-template-columns:40px 1fr; column-gap:22px; padding:30px 0; border-bottom:1px solid var(--line); }
.agenda-grid article>span { color:var(--blue); font-size:11px; font-weight:700; }
.agenda-grid h3 { margin-bottom:12px; font-family:Georgia,"Times New Roman",serif; font-size:27px; font-weight:400; }
.agenda-grid p,.agenda-grid small { grid-column:2; }
.agenda-grid p { max-width:620px; margin-bottom:16px; color:var(--muted); font-size:15px; line-height:1.65; }
.agenda-grid small { color:var(--ink); font-size:11px; font-weight:650; letter-spacing:.03em; }

.profile-section { display:grid; grid-template-columns:1fr 1fr; gap:clamp(60px,10vw,150px); padding:120px max(24px,calc((100vw - 1400px)/2)); background:var(--white); }
.profile-intro h2 { max-width:650px; margin-bottom:30px; }
.profile-intro>p:not(.eyebrow) { max-width:630px; margin-bottom:34px; color:var(--muted); font-size:17px; line-height:1.7; }
.profile-actions { display:grid; gap:24px; justify-items:start; }
.profile-network { width:100%; max-width:630px; }
.profile-links-label { margin:0 0 10px; color:var(--muted); font-size:10px; font-weight:730; letter-spacing:.13em; text-transform:uppercase; }
.profile-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.profile-links a { display:flex; gap:12px; align-items:center; justify-content:space-between; min-height:78px; padding:12px 14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:background 160ms ease,color 160ms ease; }
.profile-link-main { display:flex; gap:11px; align-items:center; min-width:0; }
.profile-icon { display:grid; flex:0 0 36px; place-items:center; width:36px; height:36px; border:1px solid rgba(52,81,178,.18); border-radius:10px; background:rgba(52,81,178,.08); color:var(--blue); box-shadow:inset 0 1px 0 rgba(255,255,255,.72); transition:background 160ms ease,color 160ms ease,transform 160ms ease; }
.profile-icon svg { width:19px; height:19px; fill:currentColor; }
.profile-link-copy { display:grid; gap:4px; min-width:0; }
.profile-links strong { font-size:12px; }
.profile-links small { overflow-wrap:anywhere; color:var(--muted); font-size:10px; line-height:1.25; transition:color 160ms ease; }
.profile-external { font-size:14px; font-weight:500; transition:transform 160ms ease; }
.profile-links a:hover { background:var(--blue); color:var(--white); }
.profile-links a:hover small { color:rgba(255,255,255,.84); }
.profile-links a:hover .profile-icon { border-color:var(--lime); background:var(--lime); color:var(--ink); transform:rotate(-4deg) scale(1.04); }
.profile-links a:hover .profile-external { transform:translate(2px,-2px); }
.profile-links a:focus-visible { position:relative; z-index:1; outline:3px solid var(--lime); outline-offset:-3px; }
.profile-facts { border-top:1px solid var(--line); }
.profile-facts div { display:grid; grid-template-columns:120px 1fr; padding:26px 0; border-bottom:1px solid var(--line); }
.profile-facts span { grid-row:1/3; color:var(--blue); font-size:12px; font-weight:700; }
.profile-facts strong { font-family:Georgia,"Times New Roman",serif; font-size:22px; font-weight:400; }
.profile-facts p { margin:7px 0 0; color:var(--muted); font-size:13px; }

.personal-section { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr) 170px; gap:clamp(42px,6vw,92px); align-items:center; padding:110px max(24px,calc((100vw - 1400px)/2)); background:var(--lime); }
.personal-heading h2 { max-width:720px; }
.personal-story>p { margin-bottom:32px; color:#3c4933; font-size:17px; line-height:1.75; }
.personal-links { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(17,30,43,.25); border-left:1px solid rgba(17,30,43,.25); }
.personal-links a { display:flex; align-items:center; justify-content:space-between; min-height:54px; padding:0 14px; border-right:1px solid rgba(17,30,43,.25); border-bottom:1px solid rgba(17,30,43,.25); font-size:12px; font-weight:700; transition:background 160ms ease,color 160ms ease; }
.personal-links a:hover { background:var(--blue); color:var(--white); }
.piano-mark { display:grid; grid-template-columns:1fr auto; grid-template-rows:auto auto; align-items:end; aspect-ratio:1; padding:22px; background:var(--blue); color:var(--white); }
.piano-mark span { font-family:Georgia,"Times New Roman",serif; font-size:64px; letter-spacing:-.06em; line-height:.8; }
.piano-mark strong { align-self:start; justify-self:end; color:var(--lime); font-size:10px; letter-spacing:.16em; text-transform:uppercase; writing-mode:vertical-rl; }
.piano-mark i { grid-column:1/-1; align-self:end; color:var(--lime); font-family:Georgia,"Times New Roman",serif; font-size:40px; font-style:normal; line-height:1; }

footer { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:end; padding:100px max(24px,calc((100vw - 1400px)/2)) 34px; background:var(--blue); color:var(--white); }
footer .eyebrow { color:var(--lime); }
.footer-email { border-bottom:1px solid rgba(255,255,255,.7); padding-bottom:8px; font-size:clamp(15px,1.5vw,21px); }
.footer-bottom { grid-column:1/-1; display:flex; justify-content:space-between; margin-top:70px; padding-top:22px; border-top:1px solid rgba(255,255,255,.25); color:rgba(255,255,255,.82); font-size:11px; }
.back-to-top { position:fixed; right:clamp(18px,3vw,42px); bottom:clamp(18px,3vw,42px); z-index:60; display:grid; place-items:center; width:48px; height:48px; padding:0; border:0; border-radius:50%; background:var(--blue); box-shadow:0 10px 28px rgba(24,37,54,.2); color:var(--white); font-family:inherit; font-size:23px; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity 180ms ease,transform 180ms ease,background 180ms ease; }
.back-to-top.visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.back-to-top:hover { background:var(--ink); transform:translateY(-2px); }
.back-to-top:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }

@media (max-width:980px) {
  .site-header { grid-template-columns:1fr auto; }
  nav { display:none; }
  .hero { grid-template-columns:1fr 280px; gap:40px; }
  .agenda-section,.profile-section { grid-template-columns:1fr; }
  .personal-section { grid-template-columns:1fr 1fr; }
  .piano-mark { display:none; }
}
@media (max-width:720px) {
  .hero { width:min(100% - 32px,1400px); }
  .site-header { min-height:70px; padding:0 16px; }
  .header-actions { gap:9px; }
  .brand { gap:8px; }
  .wordmark { font-size:17px; }
  .pronounce-name { width:34px; min-height:34px; padding:0; }
  .pronounce-label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .header-contact { display:none; }
  .copy-email { min-height:36px; padding:0 10px; }
  .copy-email span:first-child { display:none; }
  .hero { grid-template-columns:1fr; min-height:auto; padding:64px 0; }
  .hero:before { display:none; }
  h1 { font-size:clamp(48px,15vw,72px); }
  .portrait-panel { justify-self:start; width:min(88vw,390px); }
  .hero-methods { flex-direction:column; gap:20px; }
  .news-strip { grid-template-columns:1fr; width:min(100% - 32px,1400px); }
  .news-title { min-height:48px; }
  .news-item { grid-template-columns:1fr; border-left:0; }
  .news-item time { min-height:38px; padding:0; }
  .news-item a { padding:16px 0 20px; border-top:1px solid var(--line); border-left:0; }
  .research-section,.research-library,.publications-section,.agenda-section,.profile-section,.personal-section { padding-top:82px; padding-bottom:82px; }
  .section-heading { grid-template-columns:1fr; gap:28px; }
  .work-grid { grid-template-columns:1fr; }
  .work-card { height:620px; }
  .work-card-face { padding:26px; }
  .card-topline { margin-bottom:50px; }
  .work-card-back .card-topline { margin-bottom:20px; }
  .card-abstract { font-size:14px; line-height:1.58; }
  .library-intro { grid-template-columns:1fr; gap:26px; margin-bottom:54px; }
  .paper-groups { gap:70px; }
  .paper-accordion summary { grid-template-columns:34px 1fr 28px; gap:10px; min-height:132px; }
  .abstract-panel { grid-template-columns:1fr; gap:12px; padding-bottom:36px; }
  .abstract-label { grid-column:1; margin:0 0 2px; }
  .abstract-panel>p:nth-child(2) { grid-column:1; }
  .abstract-panel>a { grid-column:1; justify-self:start; margin-top:12px; }
  .abstract-panel>p:nth-child(2) { font-size:17px; }
  .journal-strip { justify-content:flex-start; }
  .publication-help { margin-top:-20px; }
  .publication-accordion summary { grid-template-columns:44px 1fr 28px; }
  .publication-abstract { grid-template-columns:1fr; }
  .citation-actions { grid-column:1; align-items:flex-start; justify-self:start; width:100%; margin-top:12px; }
  .citation-actions>a,.bibtex-button { width:min(100%,220px); }
  .profile-links { grid-template-columns:1fr; }
  .personal-section { grid-template-columns:1fr; }
  .personal-links { grid-template-columns:1fr; }
  footer { grid-template-columns:1fr; align-items:start; }
  .footer-bottom { margin-top:25px; }
  .back-to-top { width:44px; height:44px; font-size:21px; }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} *{transition:none!important;} .work-card-face{transition:transform 2000ms cubic-bezier(.22,.68,.18,1)!important;} .work-card{transition:box-shadow 320ms ease!important;} }
