/* Homepage layout and scoped refinements. */
.profile-info { min-width: 0; }
.profile-left .news-widget {
    width: calc(100% - 2.4rem);
    border-top: 0;
}
.news-widget .news-timeline { padding-left: 1.8rem; }
.news-widget .news-timeline::before { left: 0; }
.news-widget .news-timeline-dot { left: calc(-1.8rem + 1px); }
.news-widget .news-widget-title {
    position: relative;
    margin-bottom: 1.2rem;
}
.news-widget .news-widget-title::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -.7rem;
    width: 32px;
    height: 2px;
    border-radius: 1px;
    background: #66BAB7;
    transform: translateX(-50%);
}
/* Keep the narrow news column readable without stretching word spacing. */
.news-widget .news-timeline-item { padding-left: 0; }
.news-widget .news-timeline-text {
    text-align: left;
    text-wrap: pretty;
}
.news-widget .news-link {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid #aaa;
}
.news-widget .news-link:is(:hover, :focus-visible) {
    color: #444;
    border-bottom-color: #666;
}
.home-section-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: .8rem 1.6rem;
    margin-bottom: 1.6rem;
    padding-bottom: .8rem;
    border-bottom: 0;
    text-align: left;
}
/* Shared typography for the experience sections. */
.home-experience .exp-block-header {
    font-family: "poppins-semibold", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.6rem;
    color: #313131;
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.5;
}
.home-section-heading .home-section-title { margin: 0; line-height: 1.5; }
.home-section-heading .sel-pub-more {
    margin: 0;
    color: #333;
    text-decoration: none;
    font-size: 1.2rem;
    transition: color .2s ease;
}
.selected-pubs {
    text-align: left;
    margin-top: 2.8rem;
    padding-top: 0;
    border-top: 0;
}
.home-section-heading .sel-pub-more:is(:hover, :focus-visible) {
    color: #66BAB7;
    text-decoration: none;
}
.selected-pubs .sel-pub-title:is(:hover, :focus-visible) {
    color: #418582;
    text-decoration: underline;
    text-underline-offset: .3rem;
}
.selected-pubs .pub-links li a:focus-visible {
    color: #fff;
    background: #66BAB7;
}
.selected-pubs .sel-pub-item { padding: 1.8rem 0; border-bottom: 0; }
/* Compact labels with deliberate gaps; keep the original paper typography. */
.selected-pubs .sel-pub-body {
    display: flex;
    flex-direction: column;
}
.selected-pubs .sel-pub-body .pub-badge {
    align-self: flex-start;
    line-height: 1.8;
    /* Optical centering for Poppins capitals; preserve the total label height. */
    padding: .3rem .7rem .1rem;
    margin-bottom: .8rem;
}
.selected-pubs .sel-pub-title { margin-bottom: .7rem; }
.selected-pubs .sel-pub-authors { margin-bottom: 1.1rem; }
/* Label (2.2rem) + gap (.8rem) places the image at the title's first line. */
.selected-pubs .sel-pub-thumb { margin-top: 3rem; }
.selected-pubs .sel-pub-thumb img {
    aspect-ratio: 2 / 1;
    object-fit: contain;
    background: #fff;
}
#experience.home-experience {
    margin-top: 4rem;
    padding: 2.8rem 0 0;
    border-top: 0;
    background: transparent;
    text-align: left;
    scroll-margin-top: 10rem;
}
.home-experience .exp-wrapper { max-width: none; padding: 0; }
.home-experience .exp-block { margin-bottom: 3.4rem; }
.home-experience .exp-block:last-child { margin-bottom: 0; }
.home-experience .exp-block-header {
    position: relative;
    padding-left: 1.3rem;
    padding-bottom: .8rem;
    margin-bottom: 1.3rem;
    border-bottom: 1px solid #e6eeed;
}
/* A slim marker identifies each heading; the divider stays neutral. */
.home-experience .exp-block-header::before {
    content: "";
    position: absolute;
    left: 0;
    top: .25em;
    width: 3px;
    height: 1em;
    border-radius: 1px;
    background: #66BAB7;
    pointer-events: none;
}
.home-experience .exp-card { padding: .7rem .4rem; margin-bottom: 1.2rem; }
.home-experience .exp-card:last-child { margin-bottom: 0; }
.home-experience .exp-card-title,
.home-experience .teaching-by-role .teaching-role-title {
    font-family: "poppins-medium", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.4rem;
    line-height: 1.6;
    color: #444;
}
.home-experience .exp-card-org,
.home-experience .exp-card-desc {
    font-family: "poppins-regular", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.3rem;
    line-height: 1.6;
    color: #666;
}
/* Preserve the original distinctions for degrees, roles, awards, and notes. */
.home-experience .exp-card-org:not(.teaching-course-name) {
    font-family: "poppins-medium", "poppins-regular", sans-serif;
    font-style: italic;
}
.home-experience .exp-timeline:not(.exp-timeline--flat) .exp-card-desc {
    font-family: "lora-regular", serif;
    color: #737373;
}
.home-experience .exp-card-top { gap: 1.4rem; }
.home-experience .exp-card-top > div:first-child { min-width: 0; }
.home-experience .exp-card-date,
.home-experience .exp-card-location {
    font-family: "poppins-regular", sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 1.15rem;
    line-height: 1.5;
    color: #777;
}
.home-experience .exp-card-desc a { color: #418582; }
.home-experience .exp-timeline--flat .exp-card {
    border-bottom: 0;
    padding: .7rem 0 1.2rem;
}
.home-experience .exp-timeline--flat .exp-card:last-child { border-bottom: 0; }
/* Compact awards, with a consistent date column and natural row heights. */
.home-award-list { list-style: none; margin: 0; padding: 0; }
.home-experience .home-award-list .exp-card {
    padding: .6rem 0 1rem;
    margin-bottom: .8rem;
}
.home-experience .home-award-list .exp-card:last-child { margin-bottom: 0; }
.home-award-list .exp-card-body { min-height: 0; }
.home-award-list .exp-card-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 7.2rem;
    column-gap: 1.8rem;
}
.home-award-list .exp-card-title { text-wrap: pretty; }
.home-award-list .exp-card-title:only-child { margin-bottom: 0; }
.home-award-list .exp-card-org { margin-bottom: 0; }
.home-experience a:focus-visible, .selected-pubs a:focus-visible {
    outline: 2px solid #418582;
    outline-offset: 4px;
}
@media (max-width: 1000px) {
    .home-award-list .exp-card-top { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: no-preference) {
    html { scroll-behavior: smooth; }
}
@media (min-width: 769px) and (max-width: 1000px) {
    .home-experience .exp-card-top { flex-direction: column; gap: .3rem; }
    .home-experience .exp-card-meta { text-align: left; }
}
@media (max-width: 600px) {
    .home-section-heading { align-items: flex-start; flex-direction: column; }
    #experience.home-experience { margin-top: 3rem; padding-top: 2.4rem; }
    .home-experience .exp-card-top { gap: .4rem; }
}

/* A quiet invitation between the bio and selected papers. */
.collaboration-note {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    margin-top: 2.4rem;
    padding: 1.3rem 1.6rem;
    border: 1px solid #cbe5e2;
    border-radius: 6px;
    background: #f2f9f8;
    text-align: left;
}
.collaboration-note-icon {
    flex: 0 0 auto;
    font-size: 1.7rem;
    line-height: 2.21rem;
}
.collaboration-note p {
    min-width: 0;
    margin: 0;
    font-family: "poppins-regular", sans-serif;
    font-size: 1.3rem;
    line-height: 1.7;
    color: #4c5b59;
}
.collaboration-note a {
    display: block;
    width: fit-content;
    margin-top: .5rem;
    white-space: nowrap;
    color: #367d79;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
.collaboration-note a:is(:hover, :focus-visible) { color: #245d59; }
.collaboration-note a:focus-visible {
    outline: 2px solid #418582;
    outline-offset: 4px;
}

/* Center the compact contact group beneath the profile details. */
.profile-left .profile-links {
    display: grid;
    width: max-content;
    max-width: 100%;
    grid-template-columns: max-content max-content;
    column-gap: 1.2rem;
    row-gap: .1rem;
    margin-top: -1rem;
    margin-inline: auto;
    justify-content: center;
}
.profile-left .news-widget {
    margin-top: .6rem;
    padding-top: 0;
}
@media (max-width: 768px) {
    .profile-left .profile-links { margin-top: .2rem; }
}
.profile-left .profile-links li { margin: 0; }
.profile-left .profile-links li a {
    justify-content: flex-start;
    gap: .5rem;
    padding: .2rem .3rem;
    border: 0;
    border-radius: 4px;
    background: transparent;
    font-family: "poppins-regular", sans-serif;
    font-weight: normal;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #666;
    white-space: nowrap;
    transition: color .2s ease, background-color .2s ease;
}
.profile-left .profile-links li a i {
    flex: 0 0 1.4rem;
    width: 1.4rem;
    font-size: 1.3rem;
    text-align: center;
}
.profile-left .profile-links li a:is(:hover, :focus-visible) {
    color: #418582;
    background: #edf7f6;
    transform: none;
}
.profile-left .profile-links li a:focus-visible {
    outline: 2px solid #418582;
    outline-offset: 3px;
}

/* Balance the desktop sidebar against the wider main content. */
@media (min-width: 769px) {
    .profile-photo img { width: 173px; height: 173px; }
}
@media (min-width: 1020px) {
    .profile-section { max-width: 1020px; }
    .profile-left { width: 260px; }
}

/* A visible, keyboard-accessible entry to each full publication figure. */
.selected-pubs .figure-preview {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #666;
    font-family: "poppins-regular", sans-serif;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
    cursor: zoom-in;
}
.selected-pubs .figure-preview:hover { color: #418582; }
.selected-pubs .figure-preview:focus-visible {
    outline: 2px solid #418582;
    outline-offset: -2px;
}
