/**
 * Braced for Scoliosis: design details the block editor cannot express on its own.
 * Colours, fonts, sizes and spacing all come from theme.json presets.
 * Loaded on the front end and inside the editor so both look the same.
 */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { overflow-x: clip; -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) :focus-visible { outline: 2px solid var(--wp--preset--color--sage); outline-offset: 3px; }
.wp-element-button, .wp-block-button__link { transition: background-color .25s, color .25s, transform .25s, border-color .25s; }
.wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); }
.has-forest-gradient-background .wp-block-button.is-style-outline .wp-block-button__link,
.is-style-band-forest .wp-block-button.is-style-outline .wp-block-button__link,
.is-style-card-forest .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: #fff; }
.is-style-band-forest .wp-block-button.is-style-outline .wp-block-button__link:hover,
.is-style-card-forest .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--forest); }
.is-style-band-rose .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--wp--preset--color--rose-dark); border-color: var(--wp--preset--color--rose-dark); }
.is-style-band-rose .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--rose-dark); border-color: var(--wp--preset--color--rose-dark); }

/* Highlighted words in headings: use the editor's Highlight tool on any word. */
:is(h1, h2, h3) mark {
	color: var(--wp--preset--color--forest) !important;
	background-color: transparent !important;
	background-image: linear-gradient(transparent 58%, var(--wp--preset--color--mint-strong) 58%, var(--wp--preset--color--mint-strong) 94%, transparent 94%);
	padding: 0 .08em;
	border-radius: 6px;
}
.has-white-color :is(h1, h2, h3) mark, :is(h1, h2, h3).has-white-color mark { color: #fff !important; background-image: linear-gradient(transparent 58%, rgba(255,255,255,.18) 58%, rgba(255,255,255,.18) 94%, transparent 94%); }

/* Eyebrow label with a short line before it */
p.is-style-eyebrow { display: flex; align-items: center; gap: .6rem; }
p.is-style-eyebrow::before { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--wp--preset--color--sage); flex: none; }
p.is-style-eyebrow.has-text-align-center { justify-content: center; }
p.is-style-eyebrow.has-text-align-center::after { content: ""; width: 22px; height: 2px; border-radius: 2px; background: var(--wp--preset--color--sage); flex: none; }
.has-white-color p.is-style-eyebrow, p.is-style-eyebrow.has-white-color { color: #CFE2D6 !important; }

p.is-style-chip { display: inline-block; width: fit-content; }

/* Numbered circle */
p.is-style-number {
	width: 2.75rem; height: 2.75rem; border-radius: 50%; display: grid; place-items: center; flex: none;
	font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 1rem; line-height: 1;
	background: var(--wp--preset--color--forest); color: #fff; margin: 0;
}

/* ---------- Page hero with soft glow ---------- */
.is-style-hero { position: relative; isolation: isolate; overflow-x: clip; }
.is-style-hero::before,
.is-style-hero::after { content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none; }
.is-style-hero::before { width: 640px; height: 640px; right: -180px; top: -160px; background: radial-gradient(circle, var(--wp--preset--color--mint-strong), transparent 70%); }
.is-style-hero::after { width: 520px; height: 520px; left: -220px; bottom: -300px; background: radial-gradient(circle, var(--wp--preset--color--mint) 0%, rgba(228,239,232,.5) 35%, transparent 70%); }

/* ---------- Image frame with floating badges ---------- */
.is-style-media-frame { position: relative; max-width: 520px; margin-inline: auto; width: 100%; }
.is-style-media-frame::before { content: ""; position: absolute; inset: 26px -20px -20px 26px; border: 1.5px solid var(--wp--preset--color--sage); border-radius: 40px; opacity: .5; z-index: 0; pointer-events: none; }
.is-style-media-frame > .wp-block-image { position: relative; z-index: 1; margin: 0; }
.is-style-media-frame > .wp-block-image img { border-radius: 40px; box-shadow: var(--wp--preset--shadow--lifted); display: block; width: 100%; }
.is-style-media-frame > .is-style-badge-top,
.is-style-media-frame > .is-style-badge-bottom,
.is-style-media-frame > .is-style-tag-forest { position: absolute; z-index: 2; width: max-content; max-width: 290px; margin: 0 !important; }
.is-style-media-frame > .is-style-badge-top { top: 36px; right: -30px; }
.is-style-media-frame > .is-style-badge-bottom { bottom: 40px; left: -36px; }
.is-style-media-frame > .is-style-tag-forest { bottom: 32px; right: -24px; }
.is-style-badge-top p, .is-style-badge-bottom p, .is-style-tag-forest p { margin: 0; }
.is-style-badge-top .wp-block-icon, .is-style-badge-bottom .wp-block-icon { flex: none; }
.is-style-media-frame.is-wide { max-width: none; }
.is-style-media-frame.is-wide::before { display: none; }
@media (prefers-reduced-motion: no-preference) {
	.is-style-media-frame > .is-style-badge-top, .is-style-media-frame > .is-style-badge-bottom { animation: bfs-bob 5s ease-in-out infinite; }
	.is-style-media-frame > .is-style-badge-bottom { animation-delay: 1.4s; }
}
@keyframes bfs-bob { 50% { transform: translateY(-8px); } }

/* ---------- Stats with dividers ---------- */
.is-style-stats { flex-wrap: nowrap !important; }
.is-style-stats > * { padding: .2rem 1.4rem; border-left: 1.5px solid var(--wp--preset--color--forest); margin: 0 !important; }
.is-style-stats > *:first-child { padding-left: 0; border-left: 0; }
.is-style-stats p { margin: 0; }
.is-style-stats .bfs-stat-value { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: clamp(1.5rem, 2.6vw, 2.125rem); line-height: 1.1; color: var(--wp--preset--color--forest); }
.is-style-stats .bfs-stat-label { font-size: .6875rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted); white-space: nowrap; margin-top: .25rem !important; }

/* ---------- Bands and cards ---------- */
.is-style-band-forest, .is-style-band-mint { position: relative; overflow: hidden; isolation: isolate; }
.is-style-band-forest::after { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; border: 44px solid rgba(255,255,255,.06); right: -100px; top: -120px; z-index: -1; pointer-events: none; }
.is-style-band-mint::after { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%; border: 40px solid rgba(255,255,255,.45); right: -90px; bottom: -120px; z-index: -1; pointer-events: none; }
.is-style-band-forest p:not(.is-style-eyebrow):not(.is-style-chip), .is-style-card-forest p:not(.is-style-eyebrow):not(.is-style-chip) { color: #D3E2D8; }
.is-style-band-forest .is-style-chip, .is-style-card-forest .is-style-chip { background: rgba(255,255,255,.14); color: #fff; }

.bfs-lift > * { transition: transform .35s ease, box-shadow .35s ease; }
.bfs-lift > *:hover { transform: translateY(-6px); box-shadow: var(--wp--preset--shadow--lifted); }
.bfs-equal > * { height: 100%; }
.is-style-card > .wp-block-image:first-child, .is-style-card-mint > .wp-block-image:first-child { margin-top: calc(-1 * var(--wp--preset--spacing--50)); margin-left: calc(-1 * var(--wp--preset--spacing--50)); margin-right: calc(-1 * var(--wp--preset--spacing--50)); }
.is-style-card > .wp-block-image:first-child img { border-radius: 27px 27px 0 0; }
.is-style-card { overflow: hidden; }

/* Section with forest background on its top half (treatment cards) */
.is-style-forest-top { position: relative; isolation: isolate; }
.is-style-forest-top::before { content: ""; position: absolute; inset: 0 0 38% 0; background: var(--wp--preset--gradient--forest); z-index: -1; }

/* ---------- Lists ---------- */
ul.is-style-ticks, ul.is-style-crosses { list-style: none; display: grid; gap: .75rem; }
ul.is-style-ticks li, ul.is-style-crosses li { display: flex; gap: .75rem; align-items: flex-start; }
ul.is-style-ticks li::before, ul.is-style-crosses li::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; margin-top: .05em; background-position: center; background-repeat: no-repeat; background-size: 12px; }
ul.is-style-ticks li::before { background-color: var(--wp--preset--color--forest); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
ul.is-style-crosses li::before { background-color: #EADBD7; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239B5A50' stroke-width='3'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E"); }
.is-style-band-forest ul.is-style-ticks li::before, .is-style-card-forest ul.is-style-ticks li::before { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E4A3B' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
.is-style-band-forest ul.is-style-ticks li, .is-style-card-forest ul.is-style-ticks li { color: #fff; }

/* ---------- Testimonial and quote ---------- */
.wp-block-quote.is-style-testimonial { border-left: 0; margin: 0; }
.wp-block-quote.is-style-testimonial::before { content: ""; display: block; width: 48px; height: 48px; border-radius: 16px; margin-bottom: 1.25rem; background: var(--wp--preset--color--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232E4A3B'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5H3v7h4c0 4-2 5-4 5v4zm11 0c3 0 7-1 7-8V5h-7v7h4c0 4-2 5-4 5v4z'/%3E%3C/svg%3E") center/22px no-repeat; }
.wp-block-quote.is-style-testimonial p { font-weight: 600; }
.wp-block-quote.is-style-testimonial cite { display: block; margin-top: 1rem; font-family: var(--wp--preset--font-family--body); font-size: var(--wp--preset--font-size--x-small); font-weight: 600; font-style: normal; color: var(--wp--preset--color--muted); }

/* ---------- Schedule table (wearing-in diary) ---------- */
.wp-block-table.is-style-schedule { border-radius: 28px; overflow: hidden; border: 1px solid var(--wp--preset--color--line); box-shadow: var(--wp--preset--shadow--soft); }
.wp-block-table.is-style-schedule table { border-collapse: collapse; width: 100%; }
.wp-block-table.is-style-schedule :is(td, th) { border: 0; border-bottom: 1px solid var(--wp--preset--color--line); padding: 1rem 1.4rem; text-align: left; vertical-align: top; }
.wp-block-table.is-style-schedule thead th { background: var(--wp--preset--color--forest); color: #fff; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.wp-block-table.is-style-schedule td:first-child { font-family: var(--wp--preset--font-family--heading); font-weight: 800; color: var(--wp--preset--color--forest); white-space: nowrap; width: 9rem; }
.wp-block-table.is-style-schedule tbody tr:last-child td { background: var(--wp--preset--color--mint); border-bottom: 0; }
.wp-block-table.is-style-schedule thead { border-bottom: 0; }

/* ---------- Accordion (FAQs) ---------- */
.wp-block-accordion { display: grid; gap: .75rem; }
.wp-block-accordion-item { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 22px; overflow: hidden; margin: 0 !important; }
.wp-block-accordion-heading { margin: 0 !important; font-size: var(--wp--preset--font-size--large) !important; line-height: 1.35; }
.wp-block-accordion-heading__toggle { padding: 1.3rem 1.5rem !important; gap: 1rem; font-weight: 600; }
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title { text-decoration: none; color: var(--wp--preset--color--forest); }
.wp-block-accordion-heading__toggle-icon { width: 2rem !important; height: 2rem !important; border-radius: 50%; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); flex: none; font-size: 1.1rem; }
.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon { background: var(--wp--preset--color--forest); color: #fff; }
.wp-block-accordion-panel { padding: 0 1.5rem 1.4rem; color: var(--wp--preset--color--muted); }
.wp-block-accordion-panel > * + * { margin-top: .8rem; }

/* ---------- Treatment journey (step tracker) ---------- */
.bfs-journey { border: 1px solid var(--wp--preset--color--line); border-radius: 24px; overflow: hidden; box-shadow: var(--wp--preset--shadow--soft); background: #fff; }
.bfs-journey > * { margin: 0 !important; }
.bfs-journey > * + * { border-left: 1px solid var(--wp--preset--color--line); }
.bfs-journey .is-style-step-current { box-shadow: inset 0 -4px 0 var(--wp--preset--color--sage); }
.bfs-journey a { text-decoration: none; color: inherit; }
.bfs-journey a:hover { text-decoration: underline; }
.bfs-journey .is-style-step-current p.is-style-number { background: #fff; color: var(--wp--preset--color--forest); }
.bfs-journey .is-style-step p.is-style-number { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); }
.bfs-journey p { margin: 0; }

/* ---------- Before / after labels on cover blocks ---------- */
.bfs-before-after .wp-block-cover__inner-container { width: 100% !important; }
.bfs-before-after p.is-style-chip { background: rgba(255,255,255,.94); box-shadow: var(--wp--preset--shadow--soft); text-transform: uppercase; letter-spacing: .08em; }

/* ---------- Header ---------- */
header.wp-block-template-part { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) - 2.75rem); z-index: 50; }
.bfs-topbar { min-height: 2.75rem; }
.bfs-topbar a { color: inherit; text-decoration: none; }
.bfs-topbar a:hover { color: #fff; text-decoration: underline; }
.bfs-topbar p { margin: 0; white-space: nowrap; }
/* Solid background: a blur (backdrop-filter) here would trap the mobile menu overlay inside the header. */
.bfs-header-main { background: rgba(245, 248, 244, .97); box-shadow: 0 1px 0 var(--wp--preset--color--line); }
.bfs-header-main .wp-block-site-logo img { height: auto; }
.bfs-call a { text-decoration: none; color: var(--wp--preset--color--ink); }
.bfs-call p { margin: 0; line-height: 1.2; }

/* Navigation */
.wp-block-navigation .wp-block-navigation-item__content { padding: .55rem .9rem; border-radius: 999px; text-decoration: none; transition: background-color .2s; }
.wp-block-navigation:not(.has-modal-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); }
.wp-block-navigation .wp-block-navigation__submenu-container { border: 0 !important; border-radius: 18px; padding: .5rem !important; box-shadow: var(--wp--preset--shadow--lifted); min-width: 230px !important; }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { border-radius: 12px; padding: .55rem .9rem; display: block; }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--mint); }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; background: var(--wp--preset--color--base) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap: .25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.125rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; padding: 0 0 .5rem 1rem !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .5rem 0; }

/* ---------- Footer ---------- */
.bfs-footer a { color: var(--wp--preset--color--muted); text-decoration: none; }
.bfs-footer a:hover { color: var(--wp--preset--color--forest); text-decoration: underline; }
.bfs-footer .wp-block-button__link { color: inherit; }
.bfs-footer .wp-block-button:not(.is-style-outline) .wp-block-button__link { color: #fff; }
ul.bfs-plain-list { list-style: none; padding: 0; display: grid; gap: .6rem; }
.bfs-footer .bfs-accreds img { background: #fff; border-radius: 12px; padding: 6px; height: 54px; width: auto; object-fit: contain; }

/* Floating WhatsApp button (a Social Icons block in the footer) */
.bfs-wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 60; margin: 0 !important; }
.bfs-wa-float .wp-social-link { width: 58px; height: 58px; box-shadow: 0 10px 30px -8px rgba(37, 211, 102, .6); transition: transform .25s; }
.bfs-wa-float .wp-social-link:hover { transform: scale(1.08); }
.bfs-wa-float .wp-social-link a { width: 100%; height: 100%; display: grid; place-items: center; padding: 0; }
.bfs-wa-float .wp-social-link svg { width: 28px; height: 28px; }

/* ---------- Blog cards (Query Loop) ---------- */
.bfs-post-card { height: 100%; display: flex; flex-direction: column; }
.bfs-post-card .wp-block-post-featured-image { margin: 0; }
.bfs-post-card .wp-block-post-featured-image img { aspect-ratio: 16/10; object-fit: cover; width: 100%; }
.bfs-post-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.bfs-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--forest); }
.bfs-post-card .wp-block-read-more { margin-top: auto; font-weight: 600; text-decoration: none; }
.wp-block-query-pagination a { text-decoration: none; }

/* ---------- Breadcrumbs ---------- */
.wp-block-breadcrumbs a { color: var(--wp--preset--color--forest); font-weight: 600; text-decoration: none; }
.wp-block-breadcrumbs a:hover { text-decoration: underline; }

/* ---------- Sticky sidebars ---------- */
@media (min-width: 961px) { .bfs-sticky { position: sticky; top: 7rem; } }

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.is-style-media-frame { max-width: 560px; }
}
@media (max-width: 781px) {
	.is-style-stats > * { padding: .2rem .8rem; }
	.is-style-stats .bfs-stat-label { white-space: normal; font-size: .625rem; }
	.bfs-journey > * + * { border-left: 0; border-top: 1px solid var(--wp--preset--color--line); }
	.wp-block-table.is-style-schedule td:first-child { width: auto; white-space: normal; }
}
@media (max-width: 600px) {
	.is-style-media-frame::before { inset: 18px -8px -12px 18px; }
	.is-style-media-frame > .is-style-badge-top { right: -6px; top: 18px; }
	.is-style-media-frame > .is-style-badge-bottom { left: -6px; bottom: 20px; }
	.is-style-media-frame > .is-style-tag-forest { right: -6px; bottom: 14px; }
	.is-style-band-forest, .is-style-band-mint, .is-style-band-rose { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
	.bfs-wa-float { right: 14px; bottom: 14px; }
	.bfs-topbar .bfs-hide-sm { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Navigation: keep the submenu arrow next to its label */
.wp-block-navigation .has-child > .wp-block-navigation-item__content { padding-right: .25rem; }
.wp-block-navigation .has-child > .wp-block-navigation__submenu-icon { margin-left: 0; margin-right: .5rem; }

/* Images given a shape (aspect ratio) fill their column unless an editor sets a width */
.wp-block-image:not(.is-resized) img[style*="aspect-ratio"] { width: 100%; }
.bfs-header-main .wp-block-button__link { white-space: nowrap; }
@media (max-width: 600px) {
	.bfs-header-main .wp-block-button__link { padding: .6rem 1rem; font-size: .875rem; }
	.bfs-header-main .wp-block-site-logo img { width: 135px !important; }
}
.is-style-stats .bfs-stat-value.is-small { font-size: 1.125rem; white-space: nowrap; }
.is-style-stats .bfs-stat-value a { text-decoration: none; }
.is-style-stats .bfs-stat-value a:hover { text-decoration: underline; }

/* Mobile menu: left aligned, section names bold */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-weight: 700; font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--wp--preset--color--muted); }

/* =====================================================================
   Approved design details (matched to the signed-off homepage)
   ===================================================================== */

/* Outlined word in the page title: select a word and press Italic (Ctrl+I) */
h1 em { font-style: normal; color: transparent; -webkit-text-stroke: 1.6px var(--wp--preset--color--forest); }

/* Highlighted words: soft mint bar behind the lower part of the word */
:is(h1, h2, h3) mark {
	background-image: linear-gradient(transparent 52%, var(--wp--preset--color--mint-strong) 52%, var(--wp--preset--color--mint-strong) 94%, transparent 94%);
	padding: 0 .1em; border-radius: 8px;
}

/* Arrow after button text, as in the approved design */
.wp-block-button__link::after {
	content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 10px; vertical-align: -3px; background: currentColor; transition: transform .25s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-button__link:hover::after { transform: translateX(4px); }
.wp-block-button.bfs-btn-calendar .wp-block-button__link::after { display: none; }
.wp-block-button.bfs-btn-calendar .wp-block-button__link::before {
	content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 10px; vertical-align: -3px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='4' width='18' height='18' rx='3'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-button__link { padding: .875rem 1.625rem; font-size: .9375rem; }

/* Hero badges: first badge top-left, second bottom-right */
.is-style-media-frame > .is-style-badge-top { top: 90px; left: -44px; right: auto; }
.is-style-media-frame > .is-style-badge-bottom { bottom: 56px; right: -34px; left: auto; }
.is-style-badge-top, .is-style-badge-bottom { font-size: .84rem; }

/* Affiliation logos: grey until hovered */
.bfs-logos img { filter: grayscale(1); opacity: .7; transition: .3s; height: 52px !important; width: auto !important; object-fit: contain; }
.bfs-logos a:hover img { filter: none; opacity: 1; }

/* Short sage divider under section headings */
hr.bfs-divider { width: 60px !important; max-width: 60px; height: 3px; border: 0 !important; border-radius: 3px; background: var(--wp--preset--color--sage) !important; opacity: 1; margin-left: 0 !important; }

/* Small cards with the icon beside the title */
.bfs-pillar { border-radius: 22px !important; }
.bfs-pillar h3 { margin: 0; }

/* Intro image with spine and wave drawing behind it */
.bfs-spine { position: relative; padding: 28px 0; }
.bfs-spine::before { content: ""; position: absolute; inset: 0; background: url("../images/spine-waves.svg") right center / contain no-repeat; z-index: 0; pointer-events: none; }
.bfs-spine > * { position: relative; z-index: 1; }
.bfs-intro-img img { border: 8px solid #fff; border-radius: 70px 70px 28px 28px; box-shadow: var(--wp--preset--shadow--lifted); }

/* Step cards: photo at the top with a white step label on it */
.is-style-card > .wp-block-cover:first-child { margin: calc(-1 * var(--wp--preset--spacing--50)) calc(-1 * var(--wp--preset--spacing--50)) 0; border-radius: 27px 27px 0 0; }
.bfs-step-card .wp-block-cover { padding: 16px !important; }
.bfs-step-card .wp-block-cover p.is-style-chip { background: #fff; color: var(--wp--preset--color--forest); font-weight: 700; letter-spacing: .1em; }
.bfs-step-card h3 { margin-top: .5rem; }
p.bfs-card-link a { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--forest); }
p.bfs-card-link a:hover { text-decoration: underline; }
.bfs-equal > .wp-block-group { height: 100%; }
.bfs-equal .bfs-card-link { margin-top: auto !important; }

/* White label with a green dot (e.g. "The only UK provider") */
p.is-style-badge { display: inline-flex; align-items: center; gap: 8px; width: fit-content; }
p.is-style-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #4CAF7A; box-shadow: 0 0 0 4px rgba(76,175,122,.2); flex: none; }

/* Ticks in two columns */
ul.is-style-ticks.bfs-two-col { grid-template-columns: 1fr 1fr; gap: .75rem 1.25rem; }
@media (max-width: 600px) { ul.is-style-ticks.bfs-two-col { grid-template-columns: 1fr; } }

/* Feature image fills its column */
.bfs-feature-img img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 30px; box-shadow: var(--wp--preset--shadow--lifted); }

/* Timeline with soft mint markers joined by a line */
.bfs-timeline { position: relative; }
.bfs-timeline > .wp-block-group { position: relative; }
.bfs-timeline > .wp-block-group:not(:last-child)::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: calc(-1 * var(--wp--preset--spacing--40)); width: 2px; background: var(--wp--preset--color--line); }
p.is-style-number.is-soft { width: 52px; height: 52px; background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); font-size: .9375rem; }

/* About Sally */
.bfs-sally-img img { border-radius: 28px; box-shadow: var(--wp--preset--shadow--lifted); }
.is-style-media-frame > .is-style-tag-forest.is-exp { right: -24px; bottom: 40px; text-align: center; padding: 1.4rem 1.6rem !important; border-radius: 24px; }
.is-exp .bfs-exp-value { font-family: var(--wp--preset--font-family--heading); font-size: 2.875rem; font-weight: 700; line-height: 1; }
.is-exp .bfs-exp-label { font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.wp-block-quote.bfs-pullquote { border: 0; border-left: 3px solid var(--wp--preset--color--sage); padding: 6px 0 6px 18px; margin: 1.4rem 0; }
.wp-block-quote.bfs-pullquote p { font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; font-weight: 600; color: var(--wp--preset--color--forest); line-height: 1.45; }
.bfs-sign .bfs-sig { font-family: var(--wp--preset--font-family--signature); font-size: 2.375rem; color: var(--wp--preset--color--forest); line-height: 1; margin: 0; }
.bfs-sign .bfs-who { border-left: 1px solid var(--wp--preset--color--line); padding-left: 22px; }
.bfs-sign .bfs-who p { margin: 0; }

/* Before / after frame size */
.bfs-ba-frame { max-width: 440px; }
.bfs-ba-frame .wp-block-cover { border-radius: 28px; box-shadow: var(--wp--preset--shadow--lifted); background: #111; }

/* Rose question panel: WhatsApp text link */
.bfs-wa-link a { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--wp--preset--color--rose-dark); text-decoration: none; }
.bfs-wa-link a::before { content: ""; width: 20px; height: 20px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.5 14.4c-.3-.1-1.8-.9-2-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.1-1.3-.5-2.4-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6l.4-.5c.2-.2.2-.3.3-.5.1-.2 0-.4 0-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.1.2 2.1 3.2 5.1 4.5 2.5 1 3 .8 3.6.7.6-.1 1.8-.7 2-1.4.2-.7.2-1.3.2-1.4-.1-.1-.3-.2-.6-.3zM12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.5 14.4c-.3-.1-1.8-.9-2-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.1-1.3-.5-2.4-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6l.4-.5c.2-.2.2-.3.3-.5.1-.2 0-.4 0-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.1.2 2.1 3.2 5.1 4.5 2.5 1 3 .8 3.6.7.6-.1 1.8-.7 2-1.4.2-.7.2-1.3.2-1.4-.1-.1-.3-.2-.6-.3zM12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2z'/%3E%3C/svg%3E") center / contain no-repeat; }
.bfs-wa-link a:hover { text-decoration: underline; }

/* ---------- Testimonial slider ----------
   In the editor the slides are listed one under another so they are easy to edit.
   On the site they slide sideways; assets/js/slider.js adds the dots, arrows and autoplay. */
.bfs-slide { background: #fff; border-radius: 36px; overflow: hidden; box-shadow: var(--wp--preset--shadow--lifted); }
.bfs-slide > .wp-block-columns { margin: 0 !important; gap: 0 !important; align-items: stretch !important; }
.bfs-slide .bfs-slide-img { margin: 0; height: 100%; }
.bfs-slide .bfs-slide-img img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.bfs-slide .bfs-slide-text { padding: 3.5rem !important; display: flex; flex-direction: column; justify-content: center; }
.bfs-slide .bfs-slide-text::before { content: ""; display: block; width: 56px; height: 56px; border-radius: 18px; margin-bottom: 1.4rem; background: var(--wp--preset--color--mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%232E4A3B'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5H3v7h4c0 4-2 5-4 5v4zm11 0c3 0 7-1 7-8V5h-7v7h4c0 4-2 5-4 5v4z'/%3E%3C/svg%3E") center / 24px no-repeat; }
.bfs-slide .bfs-quote { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.25rem, 2.3vw, 1.6875rem); font-weight: 600; line-height: 1.4; color: var(--wp--preset--color--ink); }
.bfs-slide .bfs-stars { color: #E0A84B; letter-spacing: 3px; font-size: 1.125rem; margin-top: 1.4rem !important; }
.bfs-slide .bfs-who-line { color: var(--wp--preset--color--muted); font-size: .875rem; font-weight: 600; margin-top: .3rem !important; }
.editor-styles-wrapper .bfs-slider > * + * { margin-top: 1.5rem; }

body:not(.editor-styles-wrapper) .bfs-slider { display: flex !important; flex-wrap: nowrap !important; gap: 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; border-radius: 36px; }
body:not(.editor-styles-wrapper) .bfs-slider::-webkit-scrollbar { display: none; }
body:not(.editor-styles-wrapper) .bfs-slider > .bfs-slide { flex: 0 0 100%; scroll-snap-align: start; margin: 0 !important; box-shadow: none; }
.bfs-slider-wrap { box-shadow: var(--wp--preset--shadow--lifted); border-radius: 36px; }
.bfs-slider-ui { display: flex; justify-content: space-between; align-items: center; margin-top: 1.75rem; }
.bfs-slider-dots { display: flex; gap: 8px; }
.bfs-slider-dots button { width: 10px; height: 10px; border-radius: 999px; border: 0; padding: 0; background: var(--wp--preset--color--mint-strong); cursor: pointer; transition: .3s; }
.bfs-slider-dots button[aria-current="true"] { width: 32px; background: var(--wp--preset--color--forest); }
.bfs-slider-arrows { display: flex; gap: 10px; }
.bfs-slider-arrows button { width: 50px; height: 50px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--line); background: #fff; color: var(--wp--preset--color--forest); cursor: pointer; display: grid; place-items: center; transition: .25s; }
.bfs-slider-arrows button:hover { background: var(--wp--preset--color--forest); color: #fff; border-color: var(--wp--preset--color--forest); }
.bfs-slider-arrows svg { width: 20px; height: 20px; }
@media (max-width: 781px) {
	.bfs-slide .bfs-slide-img img { min-height: 260px; max-height: 300px; }
	.bfs-slide .bfs-slide-text { padding: 2.1rem !important; }
}
@media (max-width: 960px) {
	.is-style-media-frame > .is-style-badge-top { left: -6px; }
	.is-style-media-frame > .is-style-badge-bottom { right: -6px; }
	.is-style-media-frame > .is-style-tag-forest.is-exp { right: 16px; }
}
@media (max-width: 600px) {
	.is-style-media-frame > .is-style-badge-top { right: auto; }
	.is-style-media-frame > .is-style-badge-bottom { left: auto; right: -6px; }
}
.bfs-step-card > .wp-block-cover:first-child { margin: calc(-1 * var(--wp--preset--spacing--40)) calc(-1 * var(--wp--preset--spacing--40)) .25rem !important; border-radius: 27px 27px 0 0; }
.bfs-step-card > .wp-block-cover:first-child .wp-block-cover__inner-container { width: auto !important; }
p.bfs-trust-label { font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--muted); font-weight: 600; margin: 0; }
.bfs-trust { border-block: 1px solid var(--wp--preset--color--line); }
.bfs-sally-img { margin: 0; }
/* A highlighted phrase moves to the next line as a whole, as in the approved design */
:is(h1, h2) mark { display: inline-block; }
.bfs-slider-wrap { width: 100%; }

/* =====================================================================
   Inner pages: components matched one to one with the approved design.
   Each component is a core block with a "bx-" class.
   ===================================================================== */
body {
	--bg: var(--wp--preset--color--base); --mint: var(--wp--preset--color--mint); --mint-2: var(--wp--preset--color--mint-strong);
	--sage: var(--wp--preset--color--sage); --forest: var(--wp--preset--color--forest); --forest-2: var(--wp--preset--color--forest-light);
	--ink: var(--wp--preset--color--ink); --muted: var(--wp--preset--color--muted); --line: var(--wp--preset--color--line);
	--rose: var(--wp--preset--color--rose); --rose-ink: #9B5A50; --radius: 28px;
	--shadow: var(--wp--preset--shadow--lifted); --shadow-sm: var(--wp--preset--shadow--soft);
}
.bx-sec { padding-top: 96px !important; padding-bottom: 96px !important; }
.bx-sec.bx-tight-top { padding-top: 0 !important; }
.bx-tint { background: #fff; }
.bx-mint-bg { background: var(--mint); }
.bx-container { width: 100%; }
.bx-sec :where(p, h1, h2, h3, h4, ul, figure) { margin-top: 0; margin-bottom: 0; }
.bx-sec figure.wp-block-image { margin: 0; }
.bx-sec .wp-block-image img { display: block; }
.bx-sec h2 { font-size: clamp(28px, 3.6vw, 40px); }
.bx-sec h3 { font-size: 22px; }
.bx-sec h4 { font-size: 17px; }
.bx-sec p.is-style-eyebrow { font-size: 12px; letter-spacing: .14em; color: var(--forest-2); display: inline-flex; gap: 8px; }
.bx-sec p.is-style-eyebrow.has-text-align-center { display: flex; }
.wp-block-button:not(.is-style-outline):not(.is-style-light) > .wp-block-button__link { box-shadow: var(--shadow-sm); }

/* Section heading */
.bx-section-head { max-width: 640px; margin-bottom: 48px; }
.bx-section-head.bx-center { margin-inline: auto; text-align: center; }
.bx-section-head h2 { font-size: clamp(30px, 4vw, 44px); margin: 14px 0 !important; }
.bx-section-head p:not(.is-style-eyebrow) { color: var(--muted); }

/* Page hero */
.bx-page-hero { position: relative; isolation: isolate; overflow-x: clip; padding-top: 48px !important; padding-bottom: 88px !important; }
.bx-page-hero::before, .bx-page-hero::after { content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none; }
.bx-page-hero::before { width: 640px; height: 640px; right: -180px; top: -160px; background: radial-gradient(circle, var(--mint-2), transparent 70%); }
.bx-page-hero::after { width: 520px; height: 520px; left: -220px; bottom: -300px; background: radial-gradient(circle, var(--mint) 0%, rgba(228,239,232,.5) 35%, transparent 70%); }
.bx-ph-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: center; }
.wp-block-breadcrumbs.bx-crumbs { font-size: 13.5px; color: var(--muted); margin: 0 0 26px !important; }
.bx-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; }
.bx-crumbs li { gap: 8px; }
.bx-page-hero h1 { font-size: clamp(36px, 5vw, 60px) !important; font-weight: 800; margin: 16px 0 18px !important; }
.bx-page-hero p.bx-sub-h { font-family: var(--wp--preset--font-family--heading); font-size: 20px; font-weight: 600; color: var(--forest-2); margin: -6px 0 14px; }
.bx-page-hero p.bx-lead { font-size: 17.5px; color: var(--muted); max-width: 560px; }
.bx-page-hero p.bx-lead + p.bx-lead { margin-top: 12px; }
.bx-ph-actions { gap: 14px; margin-top: 32px !important; }
.bx-ph-visual { position: relative; max-width: 520px; width: 100%; margin-left: auto; }
.bx-ph-visual::before { content: ""; position: absolute; inset: 26px -20px -20px 26px; border: 1.5px solid var(--sage); border-radius: 40px; opacity: .5; z-index: -1; }
.bx-ph-visual > .wp-block-image.bx-ph-img { margin: 0; }
.bx-ph-img img { width: 100%; border-radius: 40px; box-shadow: var(--shadow); background: var(--mint); object-fit: cover; }
.bx-page-hero.bx-compact { text-align: center; padding-bottom: 56px !important; }
.bx-page-hero.bx-compact .bx-ph-text { max-width: 760px; margin-inline: auto; }
.bx-page-hero.bx-compact .bx-crumbs ol { justify-content: center; }
.bx-page-hero.bx-compact p.bx-lead { margin-inline: auto; }
.bx-page-hero.bx-compact .bx-ph-actions { justify-content: center; }

/* Floating cards on hero images */
.bx-float-card { position: absolute; z-index: 2; left: -36px; bottom: 40px; background: #fff; border-radius: 18px; padding: 12px 16px; display: flex; gap: 12px; align-items: center; box-shadow: var(--shadow); line-height: 1.3; width: max-content; max-width: 300px; }
.bx-float-card.bx-top { top: 36px; bottom: auto; left: auto; right: -30px; }
.bx-float-card .bx-ic svg { width: 40px; height: 40px; padding: 10px; border-radius: 12px; background: var(--mint); color: var(--forest); fill: currentColor; }
.bx-float-card .bx-ic { flex: none; }
.bx-fc-title { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.bx-fc-sub { font-size: 12px; color: var(--muted); }
@media (prefers-reduced-motion: no-preference) {
	.bx-float-card { animation: bfs-bob 5s ease-in-out infinite; }
	.bx-float-card.bx-top { animation-delay: 1.4s; }
}

/* Stats */
.bx-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; margin-top: 34px !important; }
.bx-stat { padding: 4px 22px; min-width: 0; }
.bx-stat:first-child { padding-left: 0; }
.bx-stat:not(:last-child) { border-right: 1.5px solid var(--forest); }
.bx-stat-v { font-family: var(--wp--preset--font-family--heading); font-size: 34px; font-weight: 700; color: var(--forest); line-height: 1.1; }
.bx-stat-l { white-space: nowrap; font-size: 11px; letter-spacing: .1em; margin-top: 4px !important; line-height: 1.35; text-transform: uppercase; color: var(--muted); font-weight: 600; }

/* Icons inside components */
.bx-sec .bx-ic { display: block; line-height: 0; }
.bx-sec .bx-ic svg { fill: currentColor; }

/* Split layouts and text */
.bx-split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.bx-split.bx-rev > :first-child { order: 2; }
.bx-split.bx-top { align-items: start; }
.bx-prose h2 { font-size: clamp(28px, 3.6vw, 40px); margin: 14px 0 18px !important; }
.bx-prose h3 { font-size: 22px; margin: 28px 0 10px !important; }
.bx-prose > p:not(.is-style-eyebrow) { color: var(--muted); margin-bottom: 14px; }
.bx-prose p strong { color: var(--ink); }
.bx-prose p a { color: var(--forest); font-weight: 600; text-decoration: none; }
.bx-prose p a:hover { text-decoration: underline; }
.bx-prose .wp-block-buttons { margin-top: 14px !important; }
.bx-btn-row { gap: 12px; margin-top: 22px !important; }
.bx-prose .bx-btn-row { margin-top: 22px !important; }
.wp-block-image.bx-split-img { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); background: var(--mint); margin: 0; }
.wp-block-image.bx-split-img img { width: 100%; height: auto; }
.wp-block-image.bx-split-img.bx-sq img, .wp-block-image.bx-split-img.bx-fill img { height: 100%; object-fit: cover; }
.wp-block-image.bx-split-img.bx-dark { background: #111; }
p.bx-caption { font-size: 13.5px; color: var(--muted); margin-top: 12px !important; text-align: center; }

/* Lists */
ul.bx-tick-list, ul.bx-x-list, ul.bx-checks { list-style: none; padding: 0; display: grid; gap: 12px; margin: 20px 0 6px !important; }
ul.bx-tick-list li, ul.bx-x-list li, ul.bx-checks li { display: flex; gap: 12px; align-items: flex-start; font-weight: 500; color: var(--ink); }
ul.bx-x-list li { color: var(--muted); }
ul.bx-tick-list li::before, ul.bx-checks li::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; margin-top: 1px; background: var(--forest) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/12px no-repeat; }
ul.bx-x-list li::before { content: ""; flex: none; width: 24px; height: 24px; border-radius: 50%; margin-top: 1px; background: #EADBD7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239B5A50' stroke-width='3'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center/12px no-repeat; }
ul.bx-tick-list.bx-two { grid-template-columns: 1fr 1fr; gap: 12px 24px; }
ul.bx-checks { grid-template-columns: 1fr 1fr; gap: 12px 20px; margin: 24px 0 32px !important; }
ul.bx-checks li { gap: 10px; font-size: 15px; }
ul.bx-checks li::before { width: 22px; height: 22px; margin-top: 2px; }

/* Compare */
.bx-compare { display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; margin-top: 40px !important; }
.bx-cmp { border-radius: var(--radius); padding: 34px; background: #fff; border: 1px solid var(--line); }
.bx-cmp.bx-good { background: var(--forest); border-color: var(--forest); }
.bx-cmp.bx-good h3, .bx-cmp.bx-good li { color: #fff; }
.bx-cmp.bx-good ul.bx-tick-list li::before { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E4A3B' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
p.bx-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; background: var(--mint); color: var(--forest); margin-bottom: 14px !important; }
.bx-cmp.bx-good p.bx-tag { background: rgba(255,255,255,.14); color: #fff; }
.bx-cmp h3 { font-size: 24px; }

/* Icon cards */
.bx-icon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bx-icon-grid.bx-g4 { grid-template-columns: repeat(4, 1fr); }
.bx-icon-grid.bx-g2 { grid-template-columns: repeat(2, 1fr); }
.bx-icard { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 28px; transition: transform .3s, box-shadow .3s; }
.bx-icard:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.bx-sec .bx-icard > .bx-ic svg, .bx-sec .bx-appt > .bx-ic svg, .bx-sec .bx-note > .bx-ic svg, .bx-sec .bx-info > .bx-ic svg { color: var(--forest); background: var(--mint); }
.bx-loc .bx-ic svg { color: currentColor; }
.bx-icard .bx-ic { margin-bottom: 18px; }
.bx-icard .bx-ic svg { width: 52px; height: 52px; padding: 14px; border-radius: 16px; }
.bx-icard h3 { font-size: 19px !important; margin-bottom: 8px !important; }
.bx-icard h4 { font-size: 19px !important; margin-bottom: 8px !important; }
.bx-icard p { color: var(--muted); font-size: 15px; }
.bx-icard.bx-dark { background: var(--forest); border-color: var(--forest); }
.bx-icard.bx-dark h3 { color: #fff; }
.bx-icard.bx-dark p { color: #D3E2D8; }
.bx-sec .bx-icard.bx-dark .bx-ic svg { background: rgba(255,255,255,.12); color: #fff; }
.bx-icard p.bx-num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 15px; color: var(--sage); letter-spacing: .1em; margin-bottom: 10px; }
.bx-icard.bx-span2 { grid-column: span 2; }

/* Note and info rows */
.bx-note { margin-top: 24px !important; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 22px 26px; display: flex; gap: 16px; align-items: flex-start; }
.bx-note .bx-ic svg { width: 42px; height: 42px; padding: 11px; border-radius: 12px; }
.bx-note .bx-ic { flex: none; }
.bx-note p { color: var(--muted); font-size: 15px; }
.bx-note strong { color: var(--ink); }
.bx-info-stack { display: grid; gap: 16px; }
.bx-info { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 24px; display: flex; gap: 16px; align-items: flex-start; }
.bx-info .bx-ic { flex: none; }
.bx-info .bx-ic svg { width: 46px; height: 46px; padding: 12.5px; border-radius: 14px; }
.bx-info h4 { font-size: 16px !important; margin-bottom: 4px !important; }
.bx-info p, .bx-info p a { color: var(--muted); font-size: 14.5px; text-decoration: none; }
.bx-info p a:hover { color: var(--forest); }
.bx-info.bx-dark { background: var(--forest); border-color: var(--forest); }
.bx-info.bx-dark h4 { color: #fff; }
.bx-info.bx-dark p, .bx-info.bx-dark p a { color: #D3E2D8; }
.bx-sec .bx-info.bx-dark .bx-ic svg { background: rgba(255,255,255,.12); color: #fff; }
.bx-sec .bx-info.bx-wa .bx-ic svg { background: #25D366; color: #fff; }

/* Quote card */
.bx-quote-card { background: var(--mint); border-radius: 36px; padding: 48px 56px; position: relative; }
.bx-quote-card .bx-quote-ic { margin-bottom: 22px; }
.bx-quote-card .bx-quote-ic svg { width: 56px; height: 56px; padding: 14px; border-radius: 18px; background: #fff; color: var(--forest); }
.bx-quote-card p.bx-q-text { font-family: var(--wp--preset--font-family--heading); font-size: clamp(19px, 2.2vw, 25px); font-weight: 600; line-height: 1.45; color: var(--ink); }
.bx-by { display: flex; align-items: center; gap: 14px; margin-top: 24px !important; }
.bx-by .wp-block-image.bx-avatar img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
.bx-by p.bx-by-name { font-family: var(--wp--preset--font-family--heading); }
.bx-by p.bx-by-role { color: var(--muted); font-size: 13.3px; }

/* Step cards (photo with label) */
.bx-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.bx-cards.bx-two-up { grid-template-columns: repeat(2, 1fr); }
.bx-card { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform .35s; }
.bx-card:hover { transform: translateY(-8px); }
.bx-card .wp-block-cover.bx-card-img { min-height: 220px !important; height: 220px; padding: 16px !important; margin: 0 !important; align-items: flex-start; justify-content: flex-start; }
.bx-card .wp-block-cover.bx-card-img .wp-block-cover__inner-container { width: auto !important; margin: 0 !important; }
.bx-card .wp-block-cover__image-background { transition: transform .6s; }
.bx-card:hover .wp-block-cover__image-background { transform: scale(1.06); }
p.bx-step { display: inline-block; background: #fff; border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; letter-spacing: .1em; color: var(--forest); }
.bx-card-body { padding: 26px 26px 30px; display: flex; flex-direction: column; flex: 1; }
.bx-card-body h3 { font-size: 22px !important; margin-bottom: 10px !important; }
.bx-card-body p:not(.bx-link) { color: var(--muted); font-size: 15px; flex: 1; }
p.bx-link { margin-top: 20px !important; }
p.bx-link a, p.bx-link { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--forest); font-size: 15px; text-decoration: none; }
p.bx-link a::after { content: ""; width: 16px; height: 16px; background: currentColor; transition: transform .25s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; }
p.bx-link a:hover::after { transform: translateX(4px); }
.bx-head-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 48px; }
.bx-head-row h2 { font-size: clamp(30px, 4vw, 44px); margin-top: 14px !important; }

/* Forest band */
.bx-band { background: linear-gradient(150deg, var(--forest), #3A5B49); border-radius: 40px; padding: 56px; color: #fff; display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; position: relative; overflow: hidden; }
.bx-band::after { content: ""; position: absolute; width: 320px; height: 320px; border-radius: 50%; border: 44px solid rgba(255,255,255,.06); right: -100px; top: -120px; }
.bx-band h2 { color: #fff; font-size: clamp(28px, 3.6vw, 40px); margin: 12px 0 16px !important; }
.bx-band p:not(.is-style-eyebrow):not(.bx-badge-only) { color: #D3E2D8; margin-bottom: 12px; }
.bx-band p.is-style-eyebrow { color: #CFE2D6; }
.bx-band p.bx-badge-only { margin: 4px 0 16px !important; }
.wp-block-image.bx-band-img { border-radius: 28px; overflow: hidden; border: 6px solid rgba(255,255,255,.12); position: relative; z-index: 1; margin: 0; }
.wp-block-image.bx-band-img img { width: 100%; height: 100%; object-fit: cover; }
.bx-band .wp-block-button.is-style-outline .wp-block-button__link { border-color: #fff; color: #fff; }
.bx-band .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--forest); }
p.bx-badge-only { display: inline-flex; align-items: center; gap: 8px; background: #fff; border-radius: 999px; padding: 8px 16px; font-size: 13px; font-weight: 600; color: var(--forest) !important; margin: 16px 0 !important; width: fit-content; }
p.bx-badge-only::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #4CAF7A; box-shadow: 0 0 0 4px rgba(76,175,122,.2); }

/* Mint feature panel */
.bx-feature { background: var(--mint); border-radius: 40px; padding: 56px; display: grid; grid-template-columns: .95fr 1.05fr; gap: 56px; align-items: center; position: relative; overflow: hidden; }
.bx-feature.bx-even { grid-template-columns: 1fr 1fr; }
.bx-feature::after { content: ""; position: absolute; width: 300px; height: 300px; border-radius: 50%; border: 40px solid rgba(255,255,255,.45); right: -90px; bottom: -120px; }
.bx-feature > * { position: relative; z-index: 1; }
.bx-feature h2 { font-size: clamp(30px, 3.8vw, 42px) !important; margin: 12px 0 0 !important; }
.bx-feature p:not(.is-style-eyebrow):not(.bx-badge-only) { color: var(--muted); }
.wp-block-image.bx-feature-img img { border-radius: 30px; aspect-ratio: 1; object-fit: cover; box-shadow: var(--shadow); width: 100%; }
.bx-video { position: relative; display: block; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); aspect-ratio: 750/507; background: #111; }
.bx-video .wp-block-image, .bx-video .wp-block-image a { height: 100%; display: block; margin: 0; }
.bx-video img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: opacity .3s; }
.bx-video:hover img { opacity: 1; }
.bx-video .bx-play { position: absolute; inset: 0; margin: auto; width: 80px; height: 80px; pointer-events: none; }
.bx-video .bx-play svg { width: 80px; height: 80px; padding: 25px 23px 25px 27px; border-radius: 50%; background: #fff; color: var(--forest); box-shadow: 0 0 0 12px rgba(255,255,255,.3); transition: transform .3s; }
.bx-video:hover .bx-play svg { transform: scale(1.08); }
.bx-video p.bx-vlabel { position: absolute; left: 18px; bottom: 18px; right: 18px; background: rgba(255,255,255,.94); border-radius: 16px; padding: 12px 16px; font-weight: 600; font-size: 14.5px; color: var(--ink); pointer-events: none; }

/* Gallery */
.bx-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.bx-gallery .wp-block-image { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm); background: var(--mint); margin: 0; }
.bx-gallery .wp-block-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .6s; }
.bx-gallery .wp-block-image:hover img { transform: scale(1.04); }

/* Results timeline */
.bx-timeline { margin: 30px 0 34px !important; display: grid; position: relative; }
.bx-tl { display: grid; grid-template-columns: 52px 1fr; gap: 16px; padding-bottom: 22px; position: relative; }
.bx-tl:not(:last-child)::before { content: ""; position: absolute; left: 25px; top: 52px; bottom: 0; width: 2px; background: var(--line); }
.bx-tl p.bx-dot { width: 52px; height: 52px; border-radius: 50%; background: var(--mint); display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 800; color: var(--forest); font-size: 15px; }
.bx-tl h4 { font-size: 17px !important; margin: 4px 0 2px !important; }
.bx-tl p:not(.bx-dot) { font-size: 14.5px; color: var(--muted); }

/* Rose question band and useful links */
.bx-q-band { background: var(--rose); border-radius: var(--radius); padding: 40px 48px; display: flex; justify-content: space-between; align-items: center; gap: 30px; flex-wrap: wrap; }
.bx-q-band h2 { font-size: clamp(26px, 3vw, 34px) !important; color: #4A2A25; margin: 10px 0 8px !important; }
.bx-q-band p:not(.is-style-eyebrow) { color: #6E4740; max-width: 620px; }
.bx-q-band p.is-style-eyebrow { color: #7A4A42; }
.bx-acts { gap: 12px; }
.bx-q-band .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #4A2A25; border-color: #4A2A25; }
.bx-q-band .wp-block-button.is-style-outline .wp-block-button__link { border-color: #4A2A25; color: #4A2A25; }
.bx-q-band .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #4A2A25; color: #fff; }
.bx-useful { display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; margin-top: 26px !important; padding: 26px 34px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.bx-useful h4 { font-size: 18px !important; }
.bx-logos { display: flex; gap: 44px; align-items: center; flex-wrap: wrap; }
.bx-logos .wp-block-image { margin: 0; }
.bx-logos img { height: 44px !important; width: auto !important; filter: grayscale(1); opacity: .75; transition: .3s; }
.bx-logos a:hover img { filter: none; opacity: 1; }

/* Appointments */
.bx-appt-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.bx-appt { background: #fff; border-radius: var(--radius); padding: 38px; border: 1px solid var(--line); position: relative; overflow: hidden; transition: .3s; }
.bx-appt:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.bx-appt.bx-alt { background: var(--forest); color: #fff; border-color: var(--forest); }
.bx-appt.bx-alt h3 { color: #fff; }
.bx-appt.bx-alt p { color: rgba(255,255,255,.8); }
.bx-appt > .bx-ic { margin-bottom: 22px; }
.bx-appt > .bx-ic svg { width: 58px; height: 58px; padding: 16px; border-radius: 18px; }
.bx-sec .bx-appt.bx-alt > .bx-ic svg { background: rgba(255,255,255,.12); color: #fff; }
.bx-appt h3 { font-size: 24px !important; margin-bottom: 10px !important; }
.bx-appt > p { color: var(--muted); margin-bottom: 26px !important; }
.bx-loc { display: flex; gap: 8px; align-items: center; margin-bottom: 26px !important; }
.bx-loc p { font-size: 14px; font-weight: 600; color: inherit !important; }
.bx-appt.bx-alt .bx-loc p { color: #fff !important; }
.bx-loc .bx-ic svg { width: 16px; height: 16px; }

/* Learn about card */
.bx-learn { display: grid; grid-template-columns: .9fr 1.1fr; background: #fff; border-radius: 36px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.bx-learn .wp-block-image.bx-learn-img { margin: 0; min-height: 300px; }
.bx-learn .bx-learn-img img { width: 100%; height: 100%; object-fit: cover; }
.bx-learn-txt { padding: 46px; display: flex; flex-direction: column; justify-content: center; }
.bx-learn-txt h2 { font-size: clamp(26px, 3vw, 36px) !important; margin: 12px 0 6px !important; }
.bx-learn-txt h4 { font-size: 17px !important; color: var(--forest-2); margin-bottom: 12px !important; }
.bx-learn-txt p:not(.is-style-eyebrow) { color: var(--muted); margin-bottom: 22px; }

/* Treatment journey */
.bx-journey-wrap { padding-bottom: 0 !important; margin-top: -40px; position: relative; z-index: 2; }
.bx-journey { display: grid; grid-template-columns: repeat(3, 1fr); background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow-sm); overflow: hidden; }
.bx-jr { display: flex; gap: 14px; align-items: center; padding: 20px 22px; position: relative; transition: background .2s; }
.bx-jr + .bx-jr { border-left: 1px solid var(--line); }
.bx-jr:hover { background: var(--bg); }
.bx-jr .bx-jr-n { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 16px; background: var(--mint); color: var(--forest); }
.bx-jr .bx-jr-n svg { width: 40px; height: 40px; padding: 11px; border-radius: 50%; background: var(--forest-2); color: #fff; }
.bx-jr-t p { line-height: 1.25; }
.bx-jr-small { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px !important; }
.bx-jr-title { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 17px; color: var(--ink); }
.bx-jr-title a { color: inherit; text-decoration: none; }
.bx-jr-title a::after { content: ""; position: absolute; inset: 0; }
.bx-jr-em { font-size: 13px; color: var(--muted); margin-top: 2px !important; }
.bx-jr.bx-cur { background: var(--forest); }
.bx-jr.bx-cur .bx-jr-n { background: #fff; color: var(--forest); }
.bx-jr.bx-cur p { color: #fff; }
.bx-jr.bx-cur .bx-jr-small, .bx-jr.bx-cur .bx-jr-em { opacity: .8; }
.bx-jr.bx-cur::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--sage); }

/* Responsive (same breakpoints as the approved design) */
@media (max-width: 960px) {
	.bx-sec { padding-top: 72px !important; padding-bottom: 72px !important; }
	.bx-ph-grid, .bx-split, .bx-band, .bx-learn, .bx-compare, .bx-feature, .bx-feature.bx-even { grid-template-columns: 1fr; }
	.bx-split.bx-rev > :first-child { order: 0; }
	.bx-ph-visual { margin-inline: auto; }
	.bx-icon-grid, .bx-icon-grid.bx-g4, .bx-cards { grid-template-columns: 1fr 1fr; }
	.bx-band { padding: 36px; }
	.bx-feature { padding: 32px; }
	.bx-learn-txt { padding: 32px; }
	.bx-quote-card { padding: 36px; }
	.bx-journey { grid-template-columns: 1fr; }
	.bx-jr + .bx-jr { border-left: 0; border-top: 1px solid var(--line); }
}
@media (max-width: 640px) {
	.bx-page-hero { padding-top: 32px !important; padding-bottom: 64px !important; }
	.bx-float-card { left: -6px; bottom: 24px; }
	.bx-float-card.bx-top { right: -6px; top: 20px; left: auto; }
	.bx-ph-visual::before { inset: 18px -8px -12px 18px; }
	.bx-icon-grid, .bx-icon-grid.bx-g4, .bx-icon-grid.bx-g2, .bx-cards, .bx-cards.bx-two-up, .bx-appt-grid, .bx-gallery, ul.bx-tick-list.bx-two, ul.bx-checks { grid-template-columns: 1fr; }
	.bx-icard.bx-span2 { grid-column: auto; }
	.bx-q-band { padding: 30px; }
	.bx-useful { padding: 22px; }
	.bx-logos { gap: 26px; }
	.bx-logos img { height: 36px !important; }
	.bx-cmp { padding: 26px; }
	.bx-appt { padding: 28px; }
	.bx-stat { padding: 2px 12px; }
	.bx-stat-v { font-size: 24px; }
	.bx-stat-l { font-size: 9px; letter-spacing: .04em; }
	.bx-journey-wrap { margin-top: -24px; }
	.bx-jr { padding: 14px 18px; }
	.bx-jr-em { display: none; }
}
.bx-treatment { position: relative; isolation: isolate; padding-bottom: 110px !important; }
.bx-treatment::before { content: ""; position: absolute; inset: 0 0 38% 0; background: linear-gradient(160deg, var(--forest) 0%, #3A5B49 100%); z-index: -1; }
.bx-treatment .bx-section-head h2, .bx-treatment .bx-section-head p { color: #fff; }
.bx-treatment .bx-section-head p:not(.is-style-eyebrow) { opacity: .8; }
.bx-treatment .bx-section-head p.is-style-eyebrow { color: #CFE2D6; }
.bx-wear-side .bx-note.bx-first { margin-top: 0 !important; margin-bottom: 16px !important; }
.bx-feature .bx-feat-btn { margin-top: 0 !important; }
.bx-feature-txt > p:not(.is-style-eyebrow):not(.bx-badge-only) { margin-bottom: 0; }

/* Six-part assessment cards */
.bx-assess-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bx-assess { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .3s, box-shadow .3s; display: flex; flex-direction: column; }
.bx-assess:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.bx-assess .wp-block-cover.bx-assess-img { min-height: 0 !important; padding: 14px !important; margin: 0 !important; align-items: flex-start; justify-content: flex-start; background: var(--mint); }
.bx-assess .wp-block-cover.bx-assess-img .wp-block-cover__inner-container { width: auto !important; margin: 0 !important; }
.bx-assess p.bx-no { width: 38px; height: 38px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 800; color: var(--forest); box-shadow: var(--shadow-sm); }
.bx-assess-body { padding: 22px 24px 26px; }
.bx-assess-body h3 { font-size: 20px !important; margin-bottom: 8px !important; }
.bx-assess-body p { color: var(--muted); font-size: 15px; }
.bx-assess.bx-dark { background: var(--forest); border-color: var(--forest); }
.bx-assess.bx-dark h3 { color: #fff; }
.bx-assess.bx-dark .bx-assess-body p { color: #D3E2D8; }
@media (max-width: 960px) { .bx-assess-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .bx-assess-grid { grid-template-columns: 1fr; } }
.wp-block-post-content > .bx-sec, .wp-block-post-content > .bx-sec + *, .editor-styles-wrapper .bx-sec { margin-block-start: 0 !important; margin-block-end: 0 !important; }
.wp-block-post-content > .bx-sec.bx-journey-wrap, .editor-styles-wrapper .bx-sec.bx-journey-wrap { margin-block-start: -40px !important; }
@media (max-width: 640px) { .wp-block-post-content > .bx-sec.bx-journey-wrap, .editor-styles-wrapper .bx-sec.bx-journey-wrap { margin-block-start: -24px !important; } }
.wp-block-button__link { line-height: 1.65; }
.bx-side-stack { display: grid; gap: 16px; }

/* Results with before / after image */
.bx-results-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 64px; align-items: center; }
.bx-results h2 { font-size: clamp(30px, 4vw, 44px) !important; margin: 14px 0 16px !important; }
.wp-block-cover.bx-ba-frame { position: relative; border-radius: var(--radius); overflow: hidden; background: #111; box-shadow: var(--shadow); max-width: 440px; width: 100%; min-height: 0 !important; padding: 14px !important; margin: 0 !important; align-items: flex-end; }
.wp-block-cover.bx-ba-frame .wp-block-cover__inner-container { width: 100% !important; max-width: none; margin: 0 !important; }
.bx-ba-tags { display: flex; justify-content: space-between; }
.bx-ba-tags p { background: rgba(255,255,255,.92); border-radius: 999px; padding: 6px 14px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--forest); }

/* Wearing-in diary */
.bx-diary { max-width: 920px; margin-inline: auto; background: #fff; border: 1px solid var(--line); border-radius: 32px; padding: 14px 30px; box-shadow: var(--shadow-sm); }
.bx-dy { display: grid; grid-template-columns: 110px 180px 1fr; gap: 24px; align-items: center; padding: 18px 0; }
.bx-dy + .bx-dy { border-top: 1px solid var(--line); }
.bx-dy-small { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); line-height: 1.1; }
.bx-dy-num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 22px; color: var(--forest); line-height: 1.1; }
hr.wp-block-separator.bx-dy-bar { height: 10px; border: 0; border-radius: 999px; background: var(--mint); position: relative; overflow: hidden; margin: 0; width: 100%; max-width: none; opacity: 1; }
hr.bx-dy-bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: linear-gradient(90deg, var(--sage), var(--forest)); border-radius: 999px; }
hr.bx-w8 { --w: 8%; } hr.bx-w14 { --w: 14%; } hr.bx-w18 { --w: 18%; } hr.bx-w40 { --w: 40%; } hr.bx-w45 { --w: 45%; } hr.bx-w70 { --w: 70%; } hr.bx-w100 { --w: 100%; }
.bx-dy-txt p.bx-dy-title { font-family: var(--wp--preset--font-family--heading); font-size: 17px; margin-bottom: 2px; color: var(--ink); }
.bx-dy-txt p:not(.bx-dy-title) { color: var(--muted); font-size: 15px; }
.bx-dy.bx-goal { background: var(--mint); margin: 6px -30px -14px; padding: 22px 30px; border-radius: 0 0 32px 32px; border-top: 0; }
.bx-dy.bx-goal hr.bx-dy-bar { background: #fff; }

/* Follow-up timeline */
.bx-mg-timeline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; position: relative; }
.bx-mg-timeline::before { content: ""; position: absolute; left: 12%; right: 12%; top: 83px; height: 2px; background: repeating-linear-gradient(90deg, var(--sage) 0 8px, transparent 8px 16px); opacity: .6; }
.bx-mg { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; text-align: center; position: relative; }
p.bx-mg-when { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--forest); background: var(--mint); border-radius: 999px; padding: 6px 14px; }
.bx-mg .bx-mg-dot { margin: 18px auto; width: 60px; }
.bx-mg .bx-mg-dot svg { width: 60px; height: 60px; padding: 17px; border-radius: 50%; background: var(--forest); color: #fff; box-shadow: 0 0 0 8px #fff, 0 0 0 9px var(--line); }
.bx-mg h3 { font-size: 20px !important; margin-bottom: 8px !important; }
.bx-mg p:not(.bx-mg-when) { color: var(--muted); font-size: 15px; }
@media (max-width: 960px) {
	.bx-results-grid { grid-template-columns: 1fr; }
	.wp-block-cover.bx-ba-frame { margin-inline: auto !important; }
	.bx-mg-timeline { grid-template-columns: 1fr 1fr; }
	.bx-mg-timeline::before { display: none; }
	.bx-dy { grid-template-columns: 100px 1fr; gap: 10px 20px; }
	hr.bx-dy-bar { grid-column: 2; grid-row: 2; }
}
@media (max-width: 640px) {
	.bx-mg-timeline { grid-template-columns: 1fr; }
	.bx-diary { padding: 6px 18px; border-radius: 24px; }
	.bx-dy { grid-template-columns: 76px 1fr; }
	.bx-dy-num { font-size: 18px; }
	.bx-dy.bx-goal { margin: 6px -18px -6px; padding: 20px 18px; border-radius: 0 0 24px 24px; }
}

/* Type cards (Scheuermann's / postural etc.) */
.bx-type-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 28px !important; }
.bx-type { border-radius: var(--radius); padding: 36px; background: #fff; border: 1px solid var(--line); }
.bx-type.bx-alt { background: var(--mint); border-color: var(--mint); }
.bx-type p.bx-tag { background: var(--forest); color: #fff; margin-bottom: 16px !important; }
.bx-type h3 { font-size: 24px !important; margin-bottom: 12px !important; }
.bx-type p:not(.bx-tag) { color: var(--muted); margin-bottom: 10px; }

/* Numbered steps with a line */
.bx-steps { display: grid; margin-top: 22px !important; margin-bottom: 14px !important; }
.bx-stp { display: grid; grid-template-columns: 48px 1fr; gap: 16px; padding-bottom: 22px; position: relative; }
.bx-stp:not(:last-child)::before { content: ""; position: absolute; left: 23px; top: 48px; bottom: 0; width: 2px; background: var(--line); }
.bx-stp p.bx-dot { width: 48px; height: 48px; border-radius: 50%; background: var(--forest); color: #fff; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 800; }
.bx-stp h4 { font-size: 17px !important; margin: 4px 0 !important; }
.bx-stp p:not(.bx-dot) { color: var(--muted); font-size: 15px; }
.bx-stp p a { color: var(--forest); font-weight: 600; text-decoration: underline; }

/* Band: second panel with ticks */
.bx-band-panel { position: relative; z-index: 1; background: rgba(255,255,255,.08); border-radius: 28px; padding: 30px; }
.bx-band-panel h3 { color: #fff; font-size: 20px !important; margin-bottom: 6px !important; }
.bx-band ul.bx-tick-list li { color: #fff; }
.bx-band ul.bx-tick-list li::before { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E4A3B' stroke-width='3'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); }
.bx-band > * { position: relative; z-index: 1; }
.bx-band .wp-block-buttons { margin-top: 12px !important; }

/* FAQ accordion (approved design) */
.wp-block-accordion.bx-faq-list { max-width: 860px; margin-inline: auto; display: grid; gap: 14px; }
.bx-faq-list .wp-block-accordion-item { border-radius: 22px; }
.bx-faq-list .wp-block-accordion-heading { font-size: 17px !important; font-family: var(--wp--preset--font-family--heading); }
.bx-faq-list .wp-block-accordion-heading__toggle { padding: 22px 26px !important; font-weight: 600; font-family: var(--wp--preset--font-family--heading); color: var(--ink); }
.bx-faq-list .wp-block-accordion-heading__toggle-icon { width: 32px !important; height: 32px !important; }
.bx-faq-list .wp-block-accordion-panel { padding: 0 26px 22px; }
.bx-faq-list .wp-block-accordion-panel p { color: var(--muted); font-size: 15px; }

/* Research list */
details.bx-refs { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
details.bx-refs summary { list-style: none; cursor: pointer; padding: 24px 30px; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 19px; }
details.bx-refs summary::-webkit-details-marker { display: none; }
details.bx-refs summary::after { content: "+"; flex: none; width: 34px; height: 34px; border-radius: 50%; background: var(--mint); color: var(--forest); display: grid; place-items: center; font-size: 22px; font-weight: 400; transition: .3s; }
details.bx-refs[open] summary::after { content: "\2212"; background: var(--forest); color: #fff; }
details.bx-refs ol { padding: 0 30px 26px 52px; display: grid; gap: 12px; color: var(--muted); font-size: 14.5px; margin: 0; }
details.bx-refs ol li::marker { color: var(--forest); font-weight: 700; }
details.bx-refs li em { display: inline-block; font-style: normal; font-size: 12px; font-weight: 700; background: var(--mint); color: var(--forest); border-radius: 999px; padding: 2px 9px; margin-left: 6px; }
@media (max-width: 960px) { .bx-type-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .bx-type { padding: 26px; } }
.wp-block-cover.bx-ba-frame.bx-wide { max-width: none; }
.bx-note.bx-narrow { max-width: 860px; margin-inline: auto; }
.wp-block-image.bx-split-img.bx-mb { margin-bottom: 20px !important; }
.bx-section-head:not(.bx-center) h2, .bx-section-head:not(.bx-center) p { text-align: left; }
.bx-results .bx-prose h2 { font-size: clamp(28px, 3.6vw, 40px) !important; margin: 14px 0 18px !important; }
.bx-prose .bx-tl p:not(.bx-dot), .bx-prose .bx-stp p:not(.bx-dot) { margin-bottom: 14px; }

/* ---------- Footer (approved design) ---------- */
.bx-footer { background: #EDF3EE; padding-top: 80px; margin-top: 40px !important; border-top: 1px solid var(--line); }
.bx-footer :where(p, h4, ul, figure) { margin: 0; }
.bx-foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr; gap: 44px; }
.bx-footer h4 { font-size: 18px !important; margin-bottom: 18px !important; }
.bx-footer p, .bx-footer li { color: var(--muted); font-size: 15px; }
.bx-footer a { color: inherit; text-decoration: none; }
.bx-footer a:hover { color: var(--forest); }
ul.bx-foot-list { list-style: none; padding: 0; display: grid; gap: 10px; }
.bx-footer .wp-block-site-logo.bx-foot-logo { margin-bottom: 18px !important; }
.bx-footer .bx-foot-logo img { height: 48px !important; width: auto !important; }
.bx-foot-btns { flex-wrap: nowrap !important; gap: 10px; margin-top: 20px !important; }
.bx-foot-btns .wp-block-button__link { padding: 11px 18px; font-size: 13.5px; white-space: nowrap; }
.bx-footer .wp-block-button:not(.is-style-outline) .wp-block-button__link { color: #fff; }
.bx-contact-li { display: flex; gap: 10px; align-items: flex-start; }
.bx-contact-li + .bx-contact-li { margin-top: 10px !important; }
.bx-contact-li .bx-ic { flex: none; margin-top: 3px; line-height: 0; }
.bx-contact-li .bx-ic svg { width: 18px; height: 18px; color: var(--forest); fill: currentColor; }
.bx-accreds { display: flex; gap: 18px; align-items: center; margin-top: 22px !important; }
.bx-accreds .wp-block-image { margin: 0; }
.bx-accreds img { height: 54px !important; width: auto !important; background: #fff; border-radius: 12px; padding: 6px; }
.bx-copy { border-top: 1px solid var(--line); margin-top: 60px !important; padding: 22px 0; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.bx-copy p { font-size: 14px; }
@media (max-width: 960px) { .bx-foot-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .bx-foot-grid { grid-template-columns: 1fr; } }

/* ---------- Header details (approved design) ---------- */
.bfs-topbar p { font-size: 13.5px; }
.bfs-topbar .wp-block-icon svg { opacity: .8; }
.bfs-topbar { padding-top: 9px !important; padding-bottom: 9px !important; min-height: 0; }
.wp-block-navigation .wp-block-navigation-item__content { font-size: 15px; font-weight: 500; padding: 10px 14px; }
.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:has(.current-menu-item) > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--forest); font-weight: 600; }
.wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: var(--wp--preset--color--mint); font-weight: 600; color: var(--wp--preset--color--forest); }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 14.5px; padding: 9px 14px; }
.bfs-call p { font-size: 14.5px; }
.bfs-call p.has-x-small-font-size { font-size: 11px !important; font-weight: 500; }

/* Case study cards */
.bx-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bx-case { background: #fff; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); display: flex; flex-direction: column; transition: transform .35s, box-shadow .35s; position: relative; }
.bx-case:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.bx-case .wp-block-cover.bx-case-img { min-height: 0 !important; padding: 14px !important; margin: 0 !important; background: #111; align-items: flex-start; justify-content: flex-start; }
.bx-case .wp-block-cover.bx-case-img .wp-block-cover__inner-container { width: auto !important; margin: 0 !important; }
.bx-case .wp-block-cover__image-background { transition: transform .6s; }
.bx-case:hover .wp-block-cover__image-background { transform: scale(1.05); }
.bx-case p.bx-no { width: 40px; height: 40px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 800; color: var(--forest); }
.bx-case-body { padding: 24px 26px 26px; display: flex; flex-direction: column; flex: 1; }
.bx-case-body h3 { font-size: 22px !important; margin-bottom: 10px !important; }
.bx-case-body h3 a { color: inherit; text-decoration: none; }
.bx-case-body h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bx-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 6px !important; }
p.bx-chip { font-size: 12.5px; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--mint); color: var(--forest); }
.bx-case-body p.bx-link { margin-top: auto !important; padding-top: 18px; }
.bx-case.bx-cta-case { background: var(--mint); border-color: var(--mint); justify-content: center; padding: 34px; }
.bx-case.bx-cta-case.bx-white { background: #fff; border-color: var(--line); }
.bx-cta-case h3 { font-size: 24px !important; margin: 10px 0 !important; }
.bx-cta-case p:not(.is-style-eyebrow) { color: var(--muted); margin-bottom: 22px; }
.bx-cta-case:hover { transform: none; box-shadow: none; }
.bfs-slide .bfs-quote.bfs-long { font-size: clamp(17px, 1.7vw, 20px); }
.bfs-slide .bfs-quote.bfs-xlong { font-size: clamp(15px, 1.3vw, 16.5px); line-height: 1.6; }

/* Case study detail */
.bx-cs-hero { padding-bottom: 40px !important; }
.bx-cs-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; flex-wrap: wrap; margin-bottom: 36px !important; }
.bx-cs-hero h1 { margin-bottom: 10px !important; }
.bx-cs-hero p.bx-sub-h { margin: 0 !important; }
.bx-cs-facts { display: grid; grid-template-columns: repeat(4, auto); }
.bx-cs-facts > div { padding: 2px 24px; border-left: 1.5px solid var(--forest); }
.bx-cs-facts > div:first-child { border-left: 0; padding-left: 0; }
.bx-cs-facts p.bx-k { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); white-space: nowrap; }
.bx-cs-facts p.bx-v { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 26px; color: var(--forest); margin-top: 4px !important; white-space: nowrap; line-height: 1.12; }
.wp-block-cover.bx-cs-result-img { border-radius: 36px; overflow: hidden; box-shadow: var(--shadow); background: #1d1d1d; border: 8px solid #fff; min-height: 0 !important; padding: 18px !important; margin: 0 !important; align-items: flex-end; }
.wp-block-cover.bx-cs-result-img .wp-block-cover__inner-container { width: 100% !important; max-width: none; margin: 0 !important; }
.bx-cs-tags { display: flex; justify-content: space-between; }
.bx-cs-tags p { background: rgba(255,255,255,.95); border-radius: 999px; padding: 8px 16px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--forest); box-shadow: var(--shadow-sm); }
.bx-cs-tags p + p { background: var(--forest); color: #fff; }
.bx-cs-body { display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: start; }
.bx-cs-summary { position: sticky; top: 110px; background: linear-gradient(160deg, var(--forest), #3A5B49); color: #fff; border-radius: 28px; padding: 32px 30px; overflow: hidden; }
.bx-cs-summary p.is-style-eyebrow { color: #CFE2D6; }
.bx-dl { margin: 18px 0 26px !important; }
.bx-dl > div { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.14); }
.bx-dl p.bx-dt { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #A9C4B3; margin-bottom: 3px; }
.bx-dl p.bx-dd { font-size: 15px; line-height: 1.5; color: #fff; }
.bx-dl p.bx-dd a { color: #fff; }
.bx-cs-summary .wp-block-button__link { padding: 12px 20px; font-size: 14px; }
.bx-cs-story { display: grid; gap: 18px; }
.bx-cs-step { display: grid; grid-template-columns: 56px 1fr; gap: 22px; background: #fff; border: 1px solid var(--line); border-radius: 28px; padding: 32px; position: relative; }
.bx-cs-step > .bx-ic svg { width: 56px; height: 56px; padding: 16px; border-radius: 18px; background: var(--mint); color: var(--forest); }
.bx-cs-step p.bx-cs-step-no { font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--sage); margin-bottom: 6px; }
.bx-cs-step h2 { font-size: clamp(22px, 2.4vw, 27px) !important; margin-bottom: 10px !important; }
.bx-cs-step p:not(.bx-cs-step-no) { color: var(--muted); margin-bottom: 10px; }
.bx-cs-step p:last-child { margin-bottom: 0; }
.bx-cs-step.bx-done { background: var(--mint); border-color: var(--mint); }
.bx-cs-step.bx-done > .bx-ic svg { background: var(--forest); color: #fff; }
.wp-block-image.bx-cs-banner { border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-sm); background: var(--mint); margin: 0; }
.wp-block-image.bx-cs-banner img { width: 100%; aspect-ratio: 750/156; object-fit: cover; }
.bx-cs-pager { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 6px !important; }
.bx-cs-pager > div { display: flex; align-items: center; gap: 14px; padding: 20px 24px; border-radius: 20px; border: 1px solid var(--line); background: #fff; transition: .25s; position: relative; }
.bx-cs-pager > div:hover { border-color: var(--forest); box-shadow: var(--shadow-sm); }
.bx-cs-pager p.bx-pk { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.bx-cs-pager p.bx-pv { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 17px; }
.bx-cs-pager p.bx-pv a { color: var(--ink); text-decoration: none; }
.bx-cs-pager p.bx-pv a::after { content: ""; position: absolute; inset: 0; }
.bx-cs-pager .bx-ic svg { width: 20px; height: 20px; color: var(--forest); }
.bx-cs-pager .bx-back .bx-ic svg { transform: rotate(180deg); }
.bx-cs-pager .bx-next { justify-content: flex-end; text-align: right; }
@media (max-width: 960px) {
	.bx-case-grid { grid-template-columns: 1fr 1fr; }
	.bx-cs-body { grid-template-columns: 1fr; }
	.bx-cs-summary { position: static; order: 2; }
	.bx-cs-facts { grid-template-columns: repeat(2, auto); gap: 14px 0; }
	.bx-cs-facts > div:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 640px) {
	.bx-case-grid { grid-template-columns: 1fr; }
	.wp-block-cover.bx-cs-result-img { border-width: 5px; border-radius: 24px; padding: 10px !important; }
	.bx-cs-tags p { padding: 6px 10px; font-size: 10px; }
	.bx-cs-step { grid-template-columns: 1fr; padding: 24px; gap: 14px; }
	.bx-cs-pager { grid-template-columns: 1fr; }
	.bx-cs-facts p.bx-v { font-size: 22px; }
	.bx-cs-facts > div { padding: 2px 16px; }
}

/* Payment */
.bx-pay-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bx-pay { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 32px; position: relative; transition: transform .3s, box-shadow .3s; }
.bx-pay:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.bx-pay.bx-feat { background: var(--forest); border-color: var(--forest); }
.bx-pay.bx-feat h3, .bx-pay.bx-feat p:not(.bx-n):not(.bx-pill-tag) { color: #fff; }
.bx-pay.bx-feat p:not(.bx-n):not(.bx-pill-tag) { opacity: .85; }
.bx-pay p.bx-n { width: 46px; height: 46px; border-radius: 50%; background: var(--mint); display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-weight: 800; color: var(--forest); margin-bottom: 20px; }
.bx-pay.bx-feat p.bx-n { background: #fff; }
.bx-pay p.bx-pill-tag { position: absolute; top: 24px; right: 24px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; background: #E7F3EC; color: var(--forest); padding: 6px 12px; border-radius: 999px; }
.bx-pay h3 { font-size: 21px !important; margin-bottom: 10px !important; }
.bx-pay p:not(.bx-n):not(.bx-pill-tag) { color: var(--muted); font-size: 15px; }
.bx-insurers { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 24px !important; }
.bx-insurers .wp-block-image { margin: 0; }
.bx-insurers .wp-block-image a { width: 120px; height: 120px; border-radius: 24px; background: #fff; border: 1px solid var(--line); display: grid; place-items: center; padding: 14px; transition: .3s; }
.bx-insurers .wp-block-image a:hover { box-shadow: var(--shadow-sm); transform: translateY(-3px); }
.bx-insurers img { max-width: 100%; max-height: 100%; object-fit: contain; }
.wp-block-image.bx-pim-logo { margin: 0 0 18px !important; }
.wp-block-image.bx-pim-logo img { height: 44px; width: auto; }
.bx-feature .bx-pim-txt h2 { margin-top: 0 !important; }
.bx-feature .bx-pim-txt p { margin-top: 12px !important; }
.bx-feature .bx-pim-txt h2 + p { margin-top: 14px !important; }
.bx-feature .bx-pim-txt p a { color: var(--forest); font-weight: 600; text-decoration: none; }
.bx-disclaimer { background: #fff; border: 1px dashed var(--sage); border-radius: 22px; padding: 26px 28px; font-size: 13.5px; color: var(--muted); margin-top: 28px !important; }
.bx-disclaimer h4 { font-size: 15px !important; margin-bottom: 8px !important; color: var(--ink); }
.bx-disclaimer p { font-size: 13.5px; color: var(--muted); }
.bx-disclaimer p + p { margin-top: 10px !important; }
.bx-disclaimer a { color: var(--forest); font-weight: 600; text-decoration: underline; word-break: break-word; }
@media (max-width: 960px) { .bx-pay-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .bx-pay-grid { grid-template-columns: 1fr; } .bx-insurers .wp-block-image a { width: 96px; height: 96px; } }

/* FAQs page */
.wp-block-search.bx-faq-search { position: relative; max-width: 620px; margin: 30px auto 0 !important; }
.bx-faq-search .wp-block-search__inside-wrapper { border: 0; padding: 0; position: relative; }
.bx-faq-search .wp-block-search__inside-wrapper::before { content: ""; position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; background: var(--forest); pointer-events: none;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat; }
.bx-faq-search input.wp-block-search__input { width: 100%; font: inherit; font-size: 16px; padding: 17px 22px 17px 54px; border-radius: 999px; border: 1px solid #CBD8CF; background: #fff; box-shadow: var(--shadow-sm); color: var(--ink); }
.bx-faq-search input.wp-block-search__input:focus { outline: none; border-color: var(--forest); box-shadow: 0 0 0 4px rgba(46,74,59,.12); }
.bx-faq-layout { display: grid; grid-template-columns: 300px 1fr; gap: 48px; align-items: start; }
.bx-faq-side { position: sticky; top: 110px; display: grid; gap: 18px; }
.bx-faq-nav { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 14px; }
.bx-faq-nav p.bx-nav-label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); padding: 8px 12px 10px; }
.bx-nav-row { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; transition: background .2s; position: relative; }
.bx-nav-row:hover { background: var(--bg); }
.bx-nav-row p.bx-nav-link { font-weight: 500; font-size: 15px; }
.bx-nav-row p.bx-nav-link a { color: var(--ink); text-decoration: none; }
.bx-nav-row p.bx-nav-link a::after { content: ""; position: absolute; inset: 0; }
.bx-nav-row p.bx-nav-count { font-size: 12px; font-weight: 700; min-width: 26px; height: 26px; border-radius: 999px; display: grid; place-items: center; background: var(--mint); color: var(--forest); }
.bx-nav-row.bx-on { background: var(--forest); }
.bx-nav-row.bx-on p.bx-nav-link a { color: #fff; }
.bx-nav-row.bx-on p.bx-nav-count { background: rgba(255,255,255,.18); color: #fff; }
.bx-faq-help { background: linear-gradient(160deg, var(--forest), #3A5B49); border-radius: 24px; padding: 28px; color: #fff; }
.bx-faq-help h3 { color: #fff; font-size: 21px !important; margin-bottom: 8px !important; }
.bx-faq-help > p { color: #D3E2D8; font-size: 14.5px; margin-bottom: 18px; }
.bx-faq-help .wp-block-button__link { padding: 12px 20px; font-size: 14px; }
.bx-faq-call { display: flex; align-items: center; gap: 8px; margin-top: 16px !important; }
.bx-faq-call p, .bx-faq-call a { font-weight: 600; font-size: 15px; color: #fff; text-decoration: none; }
.bx-faq-call .bx-ic svg { width: 16px; height: 16px; color: #fff; fill: currentColor; }
.bx-faq-group { margin-bottom: 44px !important; scroll-margin-top: 110px; }
.bx-faq-group:last-child { margin-bottom: 0 !important; }
.bx-faq-head { display: flex; align-items: baseline; gap: 14px; padding-bottom: 16px; margin-bottom: 18px !important; border-bottom: 1px solid var(--line); }
.bx-faq-num { font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: 15px; color: var(--sage); letter-spacing: .08em; }
.bx-faq-head h2 { font-size: clamp(24px, 2.8vw, 30px) !important; }
.bx-faq-main .wp-block-accordion.bx-faq-list { max-width: none; gap: 12px; }
.bx-faq-main .bx-faq-list .wp-block-accordion-heading { font-size: 17.5px !important; line-height: 1.35; }
.bx-faq-list .wp-block-accordion-panel p { font-size: 15.5px; margin-bottom: 12px; }
.bx-faq-list .wp-block-accordion-panel > p:last-child { margin-bottom: 0; }
.bx-faq-list .wp-block-accordion-panel > * + * { margin-top: 0; }
.bx-faq-list .wp-block-accordion-panel a { color: var(--forest); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.bx-faq-list ul.bx-tick-list { margin: 4px 0 16px !important; }
.bx-faq-list ul.bx-tick-list li { font-weight: 400; color: var(--muted); font-size: 15.5px; }
.bx-faq-list ul.bx-tick-list strong { color: var(--ink); font-weight: 600; }
.bx-risser { display: grid; gap: 10px; margin-top: 6px !important; }
.bx-risser-row { display: grid; grid-template-columns: 130px 1fr; gap: 16px; align-items: center; background: var(--bg); border-radius: 14px; padding: 14px 18px; }
.bx-risser-row p.bx-r-k { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 16px; color: var(--forest); margin: 0 !important; }
.bx-risser-row p.bx-r-v { color: var(--muted); font-size: 15px; margin: 0 !important; }
.bx-faq-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 16px !important; }
.bx-fs { background: var(--bg); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.bx-fs p.bx-fs-n { width: 30px; height: 30px; border-radius: 50%; background: var(--forest); color: #fff; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-size: 14px; font-weight: 700; margin: 0 !important; }
.bx-fs p.bx-fs-t { font-size: 14px; font-weight: 500; color: var(--ink); line-height: 1.4; margin: 0 !important; }
p.bx-faq-empty { display: none; background: #fff; border: 1px dashed var(--sage); border-radius: 20px; padding: 22px; color: var(--muted); text-align: center; margin-bottom: 20px !important; }
p.bx-faq-empty.is-visible, .editor-styles-wrapper p.bx-faq-empty { display: block; }
p.bx-faq-empty a { color: var(--forest); font-weight: 600; text-decoration: underline; }
[hidden] { display: none !important; }
@media (max-width: 960px) {
	.bx-faq-layout { grid-template-columns: 1fr; gap: 28px; }
	.bx-faq-side { position: static; grid-template-columns: 1fr 1fr; }
	.bx-faq-steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.bx-faq-side { grid-template-columns: 1fr; }
	.bx-faq-help { display: none; }
	.bx-faq-nav { display: flex; overflow-x: auto; gap: 8px; padding: 10px; border-radius: 18px; scrollbar-width: none; }
	.bx-faq-nav p.bx-nav-label { display: none; }
	.bx-nav-row { flex: none; white-space: nowrap; padding: 10px 14px; }
	.bx-faq-main .bx-faq-list .wp-block-accordion-heading__toggle { padding: 18px 20px !important; }
	.bx-faq-main .bx-faq-list .wp-block-accordion-heading { font-size: 16px !important; }
	.bx-faq-list .wp-block-accordion-panel { padding: 0 20px 20px; }
	.bx-risser-row { grid-template-columns: 1fr; gap: 4px; }
}

/* Buttons with an icon before the text */
.wp-block-button.bx-btn-ic .wp-block-button__link::after { display: none; }
.wp-block-button.bx-btn-ic .wp-block-button__link::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 10px; vertical-align: -3px; background: currentColor; -webkit-mask: var(--bx-ic) center / contain no-repeat; mask: var(--bx-ic) center / contain no-repeat; }
.wp-block-button.bx-btn-pin { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%223%22/%3E%3C/svg%3E"); }
.wp-block-button.bx-btn-upload { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4%22/%3E%3Cpath d=%22m17 8-5-5-5 5M12 3v12%22/%3E%3C/svg%3E"); }
.wp-block-button.bx-btn-phone { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E"); }
.wp-block-button.bx-btn-wa { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22black%22%3E%3Cpath d=%22M17.5 14.4c-.3-.1-1.8-.9-2-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.1-1.3-.5-2.4-1.5-.9-.8-1.5-1.8-1.7-2.1-.2-.3 0-.5.1-.6l.4-.5c.2-.2.2-.3.3-.5.1-.2 0-.4 0-.5l-.9-2.2c-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.5.1-.8.4-.3.3-1 1-1 2.5s1.1 2.9 1.2 3.1c.1.2 2.1 3.2 5.1 4.5 2.5 1 3 .8 3.6.7.6-.1 1.8-.7 2-1.4.2-.7.2-1.3.2-1.4-.1-.1-.3-.2-.6-.3zM12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2z%22/%3E%3C/svg%3E"); }
.wp-block-button.bx-btn-calendar { --bx-ic: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22black%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%224%22 width=%2218%22 height=%2218%22 rx=%223%22/%3E%3Cpath d=%22M16 2v4M8 2v4M3 10h18%22/%3E%3C/svg%3E"); }

/* Contact page */
.bx-ct-lines { display: grid; grid-template-columns: auto auto auto; justify-content: start; margin-top: 34px !important; }
.bx-ct-line { padding: 2px 24px; border-left: 1.5px solid var(--forest); min-width: 0; position: relative; }
.bx-ct-line:first-child { padding-left: 0; border-left: 0; }
.bx-ct-line p.bx-k { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.bx-ct-line p.bx-v { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 18px; margin-top: 4px !important; white-space: nowrap; }
.bx-ct-line p.bx-v a { color: var(--forest); text-decoration: none; }
.bx-ct-line p.bx-v a::after { content: ""; position: absolute; inset: 0; }
.bx-ct-line:hover p.bx-v a { color: var(--forest-2); text-decoration: underline; text-underline-offset: 4px; }
.bx-float-card.bx-ct-hours { left: -36px; bottom: 36px; max-width: 300px; width: auto; }
.bx-ct-panel { display: grid; grid-template-columns: .8fr 1.2fr; background: #fff; border: 1px solid var(--line); border-radius: 32px; overflow: hidden; box-shadow: var(--shadow); }
.bx-ct-aside { background: linear-gradient(160deg, var(--forest), #3A5B49); color: #fff; padding: 48px 44px; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.bx-ct-aside::after { content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%; border: 40px solid rgba(255,255,255,.05); right: -110px; bottom: -110px; }
.bx-ct-aside p.is-style-eyebrow { color: #CFE2D6; }
.bx-ct-aside h2 { color: #fff; font-size: 28px !important; margin: 12px 0 26px !important; }
.bx-dl.bx-ct-dl { margin: 0 0 30px !important; position: relative; z-index: 1; }
.bx-ct-dl > div { padding: 16px 0; }
.bx-ct-dl > div:last-child { border-bottom: 1px solid rgba(255,255,255,.14); }
.bx-ct-dl p.bx-dt { margin-bottom: 5px; }
.bx-ct-dl p.bx-dd { font-size: 15.5px; line-height: 1.55; }
.bx-ct-dl a.ct-more { color: #CFE2D6 !important; font-weight: 600; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; margin-left: 2px; }
.bx-ct-aside .wp-block-buttons { position: relative; z-index: 1; }
.bx-ct-accred { margin-top: auto !important; padding-top: 34px; position: relative; z-index: 1; }
.bx-ct-accred p.bx-acc-label { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #A9C4B3; margin-bottom: 12px; }
.bx-acc-logos { display: flex; gap: 10px; flex-wrap: wrap; }
.bx-acc-logos .wp-block-image { margin: 0; }
.bx-acc-logos img { height: 52px !important; width: auto !important; background: #fff; border-radius: 10px; padding: 6px; }
.bx-ct-form { padding: 48px 52px; }
.bx-ct-form h2 { font-size: 30px !important; margin-bottom: 8px !important; }
.bx-ct-form p.bx-ct-intro { color: var(--muted); margin-bottom: 18px; }
.bx-ct-existing { display: flex; gap: 10px; align-items: flex-start; background: var(--bg); border-radius: 12px; padding: 12px 14px; margin-bottom: 28px !important; }
.bx-ct-existing p { font-size: 14px; color: var(--muted); }
.bx-ct-existing .bx-ic svg { width: 18px; height: 18px; color: var(--forest); margin-top: 1px; }
.bx-ct-existing a { color: var(--forest); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.bx-ct-map { position: relative; border-radius: 32px; overflow: hidden; border: 1px solid var(--line); box-shadow: var(--shadow-sm); height: 460px; background: var(--mint); }
.bx-ct-map iframe, .bx-map-wrap iframe { width: 100%; height: 100%; border: 0; display: block; filter: saturate(.85); }
.bx-ct-mapcard { position: absolute; left: 28px; top: 28px; bottom: 28px; width: 340px; background: #fff; border-radius: 24px; padding: 30px; box-shadow: var(--shadow); display: flex; flex-direction: column; justify-content: center; }
.bx-ct-mapcard h3 { font-size: 26px !important; margin: 10px 0 8px !important; }
.bx-ct-mapcard p:not(.is-style-eyebrow) { color: var(--muted); font-size: 15px; }
.bx-ct-mapcard .wp-block-button__link { padding: 12px 20px; font-size: 14px; }
.bx-map-wrap { border-radius: 32px; overflow: hidden; box-shadow: var(--shadow); border: 8px solid #fff; background: var(--mint); aspect-ratio: 16/7; }

/* Form area: holds the form plugin's block */
.bx-form-slot { display: flex; gap: 14px; align-items: flex-start; border: 1.5px dashed var(--sage); border-radius: 18px; padding: 24px; background: var(--bg); }
.bx-form-slot .bx-ic svg { width: 22px; height: 22px; color: var(--forest); }
.bx-form-slot p { color: var(--muted); font-size: 15px; }

/* WPForms forms inside the design (labels, fields and button styled like the approved form) */
:is(.bx-ct-form, .bx-ep-card) .wpforms-container {
	--wpforms-field-border-radius: 10px; --wpforms-field-border-color: #CBD8CF; --wpforms-field-background-color: #fff; --wpforms-field-text-color: var(--ink);
	--wpforms-label-color: var(--ink); --wpforms-label-size-font-size: 13.5px; --wpforms-field-size-font-size: 15px; --wpforms-field-size-input-height: 46px;
	--wpforms-button-background-color: var(--forest); --wpforms-button-border-radius: 999px; --wpforms-button-text-color: #fff; --wpforms-page-break-color: var(--forest);
	margin: 0 !important;
}
:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-field-container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-field { padding: 0 !important; grid-column: 1 / -1; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-field.wpforms-one-half, :is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-field.bx-half { grid-column: auto; width: auto !important; margin-left: 0 !important; float: none !important; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-field-label { font-size: 13.5px; font-weight: 600; color: var(--ink); margin-bottom: 7px; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-required-label { color: var(--rose-ink); }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form :is(input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea) { font: inherit; font-size: 15px; color: var(--ink); background: #fff; border: 1px solid #CBD8CF; border-radius: 10px; padding: 12px 14px; width: 100%; max-width: none; transition: border-color .2s, box-shadow .2s; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form :is(input, select, textarea):focus { outline: none; border-color: var(--forest); box-shadow: 0 0 0 3px rgba(46,74,59,.12); }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form textarea { min-height: 120px; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-submit-container { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); text-align: right; }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form button.wpforms-submit { background: var(--forest) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 14px 26px !important; font-weight: 600; font-size: 15px; height: auto !important; box-shadow: var(--shadow-sm); }
:is(.bx-ct-form, .bx-ep-card) .wpforms-form button.wpforms-submit:hover { background: var(--forest-2) !important; }

/* Find us */
.bx-addr { background: #fff; border-radius: 32px; padding: 36px; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.bx-addr > .bx-ic { margin-bottom: 18px; }
.bx-addr > .bx-ic svg { width: 56px; height: 56px; padding: 15px; border-radius: 18px; background: var(--forest); color: #fff; }
.bx-addr h3 { font-size: 24px !important; margin-bottom: 8px !important; }
.bx-addr p.bx-address { color: var(--muted); font-size: 17px; line-height: 1.6; }
.bx-info-stack.bx-mt20 { margin-top: 20px !important; }
.bx-note.bx-mt6 { margin-top: 6px !important; }
.wp-block-image.bx-feature-img.bx-r43 img { aspect-ratio: 4/3; }
p.bx-mt14 { margin-top: 14px !important; }
.bx-link-cards .bx-icard { position: relative; }
.bx-link-cards .bx-icard h3 a { color: inherit; text-decoration: none; }
.bx-link-cards .bx-icard h3 a::after { content: ""; position: absolute; inset: 0; }

/* Existing patients */
.bx-ep-guide { background: #fff; border: 1px solid var(--line); border-radius: 32px; padding: 36px; box-shadow: var(--shadow); }
.bx-ep-guide h2 { font-size: 28px !important; margin: 10px 0 22px !important; }
.bx-ep-steps { display: grid; }
.bx-ep-step { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); }
.bx-ep-step p.bx-n { width: 44px; height: 44px; border-radius: 50%; background: var(--forest); color: #fff; display: grid; place-items: center; font-family: var(--wp--preset--font-family--heading); font-size: 17px; font-weight: 700; }
.bx-ep-step h3 { font-size: 17px !important; margin: 2px 0 3px !important; }
.bx-ep-step p:not(.bx-n) { color: var(--muted); font-size: 14.5px; }
.bx-ep-thanks { display: flex; gap: 10px; align-items: flex-start; margin-top: 8px !important; padding: 16px 18px; background: var(--mint); border-radius: 16px; }
.bx-ep-thanks p { font-size: 14.5px; color: var(--ink); }
.bx-ep-thanks .bx-ic svg { width: 18px; height: 18px; color: var(--forest); margin-top: 2px; }
.bx-ep-card { background: #fff; border: 1px solid var(--line); border-radius: 32px; padding: 44px 48px; box-shadow: var(--shadow); }
.bx-ep-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; padding-bottom: 24px; margin-bottom: 26px !important; border-bottom: 1px solid var(--line); }
.bx-ep-head h2 { font-size: 30px !important; margin-bottom: 6px !important; }
.bx-ep-head p { color: var(--muted); max-width: 560px; }
.bx-ep-secure { display: inline-flex; align-items: center; gap: 8px; background: var(--mint); border-radius: 999px; padding: 8px 14px; white-space: nowrap; }
.bx-ep-secure p { font-size: 13px; font-weight: 600; color: var(--forest); }
.bx-ep-secure .bx-ic svg { width: 16px; height: 16px; color: var(--forest); }
.bx-ep-help { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 22px !important; padding: 24px 30px; border-radius: 24px; background: var(--mint); }
.bx-ep-help h3 { font-size: 20px !important; margin-bottom: 4px !important; }
.bx-ep-help p { color: var(--muted); font-size: 15px; }
.bx-ep-btns { gap: 12px; }
@media (max-width: 960px) {
	.bx-ct-panel { grid-template-columns: 1fr; }
	.bx-ct-aside { order: 2; padding: 40px 36px; }
	.bx-ct-form { padding: 36px; }
	.bx-map-wrap { aspect-ratio: 4/3; }
}
@media (max-width: 640px) {
	.bx-ct-lines { grid-template-columns: 1fr; gap: 14px; }
	.bx-ct-line, .bx-ct-line:first-child { border-left: 3px solid var(--forest); padding: 2px 0 2px 14px; }
	.bx-ct-line p.bx-v { white-space: normal; word-break: break-word; }
	.bx-float-card.bx-ct-hours { left: -6px; bottom: 20px; max-width: 250px; }
	.bx-ct-form { padding: 26px 22px; }
	.bx-ct-aside { padding: 32px 24px; }
	.bx-ct-map { height: auto; border-radius: 24px; }
	.bx-ct-map iframe { height: 300px; }
	.bx-ct-mapcard { position: static; width: auto; border-radius: 0; box-shadow: none; padding: 24px; }
	:is(.bx-ct-form, .bx-ep-card) .wpforms-form .wpforms-field-container { grid-template-columns: 1fr; }
	.bx-ep-card { padding: 26px 20px; }
	.bx-ep-guide { padding: 26px; }
	.bx-addr { padding: 26px; }
}

/* Blog */
.bx-bl-filter { display: none; }
.bx-bl-filter.is-ready { display: inline-flex; gap: 6px; margin-top: 28px !important; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 6px; box-shadow: var(--shadow-sm); }
.bx-bl-filter button { font: inherit; font-size: 14.5px; font-weight: 600; border: 0; background: none; color: var(--muted); padding: 10px 20px; border-radius: 999px; cursor: pointer; transition: .2s; }
.bx-bl-filter button:hover { color: var(--forest); }
.bx-bl-filter button.on { background: var(--forest); color: #fff; }
.bx-page-hero.bx-compact .bx-ph-text { text-align: center; }
.bx-blog .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.bx-bl-feature-list > li { margin: 0 0 28px; }
.bx-bl-feature { display: grid; grid-template-columns: .9fr 1.1fr; background: #fff; border: 1px solid var(--line); border-radius: 36px; overflow: hidden; box-shadow: var(--shadow); transition: transform .35s; }
.bx-bl-feature:hover { transform: translateY(-4px); }
.bx-bl-feature .wp-block-post-featured-image { margin: 0; min-height: 380px; background: var(--mint); }
.bx-bl-feature .wp-block-post-featured-image a, .bx-bl-feature .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bx-bl-feature-txt { padding: 52px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
p.bx-bl-badge { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; background: var(--forest); color: #fff; border-radius: 999px; padding: 6px 12px; margin-bottom: 16px !important; }
.bx-blog .wp-block-post-date { font-size: 13px; font-weight: 600; color: var(--sage); letter-spacing: .02em; }
.bx-bl-feature h2 { font-size: clamp(26px, 3vw, 36px) !important; margin: 8px 0 14px !important; }
.bx-blog .wp-block-post-title a { color: var(--ink); text-decoration: none; }
.bx-blog .wp-block-post-title a:hover { color: var(--forest); }
.bx-bl-feature .wp-block-post-excerpt__excerpt { color: var(--muted); font-size: 16.5px; margin: 0; }
.bx-blog .wp-block-post-excerpt { margin: 0; }
.bx-blog .wp-block-post-excerpt__more-text { display: none; }
.wp-block-read-more.bx-bl-more { margin-top: 18px; display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--forest); font-size: 15px; text-decoration: none; }
.wp-block-read-more.bx-bl-more::after { content: ""; width: 16px; height: 16px; background: currentColor; transition: transform .25s;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat; }
.wp-block-read-more.bx-bl-more:hover::after { transform: translateX(4px); }
ul.bx-bl-grid { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 24px; }
ul.bx-bl-grid > li { margin: 0; display: flex; }
.bx-bl-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; transition: transform .35s, box-shadow .35s; width: 100%; }
.bx-bl-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.bx-bl-card .wp-block-post-featured-image { margin: 0; background: var(--mint); overflow: hidden; }
.bx-bl-card .wp-block-post-featured-image img { width: 100%; aspect-ratio: 16/10; object-fit: cover; transition: transform .6s; }
.bx-bl-card:hover .wp-block-post-featured-image img { transform: scale(1.05); }
.bx-bl-body { padding: 24px 26px 26px; display: flex; flex-direction: column; flex: 1; }
.bx-bl-body h3 { font-size: 19px !important; line-height: 1.3; margin: 6px 0 10px !important; }
.bx-bl-body .wp-block-post-excerpt { flex: 1; }
.bx-bl-body .wp-block-post-excerpt__excerpt { color: var(--muted); font-size: 15px; margin: 0; }
.bx-bl-pages { margin-top: 40px !important; gap: 10px; }
.bx-bl-pages a, .bx-bl-pages .page-numbers { text-decoration: none; padding: 8px 14px; border-radius: 999px; }
.bx-bl-pages .page-numbers.current { background: var(--forest); color: #fff; }
@media (max-width: 960px) {
	.bx-bl-feature { grid-template-columns: 1fr; }
	.bx-bl-feature .wp-block-post-featured-image { min-height: 0; aspect-ratio: 16/10; }
	.bx-bl-feature-txt { padding: 32px; }
	ul.bx-bl-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) { ul.bx-bl-grid { grid-template-columns: 1fr; } .bx-bl-feature-txt { padding: 26px; } }
.bx-dl p.bx-dd a { text-decoration: none; } .bx-dl p.bx-dd a:hover { text-decoration: underline; text-underline-offset: 3px; }
.bx-bl-grid-q { margin-top: 28px !important; }
@media (max-width: 600px) {
	.bfs-header-main .wp-block-buttons { display: none; }
	.bfs-topbar p { font-size: 13px; }
	.wp-block-navigation__responsive-container-open { width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--wp--preset--color--line); background: #fff; display: flex; align-items: center; justify-content: center; }
	.wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
}
/* Keep floating pieces in place inside the editor too */
.bx-float-card, .bx-video .bx-play, .bx-video p.bx-vlabel, .bx-ct-mapcard, .bx-pay p.bx-pill-tag { position: absolute !important; }
@media (max-width: 640px) { .bx-ct-mapcard { position: static !important; } }
/* Single blog posts */
.bx-post-meta { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.bx-post-meta .wp-block-post-date { font-size: 13px; font-weight: 600; color: var(--sage); letter-spacing: .02em; margin: 0; }
.bx-post-meta .bx-post-cat { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.bx-post-meta .bx-post-cat a { display: inline-block; background: var(--forest); color: #fff; border-radius: 999px; padding: 6px 12px; text-decoration: none; }
.bx-post-meta .bx-post-cat .wp-block-post-terms__separator { display: none; }
.bx-post-meta .bx-post-cat a + a { margin-left: 6px; }
.bx-post-hero h1.wp-block-post-title { font-size: clamp(32px, 4.4vw, 52px) !important; font-weight: 800; line-height: 1.12; margin: 16px 0 18px !important; }
.bx-post-hero .bx-post-lead { margin: 0; }
.bx-post-hero .bx-post-lead .wp-block-post-excerpt__excerpt { font-size: 17.5px; color: var(--muted); max-width: 620px; margin: 0 auto; }
.bx-post-hero .wp-block-post-excerpt__more-text { display: none; }
.bx-post-img-sec { padding-bottom: 0 !important; }
.bx-post-img { max-width: 1000px; margin: 0 auto !important; border-radius: 36px; overflow: hidden; box-shadow: var(--shadow); background: var(--mint); }
.bx-post-img img { width: 100%; display: block; object-fit: cover; }
.bx-post-img-sec + .bx-sec { padding-top: 64px !important; }
/* Article text */
.bx-post-body { font-size: 17.5px; line-height: 1.75; color: var(--ink); }
.bx-post-body > * + * { margin-block-start: 1.15em; }
.bx-post-body h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 800 !important; line-height: 1.2; margin-block-start: 1.8em !important; }
.bx-post-body h3 { font-size: clamp(21px, 2.4vw, 25px); font-weight: 700 !important; line-height: 1.3; margin-block-start: 1.6em !important; }
.bx-post-body h4 { font-size: 19px; font-weight: 700 !important; margin-block-start: 1.4em !important; }
.bx-post-body a { color: var(--forest); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.bx-post-body a:hover { text-decoration-thickness: 2px; }
.bx-post-body .wp-block-button__link { text-decoration: none; }
.bx-post-body ul:not([class*="bx-"]), .bx-post-body ol:not([class*="bx-"]) { padding-left: 1.3em; }
.bx-post-body ul:not([class*="bx-"]) li::marker { color: var(--sage); }
.bx-post-body li + li { margin-top: .4em; }
.bx-post-body .wp-block-image img, .bx-post-body .wp-block-gallery img, .bx-post-body .wp-block-embed iframe { border-radius: 20px; }
.bx-post-body figcaption { font-size: 14px; color: var(--muted); text-align: center; margin-top: 10px; }
.bx-post-body blockquote, .bx-post-body .wp-block-quote { background: var(--mint); border: 0; border-left: 4px solid var(--forest); border-radius: 0 20px 20px 0; padding: 24px 28px; margin-inline: 0; font-family: var(--wp--preset--font-family--heading); font-size: 19px; font-weight: 600; line-height: 1.5; }
.bx-post-body blockquote cite { display: block; margin-top: 10px; font-family: var(--wp--preset--font-family--body); font-size: 14px; font-weight: 500; font-style: normal; color: var(--muted); }
.bx-post-body .wp-block-pullquote { border-top: 2px solid var(--line); border-bottom: 2px solid var(--line); }
.bx-post-body hr { border: 0; border-top: 1px solid var(--line); margin-block: 2.4em; }
.bx-post-body table { width: 100%; border-collapse: collapse; font-size: 16px; }
.bx-post-body th, .bx-post-body td { border-bottom: 1px solid var(--line); padding: 12px 10px; text-align: left; }
.bx-post-body th { background: var(--mint); font-weight: 700; }
/* After the post */
.bx-post-foot { max-width: 760px; margin: 56px auto 0; padding-top: 36px; border-top: 1px solid var(--line); }
.bx-post-foot .bx-post-back { margin-bottom: 28px; }
.bx-post-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.bx-post-nav .post-navigation-link-previous, .bx-post-nav .post-navigation-link-next { margin: 0; }
.bx-post-nav .post-navigation-link-previous:empty, .bx-post-nav .post-navigation-link-next:empty { display: none; }
.bx-post-nav .post-navigation-link-next { grid-column: 2; text-align: right; }
.bx-post-nav a { display: block; height: 100%; background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 20px 24px; color: var(--ink); font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 17px; line-height: 1.35; text-decoration: none; transition: transform .3s, box-shadow .3s, border-color .3s; }
.bx-post-nav a:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: var(--mint-2); }
.bx-post-nav a::before { display: block; margin-bottom: 6px; font-family: var(--wp--preset--font-family--body); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--sage); }
.bx-post-nav .post-navigation-link-previous a::before { content: "\2190  Previous post"; }
.bx-post-nav .post-navigation-link-next a::before { content: "Next post  \2192"; }
@media (max-width: 700px) {
	.bx-post-img { border-radius: 22px; }
	.bx-post-body { font-size: 16.5px; }
	.bx-post-nav { grid-template-columns: 1fr; }
	.bx-post-nav .post-navigation-link-next { grid-column: auto; text-align: left; }
	.bx-post-nav a { height: auto; }
	.bx-post-img-sec + .bx-sec { padding-top: 44px !important; }
}

/* Case study images with three or more panels: one label centred under each panel */
.bx-cs-tags.bx-n3, .bx-cs-tags.bx-n4, .bx-cs-tags.bx-n5 { display: grid; justify-items: center; gap: 8px; }
.bx-cs-tags.bx-n3 { grid-template-columns: repeat(3, 1fr); }
.bx-cs-tags.bx-n4 { grid-template-columns: repeat(4, 1fr); }
.bx-cs-tags.bx-n5 { grid-template-columns: repeat(5, 1fr); }
.bx-cs-tags.bx-n3 p, .bx-cs-tags.bx-n4 p, .bx-cs-tags.bx-n5 p { margin: 0 !important; white-space: nowrap; }
.bx-cs-tags.bx-n3 p + p, .bx-cs-tags.bx-n4 p + p, .bx-cs-tags.bx-n5 p + p { background: rgba(255,255,255,.95); color: var(--forest); }
.bx-cs-tags.bx-n3 p:last-child, .bx-cs-tags.bx-n4 p:last-child, .bx-cs-tags.bx-n5 p:last-child { background: var(--forest); color: #fff; }
.bx-cs-tags.bx-n5 p { padding: 7px 12px; font-size: 11px; }
@media (max-width: 900px) {
	.bx-cs-tags.bx-n4 p, .bx-cs-tags.bx-n5 p { padding: 5px 8px; font-size: 9px; letter-spacing: .06em; }
}
@media (max-width: 600px) {
	.bx-cs-tags.bx-n4, .bx-cs-tags.bx-n5 { display: none; }
	.bx-cs-tags.bx-n3 p { padding: 5px 8px; font-size: 9px; letter-spacing: .06em; }
}

/* Testimonial slider: every slide the same height, photos fill their side whatever their shape */
body:not(.editor-styles-wrapper) .bfs-slider { align-items: stretch; }
.bfs-slide > .wp-block-columns { height: 100%; }
.bfs-slide .wp-block-column:has(> .bfs-slide-img) { position: relative; min-height: 380px; overflow: hidden; }
.bfs-slide .wp-block-column > .bfs-slide-img { position: absolute; inset: 0; height: 100%; margin: 0 !important; }
.bfs-slide .wp-block-column > .bfs-slide-img img { width: 100%; height: 100% !important; min-height: 0; max-height: none; aspect-ratio: auto !important; object-fit: cover; object-position: center; }
@media (max-width: 781px) {
	.bfs-slide .wp-block-column:has(> .bfs-slide-img) { min-height: 0; height: auto; aspect-ratio: 4/3; flex: 0 0 auto !important; width: 100%; }
	.bfs-slide .wp-block-column.bfs-slide-text { flex: 1 1 auto !important; width: 100%; min-width: 0; box-sizing: border-box; justify-content: flex-start; }
	.bfs-slide .wp-block-column > .bfs-slide-img img { min-height: 0; max-height: none; }
	.bfs-slide > .wp-block-columns { flex-direction: column; justify-content: flex-start; }
}

/* Mobile header: menu button on the right, 10px from the edge */
@media (max-width: 600px) {
	.bfs-header-main { padding-right: 10px !important; }
	.bfs-header-main .wp-block-group:has(> .wp-block-buttons) { display: none !important; }
	.bfs-header-main .wp-block-navigation { margin-left: auto; }
}
