.ocf-budget-guide { background: var(--ocf-bg); }
.ocf-budget-guide__hero { display: grid; grid-template-columns: minmax(8rem, .42fr) minmax(0, 1.6fr) minmax(8rem, .42fr); gap: clamp(1.25rem, 3vw, 3rem); align-items: center; margin-bottom: 1.5rem; }
.ocf-budget-guide__intro { max-width: 46rem; margin: 0 auto; text-align: center; }
.ocf-budget-guide__intro .eyebrow { justify-content: center; }
.ocf-budget-guide__intro .heading-2 { margin: .6rem 0 1rem; }
.ocf-budget-guide__intro .text-body { margin: 0; }
.ocf-budget-guide__image { width: 100%; aspect-ratio: .75; object-fit: cover; border-radius: var(--image-radius); box-shadow: var(--image-shadow); }
.ocf-budget-guide__image--deck { align-self: end; }
.ocf-budget-guide__image--fence { align-self: start; }
.ocf-budget-factors { display: grid; grid-template-columns: minmax(15rem, .75fr) minmax(0, 1.25fr); gap: 2rem; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--ocf-border-light); border-radius: var(--card-radius); background: var(--ocf-bg-alt); }
.ocf-budget-factors .eyebrow { margin: 0 0 .45rem; }
.ocf-budget-factors p:last-child { margin: 0; }
.ocf-budget-factors__list { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--ocf-border-light); }
.ocf-budget-factors__list span { display: grid; gap: .35rem; place-items: center; padding: .5rem; text-align: center; border-right: 1px solid var(--ocf-border-light); }
.ocf-budget-factors__list b { color: var(--ocf-secondary); font-size: .78rem; letter-spacing: .08em; }
.ocf-budget-factors__list em { font-style: normal; font-weight: var(--font-weight-bold); font-size: .9rem; color: var(--ocf-heading); }
.ocf-budget-tables { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; margin-top: 1.25rem; }
.ocf-budget-table { overflow: hidden; border: 1px solid var(--ocf-border-light); border-radius: var(--card-radius); background: var(--ocf-bg); }
.ocf-budget-table__heading { padding: 1.75rem; border-bottom: 1px solid var(--ocf-border-light); }
.ocf-budget-table__heading .eyebrow { margin: 0 0 .5rem; color: var(--ocf-primary); }
.ocf-budget-table__heading h3 { margin: 0 0 .55rem; color: var(--ocf-heading); }
.ocf-budget-table__heading p:last-child { margin: 0; }
.ocf-budget-row { display: grid; grid-template-columns: 1fr auto; gap: .35rem 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--ocf-border-light); }
.ocf-budget-row:last-child { border: 0; }
.ocf-budget-row strong { color: var(--ocf-heading); }
.ocf-budget-row span { color: var(--ocf-primary); font-weight: var(--font-weight-bold); text-align: right; }
.ocf-budget-row small { grid-column: 1 / -1; color: var(--ocf-body); font-size: .86rem; }
.ocf-budget-guide__footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1.25rem; padding: 1.2rem 1.4rem; border: 1px solid var(--ocf-border-light); border-radius: var(--card-radius); background: var(--ocf-bg-alt); }
.ocf-budget-guide__footer div { display: grid; gap: .25rem; }
.ocf-budget-guide__footer strong { color: var(--ocf-heading); }
@media (max-width: 860px) { .ocf-budget-guide__hero { grid-template-columns: 1fr; } .ocf-budget-guide__image { display: none; } .ocf-budget-factors, .ocf-budget-tables { grid-template-columns: 1fr; } .ocf-budget-factors__list { border-top: 1px solid var(--ocf-border-light); border-left: 0; padding-top: 1rem; } }
@media (max-width: 560px) { .ocf-budget-factors__list { grid-template-columns: repeat(2, 1fr); } .ocf-budget-guide__footer { align-items: flex-start; flex-direction: column; } .ocf-budget-guide__footer .button { width: 100%; } }

/* OCF_AGENT_BLOCK:consumer-pricing-guide START */
.ocf-budget-guide__hero { margin-bottom: clamp(1.25rem, 2vw, 2rem); }
.ocf-budget-factors { grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr); padding: clamp(1.2rem, 2.5vw, 2rem); }
.ocf-budget-factors__copy p:last-child { max-width: 28rem; }
.ocf-budget-factors__list { grid-template-columns: repeat(3, 1fr); }
.ocf-budget-factors__list span { min-height: 4.75rem; }
.ocf-budget-factors__list em { line-height: 1.25; }
.ocf-pricing-sections { display: grid; gap: clamp(2.25rem, 5vw, 4rem); margin-top: clamp(2.25rem, 4vw, 3.5rem); }
.ocf-pricing-block__intro { max-width: 52rem; margin-bottom: 1.1rem; }
.ocf-pricing-block__intro h3 { margin: 0 0 .55rem; color: var(--ocf-heading); font-size: clamp(1.35rem, 2.4vw, 1.8rem); }
.ocf-pricing-block__intro p { margin: 0; }
.ocf-pricing-table-wrap { overflow: hidden; border: 1px solid var(--ocf-border-light); border-radius: var(--card-radius); background: var(--ocf-bg); box-shadow: 0 .45rem 1.25rem rgba(17, 24, 39, .045); }
.ocf-pricing-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.ocf-pricing-table th, .ocf-pricing-table td { padding: 1rem 1.2rem; border-bottom: 1px solid var(--ocf-border-light); text-align: left; vertical-align: middle; }
.ocf-pricing-table thead th { background: var(--ocf-primary); color: var(--ocf-heading-alt); font-size: .8rem; font-weight: var(--font-weight-bold); letter-spacing: .025em; line-height: 1.3; }
.ocf-pricing-table tbody th { width: 35%; color: var(--ocf-heading); font-weight: var(--font-weight-bold); }
.ocf-pricing-table tbody td { color: var(--ocf-body); font-weight: var(--font-weight-bold); }
.ocf-pricing-table tbody td:last-child { color: var(--ocf-primary); }
.ocf-pricing-table tbody tr:last-child th, .ocf-pricing-table tbody tr:last-child td { border-bottom: 0; }
.ocf-pricing-table tbody tr:nth-child(even) { background: var(--ocf-bg-alt); }
.ocf-pricing-table--two-col th, .ocf-pricing-table--two-col td { width: 50%; }
.ocf-pricing-note { margin: .85rem 0 0; padding-left: 1rem; border-left: 3px solid var(--ocf-secondary); color: var(--ocf-body); font-size: .92rem; line-height: 1.6; }
.ocf-budget-info-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: clamp(2.5rem, 5vw, 4rem); }
.ocf-budget-info-card { padding: 1.35rem; border: 1px solid var(--ocf-border-light); border-radius: var(--card-radius); background: var(--ocf-bg-alt); box-shadow: 0 .35rem 1rem rgba(17, 24, 39, .03); }
.ocf-budget-info-card h3 { margin: 0 0 .65rem; color: var(--ocf-heading); font-size: 1.1rem; line-height: 1.35; }
.ocf-budget-info-card p { margin: 0; font-size: .93rem; line-height: 1.65; }
.ocf-budget-guide__footer { margin-top: clamp(1.5rem, 3vw, 2.5rem); padding: 1.35rem 1.5rem; }
.ocf-budget-guide__footer span { max-width: 50rem; font-size: .92rem; line-height: 1.55; }
@media (max-width: 860px) { .ocf-budget-info-cards { grid-template-columns: 1fr; gap: .75rem; } .ocf-budget-info-card { padding: 1.2rem; } }
@media (max-width: 640px) { .ocf-budget-factors__list { grid-template-columns: repeat(2, 1fr); } .ocf-pricing-table-wrap { overflow: visible; border: 0; background: transparent; box-shadow: none; } .ocf-pricing-table, .ocf-pricing-table tbody, .ocf-pricing-table tr, .ocf-pricing-table th, .ocf-pricing-table td { display: block; width: 100%; } .ocf-pricing-table thead { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .ocf-pricing-table tbody { display: grid; gap: .65rem; } .ocf-pricing-table tbody tr { overflow: hidden; border: 1px solid var(--ocf-border-light); border-radius: var(--radius-sm); background: var(--ocf-bg); box-shadow: 0 .25rem .75rem rgba(17, 24, 39, .035); } .ocf-pricing-table tbody tr:nth-child(even) { background: var(--ocf-bg); } .ocf-pricing-table tbody th, .ocf-pricing-table tbody td { padding: .72rem .9rem; border-bottom: 1px solid var(--ocf-border-light); } .ocf-pricing-table tbody th { background: var(--ocf-bg-alt); } .ocf-pricing-table tbody td { display: grid; grid-template-columns: minmax(8rem, .9fr) 1.1fr; gap: .5rem; } .ocf-pricing-table tbody td::before { content: attr(data-label); color: var(--ocf-body); font-size: .75rem; font-weight: var(--font-weight-bold); line-height: 1.3; } .ocf-pricing-table tbody tr:last-child th, .ocf-pricing-table tbody tr:last-child td { border-bottom: 1px solid var(--ocf-border-light); } .ocf-pricing-table tbody tr td:last-child { border-bottom: 0; } .ocf-pricing-note { margin-top: .9rem; } }
@media (max-width: 420px) { .ocf-budget-factors__list { grid-template-columns: 1fr; } .ocf-budget-factors__list span { border-bottom: 1px solid var(--ocf-border-light); } .ocf-budget-factors__list span:last-child { border-bottom: 0; } .ocf-pricing-table tbody td { grid-template-columns: 1fr; gap: .2rem; } }
/* OCF_AGENT_BLOCK:consumer-pricing-guide END */

/* OCF_AGENT_BLOCK:budget-guide-pricing-polish START */
.ocf-budget-factors__list span { gap: .2rem; padding: .35rem .45rem; }
.ocf-budget-factors__list small { display: block; color: var(--ocf-body); font-size: .72rem; font-weight: var(--font-weight-normal); line-height: 1.25; }
.ocf-budget-info-card h3 { color: var(--ocf-heading); font-family: var(--ocf-font-heading); font-size: 1.18rem; font-weight: var(--font-weight-bold); line-height: 1.3; }
.ocf-budget-guide__footer .button-primary { flex: 0 0 auto; white-space: nowrap; }
@media (max-width: 640px) { .ocf-budget-factors__list span { padding: .45rem; } .ocf-budget-factors__list small { font-size: .7rem; } }
@media (max-width: 560px) { .ocf-budget-guide__footer .button-primary { width: 100%; } }
/* OCF_AGENT_BLOCK:budget-guide-pricing-polish END */

/* OCF_AGENT_BLOCK:budget-guide-estimate-cta START */
.ocf-budget-guide__footer .button.button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: .75rem 1rem;
    border: 0;
    border-radius: var(--button-radius);
    background: var(--ocf-primary);
    box-shadow: var(--button-shadow);
    color: var(--ocf-heading-alt);
    font-size: var(--font-button-size);
    font-weight: var(--font-weight-semibold);
    line-height: 1.2;
    transition: background var(--duration) var(--ease), box-shadow var(--duration) var(--ease), transform var(--duration) var(--ease);
}
.ocf-budget-guide__footer .button.button-primary:hover,
.ocf-budget-guide__footer .button.button-primary:focus-visible {
    background: var(--ocf-primary-hover);
    box-shadow: var(--button-shadow-hover);
    color: var(--ocf-heading-alt);
    transform: var(--button-transform-hover);
}
.ocf-budget-guide__footer .button.button-primary:focus-visible {
    outline: 2px solid var(--ocf-secondary);
    outline-offset: 3px;
}
/* OCF_AGENT_BLOCK:budget-guide-estimate-cta END */
