/*
 * Roman Law Firm Research Desk system
 * Shared identity, tokens, and shell components only. Project visualizations
 * remain in their page-specific stylesheets or templates.
 */

.rlf-research-surface {
  --rd-ink: #1f2a3d;
  --rd-charcoal: #151a22;
  --rd-charcoal-soft: #222b3d;
  --rd-paper: #f5f6f8;
  --rd-surface: #ffffff;
  --rd-surface-alt: #eef1f4;
  --rd-border: #dce2e8;
  --rd-muted: #667386;
  --rd-brand: #2c3e50;
  --rd-steel: #5d7c97;
  --rd-steel-light: #a9bfd1;
  --rd-green: #16794a;
  --rd-rust: #b64b2a;
  --rd-viz-scale-1: #e2e6ec;
  --rd-viz-scale-2: #c7d4df;
  --rd-viz-scale-3: #9db4c8;
  --rd-viz-scale-4: #6f8496;
  --rd-viz-scale-5: #40536b;
  --rd-viz-current: #40536b;
  --rd-viz-update: #16794a;
  --rd-viz-counterfactual: #b64b2a;
  --rd-viz-category: #52708a;
  --rd-viz-caution: #8a6a3e;
  --rd-site-sticky-offset: 80px;
  --rd-toc-height: 50px;
  --rd-story-sticky-offset: calc(var(--rd-site-sticky-offset) + var(--rd-toc-height));
  --rd-review: #f2c66d;
  --rd-font-display: "Arial Black", Arial, sans-serif;
  --rd-font-body: "Muli", sans-serif;
  --rd-font-ui: "Open Sans Condensed", "Muli", sans-serif;
  --rd-content-width: 1200px;
  --rd-text-width: 760px;
  --rd-radius-sm: 3px;
  --rd-radius-md: 6px;
  --rd-shadow-card: 0 16px 42px rgb(31 42 61 / 7%);
  color: var(--rd-ink);
  font-family: var(--rd-font-body);
}

.admin-bar .rlf-research-surface {
  --rd-site-sticky-offset: 112px;
}

.rlf-research-surface *,
.rlf-research-surface *::before,
.rlf-research-surface *::after {
  box-sizing: border-box;
}

.rlf-research-surface .rd-review-banner {
  position: relative;
  z-index: 20;
  margin: 0;
  padding: 9px 24px;
  color: var(--rd-ink);
  background: var(--rd-review);
  font: 300 14px/1.2 var(--rd-font-ui);
  letter-spacing: 0.11em;
  text-align: center;
  text-transform: uppercase;
}

.rlf-research-surface .rd-project-masthead {
  display: flex;
  width: 100%;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 clamp(26px, 4vw, 50px);
  padding: clamp(18px, 1.7vw, 24px) 0 17px;
  color: rgb(255 255 255 / 72%);
  border-bottom: 1px solid rgb(255 255 255 / 18%);
  font: 300 14px/1.45 var(--rd-font-ui);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rlf-research-surface .rd-project-masthead__identity {
  display: flex;
  min-width: 0;
  gap: 10px;
  align-items: center;
}

.rlf-research-surface .rd-project-masthead a {
  color: #fff;
  text-decoration: none;
}

.rlf-research-surface .rd-project-masthead a:hover,
.rlf-research-surface .rd-project-masthead a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rlf-research-surface .rd-project-masthead p {
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.rlf-research-surface .rd-eyebrow {
  margin: 0;
  color: var(--rd-steel-light);
  font: 300 14px/1.4 var(--rd-font-ui);
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.rlf-research-surface .rd-toc {
  position: sticky;
  z-index: 9000;
  top: var(--rd-site-sticky-offset);
  width: 100%;
  height: var(--rd-toc-height);
  color: var(--rd-muted);
  border-bottom: 1px solid var(--rd-border);
  background: rgb(245 246 248 / 96%);
  box-shadow: 0 8px 20px rgb(31 42 61 / 5%);
  backdrop-filter: blur(12px);
}

.rlf-research-surface .rd-toc__inner {
  display: flex;
  width: min(var(--rd-content-width), calc(100% - 48px));
  height: 100%;
  gap: 22px;
  align-items: stretch;
  margin: 0 auto;
}

.rlf-research-surface .rd-toc__label {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  color: var(--rd-steel);
  font: 300 13px/1 var(--rd-font-ui);
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.rlf-research-surface .rd-toc ol {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  gap: 4px;
  align-items: stretch;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.rlf-research-surface .rd-toc ol::-webkit-scrollbar {
  display: none;
}

.rlf-research-surface .rd-toc li {
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rlf-research-surface .rd-toc a {
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
  padding: 0 13px;
  color: var(--rd-muted);
  font: 300 14px/1.2 var(--rd-font-ui);
  text-decoration: none;
  white-space: nowrap;
}

.rlf-research-surface .rd-toc a::after {
  position: absolute;
  right: 13px;
  bottom: 0;
  left: 13px;
  height: 2px;
  background: var(--rd-brand);
  content: "";
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 140ms ease, transform 140ms ease;
}

.rlf-research-surface .rd-toc a:hover,
.rlf-research-surface .rd-toc a:focus-visible,
.rlf-research-surface .rd-toc a.is-active {
  color: var(--rd-ink);
}

.rlf-research-surface .rd-toc a.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.rlf-research-surface .rd-toc-target {
  scroll-margin-top: calc(var(--rd-story-sticky-offset) + 18px);
}

.rlf-research-surface .rd-endcap {
  position: relative;
  width: 100%;
  margin: 0;
  padding: clamp(54px, 7vw, 88px) 0;
  color: #d5dce5;
  background: var(--rd-charcoal);
}

.rlf-research-surface .rd-endcap__inner {
  display: grid;
  width: min(var(--rd-content-width), calc(100% - 48px));
  margin: 0 auto;
  gap: clamp(38px, 7vw, 96px);
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
}

.rlf-research-surface .rd-endcap__inner:has(.rd-endcap__disclosure:only-child) {
  grid-template-columns: minmax(0, 760px);
}

.rlf-research-surface .rd-endcap__disclosure > p:not(.rd-eyebrow) {
  max-width: 720px;
  margin: 15px 0 22px;
  color: #c4cdd8;
  font: 400 15px/1.7 var(--rd-font-body);
}

.rlf-research-surface .rd-endcap__disclosure > a {
  color: #fff;
  border-bottom: 1px solid var(--rd-steel-light);
  font: 300 14px/1.6 var(--rd-font-ui);
  text-decoration: none;
}

.rlf-research-surface .rd-endcap__next {
  padding-left: clamp(24px, 4vw, 54px);
  border-left: 1px solid rgb(255 255 255 / 16%);
}

.rlf-research-surface .rd-endcap__next > a {
  display: block;
  margin-top: 16px;
  color: #fff;
  text-decoration: none;
}

.rlf-research-surface .rd-endcap__next span,
.rlf-research-surface .rd-endcap__next strong {
  display: block;
}

.rlf-research-surface .rd-endcap__next span {
  margin-bottom: 8px;
  color: #9dabbc;
  font: 300 14px/1.4 var(--rd-font-ui);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rlf-research-surface .rd-endcap__next strong {
  font: 700 clamp(20px, 2.2vw, 28px)/1.25 var(--rd-font-display);
}

.rlf-research-surface .rd-endcap__next a:hover strong,
.rlf-research-surface .rd-endcap__next a:focus-visible strong {
  color: var(--rd-steel-light);
}

@media (max-width: 720px) {
	.rlf-research-surface {
	  --rd-toc-height: 46px;
	}

	.admin-bar .rlf-research-surface {
	  --rd-site-sticky-offset: 126px;
	}

	.rlf-research-surface .rd-toc__inner {
	  width: 100%;
	  gap: 5px;
	  padding-left: 16px;
	}

	.rlf-research-surface .rd-toc__label {
	  padding-right: 9px;
	  border-right: 1px solid var(--rd-border);
	}

	.rlf-research-surface .rd-toc a {
	  padding: 0 11px;
	}

	.rlf-research-surface .rd-toc a::after {
	  right: 11px;
	  left: 11px;
	}

  .rlf-research-surface .rd-project-masthead {
    gap: 11px;
    align-items: flex-start;
    flex-direction: column;
  }

  .rlf-research-surface .rd-project-masthead__identity {
    flex-wrap: wrap;
  }

  .rlf-research-surface .rd-project-masthead p {
    white-space: normal;
  }

  .rlf-research-surface .rd-endcap__inner {
    width: min(100% - 32px, 680px);
    grid-template-columns: 1fr;
  }

  .rlf-research-surface .rd-endcap__next {
    padding: 32px 0 0;
    border-top: 1px solid rgb(255 255 255 / 16%);
    border-left: 0;
  }
}

@media (max-width: 600px) {
  .admin-bar .rlf-research-surface {
    --rd-site-sticky-offset: 0px;
  }
}

@media print {
  .rlf-research-surface .rd-toc {
    display: none;
  }

  .rlf-research-surface .rd-toc-target {
    scroll-margin-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rlf-research-surface * {
    scroll-behavior: auto !important;
  }
}
