.ocf-pricing { background: var(--ocf-bg); }
.ocf-pricing-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(18rem, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.ocf-pricing-content .heading-2 { margin: .45rem 0 0; }
.ocf-pricing-intro { max-width: 76ch; margin: 1rem 0 1.75rem; line-height: 1.65; }
.ocf-pricing-table-wrap { overflow-x: auto; border: 1px solid var(--ocf-border-light); border-radius: var(--card-radius); background: var(--ocf-bg); }
.ocf-pricing-table { width: 100%; min-width: 47rem; border-collapse: collapse; table-layout: fixed; color: var(--ocf-body); font-size: .86rem; line-height: 1.52; }
.ocf-pricing-table th, .ocf-pricing-table td { padding: 1rem 1.05rem; vertical-align: top; text-align: left; border-bottom: 1px solid var(--ocf-border-light); }
.ocf-pricing-table thead th { background: var(--ocf-bg-alt); color: var(--ocf-heading); font-family: var(--ocf-font-heading), sans-serif; font-size: .76rem; font-weight: var(--font-weight-bold); letter-spacing: .02em; line-height: 1.35; }
.ocf-pricing-table thead th:nth-child(1) { width: 22%; }
.ocf-pricing-table thead th:nth-child(2) { width: 23%; }
.ocf-pricing-table thead th:nth-child(3) { width: 55%; }
.ocf-pricing-table tbody tr:last-child > * { border-bottom: 0; }
.ocf-pricing-table tbody th { color: var(--ocf-heading); font-family: var(--ocf-font-heading), sans-serif; font-weight: var(--font-weight-bold); }
.ocf-pricing-range { color: var(--ocf-primary); font-weight: var(--font-weight-bold); white-space: nowrap; }
.ocf-pricing-note { margin: .8rem 0 0; color: var(--ocf-body); font-size: .78rem; font-style: italic; line-height: 1.5; }
.ocf-pricing-media { min-height: 100%; overflow: hidden; border-radius: var(--image-radius); background: var(--ocf-bg-alt); box-shadow: var(--image-shadow); }
.ocf-pricing-media img { display: block; width: 100%; height: clamp(40rem, 63vw, 56rem); object-fit: cover; }
.ocf-pricing-callout { display: grid; grid-template-columns: minmax(16rem, .8fr) minmax(0, 2.2fr); gap: 2rem; margin-top: clamp(2rem, 4vw, 3.5rem); padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid var(--ocf-border-light); border-left: 4px solid var(--ocf-primary); border-radius: var(--card-radius); background: var(--ocf-bg-alt); }
.ocf-pricing-callout h3 { margin: 0; color: var(--ocf-heading); font-size: clamp(1.15rem, 1.7vw, 1.4rem); line-height: 1.3; }
.ocf-pricing-callout p { margin: 0; color: var(--ocf-body); line-height: 1.65; }
@media (max-width: 860px) { .ocf-pricing-grid { grid-template-columns: 1fr; gap: 1.75rem; } .ocf-pricing-media img { height: clamp(24rem, 105vw, 38rem); } .ocf-pricing-callout { grid-template-columns: 1fr; gap: .7rem; } }
@media (max-width: 540px) { .ocf-pricing-table { font-size: .82rem; } .ocf-pricing-table th, .ocf-pricing-table td { padding: .85rem .8rem; } }

/* OCF_AGENT_BLOCK:pricing-media-match-content-height START */
@media (min-width: 861px) {
  .ocf-pricing-grid { align-items: stretch; }
  .ocf-pricing-media { display: flex; height: auto; }
  .ocf-pricing-media img { height: 100%; min-height: 100%; object-fit: cover; }
}
/* OCF_AGENT_BLOCK:pricing-media-match-content-height END */

/* OCF_AGENT_BLOCK:pricing-table-scanability START */
.ocf-pricing-table thead th:nth-child(1) { width: 25%; }
.ocf-pricing-table thead th:nth-child(2) { width: 25%; }
.ocf-pricing-table thead th:nth-child(3) { width: 50%; }
.ocf-pricing-table th,
.ocf-pricing-table td { padding: .8rem 1.05rem; vertical-align: top; }
.ocf-pricing-table tbody th { line-height: 1.4; }
.ocf-pricing-table tbody td:last-child { line-height: 1.58; }
@media (min-width: 861px) {
  .ocf-pricing-callout { grid-template-columns: minmax(22rem, 1.15fr) minmax(0, 1.85fr); align-items: start; }
}
@media (max-width: 540px) {
  .ocf-pricing-table th,
  .ocf-pricing-table td { padding: .72rem .8rem; }
}
/* OCF_AGENT_BLOCK:pricing-table-scanability END */
