/* Sida Peng — personal site
   Rebuilt to mimic the original Squarespace design.
   Font: self-hosted Montserrat (a free stand-in for the original Proxima Nova).
   Palette is monochrome, matching the original template. */

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;           /* variable font: any weight from one file */
  font-display: swap;
  src: url('/fonts/montserrat-var.woff2') format('woff2');
}
@font-face {
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/montserrat-italic-var.woff2') format('woff2');
}

:root {
  --ink: #1f1f1f;        /* body text + nav (matches original) */
  --black: #000;         /* site title + nav hover */
  --muted: #a3a3a3;      /* current-page nav item (matches original) */
  --link-hover: #797979; /* link hover (matches original) */
  --line: #e3e3e3;
  --maxw: 680px;
  --font: 'Montserrat', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: #fff;
  color: var(--ink);
  font-family: var(--font);
  font-size: 15px;
  line-height: 1.75;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wrap {
  max-width: var(--maxw);
  margin: 0 auto;
  padding: 66px 26px 90px;
}

/* ---------- Header: title above a horizontal nav ---------- */
.site-header { margin-bottom: 48px; }

.site-title {
  margin: 0 0 30px;
  font-size: 27px;
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.2;
}
.site-title a { color: var(--black); text-decoration: none; }

.site-nav { font-size: 16px; line-height: 1.4; }
.site-nav a {
  color: var(--ink);
  text-decoration: none;
  margin-right: 1.5em;
}
.site-nav a:last-child { margin-right: 0; }
.site-nav a:hover { color: var(--black); }
.site-nav a.active { color: var(--muted); }   /* current page = grey, as in original */

/* ---------- Content ---------- */
h2 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.35;
  margin: 1.95em 0 .85em;
}
main > :first-child { margin-top: 0; }

p { margin: 0 0 1.1em; }

main a {
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: from-font;
}
main a:hover { color: var(--link-hover); }

em { font-style: italic; }

hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 2.4em 0;
}

/* About / contact block: tight lines, no per-line gap */
.contact p { margin: 0; }

/* Research: each citation is its own paragraph with a little breathing room */
.cite { margin: 0 0 1.15em; }

footer {
  margin-top: 4.5em;
  font-size: 13px;
  color: var(--muted);
}
footer a { color: var(--muted); }

@media (max-width: 600px) {
  .wrap { padding: 44px 20px 64px; }
  .site-title { font-size: 24px; }
  .site-nav a { display: inline-block; margin-bottom: 6px; }
}
