/* ==========================================================
   HERO
   ========================================================== */

.hero {
    background: var(--hero-bg);
    color: var(--hero-text);
    border-radius: 0.5rem;
    padding: 3rem;
    display: flex;
    gap: 2rem;
    align-items: center;
    margin: 0 0 4rem;
}

.hero-photo {
    width: 10rem;
    height: 10rem;
    border-radius: 0.3rem;
    object-fit: cover;
    flex-shrink: 0;
}

.hero-name { color: var(--hero-text); margin: 0 0 0; }
.hero-affiliation { 
   color: var(--hero-text); 
   font-weight: 500;
   margin: 0.5rem 0 0;
}
.hero-location { opacity: 0.85; margin: 0.5rem 0 0; }

.hero-links { 
   /* font-family: var(--font-mono); */
   margin: 1.0rem 0 0;
}
.hero-links a { color: var(--hero-text); opacity: 0.9; }
.hero-links a:hover { opacity: 1; }

/* ==========================================================
   PUBLICATIONS
   ========================================================== */

.publications {
   display: grid;
   grid-template-columns: max-content 1fr;
   column-gap: 2rem;
   row-gap: 2rem;
   align-items: start;
}

.publications-year { color: var(--muted); }

.publications-year-list { 
   display: flex;
   flex-direction: column;
   gap: 2rem;
}

.publications-item {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
   
    margin: -0.5rem;
    padding: 0.5rem;
    border-radius: 0.25rem;
}
.publications-item:hover { background: var(--hover-bg); }

.publications-item-title { margin: 0 0 0; }
.publications-item-authors { color: var(--muted); }
.publications-item-meta { color: var(--muted); }

/* ==========================================================
   TEACHING
   ========================================================== */

.teaching {
   display: grid;
   grid-template-columns: max-content max-content 1fr;
   column-gap: 2rem;
   row-gap: 2rem;
   align-items: start;
}

.teaching-item {
   display: grid;
   grid-template-columns: subgrid;
   grid-column: 1 / -1;
   column-gap: 2rem;
   
   padding: 0.5rem;
   margin: -0.5rem;
   border-radius: 0.25rem;
}
.teaching-item:hover { background: var(--hover-bg); }

.teaching-item-semester { color: var(--muted); }
.teaching-item-role { color: var(--muted); }

.teaching-item-details {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}
.teaching-item-details-title { margin: 0 0 0; }
.teaching-item-details-staff { color: var(--muted); }

/* ==========================================================
   PROPERTY TESTING
   ========================================================== */

.property-testing { margin-top: 1.5rem; }

.property-testing summary {
    cursor: pointer;
    font-family: var(--font-mono);
    color: var(--muted);
}

.property-testing[open] summary { margin-bottom: 0.75rem; }

/* ==========================================================
   SERVICE
   ========================================================== */

.service {
   display: grid;
   grid-template-columns: max-content 1fr;
   column-gap: 2rem;
   row-gap: 2rem;
   align-items: center;
}

.service-item-category { color: var(--muted); }

.service-item-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.conference-badge {
    padding: 0.3rem 0.6rem;
    border: 1px solid var(--divider);
    border-radius: 0.25rem;
    font-size: var(--text-small);
}
.conference-badge:hover { background: var(--hover-bg); }
