/* ═══════════════════════════════════════════════════════════
   OM Brief — Page Template Styles
   Layout: Fixed left rail · Main content area · Off-canvas nav
   ═══════════════════════════════════════════════════════════ */

/* ── Layout Shell ─────────────────────────────────────────── */

.om-brief {
  display: flex;
  min-height: 100vh;
  background: var(--om-bg-primary);
}

/* Override Astra default link styles in briefs */
.om-brief a,
.om-brief a:visited,
.om-brief a:hover,
.om-brief a:focus {
  color: inherit !important;
  text-decoration: none;
}


/* ── Left Rail Navigation ─────────────────────────────────── */

.om-brief__rail {
  position: fixed;
  top: 0;
  left: 0;
  width: 200px;
  height: 100vh;
  background: var(--om-bg-primary);
  border-right: 1px solid var(--om-border-light);
  display: flex;
  flex-direction: column;
  z-index: 100;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  font-size: 13px;
}

.om-brief__rail-header {
  padding: var(--om-space-5);
  border-bottom: 1px solid var(--om-border-light);
}

.om-brief__logo {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--om-text-primary);
  text-decoration: none;
  border: none;
}

.om-brief__logo:hover {
  border: none;
  opacity: 0.7;
}

.om-brief__logo-img {
  display: block;
  height: 15px;
  width: auto;
}

.om-brief__rail-meta {
  padding: var(--om-space-5);
  border-bottom: 1px solid var(--om-border-light);
}

.om-brief__rail-meta .om-label {
  margin-bottom: var(--om-space-1);
}

.om-brief__brief-title {
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-bold);
  line-height: var(--om-leading-snug);
  color: var(--om-text-primary);
  margin: 0;
}

.om-brief__brief-date {
  font-size: var(--om-text-xs);
  color: var(--om-text-tertiary);
  margin-top: var(--om-space-1);
}

/* Navigation sections */
.om-brief__nav {
  flex: 1;
  padding: var(--om-space-4) 0;
  overflow-y: auto;
}

.om-brief__nav-section {
  padding: 0 var(--om-space-5);
  margin-bottom: var(--om-space-4);
}

.om-brief__nav-section-title {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-2);
}

.om-brief__nav-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.om-brief__nav-item {
  margin-bottom: 0;
}

.om-brief__nav-link {
  display: block;
  padding: 7px 0;
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-sm);
  font-weight: var(--om-weight-normal);
  color: var(--om-text-tertiary);
  border: none;
  border-bottom: none;
  border-left: 2px solid transparent;
  padding-left: var(--om-space-3);
  margin-left: calc(-1 * var(--om-space-3));
  transition: all var(--om-duration) var(--om-ease);
}

.om-brief__nav-link:hover {
  color: var(--om-text-primary);
  border: none;
  border-bottom: none;
  border-left: 2px solid transparent;
}

.om-brief__nav-link--active {
  color: var(--om-text-primary);
  font-weight: var(--om-weight-bold);
  border: none;
  border-bottom: none;
  border-left: 2px solid var(--om-text-primary);
}

/* Rail footer */
.om-brief__rail-footer {
  padding: var(--om-space-4) var(--om-space-5);
  border-top: 1px solid var(--om-border-light);
  margin-top: auto;
}


/* ── Main Content Area ────────────────────────────────────── */

.om-brief__main {
  flex: 1;
  margin-left: 200px;
  min-height: 100vh;
}

.om-brief__topbar {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--om-space-3) var(--om-space-6);
  background: rgba(255, 255, 255, 0.92);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--om-border-light);
  z-index: 50;
}

.om-brief__topbar-left {
  display: flex;
  align-items: center;
  gap: var(--om-space-3);
}

.om-brief__topbar-right {
  display: flex;
  align-items: center;
  gap: var(--om-space-3);
}

.om-brief__breadcrumb {
  font-size: var(--om-text-sm);
  color: var(--om-text-tertiary);
}

.om-brief__breadcrumb a {
  color: var(--om-text-tertiary);
  border: none;
}

.om-brief__breadcrumb a:hover {
  color: var(--om-text-primary);
  border: none;
}

.om-brief__breadcrumb-sep {
  margin: 0 var(--om-space-2);
  color: var(--om-grey-300);
}

/* Content body — 820px for generous editorial reading width */
.om-brief__content {
  max-width: 820px;
  min-width: 0;
  margin: 0 auto;
  padding: var(--om-space-8) var(--om-space-6);
}

.om-brief__hero {
  margin-bottom: var(--om-space-8);
}

.om-brief__hero-label {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-semi);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-3);
}

.om-brief__hero-title {
  font-size: var(--om-text-4xl);
  font-weight: var(--om-weight-bold);
  line-height: var(--om-leading-tight);
  letter-spacing: var(--om-tracking-tight);
  margin: 0 0 var(--om-space-4);
}

.om-brief__hero-subtitle {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-normal);
  line-height: var(--om-leading-normal);
  color: var(--om-text-tertiary);
  max-width: 600px;
}

.om-brief__hero-meta {
  display: flex;
  gap: var(--om-space-5);
  margin-top: var(--om-space-5);
  padding-top: var(--om-space-5);
  border-top: 1px solid var(--om-border-light);
}

.om-brief__meta-item {
  display: flex;
  flex-direction: column;
  gap: var(--om-space-1);
}

.om-brief__meta-key {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
}

.om-brief__meta-value {
  font-size: var(--om-text-sm);
  font-weight: var(--om-weight-medium);
  color: var(--om-text-primary);
}

/* Section blocks */
.om-brief__section {
  margin-bottom: var(--om-space-8);
}

.om-brief__section-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--om-space-4);
  padding-bottom: var(--om-space-3);
  border-bottom: 1px solid var(--om-text-primary);
}

.om-brief__section-title {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-primary);
  margin: 0;
}

.om-brief__section-count {
  font-size: var(--om-text-xs);
  color: var(--om-text-tertiary);
}

.om-brief__section-body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-normal);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}

.om-brief__section-body p {
  margin-bottom: var(--om-space-4);
}

.om-brief__section-body p:last-child {
  margin-bottom: 0;
}


/* Layer toggle removed in v2.0.0 — replaced by off-canvas navigation */


/* ── Signal Cards — clean, left-accent ────────────────────── */

.om-brief__signals {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.om-brief__signal {
  padding: var(--om-space-5) var(--om-space-5) var(--om-space-5) var(--om-space-6);
  border: none;
  border-left: 2px solid var(--om-border-light);
  border-radius: 0;
  transition: border-color var(--om-duration) var(--om-ease);
}

.om-brief__signal + .om-brief__signal {
  border-top: 1px solid var(--om-border-light);
}

.om-brief__signal:hover {
  border-left-color: var(--om-text-primary);
}

.om-brief__signal-label {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-2);
}

.om-brief__signal-title {
  font-size: var(--om-text-md);
  font-weight: var(--om-weight-bold);
  line-height: var(--om-leading-snug);
  margin-bottom: var(--om-space-2);
}

.om-brief__signal-body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  font-weight: var(--om-weight-normal);
  line-height: var(--om-leading-normal);
  color: var(--om-text-tertiary);
}

/* Signal cards 2-up variant for wider layouts */
.om-brief__signals--grid {
  grid-template-columns: repeat(2, 1fr);
  gap: var(--om-space-4);
}

.om-brief__signals--grid .om-brief__signal {
  border-left: none;
  border: 1px solid var(--om-border-light);
  padding: var(--om-space-5);
}

.om-brief__signals--grid .om-brief__signal + .om-brief__signal {
  border-top: 1px solid var(--om-border-light);
}

.om-brief__signals--grid .om-brief__signal:hover {
  border-color: var(--om-border-heavy);
}


/* ── Scorecard — Bloomberg terminal × editorial ──────────── */

.om-scorecard {
  margin-bottom: var(--om-space-8);
}

/* Headline scores row */
.om-scorecard__headlines {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--om-border-light);
  margin-bottom: var(--om-space-6);
}

.om-scorecard__headline {
  background: var(--om-bg-primary);
  padding: var(--om-space-6) var(--om-space-5);
  text-align: center;
}

.om-scorecard__headline-label {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-3);
}

.om-scorecard__headline-score {
  font-size: 3.5rem;
  font-weight: var(--om-weight-bold);
  line-height: 1;
  letter-spacing: var(--om-tracking-tight);
  color: var(--om-text-primary);
  white-space: nowrap;
}

.om-scorecard__headline-score span {
  font-size: var(--om-text-lg);
  font-weight: var(--om-weight-normal);
  color: var(--om-text-muted);
}

/* RAG colour modifiers for headline scores */
.om-scorecard__headline-score--red {
  color: var(--om-rag-red) !important;
}

.om-scorecard__headline-score--amber {
  color: var(--om-rag-amber) !important;
}

.om-scorecard__headline-score--green {
  color: var(--om-rag-green) !important;
}

/* Strategic profile label */
.om-scorecard__profile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--om-space-4) 0;
  margin-bottom: var(--om-space-6);
  border-bottom: 1px solid var(--om-border-light);
}

.om-scorecard__profile-label {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
}

.om-scorecard__profile-value {
  font-size: var(--om-text-sm);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-wide);
  text-transform: uppercase;
  color: var(--om-rag-red);
}

/* Five force cards */
.om-scorecard__forces {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--om-border-light);
}

.om-scorecard__force {
  background: var(--om-bg-primary);
  padding: var(--om-space-5) var(--om-space-4);
}

.om-scorecard__force-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--om-space-3);
}

.om-scorecard__force-name {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-primary);
}

.om-scorecard__force-weight {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-normal);
  color: var(--om-text-muted);
}

.om-scorecard__force-score {
  font-size: var(--om-text-2xl);
  font-weight: var(--om-weight-bold);
  line-height: 1;
  margin-bottom: var(--om-space-3);
}

/* RAG bar */
.om-scorecard__bar {
  width: 100%;
  height: 10px;
  background: var(--om-grey-100);
  border-radius: 5px;
  margin-bottom: var(--om-space-2);
  overflow: hidden;
}

.om-scorecard__bar-fill {
  height: 100%;
  border-radius: 5px;
  transition: width 600ms var(--om-ease);
}

/* RAG colour modifiers */
.om-scorecard__force--red .om-scorecard__force-score { color: var(--om-rag-red); }
.om-scorecard__force--red .om-scorecard__bar-fill { background: var(--om-rag-red); }

.om-scorecard__force--amber .om-scorecard__force-score { color: var(--om-rag-amber); }
.om-scorecard__force--amber .om-scorecard__bar-fill { background: var(--om-rag-amber); }

.om-scorecard__force--green .om-scorecard__force-score { color: var(--om-rag-green); }
.om-scorecard__force--green .om-scorecard__bar-fill { background: var(--om-rag-green); }

/* Force sub-label */
.om-scorecard__force-status {
  font-size: 10px;
  font-weight: var(--om-weight-medium);
  letter-spacing: var(--om-tracking-wide);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
}

/* Clickable force cards */
a.om-scorecard__force {
  display: block;
  text-decoration: none !important;
  transition: background-color var(--om-duration) var(--om-ease);
}

a.om-scorecard__force:hover {
  background: var(--om-grey-50);
}

/* ── Brief Inline Scorecard — between cover & sections ──── */

.om-brief__scorecard {
  margin-bottom: var(--om-space-8);
}

.om-brief__scorecard .om-scorecard__headline-score {
  font-size: 3.5rem;
}

/* Force bars in brief — horizontal full-width layout */
.om-brief__scorecard .om-scorecard__forces {
  grid-template-columns: 1fr;
  gap: 0;
  background: transparent;
}

.om-brief__scorecard .om-scorecard__force {
  display: grid;
  grid-template-columns: 140px 1fr 60px;
  align-items: center;
  gap: var(--om-space-4);
  padding: var(--om-space-3) 0;
  border-bottom: 1px solid var(--om-border-light);
}

.om-brief__scorecard .om-scorecard__force:last-child {
  border-bottom: none;
}

.om-brief__scorecard .om-scorecard__force-header {
  margin-bottom: 0;
}

.om-brief__scorecard .om-scorecard__force-score {
  font-size: var(--om-text-lg);
  margin-bottom: 0;
  text-align: right;
}

.om-brief__scorecard .om-scorecard__bar {
  margin-bottom: 0;
}

.om-brief__scorecard .om-scorecard__force-status {
  display: none;
}


/* ── Five Forces Grid — 2+3 card layout ─────────────────── */

.om-forces-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--om-space-4);
  margin-top: var(--om-space-5);
}

/* Third row: 3 cards */
.om-forces-grid__card:nth-child(n+3) {
  /* Auto-flow handles the 2+3 layout */
}

/* Override for 3-across on last row */
@supports (grid-template-columns: repeat(3, 1fr)) {
  .om-forces-grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .om-forces-grid__card:nth-child(1),
  .om-forces-grid__card:nth-child(2) {
    grid-column: span 3;
  }
  .om-forces-grid__card:nth-child(3),
  .om-forces-grid__card:nth-child(4),
  .om-forces-grid__card:nth-child(5) {
    grid-column: span 2;
  }
}

.om-forces-grid__card {
  display: flex;
  flex-direction: column;
  padding: var(--om-space-5);
  border: 1px solid var(--om-border-light);
  text-decoration: none !important;
  transition: border-color var(--om-duration) var(--om-ease), background var(--om-duration) var(--om-ease);
}

.om-forces-grid__card:hover {
  border-color: var(--om-border-heavy);
  background: var(--om-grey-25);
}

.om-forces-grid__top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: var(--om-space-3);
}

.om-forces-grid__name {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-primary);
}

.om-forces-grid__weight {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-normal);
  color: var(--om-text-muted);
}

.om-forces-grid__score-row {
  display: flex;
  align-items: center;
  gap: var(--om-space-3);
  margin-bottom: var(--om-space-3);
}

.om-forces-grid__score-row .om-scorecard__bar {
  flex: 1;
  margin-bottom: 0;
}

.om-forces-grid__score {
  font-size: var(--om-text-2xl);
  font-weight: var(--om-weight-bold);
  line-height: 1;
  min-width: 48px;
  text-align: right;
}

.om-forces-grid__finding {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  font-weight: var(--om-weight-normal);
  line-height: var(--om-leading-normal);
  color: var(--om-text-tertiary);
  margin: 0 0 var(--om-space-3);
  flex: 1;
}

.om-forces-grid__arrow {
  font-size: var(--om-text-lg);
  color: var(--om-text-muted);
  transition: transform var(--om-duration) var(--om-ease), color var(--om-duration) var(--om-ease);
}

.om-forces-grid__card:hover .om-forces-grid__arrow {
  transform: translateX(4px);
  color: var(--om-text-primary);
}

@media (max-width: 768px) {
  .om-forces-grid,
  .om-forces-grid {
    grid-template-columns: 1fr !important;
  }
  .om-forces-grid__card:nth-child(1),
  .om-forces-grid__card:nth-child(2),
  .om-forces-grid__card:nth-child(3),
  .om-forces-grid__card:nth-child(4),
  .om-forces-grid__card:nth-child(5) {
    grid-column: span 1 !important;
  }
}


/* ── Elementor Compatibility ─────────────────────────────── */

.om-brief__body .elementor-section-wrap,
.om-brief__body .elementor {
  width: 100%;
}

.om-brief__body .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100%;
}

.om-brief__body .elementor-widget-wrap {
  padding: 0;
}

.om-brief__body .elementor-element {
  font-family: var(--om-font-body) !important;
}


/* ── Brief Content Sections (accordion pattern) ──────────── */

.om-section {
  margin-bottom: var(--om-space-8);
  scroll-margin-top: 80px;
}

.om-section__header {
  display: flex;
  align-items: baseline;
  gap: var(--om-space-3);
  margin-bottom: var(--om-space-4);
  padding-bottom: var(--om-space-3);
  border-bottom: 2px solid var(--om-text-primary);
}

.om-section__number {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-tertiary);
  margin: 0;
  white-space: nowrap;
}

.om-section__title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-lg);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-tight);
  color: var(--om-text-primary);
  margin: 0;
}

.om-section__summary {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-base);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
  margin-bottom: var(--om-space-4);
}

.om-section__summary p {
  margin-bottom: var(--om-space-3);
}

.om-section__summary p:last-child {
  margin-bottom: 0;
}

/* Accordion expand/collapse */
.om-section__expand {
  border: none;
  margin-bottom: 0;
}

.om-section__expand summary {
  display: inline-flex;
  align-items: center;
  gap: var(--om-space-2);
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
  cursor: pointer;
  padding: var(--om-space-2) 0;
  list-style: none;
  user-select: none;
  transition: color var(--om-duration) var(--om-ease);
}

.om-section__expand summary::-webkit-details-marker {
  display: none;
}

.om-section__expand summary::after {
  content: '+';
  font-size: var(--om-text-sm);
  font-weight: var(--om-weight-bold);
  transition: transform var(--om-duration) var(--om-ease);
}

.om-section__expand[open] summary::after {
  content: '\2212';
}

.om-section__expand summary:hover {
  color: var(--om-text-primary);
}

.om-section__detail {
  padding-top: var(--om-space-5);
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-base);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}

.om-section__detail h3,
.om-section__detail h4 {
  font-family: var(--om-font-display) !important;
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-top: var(--om-space-6);
  margin-bottom: var(--om-space-3);
}

.om-section__detail h3 {
  font-size: var(--om-text-md);
}

.om-section__detail h4 {
  font-size: var(--om-text-base);
}

.om-section__detail p {
  margin-bottom: var(--om-space-4);
}

.om-section__detail p:last-child {
  margin-bottom: 0;
}

.om-section__detail strong {
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
}

.om-section__detail hr {
  border: none;
  border-top: 1px solid var(--om-border-light);
  margin: var(--om-space-6) 0;
}


/* ── Tables ──────────────────────────────────────────────── */

.om-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-sm);
  margin: var(--om-space-5) 0;
}

.om-table thead {
  border-bottom: 2px solid var(--om-text-primary);
}

.om-table th {
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-primary);
  text-align: left;
  padding: var(--om-space-3);
  white-space: nowrap;
}

.om-table td {
  padding: var(--om-space-3);
  border-bottom: 1px solid var(--om-border-light);
  color: var(--om-text-secondary);
  line-height: var(--om-leading-normal);
  vertical-align: top;
}

.om-table tbody tr:last-child td {
  border-bottom: none;
}

.om-table .rag-red { color: var(--om-rag-red); font-weight: var(--om-weight-bold); }
.om-table .rag-amber { color: var(--om-rag-amber); font-weight: var(--om-weight-bold); }
.om-table .rag-green { color: var(--om-rag-green); font-weight: var(--om-weight-bold); }


/* ── Choice Line (blockquote accent) ─────────────────────── */

.om-choice-line {
  border-left: 3px solid var(--om-text-primary);
  padding: var(--om-space-4) var(--om-space-5);
  margin: var(--om-space-6) 0;
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-md);
  font-weight: var(--om-weight-bold);
  line-height: var(--om-leading-snug);
  color: var(--om-text-primary);
  font-style: normal;
}


/* ── Signal Cards (within brief body) ────────────────────── */

.om-signal-card {
  padding: var(--om-space-4) var(--om-space-5);
  border-left: 3px solid var(--om-border-heavy, #333);
  margin-bottom: var(--om-space-4);
}

.om-signal-card__title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-1);
}

.om-signal-card__meta {
  font-size: var(--om-text-xs);
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-2);
}

.om-signal-card__tag {
  display: inline-block;
  font-family: var(--om-font-display) !important;
  font-size: 10px;
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  padding: 2px 6px;
  border: 1px solid var(--om-border-light);
  margin-right: var(--om-space-1);
}

.om-signal-card__body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}


/* ── ICP Profile Cards ───────────────────────────────────── */

.om-icp {
  margin-bottom: var(--om-space-6);
  border: 1px solid var(--om-border-light);
  padding: var(--om-space-5);
}

.om-icp__name {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-md);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-1);
}

.om-icp__subtitle {
  font-size: var(--om-text-sm);
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-4);
}

.om-icp__level {
  margin-bottom: var(--om-space-4);
}

.om-icp__level:last-child {
  margin-bottom: 0;
}

.om-icp__level-title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-2);
}

.om-icp__level-body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}

.om-status {
  display: inline-block;
  font-family: var(--om-font-display) !important;
  font-size: 10px;
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  padding: 2px 8px;
  margin-left: var(--om-space-2);
}

.om-status--fail { color: var(--om-rag-red); border: 1px solid var(--om-rag-red); }
.om-status--partial { color: var(--om-rag-amber); border: 1px solid var(--om-rag-amber); }
.om-status--pass { color: var(--om-rag-green); border: 1px solid var(--om-rag-green); }
.om-status--absent { color: var(--om-text-muted); border: 1px solid var(--om-border-light); }
.om-status--contradicted { color: var(--om-rag-red); border: 1px solid var(--om-rag-red); }


/* ── Decision Cards ──────────────────────────────────────── */

.om-decisions__group {
  margin-bottom: var(--om-space-6);
}

.om-decisions__group-title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-xs);
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  margin-bottom: var(--om-space-3);
  padding-bottom: var(--om-space-2);
  border-bottom: 1px solid var(--om-border-light);
}

.om-decisions__group--do .om-decisions__group-title { color: var(--om-rag-green); }
.om-decisions__group--delay .om-decisions__group-title { color: var(--om-rag-amber); }
.om-decisions__group--drop .om-decisions__group-title { color: var(--om-rag-red); }

.om-decision {
  padding: var(--om-space-3) 0;
  border-bottom: 1px solid var(--om-border-light);
}

.om-decision:last-child {
  border-bottom: none;
}

.om-decision__title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-2);
}

.om-decision__body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}


/* ── Opportunity Territories ─────────────────────────────── */

.om-opportunity {
  margin-bottom: var(--om-space-5);
  padding: var(--om-space-4) var(--om-space-5);
  border-left: 3px solid var(--om-text-primary);
}

.om-opportunity__title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-2);
}

.om-opportunity__meta {
  font-size: var(--om-text-xs);
  color: var(--om-text-tertiary);
  margin-bottom: var(--om-space-2);
}

.om-opportunity__body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}


/* ── Growth Scenario Cards ───────────────────────────────── */

.om-scenario {
  margin-bottom: var(--om-space-5);
  padding: var(--om-space-5);
  border: 1px solid var(--om-border-light);
}

.om-scenario__title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-md);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-3);
}

.om-scenario__impact {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-3);
}

.om-scenario__body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}


/* ── Competitive Archetypes ──────────────────────────────── */

.om-archetype {
  margin-bottom: var(--om-space-5);
  padding: var(--om-space-4) 0;
  border-bottom: 1px solid var(--om-border-light);
}

.om-archetype:last-child {
  border-bottom: none;
}

.om-archetype__title {
  font-family: var(--om-font-display) !important;
  font-size: var(--om-text-base);
  font-weight: var(--om-weight-bold);
  color: var(--om-text-primary);
  margin-bottom: var(--om-space-2);
}

.om-archetype__body {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  line-height: var(--om-leading-normal);
  color: var(--om-text-secondary);
}


/* ── Source List ──────────────────────────────────────────── */

.om-source-list {
  list-style: none;
  padding: 0;
  margin: var(--om-space-4) 0;
  counter-reset: source;
}

.om-source-list li {
  counter-increment: source;
  padding: var(--om-space-2) 0;
  border-bottom: 1px solid var(--om-border-light);
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-sm);
  color: var(--om-text-secondary);
}

.om-source-list li:last-child {
  border-bottom: none;
}

.om-source-list li::before {
  content: counter(source) ".";
  font-weight: var(--om-weight-bold);
  color: var(--om-text-tertiary);
  margin-right: var(--om-space-2);
  font-size: var(--om-text-xs);
}


/* ── Confidence Tags ─────────────────────────────────────── */

.om-confidence {
  display: inline-block;
  font-family: var(--om-font-display) !important;
  font-size: 10px;
  font-weight: var(--om-weight-bold);
  letter-spacing: var(--om-tracking-caps);
  text-transform: uppercase;
  padding: 1px 6px;
}

.om-confidence--h { background: var(--om-grey-100); color: var(--om-text-primary); }
.om-confidence--m { background: var(--om-grey-100); color: var(--om-text-tertiary); }
.om-confidence--l { color: var(--om-text-muted); border: 1px solid var(--om-border-light); }


/* ── Section Footer ──────────────────────────────────────── */

.om-section__footer {
  font-family: var(--om-font-body) !important;
  font-size: var(--om-text-xs);
  color: var(--om-text-muted);
  font-style: italic;
  padding-top: var(--om-space-4);
  border-top: 1px solid var(--om-border-light);
  margin-top: var(--om-space-6);
}


/* ── Responsive ───────────────────────────────────────────── */

@media (max-width: 1024px) {
  .om-brief__rail {
    width: 180px;
  }

  .om-brief__main {
    margin-left: 180px;
  }

  .om-brief__content {
    padding: var(--om-space-6) var(--om-space-5);
  }

  .om-scorecard__forces {
    grid-template-columns: repeat(3, 1fr);
  }

  .om-table {
    font-size: var(--om-text-xs);
  }

  .om-table th,
  .om-table td {
    padding: var(--om-space-2);
  }
}

@media (max-width: 768px) {
  .om-brief {
    flex-direction: column;
  }

  .om-brief__rail {
    position: relative;
    width: 100%;
    height: auto;
    border-right: none;
    border-bottom: 1px solid var(--om-border-light);
  }

  .om-brief__main {
    margin-left: 0;
  }

  .om-brief__hero-title {
    font-size: var(--om-text-2xl);
  }

  .om-brief__content {
    padding: var(--om-space-5) var(--om-space-4);
  }

  .om-brief__hero-meta {
    flex-direction: column;
    gap: var(--om-space-3);
  }

  .om-brief__topbar {
    flex-wrap: wrap;
    gap: var(--om-space-2);
  }

  .om-scorecard__headlines {
    grid-template-columns: 1fr;
  }

  .om-scorecard__forces {
    grid-template-columns: repeat(2, 1fr);
  }

  .om-scorecard__headline-score {
    font-size: var(--om-text-3xl);
  }

  .om-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .om-table thead,
  .om-table tbody,
  .om-table tr {
    display: table;
    width: 100%;
    table-layout: fixed;
  }

  .om-icp {
    padding: var(--om-space-4);
  }

  .om-scenario {
    padding: var(--om-space-4);
  }

  .om-choice-line {
    font-size: var(--om-text-base);
    padding: var(--om-space-3) var(--om-space-4);
  }
}
