/* Portfolio: quiet typography, open rows, one portrait. */
.home-page .hero{padding-block:76px 72px}.hero-label{margin-bottom:32px}.hero-label .accent{color:var(--accent)}.home-page .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:center;gap:80px}.home-page h1{font-size:clamp(44px,5.5vw,78px);line-height:1.04;margin-bottom:24px}.home-page h1 span{color:var(--muted)}.hero-summary{font-size:18px;color:var(--muted);max-width:590px;line-height:1.75}.portrait-card{margin:0}.hero-portrait{display:block;width:340px;max-width:100%;height:auto;aspect-ratio:40/57;object-fit:cover;object-position:center top;border:1px solid var(--line)}.portrait-caption{display:flex;justify-content:space-between;margin-top:14px;font-size:10px;letter-spacing:.1em;color:var(--muted)}
.panel{padding-block:72px;border-top:1px solid var(--line)}.section-grid{display:grid;grid-template-columns:170px 1fr;gap:40px}.section-title{margin-bottom:36px}.section-title h2{max-width:700px}.research-cards{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}.research-card{padding:28px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start}.research-card-top{font-size:11px;color:var(--accent);margin-bottom:16px}.research-card h3{font-size:24px;line-height:1.3}.research-card p{font-size:14px;color:var(--muted);line-height:1.8}.card-arrow{font-size:12px;margin-top:auto}.research-card:hover h3{color:var(--accent)}.timeline-row{display:grid;grid-template-columns:150px 1fr;gap:32px;padding-block:28px;border-top:1px solid var(--line)}.date{font-size:10px;letter-spacing:.06em;color:var(--muted);padding-top:5px}.org{color:var(--muted);font-size:13px;margin-top:-8px}.timeline-row p:not(.org){font-size:15px;line-height:1.9}.pub-list{border-top:1px solid var(--line)}.pub{display:grid;grid-template-columns:48px 1fr 24px;gap:20px;padding-block:24px;border-bottom:1px solid var(--line)}.pub>span:first-child{font-size:12px;color:var(--muted)}.pub h3{font-size:17px;line-height:1.55;letter-spacing:-.015em;margin-bottom:10px}.pub p,.pub-category{font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0}.publications-title{display:flex;justify-content:space-between;align-items:center;gap:20px}.publications-title a{font-size:12px}.teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.teaching-card{border-top:1px solid var(--line);padding-top:24px}.teaching-meta{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-bottom:20px}.teaching-main p{font-size:15px;color:var(--muted)}.teaching-card>strong,.teaching-card>span{font-size:28px;display:block;margin-top:24px}.education-card{padding:28px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:150px 1fr;gap:32px}.education-head h2{font-size:25px}.education-head p{font-size:14px;color:var(--muted)}.education-facts{display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:13px;margin-block:20px}.education-facts dt{font-size:10px;color:var(--muted)}.education-facts dd{margin:3px 0}.thesis{font-size:14px;line-height:1.8}.thesis .kicker{margin-bottom:10px}.academic-ref-link{display:flex;align-items:center;gap:24px;border-block:1px solid var(--line);padding-block:24px}.academic-ref-link h3{font-size:18px;margin-block:8px}.academic-ref-arrow{margin-inline-start:auto}.contact{padding-block:64px}.contact-grid{display:flex;justify-content:space-between;gap:40px}.home-page .contact h2{font-size:32px;max-width:620px}.contact-links{display:flex;flex-direction:column;gap:12px;font-size:13px}.contact-links a{min-height:32px}.home-page .footer{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.home-page .footer .container{width:100%}
@media(max-width:1000px){.home-page .hero-grid{gap:40px;grid-template-columns:minmax(0,1fr) 280px}.hero-portrait{width:280px;height:auto}.section-grid,.timeline-row,.education-card{grid-template-columns:115px 1fr;gap:24px}.home-page .footer{width:calc(100% - 48px)}}
@media(max-width:760px){.home-page .hero{padding-top:44px}.home-page .hero-grid{grid-template-columns:1fr;gap:36px}.hero-label{font-size:10px;margin-bottom:24px}.hero-profile{max-width:240px}.hero-portrait{width:240px;height:auto}.hero-summary{font-size:16px}.panel{padding-block:44px}.section-grid{grid-template-columns:1fr;gap:24px}.section-marker span{display:inline;margin-inline-start:10px}.section-title{margin-bottom:24px}.research-cards{grid-template-columns:1fr}.research-card{padding-block:24px}.research-card h3{font-size:22px}.timeline-row,.education-card{grid-template-columns:1fr;gap:14px}.timeline-row p:not(.org){font-size:14px}.pub{grid-template-columns:36px 1fr 15px;gap:12px}.pub h3{font-size:15px}.teaching-grid{grid-template-columns:1fr;gap:24px}.education-facts{grid-template-columns:1fr}.publications-title{align-items:flex-start;flex-direction:column;gap:0}.contact-grid{flex-direction:column;gap:24px}.home-page .footer{width:calc(100% - 40px)}}

.education-facts>div{display:flex;flex-direction:column;gap:5px}.education-facts span,.thesis>span{font-size:10px;letter-spacing:.07em;color:var(--muted)}.education-facts strong{font-weight:500}.thesis>span{display:block;margin-bottom:12px}

/* Fully visible biography and explicitly grouped appointments. */
.bio-copy{font-size:17px;line-height:1.9;margin-bottom:0}
.experience-group+.experience-group{margin-top:64px;padding-top:36px;border-top:1px solid var(--line)}
.role-meta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.employment-type{font-size:10px;line-height:1.5;letter-spacing:.035em;color:var(--muted);padding:5px 8px;border:1px solid var(--line)}
/* Each research direction is a complete, separately framed card. */
.home-page #research .section-content{min-width:0}
.home-page #research .research-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.home-page #research .research-card{min-width:0;padding:24px;border:1px solid var(--olive);border-radius:0;background:var(--surface);color:var(--ink);transition:border-color .15s,background-color .15s}
.home-page #research .research-card-top{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;margin:0 0 20px;border:1px solid var(--line);background:var(--bg);font-size:11px;font-weight:500;letter-spacing:.08em;line-height:1.4}
.home-page #research .research-card-top::before{content:'';width:5px;height:5px;flex-shrink:0;background:var(--accent)}
.home-page #research .research-preview{margin:0 0 24px;border:1px solid var(--line);background:var(--bg)}
.home-page #research .research-card h3{width:100%;margin:0 0 16px;font-size:24px;line-height:1.3;overflow-wrap:break-word}
.home-page #research .research-card p{width:100%;margin:0 0 24px;text-align:start;hyphens:none;line-height:1.8}
.home-page #research .card-arrow{display:block;width:100%;margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-size:12px;font-weight:500;color:var(--ink)}
.home-page #research .research-card:hover,.home-page #research .research-card:focus-visible{border-color:var(--accent);background:var(--bg)}
.home-page #research .research-card:hover h3,.home-page #research .research-card:hover .card-arrow,.home-page #research .research-card:focus-visible h3,.home-page #research .research-card:focus-visible .card-arrow{color:var(--accent)}
@media(max-width:1000px){.home-page #research .research-cards{gap:20px}.home-page #research .research-card{padding:20px}.home-page #research .research-card h3{font-size:22px}}
@media(max-width:760px){.home-page #research .research-cards{grid-template-columns:minmax(0,1fr);gap:20px}.home-page #research .research-card{padding:22px}.home-page #research .research-preview{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.home-page #research .research-card{transition:none}}
@media(max-width:760px){.home-page .hero{padding-bottom:44px}.bio-copy{font-size:15px;line-height:1.9}.role-meta{flex-direction:row;align-items:center;gap:16px;flex-wrap:wrap}.role-meta .date{padding-top:0}.experience-group+.experience-group{margin-top:40px;padding-top:28px}}


/* Profile summary: identical text styling for both lines. */
.home-page .hero-summary .hero-summary-role,
.home-page .hero-summary .hero-summary-note {
  display: block;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  color: inherit !important;
  opacity: 1 !important;
}

/* Distinct rectangular cards, rather than horizontal divider lines. */
.home-page #experience .timeline,
.home-page #teaching .teaching-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}
.home-page #experience .timeline-row,
.home-page #teaching .teaching-card {
  position: relative;
  box-sizing: border-box;
  min-width: 0;
  margin: 0;
  padding: 24px;
  border: 1px solid var(--line, #c7c7c7);
  border-radius: 0;
  background: var(--surface, transparent);
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease;
}
.home-page #experience .timeline-row {
  display: grid;
  grid-template-columns: minmax(110px, 150px) minmax(0, 1fr);
  gap: 24px;
}
.home-page #experience .timeline-row:hover,
.home-page #experience .timeline-row.is-expanded,
.home-page #teaching .teaching-card:hover,
.home-page #teaching .teaching-card.is-expanded {
  border-color: var(--accent);
}
.home-page #experience .timeline-row:focus-visible,
.home-page #teaching .teaching-card:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
.home-page #experience .timeline-row::after,
.home-page #teaching .teaching-card::after {
  content: '+';
  position: absolute;
  top: 16px;
  right: 20px;
  color: var(--accent);
  font-size: 22px;
  line-height: 1;
  pointer-events: none;
}
.home-page #experience .timeline-row.is-expanded::after,
.home-page #teaching .teaching-card.is-expanded::after { content: '−'; }
.home-page #experience .timeline-row h3,
.home-page #teaching .teaching-card h3 { padding-right: 24px; }
.home-page #experience .click-description,
.home-page #teaching .click-description {
  display: none !important;
  margin-top: 18px;
}
.home-page #experience .timeline-row.is-expanded .click-description,
.home-page #teaching .teaching-card.is-expanded .click-description {
  display: block !important;
}
.home-page #experience .click-description p,
.home-page #teaching .click-description p {
  margin-bottom: 0;
  line-height: 1.8;
}
.home-page #experience .experience-group + .experience-group {
  border-top: none;
}
@media (max-width: 760px) {
  .home-page #experience .timeline-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .home-page #experience .timeline-row,
  .home-page #teaching .teaching-card { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-page #experience .timeline-row,
  .home-page #teaching .teaching-card { transition: none; }
}


/* Keep the complete tagline on one line at every screen width.
   Container-relative type keeps both profile lines identical in style and
   scales them down together on phones rather than overflowing the page. */
.home-page .hero-identity {
  min-width: 0;
  container-type: inline-size;
}
.home-page .hero-summary {
  max-width: 100%;
  font-size: min(18px, 2.8cqw);
}
.home-page .hero-summary .hero-summary-note {
  white-space: nowrap;
}
