.cv-section{display:grid;grid-template-columns:minmax(10rem,1fr)minmax(0,2fr);gap:3rem;width:min(100%,1290px);margin-inline:auto;padding-inline:1.5rem}.cv-section-heading h1,.cv-section-heading h2{margin:0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;line-height:1.2;letter-spacing:-.025em}.cv-section-heading>p{margin-top:.75rem;opacity:.7}.cv-section-body{min-width:0;max-width:none;font-size:1rem;line-height:1.65}.hbb-section:has(>.cv-section){padding-block:3rem}.hbb-section:has(>.cv-section)+.hbb-section:has(>.cv-section){border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}.cv-timeline{list-style:none;margin:0;padding:0 0 0 1.75rem;border-left:2px solid color-mix(in srgb,currentColor 20%,transparent)}.cv-timeline-item{position:relative;padding-bottom:2.5rem}.cv-timeline-item:last-child{padding-bottom:0}.cv-timeline-item::before{content:'';position:absolute;top:.5rem;left:-2.125rem;width:.625rem;height:.625rem;border-radius:50%;background:currentColor}.cv-experience-heading{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.cv-experience-heading>div{flex:1 1 16rem;min-width:0}.cv-organization-logo{flex:0 0 80px;width:80px;height:80px;object-fit:contain;padding:.25rem;background:#fff;border-radius:.5rem}.cv-timeline-item--current::before{background:var(--color-primary-600);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary-600) 20%,transparent)}.cv-current-badge{display:inline-flex;margin-bottom:.5rem;padding:.15rem .6rem;border:1px solid;border-radius:999px;color:var(--color-primary-700);background:var(--color-primary-50);font-size:.75rem;font-weight:600;line-height:1.5}.dark .cv-current-badge{color:var(--color-primary-300);background:var(--color-primary-950)}.page-body>.flex.flex-col.items-center>.container{max-width:1290px;padding-inline:1.5rem}.cv-experience h2{margin:0;font-size:1.2rem;font-weight:650;line-height:1.4}.cv-organization{margin:.25rem 0;font-weight:500}.cv-experience-meta{margin:.25rem 0 0;font-size:.9rem;opacity:.7}.cv-experience-description{margin-top:1rem;line-height:1.75}.cv-contact-details{display:grid;gap:1.5rem;font-style:normal;line-height:1.7}.cv-contact-details h3{font-size:.85rem;font-weight:650;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .4rem;opacity:.7}.cv-contact-details p{margin:0}.cv-contact a{text-decoration:underline;text-underline-offset:.2em}.cv-map{margin-top:2rem;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:.75rem;overflow:hidden}.cv-map summary{cursor:pointer;padding:1rem;font-weight:500}.cv-map iframe{display:block;width:100%;border:0}.cv-map-link{margin-top:.75rem;font-size:.9rem}.cv-section-body.prose h3,.cv-section-body.prose h4{font-size:1.125rem;font-weight:600}.cv-biography{padding-block:1rem}.cv-profile{text-align:center}.cv-avatar{display:block;width:180px;height:180px;margin:0 auto 1.25rem;border-radius:50%;object-fit:cover}.cv-profile h1{margin:0 0 .75rem;font-size:1.8rem;font-weight:600;line-height:1.2}.cv-profile-role{margin:0 0 .5rem;font-weight:500;line-height:1.5}.cv-profile-affiliation{margin-block:.5rem}.cv-profile-links{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style:none;padding:0;margin:1rem 0 0}.cv-profile-links a{display:inline-flex;padding:.25rem}.cv-profile-icon{width:1.5rem;height:1.5rem}.cv-biography h2{margin:0 0 1rem;font-size:1.35rem;font-weight:600;line-height:1.3}.cv-profile-about .prose{max-width:none;font-size:1rem;line-height:1.65}.cv-profile-facts{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1.5fr);gap:2rem;margin-top:1.75rem}.cv-profile-facts ul{padding:0;margin:0;list-style:none}.cv-interests li{position:relative;padding-left:1rem;margin-bottom:.4rem}.cv-interests li::before{content:'·';position:absolute;left:0}.cv-education li+li{margin-top:.85rem}.cv-degree{margin:0;font-weight:500;line-height:1.45}.cv-degree-year{white-space:nowrap;font-size:.875rem;font-weight:400}.cv-institution{margin:.2rem 0 0;font-size:.875rem;line-height:1.45;opacity:.75}.cv-publications{width:min(100%,1290px);margin-inline:auto;padding:1rem 1.5rem 3rem;scroll-margin-top:6rem}.cv-publications [hidden]{display:none!important}.cv-publications-heading h1{margin:0 0 2rem;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:600;line-height:1.2}.cv-publication-filters{display:grid;grid-template-columns:minmax(0,2fr)minmax(7rem,.7fr)minmax(10rem,1fr)auto;gap:1rem;align-items:end}.cv-publications label{display:block;margin-bottom:.4rem;font-size:.875rem;font-weight:600}.cv-publication-filters :is(input,select,button),.cv-publication-pagination :is(select,button){min-width:0;padding:.6rem .75rem;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:.4rem;background:var(--hb-color-background);color:inherit;font:inherit;line-height:1.5}.cv-publication-filters input,.cv-publication-filters select{width:100%}.cv-publication-filters button,.cv-publication-pagination button{cursor:pointer}.cv-publication-filters button:disabled,.cv-publication-pagination button:disabled{opacity:.45;cursor:not-allowed}.cv-publication-filters :is(input,select,button):focus-visible,.cv-publication-pagination :is(select,button):focus-visible{outline:2px solid var(--color-primary-600);outline-offset:2px}.cv-publication-status{margin-block:1.5rem .5rem;font-size:.875rem;opacity:.75}.cv-publication{padding-block:1rem;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent);line-height:1.7;overflow-wrap:anywhere}.cv-publication-empty{padding-block:2rem}.cv-publication-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem}.cv-publication-pagination>div{display:flex;align-items:center;gap:.5rem}.cv-publication-pagination label{margin:0}.navbar .navbar-brand{font-size:1.05rem}@media(min-width:1024px){.navbar{flex-wrap:nowrap;column-gap:.5rem}.navbar #nav-menu{column-gap:.25rem;flex-shrink:0}.navbar .nav-link{padding-inline:.5rem;white-space:nowrap}}@media(max-width:767px){.cv-publication-filters{grid-template-columns:minmax(0,1fr)}.cv-section{grid-template-columns:minmax(0,1fr);gap:1.75rem}.cv-experience-heading>div{flex-basis:10rem}.cv-profile-facts{grid-template-columns:minmax(0,1fr);gap:1.5rem}.hbb-section:has(>.cv-section){padding-block:2.25rem}}