:root { --ink:#494e52; --nav:#7a8288; --faint:#9ba1a6; --hair:#f2f3f3;
        --hair2:#bdc1c4; --accent:#0e7490; }
* { box-sizing:border-box; }
html { font-size:14px; background:#fff; }
body { margin:0; background:#fff; color:var(--ink); line-height:1.5;
       font-family:-apple-system,".SFNSText-Regular","San Francisco","Roboto",
                   "Segoe UI","Helvetica Neue","Lucida Grande",Arial,sans-serif;
       min-height:100vh; display:flex; flex-direction:column; }
h1,h2,h3,h4,h5,h6 { margin:2em 0 .5em; line-height:1.2; font-weight:bold; color:var(--ink); }
h1 { font-size:1.563em; } h2 { font-size:1.25em; } h3 { font-size:1em; }
a { color:var(--accent); }
.masthead { border-bottom:1px solid var(--hair); }
.masthead nav { max-width:925px; margin:0 auto; padding:0 1em; display:flex;
                flex-wrap:wrap; align-items:center; }
.masthead a { position:relative; display:block; padding:.5rem 0; margin-right:2rem;
              color:var(--nav); text-decoration:none; font-size:1.2rem; font-weight:500; }
.masthead a:hover { color:var(--accent); }
.masthead a::before { content:""; position:absolute; left:0; bottom:0; height:4px;
                      width:100%; background:var(--accent);
                      transform:scaleX(0); transition:transform .2s ease-in-out; }
.masthead a:hover::before { transform:scaleX(1); }
.masthead a.active { color:var(--ink); }
.masthead a.active::before { transform:scaleX(1); background:var(--hair2); }
.masthead a.active:hover::before { background:var(--accent); }
main { flex:1; width:100%; max-width:925px; margin:2em auto 0; padding:0 1em;
       display:grid; grid-template-columns:15.2542% minmax(0,1fr); column-gap:5.93%; }
.content { padding-bottom:2em; min-width:0; }
.sidebar { font-size:1em; }
.avatar { width:100%; max-width:175px; aspect-ratio:1; border-radius:50%;
          padding:5px; border:1px solid var(--hair); display:block; object-fit:cover; }
.author-name { font-weight:bold; font-size:1.25em; line-height:1.2; margin:10px 0; }
.author-bio  { color:var(--nav); margin:0 0 .9em; }
.author-loc  { color:var(--nav); margin:0 0 .9em; }
.author-links { list-style:none; margin:0; padding:0; }
.author-links li { margin:.45em 0; white-space:nowrap; }
.author-links a { color:var(--ink); text-decoration:none; }
.author-links a:hover { color:var(--accent); text-decoration:underline; }
.author-links i { width:1.4em; text-align:center; color:var(--nav); margin-right:.3em; }
.content h2 { padding-bottom:.5em; border-bottom:1px solid var(--hair); }
.content h2:first-child { margin-top:.3em; }
.content p { margin:0 0 1.3em; }
.content a { text-decoration:underline; }
ul.news { padding-left:1.4em; margin:0 0 1.3em; }
ul.news li { margin:.6em 0; }
.pub { margin:0 0 1.4em; }
.pub p { margin:0; }
.pub .plinks { margin-top:.2em; }
.pub .plinks span.sep { color:var(--hair2); margin:0 .35em; }
.pubnote { color:var(--faint); }
.footnote { color:var(--nav); margin:0 0 1.6em; }
footer { background:var(--hair); border-top:1px solid var(--hair2); margin-top:3em; }
footer div { max-width:925px; margin:0 auto; padding:1em; color:var(--faint); }
footer a { color:var(--faint); }
@media (min-width:80em) { .masthead nav, main, footer div { max-width:1280px; } }
@media (max-width:925px) {
  main { display:block; }
  .sidebar { display:flex; flex-wrap:wrap; align-items:center; gap:0 1em; margin-bottom:1.5em; }
  .avatar { width:80px; max-width:80px; padding:0; border:0; }
  .author-name { margin:0; }
  .sidebar > p { margin:0; }
  .author-links { flex-basis:100%; margin-top:.6em; }
  .author-links li { display:inline-block; margin:.2em 1.1em .2em 0; }
}
@media (prefers-reduced-motion: reduce) { .masthead a::before { transition:none; } }
