/* Personal adjustments to Editorial. The original template CSS is unchanged. */
:root {
  --ink: #353e46;
  --muted: #626c75;
  --accent: #b73c43;
  --rule: #dce0e3;
  --sidebar-width: 19rem;
}

html { scroll-behavior: smooth; }
body { color: var(--muted); font-size: 15px; }
a { color: var(--accent); }
a:hover { color: #963139 !important; }
a:focus-visible, button:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 5px;
}
[hidden] { display: none !important; }
section[id] { scroll-margin-top: 2rem; }

#main { min-width: 0; }
#main > .inner { max-width: 72rem; padding: 0 5rem; }
#main > .inner > section { padding: 3.5rem 0; border-top: 1px solid var(--rule); }
#header { align-items: center; padding-top: 3.5rem; border-bottom-width: 4px; }
#header .logo { color: var(--muted); font-size: 1rem; }
#header .logo strong { font-weight: 400; }
.header-links { display: flex; align-items: center; justify-content: flex-end; gap: 1.75rem; }
.header-links a { border: 0; color: var(--ink); font-size: .9rem; }
.file-type { margin-left: .35em; font-size: .7em; letter-spacing: .08em; }

#main > .inner > #about { padding: 4.25rem 0 3.75rem; }
.about-heading { display: grid; grid-template-columns: minmax(0, 1fr) clamp(13rem, 20vw, 18rem); align-items: center; gap: 2.5rem; margin-bottom: 1.8rem; }
.about-heading .affiliation { margin-bottom: 0; }
.profile-photo { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 12% center; border-radius: 4px; }
.eyebrow { color: var(--accent); font-size: .75rem; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 1.4rem; }
h1 { font-size: clamp(2.3rem, 3.8vw, 3.6rem); line-height: 1.2; letter-spacing: -.045em; margin: 0 0 1.6rem; }
.affiliation { color: var(--ink); font-size: 1.05rem; line-height: 1.7; margin-bottom: 1.4rem; }
.intro { max-width: 43rem; margin-bottom: 1.8rem; font-size: 1rem; line-height: 1.8; }
ul.actions { margin: 0; flex-wrap: wrap; gap: .8rem; }
ul.actions li { padding: 0; }
.button { color: var(--accent) !important; box-shadow: inset 0 0 0 2px var(--accent); border-radius: 3px; }
.button:hover { background-color: #b73c430a; }
.button.primary { background-color: var(--accent); }
.button.primary:hover { background-color: #963139; }
.button .icon { margin-right: .5em; }
.button .file-type { opacity: .85; }

.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1.5rem; }
header.major > h2 { font-size: 1.6rem; margin-bottom: 1.5rem; padding-bottom: .65rem; }
.text-link { font-size: .85rem; white-space: nowrap; border: 0; }
.text-link span { margin-left: .3rem; }
.section-note { margin-bottom: .8rem; font-size: .9rem; }
.paper-list { list-style: none; padding: 0; margin: 0; }
.paper-list > li { display: grid; grid-template-columns: 3.25rem 1fr; gap: 1.4rem; padding: 1.7rem 0; border-bottom: 1px solid var(--rule); }
.paper-list > li:last-child { border-bottom: 0; padding-bottom: 0; }
.paper-year { padding-top: .15rem; font-family: "Roboto Slab", Georgia, serif; color: var(--accent); font-size: .88rem; }
.paper-list h3 { font-size: 1.1rem; line-height: 1.6; margin: 0 0 .5rem; font-weight: 400; }
.paper-list h3 a { color: var(--ink); border-bottom: 0; }
.paper-list h3 a:hover { text-decoration: underline; text-underline-offset: .2em; }
.paper-arrow { color: var(--accent); font-family: "Open Sans", sans-serif; white-space: nowrap; }
.paper-authors, .paper-journal { font-size: .8rem; line-height: 1.7; margin: 0; }
.paper-journal { margin-top: .2rem; }
abbr[title] { text-decoration: none; border-bottom: 0; cursor: help; }

.outreach-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 3rem; row-gap: 2rem; }
.outreach-grid article { padding-top: 1.5rem; border-top: 1px solid var(--rule); }
.outreach-grid h3 { font-size: 1.1rem; margin-bottom: .45rem; }
.outreach-grid h3 a { color: var(--ink); border: 0; }
.outreach-grid h3 a span { color: var(--accent); }
.outreach-grid p { font-size: .9rem; margin-bottom: 0; }
.outreach-grid .outreach-role { color: var(--accent); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; margin-bottom: .7rem; }

.contact-email { display: inline-block; max-width: 100%; overflow-wrap: anywhere; margin-bottom: 1rem; color: var(--ink); font-family: "Roboto Slab", Georgia, serif; font-size: 1.1rem; }
.contact-email span { color: var(--accent); }
#contact > p { font-size: .9rem; }
#contact > p:last-child { margin-bottom: 0; }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--rule); padding: 1.5rem 0 2rem; font-size: .72rem; }
.site-footer p { margin: 0; }
.site-footer a { color: inherit; }

/* A compact version of Editorial's sidebar, with a keyboard-accessible menu. */
#sidebar { width: var(--sidebar-width); font-size: .9rem; }
#sidebar > .inner { position: sticky; top: 0; width: 100%; padding: 3.5rem 2rem 2rem; }
#sidebar > .inner > * { margin-bottom: 2rem; padding-bottom: 2rem; border-bottom: 1px solid var(--rule); }
#sidebar > .inner > :last-child { border: 0; margin: 0; padding: 0; }
.sidebar-identity > a { border: 0; color: var(--ink); font-family: "Roboto Slab", Georgia, serif; font-size: 1.3rem; font-weight: 700; line-height: 1.5; letter-spacing: -.025em; }
.identity-dot { color: var(--accent); }
.sidebar-identity p { margin-top: .65rem; font-size: .8rem; }
#menu ul a { font-size: .73rem; letter-spacing: .08em; padding: .5rem 0; }
#menu > ul > li { border-color: var(--rule); margin-top: .5rem; padding-top: .5rem; }
#menu > ul > li:first-child { margin-top: 0; padding-top: 0; }
#menu .file-type { float: right; font-family: "Open Sans", sans-serif; }
#sidebar .sidebar-links h2 { font-size: .8rem; margin-bottom: .8rem; }
.sidebar-links ul { list-style: none; padding: 0; }
.sidebar-links li { padding: .3rem 0; }
.sidebar-links a { border: 0; color: var(--muted); font-size: .82rem; }
.sidebar-links a span { margin-left: .4rem; color: var(--accent); }
.sidebar-affiliation { font-size: .78rem; line-height: 1.9; }
.menu-toggle { display: none; }
.skip-link { position: fixed; top: .5rem; left: .5rem; transform: translateY(-200%); background: white; padding: .75rem 1rem; z-index: 10002; }
.skip-link:focus { transform: translateY(0); }

@media screen and (min-width: 1281px) {
  #sidebar > .inner { max-height: 100vh; overflow-y: auto; }
}

@media screen and (max-width: 1280px) {
  #main > .inner { max-width: 65rem; padding: 0 4rem; }
  #header { padding-top: 5rem; }
  #sidebar { width: var(--sidebar-width); transform: translateX(-100%); transition: transform .25s ease; box-shadow: none; }
  #sidebar > .inner { position: relative; padding-top: 5rem; }
  #sidebar > .inner:after { display: none; }
  .menu-open #sidebar { transform: translateX(0); box-shadow: 0 0 3rem #353e4626; }
  .menu-toggle { display: inline-flex; align-items: center; gap: .6rem; position: fixed; top: 1rem; left: 1rem; z-index: 10001; height: 2.6rem; padding: 0 1rem; background: #f5f6f7; color: var(--ink) !important; box-shadow: none; letter-spacing: .04em; }
  .menu-toggle:hover { background: #e9ecee; }
  .no-js #sidebar { display: none; }
}

@media screen and (max-width: 736px) {
  #main > .inner { padding: 0 1.5rem; }
  #header { padding-top: 5.25rem; }
  #header .logo { font-size: .95rem; }
  .header-links { gap: 1.1rem; }
  .header-links a { font-size: .8rem; }
  #main > .inner > #about { padding: 2.75rem 0; }
  #main > .inner > section { padding: 2.75rem 0; }
  h1 { font-size: clamp(2.2rem, 7.5vw, 3rem); }
  .about-heading { grid-template-columns: 1fr; gap: 1.75rem; }
  .profile-photo { max-width: 26rem; aspect-ratio: 4 / 3; }
  .affiliation, .intro { font-size: .92rem; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 0; margin-bottom: 1rem; }
  .section-heading header.major > h2 { margin-bottom: 1rem; }
  .paper-list > li { grid-template-columns: 1fr; gap: .45rem; padding: 1.5rem 0; }
  .paper-year { font-size: .8rem; }
  .paper-list h3 { font-size: 1rem; }
  .outreach-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .contact-email { font-size: .95rem; }
  .site-footer { flex-direction: column; gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}

@media print {
  #sidebar, .menu-toggle, .skip-link, .header-links, .actions { display: none !important; }
  #wrapper { display: block; }
  #main > .inner { padding: 0; max-width: none; }
  #header { padding-top: 0; }
  #main > .inner > section, #main > .inner > #about { padding: 1.5rem 0; }
  h1 { font-size: 2rem; }
  .about-heading { grid-template-columns: minmax(0, 1fr) 8rem; }
  .paper-list > li { break-inside: avoid; }
}
