/* Reset */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ""; content: none; }
:focus { outline: 0; }

/* Base */
:root {
  --accent: #fa6500;
  --text: #333;
  --muted: #b6aba7;
  --paper: #fff;
  --ground: #f2f2f2;
}

html {
  background:
    radial-gradient(circle at 1px 1px, rgba(0, 0, 0, 0.045) 1px, transparent 0),
    var(--ground);
  background-size: 12px 12px;
  min-height: 100%;
  width: 100%;
}

body {
  color: var(--text);
  font-family: Inter, arial, sans-serif;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
}

.clearfix { clear: both; }
.accent { color: var(--accent); }

strong {
  font-weight: 700;
}

a {
  color: var(--accent);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.1s linear;
}

a:hover {
  color: var(--text);
  text-decoration: none;
  transition-duration: 0.25s;
}

/* Layout */
.container {
  background: var(--paper);
  box-sizing: border-box;
  margin: 30px auto 100px;
  max-width: 850px;
  min-height: 900px;
  padding: 50px 100px;
}

.content {
  max-width: 650px;
  position: relative;
  z-index: 1;
}

/* Typography */
h1, h2, h3, h4, h5, h6, p, ul, ol, li {
  letter-spacing: 0;
  word-spacing: 0;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: var(--text);
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover {
  color: var(--accent);
}

h1 {
  font-size: 1.8em;
  font-weight: 800;
  line-height: 1.2em;
  margin-bottom: 25px;
}

h1 a {
  font-weight: 800;
  vertical-align: middle;
}

h2 {
  font-size: 1.6em;
  line-height: 1.2em;
  margin-bottom: 20px;
  padding-top: 10px;
}

h3 {
  font-size: 1.3em;
  line-height: 1.2em;
  margin-bottom: 20px;
  padding-top: 10px;
}

h4 {
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  font-size: 1.1em;
  line-height: 1.2em;
  margin-bottom: 15px;
  padding: 10px 0 5px;
}

h5 {
  font-size: 1em;
  font-weight: 400;
  margin-bottom: 7px;
}

p {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.6em;
  margin-bottom: 15px;
}

ol, ul {
  font-size: 15px;
  font-weight: 400;
  list-style: inherit;
  margin-bottom: 25px;
  margin-left: 25px;
}

ol { list-style-type: decimal; }

ol li, ul li {
  line-height: 1.7em;
  list-style-position: outside;
}

ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }
hr { margin: 35px 0 25px; }

/* Header bits */
.logo {
  display: inline-block;
  margin-bottom: 24px;
  text-decoration: none;
}

.logo .name {
  color: var(--text);
  display: inline-block;
  font-size: 1.25em;
  font-weight: 800;
  line-height: 1.3em;
}

.logo:hover .name { color: var(--accent); }

p.post-meta {
  color: var(--muted);
  font-size: 15px;
  margin-bottom: 20px;
}

p.social-links {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6em;
  margin-bottom: 20px;
}

p.social-links a {
  font-size: 15px;
  margin-right: 10px;
}

p.social-links a + a:before {
  color: var(--muted);
  content: "/";
  font-weight: 400;
  margin-right: 10px;
}

.section-link {
  font-size: 0.6em;
  font-weight: 400;
  margin-left: 10px;
  vertical-align: middle;
}

/* Legacy sections kept for old markup compatibility */
.sidebar,
.email-gate-overlay {
  display: none;
}

.news-list,
.publications-list {
  list-style: none;
  margin-left: 0;
  padding: 0;
}

.awards-list strong {
  color: var(--accent);
}

.news-list li,
.publications-list li {
  font-size: 15px;
  line-height: 1.6em;
  margin: 10px 0;
}

.news-list span,
.publications-list span {
  color: var(--accent);
  font-weight: 700;
  margin-right: 8px;
}

.read-more {
  display: inline-block;
  font-weight: 700;
  margin-top: 5px;
}

.scholar-link {
  color: #666;
  font-size: 15px;
  margin-bottom: 20px;
}

/* Footer */
.footer {
  color: #aaa;
  font-size: 0.85em;
  height: 100px;
  line-height: 1.6em;
  margin-top: 60px;
  padding-top: 20px;
}

/* Mobile */
@media only screen and (max-device-width: 650px), only screen and (max-width: 650px) {
  .container {
    margin: 25px 0 50px;
    min-height: inherit;
    padding: 30px 20px;
  }

  .content {
    max-width: 100%;
  }
}

@media only screen and (max-device-width: 650px) {
  a {
    transition-duration: 0s;
    transition-property: none;
    transition-timing-function: none;
  }
}
