/* Shared research identity. News retains its listing layout. */
:root { --research-ink:#132e36; --research-muted:#536970; --research-line:#dce6e5; --research-surface:#f2f6f4; --research-accent:#086c63; --research-mint:#c6f3d7; }
#quarto-header .navbar { background:#132e36 !important; border-bottom:1px solid #ffffff18; }
#quarto-header .navbar-title { font-weight:750; letter-spacing:-.035em; }
#quarto-header .navbar .nav-link { font-size:.91rem; }
:is(.researcher-profile,.team-page,.research-hub,.topic-page) { font-family:"Aptos","Segoe UI",system-ui,sans-serif; color:var(--research-ink); background:#f8faf8; }
:is(.researcher-profile,.team-page,.research-hub,.topic-page) main { position:relative; padding-bottom:3rem; }
:is(.researcher-profile,.team-page,.research-hub,.topic-page) h1 { font-weight:750; letter-spacing:-.055em; line-height:1.06; }
:is(.researcher-profile,.team-page,.research-hub,.topic-page) h2 { font-weight:700; letter-spacing:-.035em; border-bottom:0; }
:is(.researcher-profile,.team-page,.research-hub,.topic-page) h3 { font-weight:650; letter-spacing:-.025em; }
:is(.researcher-profile,.team-page,.research-hub,.topic-page) #title-block-header .description { display:none; }
:is(.team-page,.research-hub,.topic-page) #title-block-header { padding:2.8rem 0 .75rem; margin-bottom:0; }
:is(.team-page,.research-hub,.topic-page) h1.title { font-size:clamp(2.8rem,5.5vw,5rem); max-width:none; }
:is(.team-page,.research-hub,.topic-page) .quarto-title::before { content:"BIOGENIES / RESEARCH COLLECTIVE"; display:block; color:var(--research-accent); font-size:.72rem; font-weight:700; letter-spacing:.16em; margin-bottom:1.2rem; }
.team-page .quarto-title::before { content:"BIOGENIES / OUR PEOPLE"; }
.topic-page .quarto-title::before { content:"BIOGENIES / RESEARCH TOPIC"; }
:is(.team-intro,.hub-intro,.topic-intro) { max-width:none; font-size:1.25rem; line-height:1.65; color:var(--research-muted); }
a { text-underline-offset:.22em; }
:is(.team-page,.research-hub,.topic-page,.researcher-profile) main a { color:var(--research-accent); }
:is(.team-page,.research-hub,.topic-page,.researcher-profile) main a:focus-visible { outline:3px solid var(--research-accent); outline-offset:5px; border-radius:3px; }
.team-inline-link { font-size:.95rem; font-weight:600; }
.people-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem; margin:2.8rem 0 4rem; }
.person-card { display:flex; flex-direction:column; color:var(--research-ink) !important; text-decoration:none; border-radius:1.3rem; overflow:hidden; background:#fff; border:1px solid var(--research-line); transition:transform .2s ease,box-shadow .2s ease; }
.person-card:hover { transform:translateY(-5px); box-shadow:0 18px 35px #132e3610; }
.person-photo { aspect-ratio:1.18; overflow:hidden; background:#e7efeb; }
.person-photo img { width:100%; height:100%; object-fit:cover; object-position:center 35%; transition:transform .35s ease; }
.person-card:hover .person-photo img { transform:scale(1.035); }
.person-info { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.person-info h3 { font-size:1.3rem; margin:0 0 .6rem; line-height:1.25; }
.person-info p { font-size:.87rem; line-height:1.6; color:var(--research-muted); margin-bottom:1.2rem; }
.person-action { border-top:1px solid var(--research-line); padding-top:.85rem; margin-top:auto; display:flex; justify-content:space-between; font-size:.8rem; font-weight:650; color:var(--research-accent); }
.person-action span { font-size:1.15rem; }
.team-page main > section { margin-top:3rem; }
.team-page main > section > h2 { font-size:2.2rem; }
/* CV: one compact identity panel, followed by an editorial CV. */
.researcher-profile #title-block-header { position:relative; min-height:245px; margin:1.4rem 0 2.5rem; padding:3rem 15rem 3rem 2.8rem; border-radius:1.5rem; background:#132e36; background-image:radial-gradient(#c6f3d71a 1px,transparent 1px); background-size:18px 18px; color:white; }
.researcher-profile #title-block-header .quarto-title::before { content:"BIOGENIES / ACADEMIC CV"; display:block; font-size:.7rem; font-weight:700; letter-spacing:.18em; color:var(--research-mint); margin-bottom:1rem; }
.researcher-profile h1.title { font-size:clamp(2.1rem,3.9vw,3.6rem); color:white; margin:0; }
.profile-intro { position:absolute; right:2.8rem; top:3.8rem; z-index:1; pointer-events:none; }
.profile-intro:empty { display:none; }
.profile-intro p { margin:0; }
.profile-intro img { width:150px; height:150px; border-radius:1.2rem; object-fit:cover; border:5px solid #ffffff24; box-shadow:0 12px 26px #0003; }
.researcher-profile main > section { margin-block:2.2rem; }
.researcher-profile main > section > h2 { color:var(--research-ink); margin:0 0 1.5rem; padding-bottom:.75rem; border-bottom:1px solid var(--research-line); font-size:1.6rem; }
.researcher-profile main h3 { font-size:1.1rem; line-height:1.45; }
.researcher-profile main h4 { font-size:1rem; color:var(--research-muted); }
.researcher-profile #contact > p { display:flex; flex-wrap:wrap; gap:.65rem; }
.researcher-profile #contact > p > a { display:inline-flex; padding:.55rem 1rem; border:1px solid var(--research-line); border-radius:.6rem; background:white; color:var(--research-ink); font-size:.85rem; font-weight:650; text-decoration:none; }
.researcher-profile #contact > p > a:hover { background:var(--research-mint); border-color:var(--research-mint); }
.cv-timeline { display:grid; gap:.8rem; margin-block:1rem; }
.cv-entry { display:grid; grid-template-columns:175px 1fr; column-gap:1.4rem; border:1px solid var(--research-line); border-radius:.8rem; background:white; padding:1.3rem; }
.cv-entry .cv-date { grid-column:1; grid-row:1 / 3; color:var(--research-accent); font-size:.79rem; line-height:1.7; margin:0; font-weight:650; }
.cv-entry h3 { grid-column:2; margin:0 0 .4rem; }
.cv-entry p:not(.cv-date) { grid-column:2; margin:0; color:var(--research-muted); font-size:.9rem; overflow-wrap:anywhere; }
.researcher-profile #education [style*="float"] { float:none !important; display:block; color:var(--research-muted); font-size:.87rem; }
.researcher-profile .dataTables_wrapper { padding:1.1rem; border:1px solid var(--research-line); border-radius:.8rem; overflow-x:auto; margin-block:1rem; background:white; }
.researcher-profile table.dataTable { font-size:.87rem; line-height:1.6; }
.research-citations { margin-block:1.5rem; padding:1.2rem; border:1px solid var(--research-line); border-radius:.8rem; background:var(--research-surface); }
.research-citations summary { cursor:pointer; font-weight:650; }
.research-citations li { padding:.65rem 0; line-height:1.7; }
.related-research { margin-top:3rem; padding:1.5rem 1.8rem; border-radius:1rem; background:#e9f0ec; color:var(--research-ink); }
.related-research h2 { font-size:1.25rem; margin-top:0; }
.related-research li { margin-block:.65rem; }
/* Research hub: alternate long editorial features with compact resource tiles. */
.hub-index { display:flex; flex-wrap:wrap; gap:.8rem 2rem; border-block:1px solid var(--research-line); padding:1.2rem 0; margin:2.5rem 0 3rem; }
.hub-index a { text-decoration:none; color:var(--research-accent); font-size:.82rem; font-weight:650; }
.research-feature { display:grid; grid-template-columns:1.25fr 1fr; gap:3rem; padding:2.8rem; margin:1.5rem 0; border:1px solid var(--research-line); border-radius:1.3rem; background:#fff; }
.research-feature h2 { font-size:clamp(1.9rem,3vw,2.7rem); line-height:1.12; margin:.8rem 0 1.2rem; max-width:18ch; }
.feature-copy > p { color:var(--research-muted); line-height:1.8; }
.eyebrow { font-size:.7rem; letter-spacing:.13em; font-weight:700; color:var(--research-accent); text-transform:uppercase; }
.feature-link { display:inline-flex; margin-top:.5rem; font-weight:650; }
.feature-aside { border-left:1px solid var(--research-line); padding-left:2rem; align-self:center; }
.feature-aside h3 { font-size:1rem; margin-top:0; margin-bottom:1rem; }
.feature-aside p { padding:.65rem 0; margin:0; border-bottom:1px solid var(--research-line); font-size:.93rem; }
.software-feature { background:#132e36; color:white; border-color:#132e36; }
.software-feature :is(.eyebrow,a) { color:var(--research-mint) !important; }
.software-feature .feature-copy > p { color:#c8d7d7; }
.tool-tiles { display:grid; gap:.65rem; align-self:center; }
.tool-tile { display:grid; grid-template-columns:55px 1fr; column-gap:1rem; padding:1rem; background:#ffffff0d; border:1px solid #ffffff20; border-radius:.7rem; text-decoration:none; font-size:.8rem; line-height:1.5; }
.tool-tile img { grid-row:span 3; width:50px; height:50px; object-fit:contain; background:white; border-radius:.5rem; }
.tool-tile strong { font-size:1rem; color:white; }
.achievement-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 3rem; }
.achievement-card { padding:1.8rem; border-radius:1rem; border:1px solid var(--research-line); background:white; }
.achievement-card h3 { margin:.6rem 0 1rem; font-size:1.25rem; line-height:1.35; }
.achievement-card p { color:var(--research-muted); font-size:.95rem; line-height:1.75; }
.research-hub #recognition { margin-top:3.5rem; font-size:2.2rem; }
.hub-closing { padding:2rem; background:var(--research-mint); border-radius:1rem; }
.hub-closing h3 { font-size:1.5rem; margin-top:0; }
.topic-page main > section { margin-top:2.5rem; }
.topic-page main > section > h2 { font-size:1.8rem; }
.topic-page main > section > p { line-height:1.85; max-width:none; }
.topic-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; }
.topic-story { border:1px solid var(--research-line); border-radius:1rem; padding:1.6rem; background:white; }
.topic-story h3 { margin-top:0; font-size:1.15rem; }
.topic-story p { line-height:1.7; color:var(--research-muted); font-size:.95rem; }
body.quarto-dark { --research-ink:#e1ede9; --research-muted:#b3c5bf; --research-line:#364c49; --research-surface:#223a35; --research-accent:#99e3be; }
body.quarto-dark:is(.team-page,.research-hub,.topic-page,.researcher-profile) { background:#172b28; }
body.quarto-dark :is(.person-card,.cv-entry,.research-feature,.achievement-card,.topic-story,.dataTables_wrapper) { background:#203733; }
body.quarto-dark .related-research { background:#203733; }
body.quarto-dark .hub-closing { background:#2b4a3d; }
body.quarto-dark.researcher-profile #contact > p > a { background:#203733; }
@media(max-width:1000px) { .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .research-feature { gap:2rem; padding:2rem; } }
@media(max-width:640px) {
 .people-grid,.achievement-grid,.topic-story-grid { grid-template-columns:1fr; }
 .people-grid { gap:1.25rem; margin-top:2rem; } .person-photo { aspect-ratio:1.2; }
 .research-feature { grid-template-columns:1fr; padding:1.5rem; gap:1.5rem; }
 .feature-aside { border-left:0; border-top:1px solid var(--research-line); padding:1.3rem 0 0; }
 .researcher-profile #title-block-header { padding:11rem 1.5rem 2rem; min-height:0; margin-top:1rem; }
 .profile-intro { top:2.6rem; left:1.5rem; right:auto; }
 .profile-intro img { width:120px; height:120px; }
 .cv-entry { grid-template-columns:1fr; gap:.45rem; padding:1.1rem; }
 .cv-entry .cv-date,.cv-entry h3,.cv-entry p:not(.cv-date) { grid-column:1; grid-row:auto; }
 .hub-index { gap:1rem 1.3rem; } .hub-index a { font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce) { .person-card,.person-photo img { transition:none; } }
@media print { .related-research { display:none; } .researcher-profile #title-block-header { background:white; color:black; } .researcher-profile h1.title { color:black; } .researcher-profile .dataTables_wrapper { overflow:visible; } }
.output-page { font-family:"Aptos","Segoe UI",system-ui,sans-serif; color:var(--research-ink); background:#f8faf8; }
.output-page #title-block-header { padding:2.8rem 0 1rem; }
.output-page #title-block-header .description { display:none; }
.output-page h1.title { font-size:clamp(2.6rem,5vw,4rem); font-weight:750; letter-spacing:-.05em; }
.output-page .quarto-title::before { content:"BIOGENIES / RESEARCH OUTPUTS"; display:block; font-size:.7rem; font-weight:700; letter-spacing:.16em; color:var(--research-accent); margin-bottom:1rem; }
.output-page h2 { font-weight:700; letter-spacing:-.03em; border-bottom:1px solid var(--research-line); margin-top:2.6rem; padding-bottom:.6rem; }
.output-page .dataTables_wrapper { background:white; border:1px solid var(--research-line); border-radius:1rem; padding:1rem; overflow-x:auto; }
.software-page .quarto-layout-row { gap:1rem; }
.software-page .quarto-layout-cell { background:white; border:1px solid var(--research-line); border-radius:1rem; padding:1.3rem; margin-block:.5rem; }
.software-page .quarto-layout-cell img { height:110px; max-width:100%; object-fit:contain; }
.output-page .listing, .output-page table { font-size:.9rem; }
body.quarto-dark.output-page { background:#172b28; }
body.quarto-dark.output-page :is(.quarto-layout-cell,.dataTables_wrapper) { background:#203733; }
.researcher-profile:not(:has(.profile-intro img)) #title-block-header { padding-right:2.8rem; }
@media(max-width:640px) { .researcher-profile:not(:has(.profile-intro img)) #title-block-header { padding-top:2rem; padding-right:1.5rem; } }
.related-research a,.research-citations a { color:var(--research-accent); }
/* Carry the same typography and detailing through the rest of the website. */
body { font-family:"Aptos","Segoe UI",system-ui,sans-serif; }
body.quarto-light { background:#f8faf8; color:#132e36; }
#quarto-header .navbar { --bs-navbar-color:#d5e2de; --bs-navbar-hover-color:#c6f3d7; --bs-navbar-active-color:#fff; }
.quarto-grid-item.card { border:1px solid var(--research-line); border-radius:1rem; overflow:hidden; box-shadow:0 4px 14px #132e3605; transition:box-shadow .2s ease; }
.quarto-grid-item.card:hover { box-shadow:0 12px 26px #132e3612; }
.quarto-grid-item .card-img-top { overflow:hidden; }
.quarto-grid-item .card-img { object-fit:cover; }
.quarto-grid-item .card-title { font-weight:650; letter-spacing:-.02em; line-height:1.35; }
.quarto-grid-item .listing-category { border-radius:999px; font-size:.68rem; }
@media(prefers-reduced-motion:reduce) { .quarto-grid-item.card { transition:none; } }
.pet-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.5rem; }
.pet-grid figure { margin:0; overflow:hidden; border-radius:1rem; background:white; border:1px solid var(--research-line); }
.pet-grid img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.pet-grid figcaption { padding:.75rem 1rem; font-weight:650; color:var(--research-ink); }
@media(max-width:640px) { .pet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
body.quarto-dark .pet-grid figure { background:#203733; }
/* A common reading layout for every subsite, including projects and news posts. */
.subsite-page { font-family:"Aptos","Segoe UI",system-ui,sans-serif; color:var(--research-ink); background:#f8faf8; }
.subsite-page:where(:not(.researcher-profile,.team-page,.research-hub,.topic-page,.output-page)) #title-block-header { padding:2.6rem 0 1.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--research-line); }
.subsite-page:where(:not(.researcher-profile,.team-page,.research-hub,.topic-page,.output-page)) h1.title { font-size:clamp(2.3rem,4.5vw,3.8rem); font-weight:750; letter-spacing:-.045em; line-height:1.12; }
.subsite-page #title-block-header .description { color:var(--research-muted); max-width:none; margin-top:1rem; line-height:1.7; }
.subsite-page main > section > h2 { font-size:1.65rem; font-weight:700; letter-spacing:-.025em; margin-top:2.5rem; }
.subsite-page main p,.subsite-page main li { line-height:1.75; }
.subsite-page main a { color:var(--research-accent); }
.subsite-page main .cell-output-display { max-width:100%; overflow-x:auto; }
.subsite-page .callout { border-radius:.8rem; border-color:var(--research-line); }
.article-page main > section > p,.article-page main > p { max-width:76ch; }
.article-page main img { border-radius:.8rem; }
.article-page .quarto-title-meta { font-size:.85rem; color:var(--research-muted); }
.project-page #title-block-header { border-left:4px solid var(--research-accent); padding-left:1.5rem; }
.project-page main > section > ul { padding:1.4rem 1.4rem 1.4rem 2.5rem; border-radius:1rem; background:var(--research-surface); }
.directory-page #title-block-header { border:0; margin-bottom:0; padding-bottom:.5rem; }
.directory-page #title-block-header .description,.guest-page #title-block-header .description { display:none; }
.directory-page h1.title,.guest-page h1.title { font-size:clamp(2.6rem,5vw,4.5rem); letter-spacing:-.05em; }
.directory-grid { margin:1.6rem 0 3rem; }
.directory-grid .person-photo { aspect-ratio:1.5; display:flex; align-items:center; justify-content:center; }
.person-initials { display:flex; align-items:center; justify-content:center; width:90px; height:90px; border-radius:50%; background:#d5e9dd; color:#245243; font-size:2rem; font-weight:700; letter-spacing:-.04em; }
.alumni-page .people-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.alumni-page .person-photo { aspect-ratio:1.8; }
.alumni-page .person-info { padding:1.1rem; }
.alumni-page .person-info h3 { font-size:1.05rem; }
.guest-story { margin:1rem 0; border:1px solid var(--research-line); border-radius:1rem; background:white; padding:1rem 1.4rem; }
.guest-story summary { display:flex; align-items:center; gap:1.2rem; cursor:pointer; color:var(--research-ink); font-weight:650; line-height:1.6; }
.guest-story summary::after { content:"+"; margin-left:auto; font-size:1.4rem; }
.guest-story[open] summary::after { content:"−"; }
.guest-story summary img { width:72px; height:72px; object-fit:cover; border-radius:.7rem; flex-shrink:0; }
.guest-story[open] summary { margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid var(--research-line); }
/* Compact CV records; details remain available in the HTML. */
.cv-section-note { color:var(--research-muted); font-size:.8rem; margin-bottom:.75rem; }
.cv-record { margin:.55rem 0; background:white; border:1px solid var(--research-line); border-radius:.65rem; }
.cv-record > summary { display:flex; gap:1rem; align-items:baseline; padding:.85rem 1rem; cursor:pointer; list-style:none; }
.cv-record > summary::after { content:"+"; margin-left:auto; color:var(--research-accent); flex-shrink:0; }
.cv-record[open] > summary::after { content:"−"; }
.cv-record-date { min-width:100px; font-size:.78rem; color:var(--research-muted); font-variant-numeric:tabular-nums; }
.cv-record-title { font-size:.92rem; font-weight:650; }
.cv-badge { padding:.1rem .5rem; border-radius:999px; background:var(--research-surface); color:var(--research-accent); font-size:.7rem; white-space:nowrap; }
.cv-record-body { padding:.2rem 1rem 1rem; border-top:1px solid var(--research-line); }
.cv-record-body p { margin:.65rem 0 0; color:var(--research-muted); font-size:.86rem; }
.cv-record-body .cv-presentation { color:var(--research-ink); font-weight:600; }
.cv-archive { margin-top:1rem; padding:.8rem 1rem; border:1px solid var(--research-line); border-radius:.7rem; background:var(--research-surface); }
.cv-archive > summary,.cv-year > summary { cursor:pointer; font-size:.85rem; font-weight:650; color:var(--research-accent); }
.cv-archive[open] > summary { margin-bottom:1rem; }
.cv-year { margin-top:.5rem; border-top:1px solid var(--research-line); padding:.7rem 0; }
.cv-count { margin-left:.65rem; color:var(--research-muted); font-weight:400; font-size:.75rem; }
.cv-publication { padding:.8rem 0; border-bottom:1px solid var(--research-line); }
.cv-paper-title { font-size:.95rem; font-weight:650; line-height:1.5; }
.cv-paper-meta { color:var(--research-muted); font-size:.8rem; margin:.35rem 0; }
.cv-paper-details { font-size:.8rem; color:var(--research-muted); }
.cv-paper-details summary { cursor:pointer; font-size:.75rem; }
.cv-paper-details p { margin:.5rem 0; }
/* Mobility: a small overview, readable without hover or a chart legend. */
.mobility-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.4rem 0; }
.mobility-stat { background:white; border:1px solid var(--research-line); border-radius:1rem; padding:1.4rem; display:flex; flex-direction:column; gap:.5rem; }
.mobility-stat strong { font-size:2.3rem; line-height:1; letter-spacing:-.045em; color:var(--research-accent); }
.mobility-stat span { font-size:.82rem; color:var(--research-muted); }
.mobility-destinations { padding:1.5rem; background:white; border:1px solid var(--research-line); border-radius:1rem; }
.mobility-destinations h3 { font-size:1.2rem; margin:0 0 .5rem; }
.mobility-destinations > p { font-size:.85rem; color:var(--research-muted); max-width:68ch; }
.mobility-destinations ul { list-style:none; padding:0; margin:1rem 0 0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 2rem; }
.mobility-place { display:flex; justify-content:space-between; font-size:.85rem; }
.mobility-track { height:5px; background:var(--research-surface); border-radius:10px; margin-top:.5rem; overflow:hidden; }
.mobility-track span { display:block; height:100%; background:var(--research-accent); border-radius:10px; }
.mobility-record { padding:.7rem 0; border-bottom:1px solid var(--research-line); font-size:.9rem; }
.mobility-record p { font-size:.8rem; color:var(--research-muted); margin:.3rem 0; }
details > summary:focus-visible { outline:3px solid var(--research-accent); outline-offset:3px; border-radius:.25rem; }
body.quarto-dark.subsite-page { background:#172b28; }
body.quarto-dark :is(.cv-record,.guest-story,.mobility-stat,.mobility-destinations) { background:#203733; }
@media(max-width:1000px) { .alumni-page .people-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:640px) {
 .alumni-page .people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .alumni-page .person-info h3 { font-size:.95rem; }
 .alumni-page .person-info p { font-size:.75rem; }
 .person-initials { width:64px; height:64px; font-size:1.6rem; }
 .cv-record > summary { flex-wrap:wrap; gap:.3rem .7rem; }
 .cv-record-date { min-width:0; }
 .cv-record-title { flex:1 1 75%; font-size:.86rem; }
 .cv-record > summary::after { position:absolute; right:.8rem; top:.8rem; }
 .cv-record > summary { position:relative; padding-right:2rem; }
 .mobility-stats { gap:.6rem; }
 .mobility-stat { padding:1rem .75rem; }
 .mobility-stat strong { font-size:1.8rem; }
 .mobility-stat span { font-size:.7rem; }
 .mobility-destinations ul { grid-template-columns:1fr; }
 .guest-story { padding:.9rem; }
 .guest-story summary { gap:.8rem; font-size:.85rem; }
 .guest-story summary img { width:54px; height:54px; }
}
@media print { .cv-archive,.cv-year,.cv-record { break-inside:avoid; } details::details-content { content-visibility:visible !important; height:auto !important; } }
.thesis-entry { background:white; border:1px solid var(--research-line); border-radius:.9rem; padding:1.3rem 1.5rem; margin:1rem 0; }
.thesis-entry h3 { font-size:1.15rem; line-height:1.5; margin:.4rem 0 .75rem; }
body.quarto-dark .thesis-entry { background:#203733; }
.cv-paper-details,.cv-record-body,.mobility-record { overflow-wrap:anywhere; }
.directory-page main a,.guest-page main a { color:var(--research-accent); }
.guest-story > p { line-height:1.75; }
/* Institutions and destinations remain part of the group's visual identity. */
.affiliation-logos { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem; margin:-.3rem 0 1.1rem; }
.affiliation-logos img { width:auto; max-width:110px; height:54px; object-fit:contain; background:white; padding:3px; border-radius:4px; }
.directory-institution-logo { width:72px; height:64px; object-fit:contain; vertical-align:middle; margin-right:.7rem; background:white; padding:5px; border-radius:7px; }
.institution-logo { width:58px; height:52px; object-fit:contain; flex:0 0 auto; background:white; padding:5px; border-radius:6px; }
.cv-entry > .institution-logo { float:right; margin:0 0 .7rem 1rem; }
.cv-entry::after { content:""; display:block; clear:both; }
.country-flag { width:22px; height:16.5px; object-fit:cover; border-radius:2px; box-shadow:0 0 0 1px #172e3618; vertical-align:middle; flex:0 0 auto; }
.record-place { display:inline-flex; align-items:center; gap:.5rem; font-size:.82rem; color:var(--research-muted); }
.destination-list { display:flex; flex-wrap:wrap; gap:.55rem; margin:1rem 0 2.5rem; }
.destination-chip { display:inline-flex; align-items:center; gap:.45rem; padding:.35rem .65rem; border:1px solid var(--research-line); border-radius:6px; font-size:.75rem; background:var(--research-surface); }
/* An event edition has one identity, shared by all of its attendees. */
.event-card { display:grid; grid-template-columns:78px minmax(0,1fr); gap:1.3rem; padding:1.6rem; margin:1rem 0; background:white; border:1px solid var(--research-line); border-radius:1rem; }
.event-mark { display:flex; align-items:center; justify-content:center; width:78px; height:78px; padding:.6rem; border-radius:.75rem; background:var(--research-surface); color:var(--research-accent); overflow-wrap:anywhere; text-align:center; font-size:.8rem; font-weight:750; }
.event-mark img { width:100%; max-height:65px; object-fit:contain; }
.event-content h3 { font-size:1.1rem; line-height:1.45; margin:.25rem 0 .55rem; }
.event-date { color:var(--research-muted); font-size:.75rem; margin:0; font-weight:550; }
.event-attendees { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin:1rem 0 .7rem; }
.attendee-label { font-size:.72rem; color:var(--research-muted); margin-right:.3rem; }
.attendee-chip { display:inline-block; padding:.25rem .6rem; border-radius:5px; background:var(--research-surface); font-size:.74rem; text-decoration:none; color:var(--research-accent); }
.event-contributions { margin-top:.8rem; font-size:.82rem; }
.event-contributions > summary { cursor:pointer; color:var(--research-accent); font-weight:600; }
.event-contributions ul { margin:.8rem 0 0; padding-left:1.1rem; }
.event-contributions li { padding:.5rem 0; }
.event-contributions li p { margin:.3rem 0 0; color:var(--research-muted); line-height:1.6; }
.contribution-type { color:var(--research-muted); }
.stay-card { display:flex; align-items:flex-start; gap:1rem; padding:1.2rem 0; }
/* About and grants share the spacious structure of the FIBREA project. */
.eyebrow { display:block; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; font-weight:750; color:var(--research-accent); }
.about-hero { display:grid; grid-template-columns:minmax(0,1fr) 190px; align-items:center; gap:3rem; padding:3rem; margin:1.5rem 0 3rem; background:#132e36; color:#e9f4ef; border-radius:1.5rem; }
.about-hero .eyebrow,.grant-hero .eyebrow { color:#c6f3d7; }
.about-hero h2 { border:0; margin:.8rem 0 1.2rem; padding:0; color:white; font-size:clamp(2rem,3.8vw,3.3rem); line-height:1.15; letter-spacing:-.035em; }
.about-hero p { line-height:1.8; font-size:1rem; }
.about-brand { display:flex; align-items:center; justify-content:center; background:white; padding:1.5rem; border-radius:1.3rem; aspect-ratio:1; }
.about-brand p { margin:0; }
.about-brand img { width:100%; }
.about-hero .research-button { margin:.7rem .5rem 0 0; background:#c6f3d7; color:#132e36; }
.about-hero .research-button.secondary { background:transparent; border-color:#c6f3d766; color:white; }
.focus-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 3rem; }
.focus-card { background:white; border:1px solid var(--research-line); border-radius:1rem; padding:1.6rem; }
.focus-card h3 { font-size:1.22rem; line-height:1.4; margin:.8rem 0 1rem; }
.focus-card p { font-size:.9rem; line-height:1.8; }
.focus-card p:last-child { margin-bottom:0; }
.about-community { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; margin:4rem 0; }
.about-community h2 { border:0; font-size:2rem; line-height:1.25; margin:.8rem 0 1.3rem; }
.about-community > p { margin:0; }
.community-photo { width:100%; border-radius:1.2rem; }
.location-panel { display:flex; align-items:flex-start; gap:2rem; background:var(--research-surface); border:1px solid var(--research-line); border-radius:1rem; padding:2rem; }
.location-panel > p { flex:0 0 110px; margin:0; background:white; padding:1rem; border-radius:.7rem; }
.location-logo { width:100%; max-height:120px; object-fit:contain; }
.location-copy h2 { margin:.5rem 0 1rem; border:0; padding:0; }
.grant-hero { background:#132e36; color:#e9f4ef; border-radius:1.3rem; padding:2.5rem; margin:1rem 0 1.5rem; }
.grant-hero h2 { font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.035em; border:0; padding:0; line-height:1.18; margin:.8rem 0 1.2rem; color:white; }
.grant-hero > p { font-size:1.1rem; max-width:none; line-height:1.7; }
.grant-hero .project-topics { display:block; margin-top:1.5rem; color:#c6f3d7; font-size:.78rem; }
.grant-facts { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:1rem 0 3rem; border:1px solid var(--research-line); border-radius:.8rem; overflow:hidden; background:white; }
.grant-facts > div { padding:1.15rem; border-right:1px solid var(--research-line); }
.grant-facts > div:last-child { border:0; }
.grant-facts dt { font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; color:var(--research-muted); margin-bottom:.55rem; }
.grant-facts dd { font-size:.8rem; font-weight:600; margin:0; overflow-wrap:anywhere; }
.grant-support { display:flex; align-items:center; gap:2rem; padding:1.5rem; margin:1.5rem 0 2.5rem; border:1px solid var(--research-line); border-radius:.8rem; background:white; }
.grant-support img { width:160px; max-height:95px; object-fit:contain; background:white; padding:.5rem; border-radius:5px; flex:0 0 auto; }
.grant-support p { font-size:.85rem; margin:0; line-height:1.7; }
.grant-support p.eyebrow { margin-bottom:.8rem; font-size:.65rem; }
.project-resource-logo { max-width:190px; height:auto; background:white; border-radius:.7rem; padding:1rem; }
.project-catalog { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.3rem; margin:2rem 0; }
.project-tile { padding:2rem; border:1px solid var(--research-line); border-top:4px solid var(--research-accent); border-radius:1rem; background:white; }
.project-tile h2 { border:0; margin:1rem 0; font-size:1.8rem; padding:0; }
.project-tile h2 a { text-decoration:none; }
.project-tile > p { font-size:.95rem; line-height:1.8; }
body.quarto-dark :is(.event-card,.focus-card,.grant-facts,.grant-support,.project-tile) { background:#203733; }
@media(max-width:1000px) { .grant-facts { grid-template-columns:repeat(3,minmax(0,1fr)); } .grant-facts > div { border-bottom:1px solid var(--research-line); } .about-hero { grid-template-columns:1fr 135px; gap:1.5rem; padding:2rem; } }
@media(max-width:700px) {
 .focus-grid,.project-catalog,.about-community { grid-template-columns:1fr; }
 .about-hero { grid-template-columns:1fr; padding:1.5rem; }
 .about-brand { width:110px; padding:1rem; order:-1; }
 .about-hero h2 { font-size:2.1rem; }
 .grant-hero { padding:1.5rem; }
 .grant-hero > p { font-size:.95rem; }
 .grant-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .grant-facts > div { padding:.9rem; }
 .grant-support { flex-direction:column; align-items:flex-start; gap:1rem; }
 .location-panel { padding:1.3rem; gap:1rem; flex-direction:column; }
 .location-panel > p { flex:auto; width:90px; }
 .event-card { grid-template-columns:48px minmax(0,1fr); gap:.85rem; padding:1rem; }
 .event-mark { width:48px; height:48px; padding:.3rem; font-size:.58rem; }
 .event-content h3 { font-size:.96rem; }
 .event-attendees { gap:.35rem; }
 .attendee-chip { font-size:.7rem; }
 .event-contributions { font-size:.78rem; }
 .focus-card { padding:1.3rem; }
 .cv-education .institution-logo { width:38px; height:38px; }
 .directory-institution-logo { width:45px; height:45px; }
}
.research-button { display:inline-flex; align-items:center; padding:.7rem 1rem; border:1px solid var(--research-accent); border-radius:.5rem; text-decoration:none; font-size:.85rem; font-weight:650; background:var(--research-accent); color:white; }
.research-button:focus-visible { outline:3px solid var(--research-accent); outline-offset:4px; }
.about-brand :is(figure,.quarto-figure) { margin:0; }
.location-panel > .quarto-figure { flex:0 0 110px; background:white; padding:.7rem; border-radius:.7rem; margin:0; }
:is(.about-page,.grant-page) #title-block-header .description { display:none; }
@media(max-width:700px) { .location-panel > .quarto-figure { flex:auto; width:100px; } }

/* Keep page openings across the content area, with the logo in the site navigation. */
#quarto-header .navbar-brand { display:inline-flex; align-items:center; gap:.6rem; }
#quarto-header .navbar-logo { height:34px; max-height:34px; width:auto; background:white; padding:2px; border-radius:7px; }
@media(max-width:991px) { #quarto-header .navbar-logo { height:28px; max-height:28px; } }
/* Guided entry points keep the news feed at the centre of the homepage. */
.news-page { color:var(--research-ink); background:#f8faf8; font-family:"Aptos","Segoe UI",system-ui,sans-serif; }
.start-here { padding:1.6rem 0 2rem; border-bottom:1px solid var(--research-line); margin-bottom:2rem; }
.start-here h2 { border:0; padding:0; margin:.6rem 0 1.2rem; font-size:clamp(1.65rem,2.8vw,2.3rem); letter-spacing:-.035em; }
.visitor-routes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.visitor-route { padding:1.3rem 1.5rem; background:white; border:1px solid var(--research-line); border-radius:.85rem; }
.visitor-route h3 { margin:0 0 .65rem; font-size:1.15rem; font-weight:700; letter-spacing:-.02em; }
.visitor-route p { font-size:.87rem; line-height:1.7; margin-bottom:.6rem; }
.visitor-route p:last-child { margin:0; }
.visitor-route a,.discovery-link { color:var(--research-accent); font-weight:600; font-size:.85rem; }
.start-here > p:last-child { margin:1.1rem 0 0; }
.visitor-guide,.plain-story { background:white; border:1px solid var(--research-line); border-radius:1rem; padding:2rem; margin:1.5rem 0 2.5rem; }
.visitor-guide h3 { margin:.8rem 0 1rem; font-size:1.4rem; }
.visitor-guide li { margin-bottom:.8rem; }
.story-jump-links { margin:1.5rem 0 2.5rem; }
.story-identity { display:flex; align-items:center; gap:1.5rem; padding:1rem 0 1.5rem; border-bottom:1px solid var(--research-line); font-size:1.3rem; font-weight:600; }
.story-identity > p { margin:0; }
.story-identity > p:has(img),.story-identity > .quarto-figure { flex:0 0 80px; margin:0; }
.story-identity img { width:80px; height:80px; object-fit:contain; background:white; }
.story-identity figure { margin:0; }
.plain-story h3 { font-size:1.2rem; margin:1.6rem 0 .7rem; }
.plain-story section > p { max-width:85ch; }
.story-resource { margin-left:.7rem; }
/* The demo is local, keyboard accessible and independent of external plotting libraries. */
.imputation-lab { margin:2rem 0; padding:1.7rem; border:1px solid var(--research-line); border-radius:1.2rem; background:white; }
.demo-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; flex-wrap:wrap; }
.demo-data-label { color:var(--research-muted); font-size:.75rem; }
.demo-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem 1.5rem; padding:1.2rem; background:var(--research-surface); border:0; border-radius:.8rem; }
.demo-control label { display:flex; justify-content:space-between; gap:.5rem; font-size:.8rem; font-weight:650; margin-bottom:.6rem; }
.demo-control output { color:var(--research-accent); font-variant-numeric:tabular-nums; }
.demo-control input[type=range] { width:100%; accent-color:var(--research-accent); cursor:pointer; }
.demo-control select { width:100%; padding:.5rem; border:1px solid var(--research-line); border-radius:.4rem; background:white; color:var(--research-ink); font:inherit; font-size:.82rem; }
.demo-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:.6rem; }
.demo-actions button { padding:.55rem .9rem; border:1px solid var(--research-line); border-radius:.45rem; font:inherit; font-size:.8rem; font-weight:600; color:var(--research-accent); background:white; cursor:pointer; }
.demo-actions .demo-primary { background:var(--research-accent); color:white; border-color:var(--research-accent); }
.demo-reveal { grid-column:1/-1; display:flex; align-items:center; gap:.6rem; font-size:.8rem; }
.demo-reveal input { accent-color:var(--research-accent); flex:0 0 auto; }
.demo-status { color:var(--research-muted); padding:1rem 0 .4rem; font-size:.88rem; }
.demo-workspace { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); align-items:start; gap:2rem; }
.demo-table-wrap { max-width:100%; overflow-x:auto; border:1px solid var(--research-line); border-radius:.6rem; }
#demo-data { width:100%; border-collapse:separate; border-spacing:4px; font-size:.8rem; font-variant-numeric:tabular-nums; margin:0; }
#demo-data caption { caption-side:bottom; text-align:left; padding:.7rem; color:var(--research-muted); font-size:.72rem; }
#demo-data th { font-weight:650; padding:.45rem .35rem; white-space:nowrap; }
#demo-data thead th { font-size:.73rem; }
#demo-data td { min-width:65px; text-align:center; padding:.4rem; border-radius:4px; background:rgb(8 108 99 / var(--cell-shade, .02)); border:1px solid transparent; color:var(--research-ink); }
#demo-data td.demo-estimate { border:1px dashed var(--research-accent); }
#demo-data td small { display:block; font-size:.6rem; color:var(--research-muted); white-space:nowrap; }
.demo-legend { font-size:.72rem; color:var(--research-muted); margin:.8rem 0; }
.demo-legend-cell { display:inline-block; width:16px; height:14px; border:1px dashed var(--research-accent); border-radius:3px; vertical-align:middle; margin-right:.3rem; }
.demo-comparison h2 { font-size:1.3rem; border:0; margin:0 0 .8rem; }
.demo-comparison > p,.demo-methods { font-size:.82rem; color:var(--research-muted); line-height:1.7; }
.demo-score { padding:.9rem; border:1px solid var(--research-line); border-radius:.6rem; margin:.65rem 0; }
.demo-score.is-selected { border-color:var(--research-accent); background:var(--research-surface); }
.demo-score > div:first-child { display:flex; justify-content:space-between; align-items:center; gap:.5rem; font-size:.76rem; }
.demo-score strong { color:var(--research-accent); font-size:1.1rem; font-variant-numeric:tabular-nums; }
.demo-score-track { height:5px; background:var(--research-line); border-radius:5px; margin-top:.65rem; overflow:hidden; }
.demo-score-track span { display:block; height:100%; background:var(--research-accent); border-radius:5px; }
.demo-insight { padding:1rem; background:var(--research-surface); border-radius:.5rem; margin:1rem 0; }
.demo-methods summary { cursor:pointer; color:var(--research-accent); font-weight:600; margin:.6rem 0; }
.demo-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.imputation-lab :is(button,input,select,.demo-table-wrap):focus-visible { outline:3px solid var(--research-accent); outline-offset:3px; }
body.quarto-dark :is(.visitor-route,.visitor-guide,.plain-story,.imputation-lab) { background:#203733; }
body.quarto-dark.news-page { background:#172b28; }
body.quarto-dark .demo-control select { background:#203733; color:var(--research-ink); }
body.quarto-dark #demo-data td { background:rgb(198 243 215 / var(--cell-shade, .02)); }
@media(max-width:850px) { .demo-workspace { grid-template-columns:1fr; } }
@media(max-width:640px) {
 .visitor-routes,.demo-controls { grid-template-columns:1fr; }
 .visitor-route { padding:1rem 1.2rem; }
 .visitor-guide,.plain-story { padding:1.25rem; }
 .story-identity { gap:1rem; font-size:1.1rem; }
 .story-resource { display:inline-block; margin:1rem 0 0; }
 .imputation-lab { padding:1rem; }
 .demo-controls { gap:1rem; padding:1rem; }
 .demo-workspace { gap:1.5rem; }
}

:is(.start-page,.stories-page,.demo-page) #title-block-header .description { display:none; }
body.quarto-dark .demo-actions button { background:#203733; color:var(--research-ink); }
body.quarto-dark .demo-actions .demo-primary { background:var(--research-accent); color:#132e36; }
body.quarto-dark:is(.stories-page,.demo-page) .research-button { color:#132e36; }
.demo-workspace > * { min-width:0; }
:is(.stories-page,.demo-page) main a.research-button { color:white; }
body.quarto-dark:is(.stories-page,.demo-page) main a.research-button { color:#132e36; }
@media(max-width:850px) { .demo-workspace { grid-template-columns:minmax(0,1fr); } }

/* Keep profile navigation separate from the linked institutions. */
.person-photo { display:block; }
.person-name { color:var(--research-ink) !important; text-decoration:none; }
.person-name:hover { text-decoration:underline; }
a.person-action { text-decoration:none; }
.affiliation-link { display:inline-flex; align-items:center; max-width:100%; min-width:0; border-radius:4px; }
.affiliation-link img { max-width:100%; }
.affiliation-link:focus-visible { outline:3px solid var(--research-accent); outline-offset:4px; }
.affiliation-logos .affiliation-link { max-width:110px; }
.affiliation-logos .affiliation-link:has(img[src$="/UdGe_logo.png"]) { max-width:170px; }
.affiliation-logos img[src$="/UdGe_logo.png"] { width:170px; max-width:100%; }
/* Official conference marks, with the abbreviation kept for unmatched events. */
.event-mark.has-logo { padding:0; background:white; border:1px solid #dce6e5; }
.event-logo-link { display:flex; width:100%; height:100%; padding:7px; align-items:center; justify-content:center; border-radius:inherit; overflow:hidden; }
.event-mark .event-logo-left { width:100%; height:100%; max-height:none; object-fit:cover; object-position:left center; }
.event-logo-link:focus-visible { outline:3px solid var(--research-accent); outline-offset:3px; }
@media(max-width:700px) { .event-logo-link { padding:4px; } }
/* An editorial news treatment shared by every post; authored content stays intact. */
body.article-page { background:#f0f2ee; }
.article-page main.content { width:100%; min-width:0; max-width:1200px; margin:2rem auto 3rem; padding:clamp(1.25rem,4vw,3.5rem); border:1px solid var(--research-line); border-top:6px solid var(--research-ink); border-radius:.3rem; background:white; box-shadow:0 12px 36px #132e3608; --news-reading-width:52rem; }
.article-page #title-block-header { padding:0 0 1.5rem; margin-bottom:2rem; border-bottom:1px solid var(--research-line); }
.article-page #title-block-header .quarto-title::before { content:"BIOGENIES / NEWS"; display:block; margin:0 0 1.2rem; font-family:"Segoe UI",sans-serif; font-size:.72rem; font-weight:750; letter-spacing:.18em; color:var(--research-accent); }
.article-page h1.title { max-width:none; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.2rem,4.8vw,4.2rem); font-weight:700; line-height:1.12; letter-spacing:-.04em; color:var(--research-ink); }
.article-page #title-block-header .description { max-width:none; margin:1.3rem 0; font-size:1.14rem; line-height:1.7; color:var(--research-muted); }
.article-page #title-block-header .quarto-categories { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:1.1rem; }
.article-page .quarto-category { padding:.25rem .65rem; border:1px solid var(--research-line); border-radius:3px; font-size:.63rem; font-weight:650; letter-spacing:.07em; text-transform:uppercase; color:var(--research-accent); background:var(--research-surface); }
.article-page #title-block-header .quarto-title-meta { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin-top:1.4rem; padding-top:1rem; border-top:1px solid var(--research-line); }
.article-page #title-block-header .quarto-title-meta-heading { font-size:.61rem; font-weight:650; letter-spacing:.12em; color:var(--research-muted); margin:0 0 .3rem; }
.article-page #title-block-header .quarto-title-meta-contents { font-size:.82rem; font-weight:600; color:var(--research-ink); }
.article-page #title-block-header .quarto-title-meta-contents p { margin:0; }
.article-page main > :is(p,ul,ol,blockquote,hr),.article-page main section > :is(p,ul,ol,blockquote,hr,h1,h2,h3,h4) { max-width:var(--news-reading-width); margin-left:auto; margin-right:auto; }
.article-page main p,.article-page main li { line-height:1.85; }
.article-page main section > h1 { margin-top:2rem; margin-bottom:1rem; font-size:1.9rem; line-height:1.3; font-weight:700; letter-spacing:-.03em; }
.article-page main section > h2 { margin-top:2.4rem; margin-bottom:1rem; padding-bottom:.55rem; border-bottom:1px solid var(--research-line); font-size:1.5rem; line-height:1.4; letter-spacing:-.025em; }
.article-page main section > h3 { margin-top:1.8rem; font-size:1.15rem; line-height:1.4; }
.article-page main p:has(> img),.article-page main p:has(> a > img) { max-width:100%; margin-top:1.6rem; margin-bottom:1.8rem; }
.article-page main img { display:block; width:auto; max-width:100%; max-height:720px; object-fit:contain; margin-left:auto; margin-right:auto; border-radius:.45rem; }
.article-page main figure { margin:1.8rem 0; }
.article-page main figcaption { margin-top:.6rem; padding-left:.8rem; border-left:2px solid var(--research-accent); color:var(--research-muted); font-size:.78rem; line-height:1.6; text-align:left; }
.article-page main hr { margin-top:2rem; margin-bottom:2rem; border:0; border-top:1px solid var(--research-line); opacity:1; }
.article-page main blockquote { margin-top:1.5rem; margin-bottom:1.5rem; padding:1.25rem 1.5rem; border-left:3px solid var(--research-accent); background:var(--research-surface); font-family:Georgia,serif; font-size:1.15rem; }
.article-page main audio,.article-page main video { display:block; max-width:100%; margin:1.5rem auto; }
.article-page .related-research { margin-top:3rem; padding:1.5rem; border:1px solid var(--research-line); background:var(--research-surface); }
.article-page .related-research h2 { font-size:1.2rem; }
body.quarto-dark.article-page { background:#152b28; }
body.quarto-dark.article-page main.content { background:#203733; box-shadow:none; }
@media(max-width:700px) {
 .article-page main.content { margin-top:1rem; padding:1.2rem; border-top-width:4px; }
 .article-page h1.title { font-size:2.15rem; }
 .article-page #title-block-header .description { font-size:1rem; }
 .article-page main section > h1 { font-size:1.5rem; }
 .article-page main section > h2 { font-size:1.3rem; }
 .article-page main figcaption { font-size:.72rem; }
}

/* Research topics are destinations, with the same presence as the hub's feature panels. */
.research-hub #our-research-topics { margin:3.5rem 0; }
.research-hub #our-research-topics > h2 { font-size:clamp(2rem,3.2vw,2.6rem); margin-bottom:1rem; }
.research-hub #our-research-topics > p { font-size:1.05rem; color:var(--research-muted); line-height:1.75; }
.topic-directory { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1.2rem; margin:1.8rem 0 0; }
.topic-card { --topic-color:var(--research-accent); position:relative; grid-column:span 2; display:flex; flex-direction:column; gap:1rem; padding:1.7rem; min-width:0; border:1px solid var(--research-line); border-top:4px solid var(--topic-color); border-radius:1rem; background:white; text-decoration:none; color:var(--research-ink) !important; transition:transform .18s ease,box-shadow .18s ease; }
.topic-card:nth-child(n+4) { grid-column:span 3; }
.topic-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px #132e3610; }
.topic-card:focus-visible { outline:3px solid var(--research-accent); outline-offset:4px; }
.topic-card-top { display:flex; align-items:flex-start; justify-content:space-between; gap:.7rem; min-height:64px; }
.topic-card-kicker { color:var(--topic-color); font-size:.67rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; line-height:1.7; }
.topic-card svg { flex:0 0 105px; width:105px; height:58px; color:var(--topic-color); }
.topic-card-title { display:block; font-size:clamp(1.3rem,1.7vw,1.6rem); font-weight:700; letter-spacing:-.03em; line-height:1.3; }
.topic-card p { font-size:.94rem; line-height:1.8; color:var(--research-muted); margin:0 0 .3rem; }
.topic-card-action { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:auto; padding-top:.8rem; border-top:1px solid var(--research-line); color:var(--topic-color); font-size:.83rem; font-weight:650; }
.topic-card-action > span { font-size:1.3rem; }
.topic-card-amp { --topic-color:#326d9c; }
.topic-card-llps { --topic-color:#7861a4; }
.topic-card-mvi { --topic-color:#95682c; }
.topic-card-hdxms { --topic-color:#9c526b; }
.topic-page main > section > h2 { font-size:clamp(1.65rem,2.6vw,2.15rem); margin-bottom:1rem; }
.topic-page #questions-we-explore { padding:1.5rem 2rem; border:1px solid var(--research-line); border-radius:.9rem; background:var(--research-surface); }
.topic-page #questions-we-explore h2 { margin-top:0; }
.topic-page #questions-we-explore li { margin:.65rem 0; line-height:1.8; }
body.quarto-dark .topic-card { background:#203733; }
body.quarto-dark .topic-card-amp { --topic-color:#8dbfe5; }
body.quarto-dark .topic-card-llps { --topic-color:#c2a8ed; }
body.quarto-dark .topic-card-mvi { --topic-color:#e4bc83; }
body.quarto-dark .topic-card-hdxms { --topic-color:#e8a6be; }
@media(max-width:1050px) { .topic-directory { grid-template-columns:repeat(2,minmax(0,1fr)); } .topic-card { grid-column:span 1; } .topic-card:nth-child(n+4) { grid-column:span 1; } .topic-card:last-child { grid-column:span 2; } }
@media(max-width:640px) { .topic-directory { grid-template-columns:minmax(0,1fr); } .topic-card,.topic-card:nth-child(n+4),.topic-card:last-child { grid-column:auto; padding:1.3rem; } .topic-card-title { font-size:1.4rem; } .topic-page #questions-we-explore { padding:1.2rem; } }
@media(prefers-reduced-motion:reduce) { .topic-card { transition:none; } }
