/* Ridley Research archive layer */

body.blog-site,
body.article-site {
  --bg: var(--rr-paper);
  --surface: var(--rr-paper-deep);
  --surface2: color-mix(in srgb, var(--rr-paper-deep) 72%, var(--rr-paper));
  --text: var(--rr-ink);
  --dark: var(--rr-lead);
  --mid: var(--rr-stone);
  --muted: var(--rr-stone);
  --muted2: var(--rr-lead);
  --line: var(--rr-rule);
  --line2: var(--rr-rule);
  --rule: var(--rr-rule);
  --accent: var(--rr-seal);
  --accent2: var(--rr-seal);
  --nav-bg: var(--rr-paper);
  background: var(--rr-paper);
  color: var(--rr-ink);
}

.blog-site .blog-wrap {
  width: min(980px, calc(100vw - 48px));
  max-width: none;
  padding: 0;
}

.blog-site .blog-masthead {
  position: relative;
  padding: clamp(76px, 10vw, 118px) 0 clamp(52px, 7vw, 80px);
  border-bottom-color: var(--rr-rule-strong);
}

.blog-site .blog-eyebrow,
.blog-site .authorship-note__label {
  color: var(--rr-seal);
  font-family: "Inter", sans-serif;
}

.blog-site .blog-eyebrow {
  font-weight: 600;
}

.blog-site .blog-h1 {
  max-width: 11ch;
  color: var(--rr-ink);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(3.6rem, 8vw, 5.5rem);
  line-height: 0.96;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.blog-site .blog-sub {
  max-width: 56ch;
  color: var(--rr-lead);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.08rem, 2vw, 1.3rem);
}

.blog-site .blog-ornament {
  width: min(100%, 720px);
  margin-top: 36px;
  opacity: 0.72;
}

.blog-site .authorship-note {
  max-width: 760px;
  border-top-color: var(--rr-rule);
}

.blog-site .cat-break {
  padding-top: clamp(48px, 7vw, 70px);
}

.blog-site .cat-break__label {
  color: var(--rr-seal-dark);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
}

.blog-site .authorship-note p,
.blog-site .post-row__date,
.blog-site .post-row__sub,
.blog-site .bd-callout {
  color: var(--rr-lead);
}

.blog-site .cat-break__rule,
.blog-site .post-row,
.blog-site .bd-callout {
  border-color: var(--rr-rule);
}

.blog-site .post-row {
  gap: 34px;
  padding-block: 25px;
}

.blog-site .post-row__title {
  display: block;
  color: var(--rr-ink);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(1.4rem, 3vw, 1.78rem);
  line-height: 1.18;
}

.blog-site .post-row__sub {
  display: block;
  margin-top: 6px;
}

.blog-site .post-row:hover .post-row__title {
  color: var(--rr-seal);
}

.blog-site .bd-callout a {
  color: var(--rr-seal);
}

/* Existing static articles keep their structure and inherit the new identity. */
.article-site .nav {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom-color: var(--rr-rule);
  background: var(--rr-paper);
  backdrop-filter: none;
}

.article-site .nav-inner {
  width: var(--rr-page);
  max-width: none;
  min-height: 76px;
  padding: 0;
}

.article-site .brand-link img {
  width: 46px !important;
  height: 46px !important;
  border-radius: 50% !important;
}

.article-site .menu-btn,
.article-site .theme-toggle {
  border-color: var(--rr-rule);
  color: var(--rr-lead);
}

.article-site .nav-dropdown-menu {
  border-color: var(--rr-rule);
  background: var(--rr-paper);
  box-shadow: 0 8px 8px rgba(20, 40, 79, 0.08);
}

.article-site .wrap {
  width: min(860px, calc(100vw - 48px));
  max-width: none;
  padding: clamp(58px, 9vw, 96px) 0 100px;
}

.article-site article.post > h1 {
  max-width: 12ch;
  color: var(--rr-ink);
  font-family: "Newsreader", Georgia, serif;
  font-size: clamp(2.8rem, 7vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

.article-site article.post p,
.article-site article.post li {
  color: var(--rr-lead);
  font-family: "Source Serif 4", Georgia, serif;
  font-size: clamp(1.05rem, 1.8vw, 1.18rem);
  line-height: 1.78;
}

.article-site article.post h2,
.article-site article.post h3 {
  color: var(--rr-ink);
  font-family: "Newsreader", Georgia, serif;
  text-wrap: balance;
}

.article-site article.post h2 {
  margin-top: 3.4rem;
  font-size: clamp(1.65rem, 3vw, 2.25rem);
}

.article-site article.post a,
.article-site .back-link {
  color: var(--rr-seal);
}

.article-site article.post blockquote {
  border-left-width: 1px;
  border-left-color: var(--rr-seal);
  color: var(--rr-lead);
}

.article-site .foot {
  border-top-color: var(--rr-rule);
  color: var(--rr-stone);
}

@media (max-width: 600px) {
  .blog-site .blog-wrap,
  .article-site .wrap {
    width: min(100% - 40px, 920px);
  }

  .article-site .nav-inner {
    width: min(100% - 40px, 1180px);
  }

  .article-site .brand-link img {
    width: 40px !important;
    height: 40px !important;
  }

  .blog-site .blog-masthead {
    padding-top: 58px;
  }

  .blog-site .post-row {
    gap: 7px;
  }
}
