/* Contributors: the manuscript's author list in three columns, affiliations beneath. */
.people-main .section-label{justify-content:flex-start;gap:14px;padding:0 0 14px;border-top:0;border-bottom:1px solid var(--ink)}
.people-main .section-label h2{font:800 var(--fs-2xl)/1.08 var(--display);letter-spacing:-.03em}
.people-main .section-label span{font:var(--fs-sm)/1 var(--sans);color:var(--muted)}

.people-main .authors{gap:0 36px;padding:4px 0 34px}
.people-main .authors>span{display:flex;align-items:baseline;gap:4px;padding:17px 0 16px;border-bottom:1px solid #ebeae7;font:600 var(--fs-lg)/1.3 var(--display);letter-spacing:-.015em;color:var(--ink)}
.people-main .authors sup{margin-left:2px;font:500 var(--fs-xs)/1 var(--sans);color:var(--muted)}
.people-main .affiliations{gap:8px 32px;font-size:var(--fs-sm)}
.people-main .affiliations sup{font:500 var(--fs-xs)/1 var(--sans);color:var(--muted)}
.people-main .author-notes{font-size:var(--fs-sm)}

.people-main .contribution-note{max-width:none;margin-top:72px;padding-top:0;border-top:0}
.people-main .contribution-note h2{margin-bottom:16px;font:800 var(--fs-2xl)/1.08 var(--display);letter-spacing:-.04em}
.people-main .contribution-note p{max-width:70ch;font-size:var(--fs-md);line-height:1.75;color:#545350}

/* Contact spans the page like the sections above it: title on the left, the note on the right,
   so its rule is as long as theirs. Stacks at 900px and below. */
.people-main .contact-row{display:block;max-width:none;margin-top:64px;padding-top:24px}
.people-main .contact-row h2{margin-bottom:12px;font:800 var(--fs-2xl)/1.08 var(--display);letter-spacing:-.03em}
.people-main .contact-row p{font-size:var(--fs-md);color:#545350}
@media(min-width:901px){.people-main .contact-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:0 80px;align-items:baseline}.people-main .contact-row h2{margin:0}}

@media(max-width:600px){
  .people-main .authors{gap:0 18px}
  .people-main .authors>span{font-size:var(--fs-md);padding-block:14px}
  .people-main .contribution-note{margin-top:48px}
}
@media(max-width:380px){
  .people-main .authors{grid-template-columns:1fr}
}

/* Figure 1: the two review gates, after Figure 4 of the manuscript. One line style,
   small solid arrowheads; the feedback loop runs back from both gates to the author. */
.review-flow{max-width:none;margin:34px 0 30px}
.flow{--g:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--g);margin:14px 0 0;padding:0;list-style:none}
.flow li{position:relative;padding:16px 16px 17px;border:1px solid #d2d2cf;border-radius:var(--radius);background:#fff}
.flow li+li::before{content:'';position:absolute;top:50%;left:calc(-1 * var(--g) + 6px);width:calc(var(--g) - 14px);height:1.5px;background:#959592}
.flow li+li::after{content:'';position:absolute;top:50%;left:-9px;margin-top:-4.25px;border:4.5px solid transparent;border-left:7px solid #959592;border-right:0}
.flow strong{display:block;font:750 var(--fs-md)/1.3 var(--display);letter-spacing:-.01em;color:var(--ink)}
.flow span{display:block;margin-top:8px;font-size:var(--fs-sm);line-height:1.55;color:var(--muted)}
.flow .is-end{border-color:var(--ink)}
.flow-return{--g:44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--g);margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}
.flow-return i{position:relative;grid-column:1/4;height:30px}
.flow-return b{position:absolute;inset:0 calc((100% - 2 * var(--g)) / 6);border:1.5px solid #959592;border-top:0;border-radius:0 0 var(--radius) var(--radius)}
.flow-return b::before{content:'';position:absolute;top:-1px;left:-6px;border:4.5px solid transparent;border-bottom:7px solid #959592;border-top:0}
.flow-return b::after{content:'';position:absolute;top:0;bottom:0;left:calc(50% - .75px);width:1.5px;background:#959592}
.flow-return span{grid-column:1/4;margin-top:8px;text-align:center}
@media(max-width:900px){
  .flow{grid-template-columns:1fr;--g:26px}
  .flow li+li::before{top:calc(-1 * var(--g) + 4px);left:28px;width:1.5px;height:calc(var(--g) - 12px)}
  .flow li+li::after{top:-9px;left:24.5px;margin-top:0;border:4.5px solid transparent;border-top:7px solid #959592;border-bottom:0}
  .flow-return{display:block;margin-top:14px}
  .flow-return i{display:none}
  .flow-return span{display:block;margin:0;text-align:left}
}

/* The animated pass (contributors.js): a draft moves between the steps, the step it is in
   lights up, verdicts appear beside the gates, and the loop lights when the draft goes back. */
.review-flow.is-animated{position:relative}
.flow li{transition:border-color .3s ease,box-shadow .3s ease,background-color .35s ease}
.flow strong,.flow span{transition:color .35s ease}
.flow li.is-active{border-color:var(--ink);box-shadow:0 0 0 4px rgba(23,23,23,.06)}
.flow .is-end.is-active{background:var(--ink)}
.flow .is-end.is-active strong{color:#fff}
.flow .is-end.is-active span{color:#cfcfcb}
.flow-dot{position:absolute;top:-5px;left:-5px;z-index:2;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);opacity:0;pointer-events:none;transition:opacity .2s ease}
.flow-dot.is-on{opacity:1}
.flow-verdict{position:absolute;right:10px;top:-11px;padding:3px 8px;border-radius:var(--radius);background:#fff;border:1px solid currentColor;font:600 var(--fs-xs)/1.2 var(--sans);font-style:normal;white-space:nowrap;opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s var(--ease);pointer-events:none}
.flow-verdict.is-on{opacity:1;transform:none}
.flow-verdict.is-back{color:var(--accent)}
.flow-verdict.is-pass{color:var(--ink)}
.flow-return b,.flow-return b::before,.flow-return b::after{transition:border-color .3s ease,background-color .3s ease}
.flow-return span{transition:color .3s ease}
.flow-return.is-active b{border-color:var(--accent)}
.flow-return.is-active b::after{background:var(--accent)}
.flow-return.is-active b::before{border-bottom-color:var(--accent)}
.flow-return.is-active span{color:var(--ink)}
