/* Shared visual language for the research portfolio. */
:root{--ink:#182c40;--paper:#f7f8fa;--card:#fff;--accent:#136d70;--accent-dark:#10585b;--accent-soft:#eaf4f3;--text:#28394a;--muted:#596878;--border:#dce3e9}
html{scroll-behavior:smooth;scroll-padding-top:6rem}
body{background:var(--paper);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.75}
.container-fluid{max-width:1120px;padding:0 32px}
#gridid{padding-top:52px;padding-bottom:64px}
h1,h2,h3,h4,h5,h6{color:var(--ink);letter-spacing:-.025em;font-weight:600;line-height:1.25}
h1,h2{font-family:Georgia,"Times New Roman",serif}
h1{font-size:clamp(2.6rem,5vw,3.65rem);margin:0 0 1.4rem;padding:0}
h2{font-size:2rem;margin:0 0 1.4rem;padding:0}
h3{font-family:inherit;font-size:1.15rem;letter-spacing:-.015em;margin:0 0 .8rem;padding:0}
h1::after,h2::after,h3::after{display:none}
#gridid>h2{margin-top:3.5rem;padding-top:1rem}
p{margin-bottom:1.2rem}
#gridid>p{max-width:80ch}
a{color:var(--accent-dark);text-decoration:none;text-underline-offset:4px}
a:hover{color:var(--accent);text-decoration:underline}
a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.lead{font-size:1.25rem;line-height:1.6;font-weight:400;color:var(--ink)}
/* Navigation */
.navbar.bg-dark{background:var(--card)!important;background-image:none;border-bottom:1px solid var(--border);padding:18px max(24px,calc((100vw - 1056px)/2));margin-bottom:0;box-shadow:0 2px 12px rgba(24,44,64,.025)}
.navbar-dark .navbar-brand{color:var(--ink)!important;font-family:inherit;font-size:1.05rem;font-weight:700;letter-spacing:-.02em}
.navbar-brand img{display:none!important}
.navbar-dark .navbar-nav .nav-link{color:var(--muted)!important;font-size:.93rem;font-weight:500;padding:.5rem .9rem}
.navbar-dark .navbar-nav .nav-link:hover{color:var(--accent-dark)!important}
.navbar-dark .navbar-nav .nav-link[aria-current="page"]{color:var(--accent-dark)!important;background:var(--accent-soft);border-radius:6px;font-weight:600}
.navbar-dark .navbar-toggler{border:1px solid var(--border);background:var(--ink)}
.navbar-collapse{justify-content:flex-end}
.navbar-nav.mr-auto{margin-right:0!important}
/* Profile and home overview */
.profile-hero{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:64px;align-items:center;padding:30px 0 52px;border-bottom:1px solid var(--border);margin-bottom:48px}
.profile-hero h1{margin-bottom:1rem}
.profile-hero .lead{font-size:1.35rem;max-width:44ch}
.profile-hero>div>p:not(.lead):not(.eyebrow){max-width:65ch}
.profile-photo{width:215px;height:265px;object-fit:cover;border-radius:12px!important;box-shadow:12px 12px 0 var(--accent-soft)}
.eyebrow{color:var(--accent-dark);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem}
.role-line{color:var(--muted);font-size:.95rem}
.profile-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px;font-size:.92rem;font-weight:500}
.btn{font-family:inherit;font-weight:600;font-size:.9rem;border-radius:6px;padding:.7rem 1.15rem;letter-spacing:0;box-shadow:none}
.btn-success{color:#fff!important;background:var(--accent-dark);border-color:var(--accent-dark);background-image:none}
.btn-success:hover{background:var(--ink);border-color:var(--ink);text-decoration:none}
.research-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 48px}
.research-card{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:8px;padding:26px;display:flex;flex-direction:column}
.research-card h3{font-size:1.1rem;line-height:1.4}
.research-card p{font-size:.95rem;color:var(--muted)}
.research-card>a{font-size:.88rem;font-weight:600;margin-top:auto}
.work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.work-list section{background:var(--card);padding:26px;border:1px solid var(--border);border-radius:8px}
.work-list .eyebrow{margin-bottom:.7rem;font-size:.7rem}
.work-list h3{line-height:1.5;font-size:1.08rem}
.work-list h3 a{color:var(--ink)}
.work-list p:last-child{font-size:.95rem;color:var(--muted);margin-bottom:0}
/* Research and background */
.research-theme{padding:36px 0;border-bottom:1px solid var(--border);scroll-margin-top:100px}
.research-theme h2{font-size:1.75rem}
.research-theme>p,.research-theme li{max-width:80ch}
.research-theme li{margin-bottom:12px}
details{margin-top:24px}
summary{cursor:pointer;font-weight:600;color:var(--accent-dark);font-size:.92rem}
details[open]>div{max-width:80ch;padding:20px 0 0}
.award-list{list-style:none;padding-left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:24px 0 40px}
.award-list li{border-left:3px solid var(--accent);padding:10px 16px;background:var(--card);font-size:.95rem}
.outreach-photo{max-width:700px;margin:28px 0 40px}
.outreach-photo img{width:100%;height:auto;border-radius:10px}
figcaption{color:var(--muted);font-size:.85rem;margin-top:12px}
/* Publication typography */
.bibliography{list-style:none;padding-left:0;margin-bottom:48px}
.bibliography>li{padding:24px 0;border-bottom:1px solid var(--border)}
.publication-title{font-family:inherit;font-size:1.08rem;line-height:1.5;letter-spacing:-.01em;margin:0 0 8px}
.publication-title a{color:var(--ink)}
.publication-title a:hover{color:var(--accent-dark)}
.publication-authors{font-size:.9rem;color:var(--muted);line-height:1.65;margin-bottom:8px}
.publication-venue{font-size:.8rem;letter-spacing:.01em;font-weight:600;margin-bottom:0;color:var(--accent-dark)}
.full-authors{margin-top:12px;font-size:.85rem}
.full-authors summary{font-size:.82rem}
.full-authors p{margin:16px 0 0;color:var(--muted)}
#conference-papers,#journal-articles,#preprints{scroll-margin-top:100px}
/* Footer */
#footer{background:#edf1f4;border-top:1px solid var(--border)}
#footer .container-footer{max-width:1056px}
#footer .panel-footer{background:transparent;color:var(--muted);border:0;border-radius:0;padding:32px 0!important;margin-top:0!important;font-size:.85rem}
#footer p{margin-bottom:.6rem}
#footer strong{color:var(--ink)}
#footer a{color:var(--accent-dark)}
.jumbotron{background:var(--card);border:1px solid var(--border);border-radius:8px}
@media(max-width:767px){.container-fluid{padding:0 24px}#gridid{padding-top:32px;padding-bottom:40px}.navbar.bg-dark{padding:14px 24px}.profile-hero{grid-template-columns:1fr 115px;gap:24px;align-items:start;padding:8px 0 36px}.profile-hero>div{display:contents}.profile-hero h1{grid-column:1;font-size:2.5rem}.profile-hero .eyebrow{grid-column:1;grid-row:1;margin-bottom:0}.profile-photo{grid-column:2;grid-row:1 / span 3;width:115px;height:145px;box-shadow:7px 7px 0 var(--accent-soft)}.profile-hero .role-line{grid-column:1;margin-bottom:0;font-size:.85rem}.profile-hero p:not(.eyebrow):not(.role-line),.profile-links{grid-column:1 / -1}.profile-hero .lead{font-size:1.2rem}.profile-links{gap:18px;margin-top:0}.research-grid,.work-list,.award-list{grid-template-columns:1fr}.research-card,.work-list section{padding:22px}h2{font-size:1.75rem}#gridid>h2{margin-top:40px}.research-theme{padding:28px 0}#footer .panel-footer{padding:28px 24px!important}}
@media(max-width:420px){.profile-hero{grid-template-columns:1fr 90px;gap:20px}.profile-photo{width:90px;height:115px}.profile-hero h1{font-size:2.05rem}.navbar-dark .navbar-brand{font-size:.98rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.skip-link{position:absolute;left:16px;top:-100px;z-index:2000;background:white;color:var(--ink);padding:12px}.skip-link:focus{top:12px}.work-list strong{font-weight:600;color:var(--text)}
