

.research-index {
  

  padding-block: var(--oracle-space-s7);
}

.research-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--oracle-space-s4);
  margin-top: var(--oracle-space-s5);
}

@media (min-width: 768px) {
  .research-card-grid { grid-template-columns: repeat(2, 1fr); }
}

.research-card {
  background:  var(--oracle-component-research-card-card-background);
  border:      var(--oracle-border-width) solid var(--oracle-component-research-card-card-border);
  border-top:  1px solid var(--oracle-component-research-card-card-accent-border);
  padding:     var(--oracle-component-research-card-spacing-card-padding);
  display:     flex;
  flex-direction: column;
}

.research-card-topic {
  font-family:    var(--oracle-component-research-card-type-topic-family);
  font-size:      var(--oracle-component-research-card-type-topic-size);
  font-weight:    var(--oracle-component-research-card-type-topic-weight);
  letter-spacing: var(--oracle-component-research-card-type-topic-tracking);
  text-transform: var(--oracle-component-research-card-type-topic-transform);
  color:          var(--oracle-component-research-card-color-topic);
  margin-bottom:  var(--oracle-space-s2);
}

.research-card-rule {
  width:         var(--oracle-component-research-card-spacing-rule-width);
  height:        var(--oracle-component-research-card-spacing-rule-height);
  background:    var(--oracle-component-research-card-color-rule);
  margin-bottom: var(--oracle-component-research-card-spacing-rule-gap);
}

.research-card-heading {
  font-family:    var(--oracle-component-research-card-type-heading-family);
  font-size:      var(--oracle-component-research-card-type-heading-size);
  font-weight:    var(--oracle-component-research-card-type-heading-weight);
  letter-spacing: var(--oracle-component-research-card-type-heading-tracking);
  line-height:    var(--oracle-component-research-card-type-heading-lh);
  color:          var(--oracle-component-research-card-color-heading);
  margin-bottom:  var(--oracle-component-research-card-spacing-heading-gap);
}

.research-card-heading a {
  color:           inherit;
  text-decoration: none;
}
.research-card-heading a:hover {
  text-decoration: underline;
}

.research-card-datestamp {
  font-family:    var(--oracle-component-research-card-type-datestamp-family);
  font-size:      var(--oracle-component-research-card-type-datestamp-size);
  font-weight:    var(--oracle-component-research-card-type-datestamp-weight);
  letter-spacing: var(--oracle-component-research-card-type-datestamp-tracking);
  color:          var(--oracle-component-research-card-color-datestamp);
  margin-bottom:  var(--oracle-component-research-card-spacing-meta-gap);
}

.research-card-excerpt {
  font-size:     var(--oracle-component-research-card-type-excerpt-size);
  font-weight:   var(--oracle-component-research-card-type-excerpt-weight);
  line-height:   var(--oracle-component-research-card-type-excerpt-lh);
  color:         var(--oracle-component-research-card-color-excerpt);
  flex: 1;
  margin-bottom: var(--oracle-component-research-card-spacing-excerpt-gap);
}

.research-card-link {
  font-family:    var(--oracle-component-research-card-type-link-family);
  font-size:      var(--oracle-component-research-card-type-link-size);
  font-weight:    var(--oracle-component-research-card-type-link-weight);
  letter-spacing: var(--oracle-component-research-card-type-link-tracking);
  text-transform: var(--oracle-component-research-card-type-link-transform);
  color:          var(--oracle-component-research-card-color-link);
  text-decoration: none;
  transition: color var(--oracle-motion-duration-fast) var(--oracle-motion-easing);
  align-self: flex-start;
}

.research-card-link:hover { color: var(--oracle-color-ink); }

.research-featured {
  background:  var(--oracle-component-research-card-card-background);
  border:      var(--oracle-border-width) solid var(--oracle-component-research-card-card-border);
  border-top:  2px solid var(--oracle-component-research-card-card-accent-border);
  padding:     var(--oracle-component-research-card-spacing-card-padding);
  display:     flex;
  flex-direction: column;
  margin-top:  var(--oracle-space-s5);
}

.research-featured-heading {
  font-family:    var(--oracle-component-research-brief-header-type-heading-family);
  font-size:      var(--oracle-component-research-brief-header-type-heading-size);
  font-weight:    var(--oracle-component-research-brief-header-type-heading-weight);
  letter-spacing: var(--oracle-component-research-brief-header-type-heading-tracking);
  line-height:    var(--oracle-component-research-brief-header-type-heading-lh);
  color:          var(--oracle-component-research-card-color-heading);
  margin-bottom:  var(--oracle-component-research-card-spacing-heading-gap);
}

.research-featured-heading a {
  color:           inherit;
  text-decoration: none;
}
.research-featured-heading a:hover { text-decoration: underline; }

.research-featured-excerpt {
  font-size:     var(--oracle-component-research-section-type-body-size);
  font-weight:   var(--oracle-component-research-card-type-excerpt-weight);
  line-height:   var(--oracle-component-research-section-type-body-lh);
  color:         var(--oracle-component-research-card-color-excerpt);
  max-width:     72ch;
  margin-bottom: var(--oracle-component-research-card-spacing-excerpt-gap);
}

.brief-header {
  padding-block: var(--oracle-component-research-brief-header-spacing-section-pad-top)
                 var(--oracle-component-research-brief-header-spacing-section-pad-bottom);
  border-bottom: var(--oracle-border-width) solid var(--oracle-component-research-brief-header-border-bottom-colour);
}

.brief-header-inner {
  max-width: var(--oracle-component-research-brief-header-spacing-max-width);
}

.brief-header-topic {
  font-family:    var(--oracle-component-research-brief-header-type-topic-family);
  font-size:      var(--oracle-component-research-brief-header-type-topic-size);
  font-weight:    var(--oracle-component-research-brief-header-type-topic-weight);
  letter-spacing: var(--oracle-component-research-brief-header-type-topic-tracking);
  text-transform: var(--oracle-component-research-brief-header-type-topic-transform);
  color:          var(--oracle-component-research-brief-header-color-topic);
  margin-bottom:  var(--oracle-space-s3);
}

.brief-header-heading {
  font-family:    var(--oracle-component-research-brief-header-type-heading-family);
  font-size:      var(--oracle-component-research-brief-header-type-heading-size);
  font-weight:    var(--oracle-component-research-brief-header-type-heading-weight);
  letter-spacing: var(--oracle-component-research-brief-header-type-heading-tracking);
  line-height:    var(--oracle-component-research-brief-header-type-heading-lh);
  color:          var(--oracle-component-research-brief-header-color-heading);
  margin-bottom:  var(--oracle-component-research-brief-header-spacing-meta-gap);
}

.brief-header-meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--oracle-space-s3);
  align-items: baseline;
}

.brief-header-version,
.brief-header-datestamp,
.brief-header-author {
  font-family:    var(--oracle-component-research-brief-header-type-version-family);
  font-size:      var(--oracle-component-research-brief-header-type-version-size);
  font-weight:    var(--oracle-component-research-brief-header-type-version-weight);
  letter-spacing: var(--oracle-component-research-brief-header-type-version-tracking);
}

.brief-header-version   { color: var(--oracle-component-research-brief-header-color-version); }
.brief-header-datestamp { color: var(--oracle-component-research-brief-header-color-datestamp); }
.brief-header-author    { color: var(--oracle-component-research-brief-header-color-author); }

.research-body {
  max-width: var(--oracle-component-research-section-spacing-max-width);
  padding-block: var(--oracle-space-s6) var(--oracle-space-s8);
}

.research-summary {
  max-width:      var(--oracle-component-research-summary-spacing-max-width);
  margin-bottom:  var(--oracle-component-research-summary-spacing-section-gap);
  padding-left:   var(--oracle-component-research-summary-spacing-pad-inline);
  border-left:    var(--oracle-component-research-summary-spacing-border-width) solid
                  var(--oracle-component-research-summary-color-border);
}

.research-summary-label {
  font-family:    var(--oracle-component-research-summary-type-label-family);
  font-size:      var(--oracle-component-research-summary-type-label-size);
  font-weight:    var(--oracle-component-research-summary-type-label-weight);
  letter-spacing: var(--oracle-component-research-summary-type-label-tracking);
  text-transform: var(--oracle-component-research-summary-type-label-transform);
  color:          var(--oracle-component-research-summary-color-label);
  margin-bottom:  var(--oracle-component-research-summary-spacing-label-gap);
}

.research-summary-body {
  font-family:   var(--oracle-component-research-summary-type-body-family);
  font-size:     var(--oracle-component-research-summary-type-body-size);
  font-weight:   var(--oracle-component-research-summary-type-body-weight);
  line-height:   var(--oracle-component-research-summary-type-body-lh);
  color:         var(--oracle-component-research-summary-color-body);
  margin-bottom: var(--oracle-component-research-summary-spacing-paragraph-gap);
}

.research-summary-body:last-child { margin-bottom: 0; }

.research-section {
  margin-bottom: var(--oracle-component-research-section-spacing-section-gap);
}

.research-section:last-child { margin-bottom: 0; }

.research-section-heading {
  font-family:    var(--oracle-component-research-section-type-heading-family);
  font-size:      var(--oracle-component-research-section-type-heading-size);
  font-weight:    var(--oracle-component-research-section-type-heading-weight);
  letter-spacing: var(--oracle-component-research-section-type-heading-tracking);
  line-height:    var(--oracle-component-research-section-type-heading-lh);
  color:          var(--oracle-component-research-section-color-heading);
  margin-bottom:  var(--oracle-component-research-section-spacing-heading-gap);
}

.research-section-subheading {
  font-family:    var(--oracle-component-research-section-type-subheading-family);
  font-size:      var(--oracle-component-research-section-type-subheading-size);
  font-weight:    var(--oracle-component-research-section-type-subheading-weight);
  font-style:     var(--oracle-component-research-section-type-subheading-style);
  letter-spacing: var(--oracle-component-research-section-type-subheading-tracking);
  line-height:    var(--oracle-component-research-section-type-subheading-lh);
  color:          var(--oracle-component-research-section-color-subheading);
  margin-bottom:  var(--oracle-component-research-section-spacing-heading-gap);
  margin-top:     var(--oracle-space-s4);
}

.research-section p {
  font-family:   var(--oracle-component-research-section-type-body-family);
  font-size:     var(--oracle-component-research-section-type-body-size);
  font-weight:   var(--oracle-component-research-section-type-body-weight);
  line-height:   var(--oracle-component-research-section-type-body-lh);
  color:         var(--oracle-component-research-section-color-body);
  margin-bottom: var(--oracle-component-research-section-spacing-paragraph-gap);
}

.research-list {
  font-family:   var(--oracle-component-research-section-type-body-family);
  font-size:     var(--oracle-component-research-section-type-body-size);
  font-weight:   var(--oracle-component-research-section-type-body-weight);
  line-height:   var(--oracle-component-research-section-type-body-lh);
  color:         var(--oracle-component-research-section-color-body);
  margin-bottom: var(--oracle-component-research-section-spacing-paragraph-gap);
  padding-left:  var(--oracle-space-s5);
  display:       flex;
  flex-direction: column;
  gap:           var(--oracle-space-s3);
}

.research-list-ordered  { list-style: decimal; }
.research-list-bullet   { list-style: disc; }

.research-list-item { padding-left: var(--oracle-space-s2); }

.research-list-item::marker {
  color:       var(--oracle-component-research-section-color-subheading);
  font-weight: var(--oracle-component-research-section-type-strong-weight);
}

.research-list-lead {
  font-family: var(--oracle-component-research-section-type-strong-family);
  font-weight: var(--oracle-component-research-section-type-strong-weight);
  color:       var(--oracle-component-research-section-color-strong);
}

.research-section p:last-child { margin-bottom: 0; }

.pull-quote {
  margin-block:   var(--oracle-component-pull-quote-spacing-block-gap);
  padding-inline: var(--oracle-component-pull-quote-spacing-pad-inline);
  border-left:    var(--oracle-component-pull-quote-spacing-border-width) solid
                  var(--oracle-component-pull-quote-color-border);
}

.pull-quote-text {
  font-family:  var(--oracle-component-pull-quote-type-quote-family);
  font-size:    var(--oracle-component-pull-quote-type-quote-size);
  font-weight:  var(--oracle-component-pull-quote-type-quote-weight);
  font-style:   var(--oracle-component-pull-quote-type-quote-style);
  line-height:  var(--oracle-component-pull-quote-type-quote-lh);
  color:        var(--oracle-component-pull-quote-color-quote);
  margin-bottom: 0;
}

.pull-quote-attribution {
  font-family:    var(--oracle-component-pull-quote-type-attribution-family);
  font-size:      var(--oracle-component-pull-quote-type-attribution-size);
  font-weight:    var(--oracle-component-pull-quote-type-attribution-weight);
  letter-spacing: var(--oracle-component-pull-quote-type-attribution-tracking);
  color:          var(--oracle-component-pull-quote-color-attribution);
  margin-top:     var(--oracle-component-pull-quote-spacing-attribution-gap);
  margin-bottom:  0;
}

.methodology-note {
  margin-top:  var(--oracle-component-methodology-note-spacing-section-gap);
  padding-top: var(--oracle-component-methodology-note-spacing-pad-top);
  border-top:  var(--oracle-component-methodology-note-spacing-border-width) solid
               var(--oracle-component-methodology-note-color-border);
}

.methodology-note-heading {
  font-family:    var(--oracle-component-methodology-note-type-heading-family);
  font-size:      var(--oracle-component-methodology-note-type-heading-size);
  font-weight:    var(--oracle-component-methodology-note-type-heading-weight);
  letter-spacing: var(--oracle-component-methodology-note-type-heading-tracking);
  text-transform: var(--oracle-component-methodology-note-type-heading-transform);
  color:          var(--oracle-component-methodology-note-color-heading);
  margin-bottom:  var(--oracle-space-s2);
}

.methodology-note p {
  font-family:   var(--oracle-component-methodology-note-type-body-family);
  font-size:     var(--oracle-component-methodology-note-type-body-size);
  font-weight:   var(--oracle-component-methodology-note-type-body-weight);
  line-height:   var(--oracle-component-methodology-note-type-body-lh);
  color:         var(--oracle-component-methodology-note-color-body);
  margin-bottom: var(--oracle-space-s2);
}

.methodology-note p:last-child { margin-bottom: 0; }

.reference-list {
  margin-top:  var(--oracle-component-reference-list-spacing-section-gap);
  padding-top: var(--oracle-component-reference-list-spacing-pad-top);
  border-top:  var(--oracle-component-reference-list-spacing-border-width) solid
               var(--oracle-component-reference-list-color-border);
}

.reference-list-heading {
  font-family:    var(--oracle-component-reference-list-type-heading-family);
  font-size:      var(--oracle-component-reference-list-type-heading-size);
  font-weight:    var(--oracle-component-reference-list-type-heading-weight);
  letter-spacing: var(--oracle-component-reference-list-type-heading-tracking);
  text-transform: var(--oracle-component-reference-list-type-heading-transform);
  color:          var(--oracle-component-reference-list-color-heading);
  margin-bottom:  var(--oracle-space-s3);
}

.reference-list ol {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--oracle-component-reference-list-spacing-item-gap);
}

.reference-list li {
  display: flex;
  gap: var(--oracle-space-s2);
  align-items: baseline;
}

.reference-index {
  font-family:    var(--oracle-component-reference-list-type-item-index-family);
  font-size:      var(--oracle-component-reference-list-type-item-index-size);
  font-weight:    var(--oracle-component-reference-list-type-item-index-weight);
  letter-spacing: var(--oracle-component-reference-list-type-item-index-tracking);
  color:          var(--oracle-component-reference-list-color-item-index);
  flex-shrink: 0;
  min-width: var(--oracle-space-s4);
}

.reference-text {
  font-family: var(--oracle-component-reference-list-type-item-text-family);
  font-size:   var(--oracle-component-reference-list-type-item-text-size);
  font-weight: var(--oracle-component-reference-list-type-item-text-weight);
  line-height: var(--oracle-component-reference-list-type-item-text-lh);
  color:       var(--oracle-component-reference-list-color-item-text);
}

.reference-text a {
  color:           var(--oracle-component-reference-list-color-item-link);
  text-decoration: none;
}

.reference-text a:hover { text-decoration: underline; }

.research-callout {
  background:  var(--oracle-component-research-callout-card-background);
  border:      var(--oracle-border-width) solid var(--oracle-component-research-callout-card-border);
  border-left: var(--oracle-component-research-callout-spacing-border-width) solid
               var(--oracle-component-research-callout-color-border);
  padding:     var(--oracle-component-research-callout-spacing-pad);
}

.research-callout-label {
  font-family:    var(--oracle-component-research-callout-type-label-family);
  font-size:      var(--oracle-component-research-callout-type-label-size);
  font-weight:    var(--oracle-component-research-callout-type-label-weight);
  letter-spacing: var(--oracle-component-research-callout-type-label-tracking);
  text-transform: var(--oracle-component-research-callout-type-label-transform);
  color:          var(--oracle-component-research-callout-color-label);
  margin-bottom:  var(--oracle-space-s2);
}

.research-callout-summary {
  font-size:     var(--oracle-component-research-callout-type-summary-size);
  font-weight:   var(--oracle-component-research-callout-type-summary-weight);
  line-height:   var(--oracle-component-research-callout-type-summary-lh);
  color:         var(--oracle-component-research-callout-color-summary);
  margin-bottom: var(--oracle-component-research-callout-spacing-summary-gap);
}

.research-callout-link {
  font-family:    var(--oracle-component-research-callout-type-link-family);
  font-size:      var(--oracle-component-research-callout-type-link-size);
  font-weight:    var(--oracle-component-research-callout-type-link-weight);
  letter-spacing: var(--oracle-component-research-callout-type-link-tracking);
  text-transform: var(--oracle-component-research-callout-type-link-transform);
  color:          var(--oracle-component-research-callout-color-link);
  text-decoration: none;
  transition: color var(--oracle-motion-duration-fast) var(--oracle-motion-easing);
}

.research-callout-link:hover { color: var(--oracle-color-ink); }
