/* Current-site component treatments, using theme 05's fonts and palette.
   Shared by all theme 05 pages. */
.page-heading .eyebrow { display:flex; align-items:center; gap:14px; }
.page-heading .eyebrow::before { content:''; width:40px; height:1px; background:var(--accent); }
.long-content { padding-top:40px; }
.long-content .section-header { gap:22px; margin:60px 0 32px; }
.long-content .section-header:first-child { margin-top:0; }
.long-content .section-label { font-weight:600; letter-spacing:.22em; }
:is(.long-content, .selected) .paper,
.long-content .course {
  padding:26px 0 26px 28px;
  border-bottom:0;
  border-left:1px solid var(--line);
  margin-bottom:6px;
  transition:border-color .3s;
}
:is(.long-content, .selected) .paper:hover,
:is(.long-content, .selected) .paper:focus-within,
.long-content .course:hover,
.long-content .course:focus-within { border-left-color:var(--accent-soft,var(--accent)); }
:is(.long-content, .selected) .paper { padding:23px 0 23px 25px; }
:is(.long-content, .selected) .paper-title { font:600 22.5px/1.32 var(--serif); margin-bottom:6px; }
:is(.long-content, .selected) .paper-title a,
.long-content .course-name a { color:var(--ink); text-decoration:none; transition:color .2s; }
:is(.long-content, .selected) .paper-title a:hover,
:is(.long-content, .selected) .paper-title a:focus-visible,
.long-content .course-name a:hover,
.long-content .course-name a:focus-visible { color:var(--accent); text-decoration:none; }
:is(.long-content, .selected) .paper-meta { font-size:13.5px; font-style:italic; line-height:1.6; margin-top:0; }
.long-content .paper-meta { font-style:normal; }
:is(.long-content, .selected) .paper-meta a,
:is(.long-content, .selected) .paper-note a,
.long-content .course-meta a { color:var(--accent); text-decoration:none; transition:opacity .2s; }
:is(.long-content, .selected) .paper-meta a:hover,
:is(.long-content, .selected) .paper-note a:hover,
.long-content .course-meta a:hover { opacity:.7; }
:is(.long-content, .selected) .paper-status {
  display:inline-block;
  font:italic 400 11.7px/1.6 var(--serif);
  color:var(--subdued,var(--muted));
  margin-top:6px;
  padding:0;
  border:0;
  background:none;
}
:is(.long-content, .selected) .paper-links { gap:9px; margin-top:11px; }
:is(.long-content, .selected) .paper-link {
  font:600 9px/1.75 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  text-decoration:none;
  border:1px solid var(--accent-soft,color-mix(in srgb,var(--accent) 50%,var(--bg)));
  padding:5.4px 11.7px;
  transition:color .2s,border-color .2s;
}
:is(.long-content, .selected) .paper-link:hover,
:is(.long-content, .selected) .paper-link:focus-visible { color:var(--accent); border-color:var(--accent); }
:is(.long-content, .selected) .paper-note { font-size:13.5px; line-height:1.65; margin-top:11px; }
:is(.long-content, .selected) .paper-note em { color:var(--ink); }
.long-content .abstract { margin-top:13px; }
.long-content .abstract summary {
  display:flex;
  align-items:center;
  gap:9px;
  list-style:none;
  font:600 9.9px/1.75 var(--sans);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
  padding:3px 0;
}
.long-content .abstract summary::-webkit-details-marker { display:none; }
.long-content .abstract summary::before {
  content:'';
  display:block;
  width:11px;
  height:11px;
  flex:0 0 11px;
  background:linear-gradient(currentColor,currentColor) center / 11px 1.5px no-repeat,
             linear-gradient(currentColor,currentColor) center / 1.5px 11px no-repeat;
}
.long-content .abstract[open] summary::before { background-size:11px 1.5px,0 11px; }
.long-content .abstract-text { font:400 15.3px/1.8 var(--serif); padding:14px 0 0; max-width:860px; text-align:justify; }
.long-content .course { --role-width:8.5rem; padding-top:22px; padding-bottom:22px; margin-bottom:4px; }
.long-content .course:has(.course-role.ta) { --role-width:11rem; }
.long-content .course-top { display:grid; grid-template-columns:var(--role-width) minmax(0,1fr); align-items:baseline; gap:14px; margin-bottom:6px; }
.long-content .course-role {
  font:600 10px/1.75 var(--sans);
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--accent);
  border:1px solid var(--accent-soft,color-mix(in srgb,var(--accent) 50%,var(--bg)));
  padding:4px 10px;
  white-space:nowrap;
  justify-self:start;
}
.long-content .course-role.ta { color:var(--muted); border-color:var(--subdued,var(--muted)); }
.long-content .course-name { font:600 23px/1.3 var(--serif); }
.long-content .course-name a { border-bottom:1px solid var(--accent-soft,color-mix(in srgb,var(--accent) 50%,var(--bg))); }
.long-content .course-meta { font-size:15px; line-height:1.6; margin-top:0; }
.long-content .course-meta:has(.course-with) { display:grid; grid-template-columns:var(--role-width) minmax(0,1fr); gap:14px; align-items:baseline; }
.long-content .evals-wrap { margin-top:56px; }
.long-content .evals-btn {
  gap:12px;
  font:600 12px/1.75 var(--sans);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--accent);
  border:1px solid var(--accent-soft,color-mix(in srgb,var(--accent) 50%,var(--bg)));
  padding:15px 30px;
  transition:background .25s,color .25s,transform .2s;
}
.long-content .evals-btn:hover,
.long-content .evals-btn:focus-visible { background:var(--accent); color:var(--bg); transform:translateY(-2px); text-decoration:none; }
.long-content .evals-btn svg { width:16px; height:16px; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:600px) {
  .long-content { padding-top:30px; }
  :is(.long-content, .selected) .paper,.long-content .course { padding-left:20px; }
  :is(.long-content, .selected) .paper-title { font-size:19.8px; }
  .long-content .course-name { font-size:21px; }
  .long-content .section-label { letter-spacing:.15em; }
  .long-content .abstract-text { text-align:left; }
  .long-content .course-top { grid-template-columns:1fr; gap:12px; }
  .long-content .course-meta:has(.course-with) { grid-template-columns:1fr; gap:4px; }
  .long-content .evals-btn { padding:13px 20px; font-size:11px; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.long-content, .selected) * { transition:none; }
  .long-content .evals-btn:hover { transform:none; }
}

/* Approved compact typography, shared across all four pages. */
.research-interests { margin-top:25px; }
.research-interests p { font:inherit; color:var(--ink); }
.page-heading h1 { font-size:48px; }
.long-content .section-label { font-size:18px; letter-spacing:.12em; line-height:1.5; }
.selected .section-heading h2 { font:500 18px/1.5 var(--sans); letter-spacing:.14em; text-transform:uppercase; color:var(--accent); }
:is(.long-content, .selected) .paper-title,
.long-content .course-name { font-size:18px; font-weight:500; line-height:1.4; }
:is(.long-content, .selected) .paper-meta,
:is(.long-content, .selected) .paper-note,
.long-content .course-meta { font-size:14px; }
:is(.long-content, .selected) .paper-status { font-size:12px; }
:is(.long-content, .selected) .paper-link { font-size:10px; }
.long-content .abstract summary { font-size:11px; }
.long-content .abstract-text { font-size:16px; }
@media(max-width:600px) {
  .page-heading h1 { font-size:40px; }
  .long-content .section-label,
  .selected .section-heading h2 { font-size:16px; }
}

/* Selected Research follows the homepage heading and body typography. */
.selected .section-heading { border-bottom:0; }
.selected .paper { border-left:0; padding-left:0; }
.selected .section-heading h2 {
  font:500 11px/1.5 var(--sans);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
}
.selected .section-heading > a { font:500 11px/1.5 var(--sans); letter-spacing:.14em; text-transform:uppercase; }
.selected .paper-title { font:500 17px/1.75 var(--serif); margin-bottom:3px; }
.selected .paper-meta,
.selected .paper-note { font:400 17px/1.75 var(--serif); color:var(--ink); }
.selected .paper-status { font-size:14px; }

/* Homepage typography aligned with the current Research page. */
.intro h1 { font-size:48px; }
.intro .position { font-size:18px; line-height:1.4; }
.about-layout .small-heading,
.selected .section-heading h2,
.selected .section-heading > a {
  font:600 18px/1.5 var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--accent);
}
.bio p,.research-interests p { font:400 16px/1.8 var(--serif); }
.selected .section-heading { flex-wrap:wrap; gap:12px; }
.selected .paper-title { font:500 18px/1.4 var(--serif); margin-bottom:6px; }
.selected .paper-meta { font:400 14px/1.6 var(--serif); color:var(--muted); }
.selected .paper-note { font-size:14px; line-height:1.65; color:var(--muted); }
.selected .paper-status { font-size:12px; }
@media(max-width:600px) {
  .intro h1 { font-size:40px; }
  .about-layout .small-heading,
  .selected .section-heading h2,
  .selected .section-heading > a { font-size:16px; }
}
