.insurance-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .insurance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.table-sortable th[data-sort-key] {
  cursor: pointer;
}

.table-sortable th[data-sort-key]:hover {
  color: rgb(30 158 152);
}

.disclosure {
  border-left: 4px solid rgb(39 190 184);
  background: rgb(240 253 250);
  padding: 1rem;
  border-radius: 0.75rem;
}

.review-byline {
  font-size: 0.875rem;
  color: rgb(107 114 128);
}

.cro-sticky {
  position: sticky;
  top: 5.5rem;
  z-index: 20;
}

.cro-summary-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .cro-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.faq-jump a {
  color: rgb(30 158 152);
  text-decoration: underline;
}

.hub-prose {
  max-width: 48rem;
}

.hub-prose h2 {
  font-family: var(--font-display, ui-sans-serif, system-ui);
  font-size: 1.5rem;
  font-weight: 700;
  color: rgb(17 24 39);
  margin-top: 2rem;
  margin-bottom: 0.75rem;
}

.hub-prose h3 {
  font-family: var(--font-display, ui-sans-serif, system-ui);
  font-size: 1.125rem;
  font-weight: 600;
  color: rgb(31 41 55);
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}

.hub-prose p,
.hub-prose li {
  color: rgb(55 65 81);
  line-height: 1.7;
  font-size: 1rem;
}

.hub-prose ul {
  list-style: disc;
  padding-left: 1.25rem;
  margin: 0.75rem 0 1rem;
}

.hub-prose li {
  margin-bottom: 0.35rem;
}

.affiliate-disclosure {
  border: 1px solid rgba(234, 88, 12, 0.35);
  background: linear-gradient(135deg, rgba(255, 247, 237, 0.95), rgba(255, 255, 255, 0.98));
  border-radius: 1rem;
  padding: 1rem 1.25rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: rgb(67 56 41);
}

.table-actions a {
  font-weight: 600;
}

.table-actions a:hover {
  text-decoration: underline;
}

.hub-estimator-cta .btn-primary,
.hub-estimator-cta .btn-secondary {
  text-decoration: none;
}

@media (max-width: 640px) {
  .cro-sticky {
    position: relative;
    top: auto;
  }
}
