.cb-block {
	box-sizing: border-box;
	width: 100%;
	max-width: min(100%, var(--wp--style--global--content-size, var(--cb-container, 760px)));
	margin: calc(var(--cb-space, 24px) * 1.5) 0;
	color: var(--cb-text, #586267);
	font-family: var(--cb-font-body, Arial, sans-serif);
	font-size: var(--cb-font-size, 16px);
	line-height: var(--cb-line-height, 1.65);
	text-align: left;
}
.cb-block *, .cb-block *::before, .cb-block *::after { box-sizing: inherit; }
.cb-block h2, .cb-block h3, .cb-block blockquote { font-family: var(--cb-font-heading, Georgia, serif); }
.cb-block h2, .cb-block h3, .cb-block p, .cb-block figure, .cb-block blockquote { margin-top: 0; }
.cb-block p:last-child { margin-bottom: 0; }
.cb-block.cb-block h2,
.cb-block.cb-block h3,
.cb-block.cb-block p,
.cb-block.cb-block blockquote,
.cb-block.cb-block figcaption,
.cb-block.cb-block .cb-eyebrow,
.cb-block.cb-block .cb-testimonial__stars,
.cb-block.cb-block .cb-callout__label { text-align: left !important; }

/* FAQ */
.cb-faq { max-width: min(100%, var(--wp--style--global--content-size, var(--cb-container, 760px))); }
.cb-faq__item { overflow: hidden; margin-bottom: var(--cb-faq-item-gap, 10px); border: 1px solid var(--cb-border); border-radius: var(--cb-radius); background: #fff; box-shadow: 0 3px 10px rgba(4, 55, 62, .06); }
.cb-faq__heading { margin: 0 !important; font-size: var(--cb-faq-question-size, 15px) !important; line-height: 1.35 !important; }
.cb-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: var(--cb-faq-question-padding-y, 16px) var(--cb-faq-question-padding-x, 24px); border: 0; background: transparent; color: var(--cb-heading); font-family: var(--cb-faq-question-font, var(--cb-font-body)); font-size: var(--cb-faq-question-size, 15px); font-weight: var(--cb-faq-question-weight, 500); line-height: 1.35; text-align: left; cursor: pointer; }
.cb-faq__icon { position: relative; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--cb-aqua); }
.cb-faq__icon::before, .cb-faq__icon::after { content: ''; position: absolute; left: 12px; top: 17px; width: 8px; height: 2px; background: var(--cb-primary); transform: rotate(45deg); transition: transform .2s ease; }
.cb-faq__icon::after { left: 17px; transform: rotate(-45deg); }
.cb-faq__button[aria-expanded="true"] .cb-faq__icon { background: var(--cb-primary); }
.cb-faq__button[aria-expanded="true"] .cb-faq__icon::before { background: white; transform: rotate(-45deg); }
.cb-faq__button[aria-expanded="true"] .cb-faq__icon::after { background: white; transform: rotate(45deg); }
.cb-faq__panel { border-top: 1px solid var(--cb-border); }
.cb-faq__answer { padding: var(--cb-faq-answer-padding-y, 16px) var(--cb-faq-answer-padding-x, 24px); }
.cb-faq__answer > :last-child { margin-bottom: 0 !important; }

/* Keep theme-level button rules from restyling the accordion trigger. */
.cb-block.cb-faq .cb-faq__heading {
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.cb-block.cb-faq button.cb-faq__button,
.cb-block.cb-faq button.cb-faq__button:hover,
.cb-block.cb-faq button.cb-faq__button:focus,
.cb-block.cb-faq button.cb-faq__button:active {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: flex !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	height: auto !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: var(--cb-faq-question-padding-y, 16px) var(--cb-faq-question-padding-x, 24px) !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: var(--cb-heading) !important;
	font-family: var(--cb-faq-question-font, var(--cb-font-body)) !important;
	font-size: var(--cb-faq-question-size, 15px) !important;
	font-style: normal !important;
	font-weight: var(--cb-faq-question-weight, 500) !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	text-decoration: none !important;
	text-indent: 0 !important;
	text-shadow: none !important;
	text-transform: none !important;
	transform: none !important;
	cursor: pointer !important;
}
.cb-block.cb-faq button.cb-faq__button:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--cb-primary) 35%, transparent) !important;
	outline-offset: -3px;
}
.cb-block.cb-faq button.cb-faq__button > span:first-child {
	min-width: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font-family: var(--cb-faq-question-font, var(--cb-font-body)) !important;
	font-size: var(--cb-faq-question-size, 15px) !important;
	font-style: normal !important;
	font-weight: var(--cb-faq-question-weight, 500) !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
}
.cb-block.cb-faq .cb-faq__item .cb-faq__button .cb-faq__question,
.entry-content .cb-block.cb-faq .cb-faq__item .cb-faq__button .cb-faq__question,
.elementor .cb-block.cb-faq .cb-faq__item .cb-faq__button .cb-faq__question {
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--cb-heading) !important;
	font-family: var(--cb-faq-question-font, var(--cb-font-body, Arial, sans-serif)) !important;
	font-size: var(--cb-faq-question-size, 15px) !important;
	font-style: normal !important;
	font-weight: var(--cb-faq-question-weight, 500) !important;
	letter-spacing: 0 !important;
	line-height: 1.35 !important;
	text-align: left !important;
	text-decoration: none !important;
	text-transform: none !important;
	white-space: normal !important;
}
.cb-block.cb-faq button.cb-faq__button .cb-faq__icon {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Testimonials */
.cb-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--cb-testimonial-gap, 20px); align-items: stretch; }
.cb-testimonials--single { max-width: min(100%, var(--wp--style--global--content-size, var(--cb-container, 760px))); }
.cb-testimonial { min-width: 0; margin: 0; padding: var(--cb-testimonial-padding, 24px); border: 1px solid var(--cb-border); border-radius: var(--cb-radius); background: #fff; box-shadow: 0 5px 18px rgba(4, 55, 62, .05); text-align: left; }
.cb-testimonial--dark { border-color: var(--cb-primary); background: var(--cb-primary); color: rgba(255,255,255,.78); box-shadow: 0 10px 25px rgba(4, 55, 62, .14); }
.cb-testimonial__mark { display: block; height: 38px; margin: 0; color: var(--cb-accent); font: 56px/.7 var(--cb-font-heading); }
.cb-testimonial__stars { margin: 0 0 20px; padding: 0; color: var(--cb-coral); font-size: 18px; letter-spacing: 2px; }
.cb-testimonial blockquote { margin: 0 0 26px !important; padding: 0 !important; border: 0 !important; color: inherit; font-size: var(--cb-testimonial-quote-size, 18px); font-style: italic; line-height: 1.55; }
.cb-testimonial blockquote p { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.cb-testimonial figcaption { display: flex; align-items: center; gap: 12px; margin: 0; padding: 0; }
.cb-testimonial figcaption strong, .cb-testimonial figcaption small { display: block; }
.cb-testimonial figcaption strong { color: var(--cb-heading); font-size: var(--cb-testimonial-author-size, 14px); }
.cb-testimonial--dark figcaption strong { color: white; }
.cb-testimonial figcaption small { opacity: .75; }
.cb-testimonial__avatar, .cb-testimonial__initial { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; border-radius: 50%; object-fit: cover; background: var(--cb-aqua); color: var(--cb-primary); font-weight: 700; }

/* CTA */
.cb-cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: var(--cb-cta-content-gap, 24px); overflow: hidden; padding: var(--cb-cta-padding-y, 42px) var(--cb-cta-padding-x, 44px); border-radius: calc(var(--cb-radius) * 1.25); }
.cb-cta--dark { background: var(--cb-primary); color: rgba(255,255,255,.78); }
.cb-cta--dark::after { content: ''; position: absolute; right: var(--cb-decor-cta-right, -60px); top: var(--cb-decor-cta-top, -150px); width: var(--cb-decor-cta-size, 300px); height: var(--cb-decor-cta-size, 300px); border: var(--cb-decor-cta-border, 55px) solid rgba(255,255,255,1); border-radius: var(--cb-decor-radius, 999px); background-image: var(--cb-decor-image, none); background-position: center; background-repeat: no-repeat; background-size: contain; opacity: var(--cb-decor-cta-opacity, .25); pointer-events: none; }
.cb-cta--light { border: 1px solid color-mix(in srgb, var(--cb-primary) 15%, transparent); background: var(--cb-aqua); }
.cb-cta__content { position: relative; z-index: 1; max-width: 620px; text-align: left; }
.cb-eyebrow { margin-bottom: 18px; color: var(--cb-accent); font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cb-cta--light .cb-eyebrow { color: var(--cb-primary); }
.cb-cta h2 { margin-bottom: 18px; color: white; font-size: clamp(30px, 4vw, 46px); font-weight: 500; line-height: 1.12; }
.cb-cta--light h2 { color: var(--cb-heading); font-size: clamp(26px, 3vw, 36px); }
.cb-cta__text { max-width: 570px; }
.cb-cta__actions { position: relative; z-index: 1; display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-start; gap: 12px; text-align: left; }
.cb-cta--dark { align-items: flex-start; flex-direction: column; }
.cb-cta--dark .cb-cta__content, .cb-cta--dark .cb-cta__actions { width: 100%; }
.cb-button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 14px; padding: 12px 25px; border: 1px solid transparent; border-radius: var(--cb-button-radius); font-weight: 700; line-height: 1.2; text-decoration: none !important; transition: transform .2s ease, background .2s ease; }
.cb-button:hover { transform: translateY(-1px); }
.cb-button--primary { background: var(--cb-button-bg); color: var(--cb-button-text) !important; }
.cb-button--primary:hover { background: var(--cb-button-hover); }
.cb-cta--light .cb-button--primary { background: var(--cb-primary); color: white !important; }
.cb-button--secondary, .cb-button--phone { border-color: rgba(255,255,255,.3); color: white !important; }
.cb-cta--light .cb-button--secondary, .cb-cta--light .cb-button--phone { border-color: var(--cb-border); background: white; color: var(--cb-primary) !important; }

/* Keep Elementor/global typography and button rules from overriding CTA internals. */
.cb-block.cb-cta,
.elementor .cb-block.cb-cta,
.entry-content .cb-block.cb-cta {
	color: rgba(255,255,255,.78) !important;
}
.cb-block.cb-cta--light,
.elementor .cb-block.cb-cta--light,
.entry-content .cb-block.cb-cta--light {
	color: var(--cb-text) !important;
}
.cb-block.cb-cta .cb-eyebrow,
.elementor .cb-block.cb-cta .cb-eyebrow,
.entry-content .cb-block.cb-cta .cb-eyebrow {
	color: var(--cb-accent) !important;
	font-family: var(--cb-font-body) !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 700 !important;
	letter-spacing: .16em !important;
	line-height: 1.2 !important;
	text-transform: uppercase !important;
}
.cb-block.cb-cta--light .cb-eyebrow,
.elementor .cb-block.cb-cta--light .cb-eyebrow,
.entry-content .cb-block.cb-cta--light .cb-eyebrow {
	color: var(--cb-primary) !important;
}
.cb-block.cb-cta .cb-cta__title,
.elementor .cb-block.cb-cta .cb-cta__title,
.entry-content .cb-block.cb-cta .cb-cta__title {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: var(--cb-font-heading) !important;
	font-size: clamp(28px, 4vw, var(--cb-cta-title-size, 38px)) !important;
	font-style: normal !important;
	font-weight: 500 !important;
	letter-spacing: normal !important;
	line-height: 1.12 !important;
	text-align: left !important;
	text-decoration: none !important;
	text-transform: none !important;
}
.cb-block.cb-cta--light .cb-cta__title,
.elementor .cb-block.cb-cta--light .cb-cta__title,
.entry-content .cb-block.cb-cta--light .cb-cta__title {
	color: var(--cb-heading) !important;
	font-size: clamp(24px, 3vw, var(--cb-cta-title-size, 38px)) !important;
}
.cb-block.cb-cta .cb-cta__text,
.cb-block.cb-cta .cb-cta__text p,
.elementor .cb-block.cb-cta .cb-cta__text,
.elementor .cb-block.cb-cta .cb-cta__text p,
.entry-content .cb-block.cb-cta .cb-cta__text,
.entry-content .cb-block.cb-cta .cb-cta__text p {
	color: inherit !important;
	font-family: var(--cb-font-body) !important;
	font-size: var(--cb-cta-text-size, var(--cb-font-size)) !important;
	font-weight: 400 !important;
	letter-spacing: normal !important;
	line-height: var(--cb-line-height) !important;
	text-align: left !important;
}
.cb-block.cb-cta a.cb-button,
.elementor .cb-block.cb-cta a.cb-button,
.entry-content .cb-block.cb-cta a.cb-button {
	display: inline-flex !important;
	min-height: 52px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	padding: var(--cb-cta-button-padding-y, 12px) var(--cb-cta-button-padding-x, 25px) !important;
	border-radius: var(--cb-button-radius) !important;
	font-family: var(--cb-font-body) !important;
	font-size: var(--cb-font-size) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	letter-spacing: normal !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
}
.cb-block.cb-cta a.cb-button--primary,
.elementor .cb-block.cb-cta a.cb-button--primary,
.entry-content .cb-block.cb-cta a.cb-button--primary {
	border-color: transparent !important;
	background: var(--cb-button-bg) !important;
	color: var(--cb-button-text) !important;
}
.cb-block.cb-cta a.cb-button--primary:hover,
.elementor .cb-block.cb-cta a.cb-button--primary:hover,
.entry-content .cb-block.cb-cta a.cb-button--primary:hover {
	background: var(--cb-button-hover) !important;
	color: var(--cb-button-text) !important;
}
.cb-block.cb-cta--light a.cb-button--primary,
.elementor .cb-block.cb-cta--light a.cb-button--primary,
.entry-content .cb-block.cb-cta--light a.cb-button--primary {
	background: var(--cb-primary) !important;
	color: #fff !important;
}
.cb-block.cb-cta a.cb-button--secondary,
.elementor .cb-block.cb-cta a.cb-button--secondary,
.entry-content .cb-block.cb-cta a.cb-button--secondary,
.cb-block.cb-cta a.cb-button--phone,
.elementor .cb-block.cb-cta a.cb-button--phone,
.entry-content .cb-block.cb-cta a.cb-button--phone {
	border-color: rgba(255,255,255,.3) !important;
	background: transparent !important;
	color: #fff !important;
}
.cb-block.cb-cta--light a.cb-button--secondary,
.elementor .cb-block.cb-cta--light a.cb-button--secondary,
.entry-content .cb-block.cb-cta--light a.cb-button--secondary,
.cb-block.cb-cta--light a.cb-button--phone,
.elementor .cb-block.cb-cta--light a.cb-button--phone,
.entry-content .cb-block.cb-cta--light a.cb-button--phone {
	border-color: var(--cb-border) !important;
	background: #fff !important;
	color: var(--cb-primary) !important;
}

/* Callouts */
.cb-callouts { max-width: min(100%, var(--wp--style--global--content-size, var(--cb-container, 760px))); }
.cb-callout { margin-bottom: var(--cb-callout-gap, 18px); padding: var(--cb-callout-padding-y, 20px) var(--cb-callout-padding-x, 22px); border: 1.5px solid #65b8c3; border-left-width: 4px; border-radius: var(--cb-radius); background: #fff; }
.cb-callout__label { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; color: #238394; font-size: var(--cb-callout-label-size, 11px); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.cb-callout__label > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 7px; background: var(--cb-aqua); }
.cb-callout h3 { margin-bottom: 6px; color: var(--cb-heading); font-size: var(--cb-callout-title-size, 18px); }
.cb-callout--key-takeaways { background: #e1eeec; }
.cb-callout--what-to-bring { border-color: #ce984d; background: #fff8ed; }
.cb-callout--what-to-bring .cb-callout__label { color: #bd7b2c; }
.cb-callout--important { border-color: #df7653; background: #fff6f2; }
.cb-callout--important .cb-callout__label { color: #d96341; }
.cb-callout--clinical { border-color: #46a8b4; background: var(--cb-primary); color: rgba(255,255,255,.78); }
.cb-callout--clinical h3 { color: white; }
.cb-callout--insurance { background: #edf6f8; }
.cb-callout--pull-quote { padding: 8px 0 8px var(--cb-callout-padding-x, 22px); border-width: 0 0 0 4px; border-color: var(--cb-accent); border-radius: 0; background: transparent; }
.cb-callout--pull-quote > span { color: var(--cb-accent); font: 50px/.7 var(--cb-font-heading); }
.cb-callout--pull-quote blockquote { margin: 10px 0 16px; color: var(--cb-heading); font-size: clamp(20px, 3vw, 26px); font-style: italic; line-height: 1.5; }
.cb-callout--pull-quote figcaption { font-size: 13px; font-weight: 700; }
.cb-callout__body { font-size: var(--cb-callout-body-size, 15px); }
.cb-callout__body > :last-child { margin-bottom: 0 !important; }
.cb-callout__body ul { margin: 0; padding-left: 1.3em; }
.cb-callout__body li { margin-bottom: 5px; }
.cb-callout__body li:last-child { margin-bottom: 0; }


/* Link grid */
.cb-link-grid {
	display: grid;
	grid-template-columns: repeat(var(--cb-link-grid-columns, 3), minmax(0, 1fr));
	gap: var(--cb-link-grid-gap, 18px);
}
.cb-link-card,
.elementor .cb-link-card,
.entry-content .cb-link-card {
	position: relative;
	display: flex !important;
	min-height: var(--cb-link-grid-min-height, 136px);
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: var(--cb-link-grid-padding-y, 26px) var(--cb-link-grid-padding-x, 22px) !important;
	border: 1px solid var(--cb-link-grid-border, var(--cb-primary));
	border-radius: calc(var(--cb-radius) * 1.1);
	background-color: var(--cb-link-grid-bg, var(--cb-primary)) !important;
	background-image: none !important;
	box-shadow: 0 10px 24px rgba(4, 55, 62, .10);
	color: var(--cb-link-grid-text, #fff) !important;
	font-family: var(--cb-font-body) !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease, border-color .28s ease;
}
.cb-link-card::before {
	content: '';
	position: absolute;
	right: var(--cb-decor-link-right, -42px);
	top: var(--cb-decor-link-top, -48px);
	width: var(--cb-decor-link-size, 132px);
	height: var(--cb-decor-link-size, 132px);
	border: var(--cb-decor-link-border, 32px) solid rgba(255,255,255,1);
	border-radius: var(--cb-decor-radius, 999px);
	background-image: var(--cb-decor-image, none);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: var(--cb-decor-link-opacity, .25);
	pointer-events: none;
	transition: transform .28s ease, opacity .28s ease;
}
.cb-link-card:hover,
.cb-link-card:focus-visible {
	border-color: var(--cb-link-grid-hover-bg, var(--cb-primary-dark));
	background-color: var(--cb-link-grid-hover-bg, var(--cb-primary-dark)) !important;
	background-image: none !important;
	box-shadow: 0 16px 34px rgba(4, 55, 62, .16);
	color: var(--cb-link-grid-text, #fff) !important;
	transform: translateY(-2px);
}
.cb-link-card:hover::before,
.cb-link-card:focus-visible::before { opacity: var(--cb-decor-link-opacity, .25); transform: scale(1.04); }
.cb-link-card__content { position: relative; z-index: 1; display: grid; gap: 8px; justify-items: center; }
.cb-link-card__title {
	color: inherit !important;
	font-family: var(--cb-font-body) !important;
	font-size: var(--cb-link-grid-title-size, 18px) !important;
	font-weight: var(--cb-link-grid-title-weight, 700) !important;
	letter-spacing: -.01em;
	line-height: 1.18;
}
.cb-link-card__description {
	max-width: 26ch;
	color: inherit !important;
	font-size: var(--cb-link-grid-desc-size, 14px) !important;
	line-height: 1.35;
	opacity: .82;
}
.cb-link-card__arrow {
	position: absolute;
	right: 18px;
	bottom: 16px;
	z-index: 1;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 50%;
	background: rgba(255,255,255,.12);
	color: inherit;
	font-weight: 700;
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .18s ease, transform .18s ease;
}
.cb-link-card:hover .cb-link-card__arrow,
.cb-link-card:focus-visible .cb-link-card__arrow { opacity: 1; transform: translateX(0); }

@media (max-width: 900px) {
	.cb-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.cb-block { margin: var(--cb-space) 0; }
	.cb-faq__button { padding: var(--cb-faq-question-padding-y, 16px) var(--cb-faq-question-padding-x, 24px); }
	.cb-faq__answer { padding: var(--cb-faq-answer-padding-y, 16px) var(--cb-faq-answer-padding-x, 24px); }
	.cb-testimonials { grid-template-columns: 1fr; }
	.cb-testimonial { padding: var(--cb-testimonial-padding, 24px); }
	.cb-cta { align-items: stretch; flex-direction: column; padding: var(--cb-cta-padding-y, 28px) var(--cb-cta-padding-x, 24px); }
	.cb-cta__actions, .cb-cta--dark .cb-cta__actions { flex-direction: column; }
	.cb-button { width: 100%; }
	.cb-callout { padding: var(--cb-callout-padding-y, 20px) var(--cb-callout-padding-x, 22px); }
	.cb-link-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { .cb-block * { transition: none !important; } }
