/* ============================================================
   Complete Bathroom Remodeling - page components
   hero / page hero / stat strip / service cards / editorial
   splits / process / accessibility / experience / CTA
   ============================================================ */

/* ------------------------------------------------------------
   HOME HERO
   ------------------------------------------------------------ */
.cbr-hero {
    background: var(--cbr-dark);
    color: #fff;
    overflow: hidden;
    isolation: isolate;
}
.cbr-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(720px 460px at 88% -10%, rgba(246, 25, 39, .28), transparent 60%),
        radial-gradient(560px 420px at 0% 105%, rgba(255, 255, 255, .06), transparent 60%);
    z-index: -1;
}
.cbr-hero .cbr-hero__inner {
    align-items: center;
    gap: clamp(2rem, 1rem + 5vw, 4.75rem);
}
.cbr-hero h1 { color: #fff; margin-bottom: .45em; }
.cbr-hero h1 em { font-style: italic; color: var(--mdhi-red-light); }
.cbr-hero .cbr-hero__lead {
    font-size: var(--cbr-lead);
    color: rgba(255, 255, 255, .78);
    max-width: 46ch;
    margin-bottom: 2rem;
}
.cbr-hero .wp-block-buttons { margin-bottom: 2.25rem; }

.cbr-hero__proof {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1.6rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255, 255, 255, .16);
}
.cbr-hero__proof p {
    margin: 0;
    display: flex;
    align-items: center;
    gap: .55rem;
    font-family: var(--cbr-font-body);
    font-weight: 600;
    font-size: .88rem;
    color: rgba(255, 255, 255, .9);
}
.cbr-hero__proof p::before {
    content: "";
    width: 18px; height: 18px;
    flex: none;
    background: var(--mdhi-red-light);
    -webkit-mask: var(--cbr-ico-check) center / contain no-repeat;
            mask: var(--cbr-ico-check) center / contain no-repeat;
}

/* hero media column */
.cbr-hero__media {
    position: relative;
    border-radius: var(--cbr-r-lg);
    overflow: hidden;
    box-shadow: var(--cbr-shadow-lg);
    aspect-ratio: 4 / 5;
    background:
        radial-gradient(120% 90% at 80% 0%, rgba(246, 25, 39, .22), transparent 60%),
        linear-gradient(200deg, #232323, #141414);
    border: 1px solid rgba(255, 255, 255, .08);
    display: flex;
}
.cbr-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cbr-hero__art {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1.5rem;
}
.cbr-hero__art svg { width: 100%; height: 100%; max-height: 100%; }
.cbr-hero__badge {
    position: absolute;
    left: 1.25rem;
    bottom: 1.25rem;
    right: 1.25rem;
    background: rgba(255, 255, 255, .96);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
    color: var(--cbr-heading);
    border-radius: var(--cbr-r);
    padding: 1rem 1.15rem;
    box-shadow: var(--cbr-shadow-md);
    display: flex;
    align-items: center;
    gap: .85rem;
}
.cbr-hero__badge::before {
    content: "";
    width: 42px; height: 42px;
    flex: none;
    border-radius: 11px;
    background: var(--mdhi-red-muted) var(--cbr-ico-award) center / 22px no-repeat;
}
.cbr-hero__badge p { margin: 0; font-size: .82rem; color: var(--cbr-muted); line-height: 1.35; }
.cbr-hero__badge strong { display: block; font-family: var(--cbr-font-display); font-weight: 550; font-size: 1.02rem; color: var(--cbr-heading); }

@media (max-width: 900px) {
    .cbr-hero__media { aspect-ratio: 16 / 11; margin-top: .5rem; }
    .cbr-hero .cbr-hero__lead { max-width: none; }
}

/* ------------------------------------------------------------
   INNER PAGE HERO
   ------------------------------------------------------------ */
.cbr-pagehero {
    background: var(--cbr-dark);
    color: #fff;
    overflow: hidden;
}
.cbr-pagehero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(760px 420px at 90% -25%, rgba(246, 25, 39, .24), transparent 60%);
    z-index: 0;
}
.cbr-pagehero > * { position: relative; z-index: 1; }
.cbr-pagehero h1 { color: #fff; max-width: 22ch; }
.cbr-pagehero .cbr-hero__lead,
.cbr-pagehero > p {
    color: rgba(255, 255, 255, .78);
    font-size: var(--cbr-lead);
    max-width: 62ch;
}
.cbr-pagehero .wp-block-buttons { margin-top: 2rem; }

.cbr-pagehero--split .cbr-hero__inner { align-items: center; gap: clamp(2rem, 1rem + 4vw, 4rem); }
.cbr-pagehero .cbr-hero__media { aspect-ratio: 5 / 4; }
@media (max-width: 900px) { .cbr-pagehero .cbr-hero__media { aspect-ratio: 16 / 10; } }

/* ------------------------------------------------------------
   STAT / CREDENTIALS STRIP
   ------------------------------------------------------------ */
.cbr-stripe {
    background: var(--cbr-darker);
    color: #fff;
    padding-top: clamp(2.5rem, 1.8rem + 2vw, 3.25rem);
    padding-bottom: clamp(2.5rem, 1.8rem + 2vw, 3.25rem);
}
.cbr-stripe .wp-block-columns { gap: 0; align-items: stretch; flex-wrap: wrap !important; }
.cbr-stripe .wp-block-column {
    text-align: center;
    padding: .9rem 1.35rem;
    position: relative;
}
.cbr-stripe .wp-block-column + .wp-block-column::before {
    content: "";
    position: absolute;
    left: 0; top: 14%;
    height: 72%;
    width: 1px;
    background: rgba(255, 255, 255, .14);
}
.cbr-stripe h3 {
    font-family: var(--cbr-font-display);
    color: var(--mdhi-red-light);
    font-size: clamp(2rem, 1.4rem + 2.2vw, 2.9rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1;
    margin: 0 0 .4rem;
}
.cbr-stripe p {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: .88rem;
    font-family: var(--cbr-font-body);
    font-weight: 500;
    letter-spacing: .01em;
}
@media (max-width: 920px) {
    .cbr-stripe .wp-block-column { flex: 1 1 44% !important; padding: 1.15rem .5rem; }
    .cbr-stripe .wp-block-column::before { display: none !important; }
}
@media (max-width: 480px) {
    .cbr-stripe .wp-block-column { flex-basis: 100% !important; }
}

/* ------------------------------------------------------------
   SERVICE / FEATURE CARD GRID
   ------------------------------------------------------------ */
.cbr-cardgrid.wp-block-columns {
    gap: clamp(1rem, .6rem + 1.4vw, 1.6rem);
    margin-top: 2.75rem;
    flex-wrap: wrap !important;
}
.cbr-cardgrid.wp-block-columns:not(:first-of-type) { margin-top: clamp(1rem, .6rem + 1.4vw, 1.6rem); }
.cbr-cardgrid.wp-block-columns > .wp-block-column {
    flex: 1 1 260px !important;
    min-width: 0;
}
@media (max-width: 640px) {
    .cbr-cardgrid.wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
}

.cbr-feature-card.wp-block-group {
    background: #fff;
    border: 1px solid var(--cbr-border);
    border-radius: var(--cbr-r-lg);
    padding: clamp(1.5rem, 1.1rem + 1.2vw, 2.1rem) !important;
    box-shadow: var(--cbr-shadow-xs);
    height: 100%;
    transition: transform var(--cbr-dur) var(--cbr-ease),
                box-shadow var(--cbr-dur) var(--cbr-ease),
                border-color var(--cbr-dur) var(--cbr-ease);
}
.cbr-feature-card.wp-block-group:hover {
    transform: translateY(-6px);
    box-shadow: var(--cbr-shadow-md);
    border-color: rgba(246, 25, 39, .32);
}
.cbr-feature-card h3 {
    color: var(--cbr-heading);
    margin: 1.2rem 0 .5rem;
    font-size: 1.18rem;
}
.cbr-feature-card p { margin: 0; font-size: .97rem; color: var(--cbr-body); }
.cbr-feature-card .cbr-feature-card__link {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: 1.1rem;
    font-family: var(--cbr-font-body);
    font-weight: 650;
    font-size: .9rem;
    color: var(--cbr-accent-dark);
    text-decoration: none;
}
.cbr-feature-card .cbr-feature-card__link::after {
    content: "";
    width: 15px; height: 15px;
    background: currentColor;
    -webkit-mask: var(--cbr-ico-arrow) center / contain no-repeat;
            mask: var(--cbr-ico-arrow) center / contain no-repeat;
    transition: transform var(--cbr-dur) var(--cbr-ease);
}
.cbr-feature-card:hover .cbr-feature-card__link::after { transform: translateX(4px); }

/* icon container */
.cbr-iconbox {
    width: 56px;
    height: 56px;
    border-radius: 15px;
    background: var(--cbr-surface);
    border: 1px solid var(--cbr-hairline);
    display: flex !important;
    align-items: center;
    justify-content: center;
    transition: background var(--cbr-dur) var(--cbr-ease), transform var(--cbr-dur) var(--cbr-ease), border-color var(--cbr-dur) var(--cbr-ease);
}
.cbr-iconbox::before {
    content: "";
    width: 28px; height: 28px;
    background: var(--cbr-accent);
    -webkit-mask: var(--cbr-ico, var(--cbr-ico-sparkle)) center / contain no-repeat;
            mask: var(--cbr-ico, var(--cbr-ico-sparkle)) center / contain no-repeat;
    transition: background var(--cbr-dur) var(--cbr-ease);
}
.cbr-feature-card:hover .cbr-iconbox {
    background: var(--cbr-accent);
    border-color: var(--cbr-accent);
    transform: rotate(-4deg);
}
.cbr-feature-card:hover .cbr-iconbox::before { background: #fff; }

.cbr-iconbox.is-shower,   .cbr-showcase.is-shower   { --cbr-ico: var(--cbr-ico-shower); }
.cbr-iconbox.is-tub,      .cbr-showcase.is-tub      { --cbr-ico: var(--cbr-ico-tub); }
.cbr-iconbox.is-walkin,   .cbr-showcase.is-walkin   { --cbr-ico: var(--cbr-ico-walkin); }
.cbr-iconbox.is-tile,     .cbr-showcase.is-tile     { --cbr-ico: var(--cbr-ico-tile); }
.cbr-iconbox.is-floor,    .cbr-showcase.is-floor    { --cbr-ico: var(--cbr-ico-floor); }
.cbr-iconbox.is-vanity,   .cbr-showcase.is-vanity   { --cbr-ico: var(--cbr-ico-vanity); }
.cbr-iconbox.is-cabinet,  .cbr-showcase.is-cabinet  { --cbr-ico: var(--cbr-ico-cabinet); }
.cbr-iconbox.is-light,    .cbr-showcase.is-light    { --cbr-ico: var(--cbr-ico-light); }
.cbr-iconbox.is-access,   .cbr-showcase.is-access   { --cbr-ico: var(--cbr-ico-access); }
.cbr-iconbox.is-senior,   .cbr-showcase.is-senior   { --cbr-ico: var(--cbr-ico-senior); }
.cbr-iconbox.is-aging,    .cbr-showcase.is-aging    { --cbr-ico: var(--cbr-ico-aging); }
.cbr-iconbox.is-ruler,    .cbr-showcase.is-ruler    { --cbr-ico: var(--cbr-ico-ruler); }
.cbr-iconbox.is-chat,     .cbr-showcase.is-chat     { --cbr-ico: var(--cbr-ico-chat); }
.cbr-iconbox.is-hammer,   .cbr-showcase.is-hammer   { --cbr-ico: var(--cbr-ico-hammer); }
.cbr-iconbox.is-shield,   .cbr-showcase.is-shield   { --cbr-ico: var(--cbr-ico-shield); }
.cbr-iconbox.is-eye,      .cbr-showcase.is-eye      { --cbr-ico: var(--cbr-ico-eye); }
.cbr-iconbox.is-user,     .cbr-showcase.is-user     { --cbr-ico: var(--cbr-ico-user); }
.cbr-iconbox.is-layout,   .cbr-showcase.is-layout   { --cbr-ico: var(--cbr-ico-layout); }
.cbr-iconbox.is-clipboard,.cbr-showcase.is-clipboard{ --cbr-ico: var(--cbr-ico-clipboard); }
.cbr-iconbox.is-sparkle,  .cbr-showcase.is-sparkle  { --cbr-ico: var(--cbr-ico-sparkle); }
.cbr-iconbox.is-award,    .cbr-showcase.is-award    { --cbr-ico: var(--cbr-ico-award); }
.cbr-iconbox.is-clock,    .cbr-showcase.is-clock    { --cbr-ico: var(--cbr-ico-clock); }

/* ------------------------------------------------------------
   EDITORIAL SPLIT  (prose + media / panel)
   ------------------------------------------------------------ */
.cbr-split.wp-block-columns {
    gap: clamp(1.75rem, 1rem + 4vw, 4rem);
    margin-top: 0;
    align-items: center;
}
.cbr-split--top.wp-block-columns { align-items: flex-start; }

.cbr-media {
    border-radius: var(--cbr-r-lg);
    overflow: hidden;
    box-shadow: var(--cbr-shadow-md);
    aspect-ratio: 4 / 3;
}
.cbr-media img { width: 100%; height: 100%; object-fit: cover; }
.cbr-media--tall { aspect-ratio: 3 / 4; }

/* Branded showcase panel - an intentional visual block (not a photo placeholder).
   Large service glyph over a dark red/black field with a quiet tile grid. */
.cbr-showcase.wp-block-group {
    position: relative;
    border-radius: var(--cbr-r-lg);
    padding: clamp(2rem, 1.4rem + 2vw, 3rem) !important;
    min-height: 340px;
    display: flex !important;
    flex-direction: column;
    justify-content: flex-end;
    gap: .5rem;
    color: #fff;
    overflow: hidden;
    background:
        radial-gradient(130% 80% at 85% 0%, rgba(246, 25, 39, .3), transparent 58%),
        linear-gradient(205deg, #262626, #101010);
    border: 1px solid rgba(255, 255, 255, .08);
    box-shadow: var(--cbr-shadow-md);
}
.cbr-showcase.wp-block-group::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
    background-size: 46px 46px;
    -webkit-mask: linear-gradient(180deg, #000, transparent 75%);
            mask: linear-gradient(180deg, #000, transparent 75%);
}
.cbr-showcase__glyph {
    position: absolute;
    top: clamp(1.5rem, 1rem + 2vw, 2.5rem);
    right: clamp(1.5rem, 1rem + 2vw, 2.5rem);
    width: 84px; height: 84px;
    border-radius: 20px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .14);
    display: flex !important;
    align-items: center;
    justify-content: center;
}
.cbr-showcase__glyph::before {
    content: "";
    width: 44px; height: 44px;
    background: var(--mdhi-red-light);
    -webkit-mask: var(--cbr-ico, var(--cbr-ico-shower)) center / contain no-repeat;
            mask: var(--cbr-ico, var(--cbr-ico-shower)) center / contain no-repeat;
}
.cbr-showcase h3 { color: #fff; position: relative; margin: 0; font-size: 1.35rem; }
.cbr-showcase p { color: rgba(255, 255, 255, .74); position: relative; margin: 0; font-size: .96rem; }

.cbr-panel.wp-block-group {
    background: #fff;
    border: 1px solid var(--cbr-border);
    border-radius: var(--cbr-r-lg);
    padding: clamp(1.6rem, 1.1rem + 1.6vw, 2.4rem) !important;
    box-shadow: var(--cbr-shadow-sm);
    height: 100%;
}
.cbr-panel--surface.wp-block-group { background: var(--cbr-surface); box-shadow: none; }
.cbr-panel--dark.wp-block-group {
    background:
        radial-gradient(420px 240px at 100% 0%, rgba(246, 25, 39, .2), transparent 65%),
        var(--cbr-dark);
    border-color: var(--mdhi-charcoal-mid);
    color: rgba(255, 255, 255, .8);
    box-shadow: var(--cbr-shadow-md);
}
.cbr-panel--dark :is(h1, h2, h3, h4) { color: #fff; }
.cbr-panel--dark strong { color: #fff; }
.cbr-panel--dark a { color: var(--mdhi-red-light); }
.cbr-panel .cbr-contact-list p { margin-bottom: .95rem; }
.cbr-panel .cbr-contact-list p:last-child { margin-bottom: 0; }

/* value cards (editorial left-border) */
.cbr-valuecard.wp-block-group {
    background: #fff;
    border: 1px solid var(--cbr-border);
    border-radius: var(--cbr-r);
    border-left: 3px solid var(--cbr-accent);
    padding: 1.5rem 1.6rem !important;
    box-shadow: var(--cbr-shadow-xs);
    height: 100%;
    transition: transform var(--cbr-dur) var(--cbr-ease), box-shadow var(--cbr-dur) var(--cbr-ease);
}
.cbr-valuecard.wp-block-group:hover { transform: translateY(-4px); box-shadow: var(--cbr-shadow-sm); }
.cbr-valuecard h3 { color: var(--cbr-heading); font-size: 1.1rem; margin: 0 0 .45rem; }
.cbr-valuecard p { margin: 0; font-size: .96rem; }

/* ------------------------------------------------------------
   EXPERIENCE BLOCK  (50+ years - editorial, not a stat card)
   ------------------------------------------------------------ */
.cbr-experience.wp-block-columns {
    gap: clamp(1.75rem, 1rem + 4vw, 4.5rem);
    align-items: center;
    margin-top: 0;
}
.cbr-experience__figure {
    font-family: var(--cbr-font-display);
    line-height: .9;
    color: var(--cbr-heading);
}
.cbr-experience__figure .cbr-experience__num {
    display: block;
    font-size: clamp(4.5rem, 2.5rem + 10vw, 9rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    color: var(--cbr-accent);
}
.cbr-experience__figure .cbr-experience__label {
    display: block;
    font-family: var(--cbr-font-body);
    font-size: 1.05rem;
    font-weight: 650;
    letter-spacing: .02em;
    color: var(--cbr-heading);
    margin-top: .75rem;
    max-width: 18ch;
}
.cbr-section--dark .cbr-experience__figure .cbr-experience__label { color: #fff; }
.cbr-experience__figure::after {
    content: "";
    display: block;
    width: 64px;
    height: 3px;
    background: var(--cbr-accent);
    border-radius: 3px;
    margin-top: 1.5rem;
}

/* ------------------------------------------------------------
   PROCESS / STEP TIMELINE
   ------------------------------------------------------------ */
.cbr-steps.wp-block-columns { gap: clamp(1rem, .4rem + 2vw, 2.4rem); margin-top: 3rem; position: relative; }
.cbr-steps.wp-block-columns::before {
    content: "";
    position: absolute;
    left: 9%; right: 9%;
    top: 31px;
    height: 2px;
    background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .26) 0 7px, transparent 7px 15px);
}
.cbr-section:not(.cbr-section--dark) .cbr-steps.wp-block-columns::before {
    background: repeating-linear-gradient(90deg, var(--cbr-border) 0 7px, transparent 7px 15px);
}
.cbr-step.wp-block-column { position: relative; z-index: 1; text-align: center; }
.cbr-step__num {
    width: 62px;
    height: 62px;
    border-radius: var(--cbr-pill);
    background: var(--cbr-accent);
    border: 4px solid #fff;
    margin: 0 auto 1.2rem;
    display: flex !important;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 22px rgba(246, 25, 39, .3);
    font-family: var(--cbr-font-display);
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff;
}
.cbr-section--dark .cbr-step__num { border-color: var(--cbr-dark); }
.cbr-step h3 { font-size: 1.12rem; margin: 0 0 .45rem; }
.cbr-section--dark .cbr-step h3 { color: #fff; }
.cbr-step p { margin: 0; font-size: .96rem; }
.cbr-section--dark .cbr-step p { color: rgba(255, 255, 255, .7); }

@media (max-width: 900px) {
    .cbr-steps.wp-block-columns::before { display: none; }
    .cbr-steps.wp-block-columns { gap: 1.5rem; }
    .cbr-step.wp-block-column {
        text-align: left;
        display: grid;
        grid-template-columns: 54px 1fr;
        column-gap: 1.15rem;
        row-gap: .35rem;
        align-items: center;
    }
    .cbr-step__num { margin: 0; width: 54px; height: 54px; grid-row: span 2; align-self: start; font-size: 1.2rem; }
    .cbr-step.wp-block-column > .wp-block-heading { margin: 0; }
    .cbr-step.wp-block-column p { grid-column: 2; }
}

/* ------------------------------------------------------------
   ACCESSIBILITY HIGHLIGHT SECTION
   ------------------------------------------------------------ */
.cbr-access__inner.wp-block-columns { gap: clamp(1.75rem, 1rem + 4vw, 4rem); align-items: center; }
.cbr-access__list { list-style: none; margin: 1.5rem 0 0; padding: 0; }
.cbr-access__list li {
    display: flex;
    align-items: flex-start;
    gap: .85rem;
    margin: 0 0 1rem;
    font-size: 1rem;
}
.cbr-access__list li::before {
    content: "";
    width: 24px; height: 24px;
    flex: none;
    margin-top: .1rem;
    border-radius: 7px;
    background: var(--mdhi-red-muted) var(--cbr-ico-check) center / 15px no-repeat;
}
.cbr-section--dark .cbr-access__list li::before { background: rgba(255, 255, 255, .12) var(--cbr-ico-check) center / 15px no-repeat; }

.cbr-access-cards.wp-block-columns { gap: 1.25rem; margin-top: 2.75rem; flex-wrap: wrap !important; }
.cbr-access-cards .wp-block-column { flex: 1 1 240px !important; }
.cbr-access-card.wp-block-group {
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: var(--cbr-r-lg);
    padding: 1.75rem !important;
    height: 100%;
}
.cbr-access-card .cbr-iconbox {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .14);
}
.cbr-access-card .cbr-iconbox::before { background: var(--mdhi-red-light); }
.cbr-access-card h3 { color: #fff; font-size: 1.12rem; margin: 1.1rem 0 .5rem; }
.cbr-access-card p { color: rgba(255, 255, 255, .72); font-size: .95rem; margin: 0; }
.cbr-access-card .cbr-feature-card__link { color: var(--mdhi-red-light); }

/* ------------------------------------------------------------
   CHECKLIST  (benefit list)
   ------------------------------------------------------------ */
.cbr-checklist { list-style: none; margin: 1.4rem 0 0; padding: 0; }
.cbr-checklist li {
    position: relative;
    padding-left: 2rem;
    margin: 0 0 .85rem;
    font-size: 1rem;
}
.cbr-checklist li::before {
    content: "";
    position: absolute;
    left: 0; top: .12rem;
    width: 22px; height: 22px;
    border-radius: 7px;
    background: var(--mdhi-red-muted) var(--cbr-ico-check) center / 14px no-repeat;
}
.cbr-checklist li strong { color: var(--cbr-heading); }

/* ------------------------------------------------------------
   BIG CTA BLOCK
   ------------------------------------------------------------ */
.cbr-cta.wp-block-group {
    background:
        radial-gradient(620px 320px at 15% 0%, rgba(246, 25, 39, .26), transparent 60%),
        linear-gradient(180deg, #1c1c1c, #0f0f0f);
    color: #fff;
    overflow: hidden;
}
.cbr-cta::after {
    content: "";
    position: absolute;
    right: -70px; bottom: -70px;
    width: 270px; height: 270px;
    border-radius: 50%;
    border: 42px solid rgba(255, 255, 255, .035);
}
.cbr-cta :is(h2, h3) { color: #fff; }
.cbr-cta p { color: rgba(255, 255, 255, .78); max-width: 640px; margin-inline: auto; }
.cbr-cta .wp-block-buttons { margin-top: 2rem; }

/* ------------------------------------------------------------
   RELATED SERVICES  (service pages)
   ------------------------------------------------------------ */
.cbr-related {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.15rem;
    margin-top: 2.5rem;
}
@media (max-width: 820px) { .cbr-related { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } }
.cbr-related-card {
    display: block;
    background: #fff;
    border: 1px solid var(--cbr-border);
    border-radius: var(--cbr-r);
    padding: 1.4rem;
    height: 100%;
    text-decoration: none;
    transition: transform var(--cbr-dur) var(--cbr-ease), box-shadow var(--cbr-dur) var(--cbr-ease), border-color var(--cbr-dur) var(--cbr-ease);
}
.cbr-related-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--cbr-shadow-sm);
    border-color: rgba(246, 25, 39, .3);
}
.cbr-related-card h3 {
    font-size: 1.02rem;
    margin: .85rem 0 .3rem;
    color: var(--cbr-heading);
}
.cbr-related-card p { margin: 0; font-size: .9rem; color: var(--cbr-muted); }
.cbr-related-card .cbr-iconbox { width: 46px; height: 46px; border-radius: 12px; }
.cbr-related-card .cbr-iconbox::before { width: 22px; height: 22px; }

/* ------------------------------------------------------------
   RICH PROSE
   ------------------------------------------------------------ */
.cbr-prose > .wp-block-heading { margin-top: 1.7em; }
.cbr-prose > .wp-block-heading:first-child { margin-top: 0; }
.cbr-prose h2 { font-size: clamp(1.6rem, 1.3rem + 1.2vw, 2.1rem); }
.cbr-prose h3 { font-size: 1.28rem; margin-top: 1.5em; }
.cbr-prose p { max-width: 70ch; }
.cbr-prose--narrow > * { margin-left: auto; margin-right: auto; }
.cbr-section--dark .cbr-prose p { color: rgba(255, 255, 255, .8); }

/* section intro helpers */
.cbr-lead { font-size: var(--cbr-lead); color: var(--cbr-muted); }
.cbr-section > .cbr-eyebrow { margin-bottom: 1rem; }
.cbr-section > .cbr-eyebrow.has-text-align-center { display: flex; justify-content: center; }

/* two-column body copy */
.cbr-twocol.wp-block-columns { gap: clamp(1.5rem, 1rem + 3vw, 3.5rem); align-items: flex-start; margin-top: 1.5rem; }
