:root {
	--broel-blue: #3478e5;
	--broel-blue-dark: #2059b8;
	--broel-blue-light: #eaf2ff;
	--broel-orange: #f28c38;
	--broel-orange-dark: #bd5c12;
	--broel-orange-light: #fff1e5;
	--broel-green: #35a96b;
	--broel-green-dark: #24764b;
	--broel-green-light: #e8f7ef;
	--broel-red: #e84d4d;
	--broel-red-dark: #b72f2f;
	--broel-red-light: #ffeded;
	--broel-purple: #7651b5;
	--broel-purple-dark: #53358a;
	--broel-purple-light: #f2edfb;
	--broel-ink: #20242a;
	--broel-muted: #5f6874;
	--broel-grey: #f5f7fa;
	--broel-border: #dfe4ea;
	--broel-white: #fff;
	--broel-focus: #174ea6;
	--broel-font-primary: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--broel-font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--broel-space-1: 0.25rem;
	--broel-space-2: 0.5rem;
	--broel-space-3: 0.75rem;
	--broel-space-4: 1rem;
	--broel-space-5: 1.5rem;
	--broel-space-6: 2rem;
	--broel-space-7: 3rem;
	--broel-space-8: 4rem;
	--broel-space-9: 6rem;
	--broel-radius-sm: 0.5rem;
	--broel-radius-md: 1rem;
	--broel-radius-lg: 1.5rem;
	--broel-shadow-sm: 0 0.25rem 1rem rgb(32 36 42 / 8%);
	--broel-container: 75rem;
	--broel-reading-width: 50rem;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--broel-white);
	color: var(--broel-ink);
	font-family: var(--broel-font-body);
	font-size: 1.125rem;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

img,
svg,
video {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--broel-blue-dark);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.16em;
}

a:hover {
	color: var(--broel-blue);
}

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 0.1875rem solid var(--broel-focus);
	outline-offset: 0.1875rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin-block: 0 0.6em;
	font-family: var(--broel-font-primary);
	font-weight: 750;
	line-height: 1.12;
	letter-spacing: -0.025em;
}

h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
h2 { font-size: clamp(2rem, 4vw, 3.5rem); }
h3 { font-size: clamp(1.5rem, 2.4vw, 2.25rem); }
h4 { font-size: clamp(1.25rem, 1.8vw, 1.625rem); }

p,
ul,
ol {
	margin-block: 0 1.25em;
}

button,
input,
select,
textarea {
	font: inherit;
}

input,
select,
textarea {
	max-width: 100%;
	padding: 0.75rem 0.875rem;
	border: 0.0625rem solid var(--broel-border);
	border-radius: var(--broel-radius-sm);
	background: var(--broel-white);
	color: var(--broel-ink);
}

.broel-container {
	width: min(calc(100% - 2rem), var(--broel-container));
	margin-inline: auto;
}

.broel-main {
	min-height: 60vh;
}

.broel-content-layout,
.broel-entry,
.broel-error-page,
.broel-empty-state {
	padding-block: clamp(3rem, 8vw, 7rem);
}

.broel-content-layout,
.broel-entry:not(.elementor) {
	max-width: var(--broel-reading-width);
}

.broel-skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	transform: translateY(-200%);
	border-radius: var(--broel-radius-sm);
	background: var(--broel-ink);
	color: var(--broel-white) !important;
}

.broel-skip-link:focus {
	transform: translateY(0);
	color: var(--broel-white) !important;
}

.broel-sticky-header-shell {
	position: sticky;
	top: 0;
	z-index: 1000;
}

.broel-site-header {
	position: relative;
	border-bottom: 0.0625rem solid var(--broel-border);
	background: rgb(255 255 255 / 96%);
	backdrop-filter: blur(0.75rem);
}

.broel-promo-bar {
	display: block !important;
	visibility: visible !important;
	background: var(--broel-ink);
	color: var(--broel-white);
	font-size: 0.8125rem;
}

.broel-promo-inner {
	display: grid;
	min-height: 3.5rem;
	grid-template-columns: minmax(14rem, 1fr) minmax(16rem, 1.25fr) auto auto;
	align-items: center;
	gap: 0.75rem 1rem;
	padding-block: 0.45rem;
}

.broel-promo-currency {
	display: inline-flex;
	align-items: center;
	justify-self: end;
	min-width: 0;
	padding: 0.08rem;
	border: 0.0625rem solid rgb(255 255 255 / 65%);
	border-radius: 0.45rem;
	background: rgb(255 255 255 / 8%);
	color: #fff;
	white-space: nowrap;
}

.broel-promo-currency select {
	width: 4.85rem;
	min-height: 2rem;
	padding: 0.15rem 0.1rem;
	border: 0;
	background: transparent;
	color: #fff;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 750;
	cursor: pointer;
}

.broel-promo-currency select option { color: #1c293e; background: #fff; }
.broel-promo-currency:focus-within { outline: 0.14rem solid #fff; outline-offset: 0.15rem; }

.broel-promo-phone {
	display: inline-flex;
	min-width: 0;
	flex: 0 1 auto;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem;
	color: var(--broel-white) !important;
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.broel-promo-phone:hover {
	color: var(--broel-white) !important;
}

.broel-promo-phone svg {
	color: var(--broel-white);
}

.broel-promo-phone-label {
	font-size: 1rem;
	font-weight: 650;
	line-height: 1.2;
}

.broel-promo-number {
	display: inline-flex;
	align-items: center;
	gap: 0.42rem;
	white-space: nowrap;
}

.broel-promo-country {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	font-size: 1.12rem;
	line-height: 1;
}

.broel-promo-positioning {
	position: relative;
	margin: 0;
	padding: 0.25rem 1rem;
	color: rgb(255 255 255 / 78%);
	font-size: clamp(0.7rem, 0.82vw, 0.8rem);
	font-weight: 450;
	letter-spacing: 0.012em;
	line-height: 1.35;
	text-align: center;
	text-wrap: balance;
}

.broel-promo-positioning::before,
.broel-promo-positioning::after {
	position: absolute;
	top: 50%;
	width: 1.8rem;
	height: 0.0625rem;
	background: linear-gradient(90deg, transparent, rgb(255 255 255 / 22%));
	content: '';
	transform: translateY(-50%);
}

.broel-promo-positioning::before {
	left: 0;
}

.broel-promo-positioning::after {
	right: 0;
	transform: translateY(-50%) rotate(180deg);
}

.broel-promo-positioning u {
	color: #d8e5fb;
	font-weight: 600;
	text-decoration-color: rgb(246 137 49 / 72%);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.14em;
}

.broel-promo-link {
	display: inline-flex;
	min-width: 0;
	margin-left: auto;
	align-items: center;
	gap: 0.55rem;
	padding: 0.48rem 0.75rem;
	border: 0.0625rem solid rgb(255 255 255 / 38%);
	border-radius: 0.75rem;
	background: var(--broel-green);
	box-shadow: 0 0.4rem 1.25rem rgb(53 177 111 / 28%);
	color: var(--broel-white) !important;
	font-weight: 700;
	line-height: 1.15;
	text-align: left;
	text-decoration: none;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.broel-promo-link:hover {
	background: var(--broel-blue);
	box-shadow: 0 0.55rem 1.5rem rgb(52 120 229 / 30%);
	color: var(--broel-white) !important;
	transform: translateY(-0.08rem);
}

.broel-promo-link > span:not(.broel-promo-booking-arrow) {
	display: grid;
	gap: 0.12rem;
}

.broel-promo-link strong {
	font-size: clamp(0.78rem, 1.2vw, 0.95rem);
	font-weight: 850;
}

.broel-promo-link small {
	font-size: clamp(0.65rem, 0.95vw, 0.76rem);
	font-weight: 600;
	opacity: 0.94;
}

.broel-promo-booking-icon,
.broel-promo-booking-arrow {
	flex: 0 0 auto;
}

.broel-promo-booking-icon {
	width: 1.45rem;
	height: 1.45rem;
}

.broel-promo-booking-arrow {
	font-size: 1.15rem;
	font-weight: 900;
}

@media (max-width: 47.999rem) {
	.broel-promo-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 0.65rem;
	}

	.broel-promo-currency { grid-column: 1; grid-row: 3; justify-self: start; }
	.broel-promo-link { grid-column: 2; grid-row: 3; }
	.broel-promo-phone { grid-column: 1 / -1; grid-row: 1; }

	.broel-promo-positioning {
		grid-column: 1 / -1;
		grid-row: 2;
		padding: 0.28rem 1.5rem;
		font-size: 0.69rem;
		line-height: 1.4;
	}

	.broel-promo-link {
		width: 100%;
		padding: 0.55rem 0.6rem;
	}

	.broel-promo-booking-arrow {
		display: none;
	}
}

@media (min-width: 48rem) and (max-width: 74.999rem) {
	.broel-promo-inner {
		grid-template-columns: minmax(16rem, 1fr) auto auto;
	}

	.broel-promo-positioning {
		grid-column: 1 / -1;
		grid-row: 2;
	}
}

.broel-header-inner {
	display: flex;
	min-height: 6rem;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.broel-site-title,
.broel-footer-brand {
	color: var(--broel-ink);
	font-size: 1.5rem;
	font-weight: 800;
	text-decoration: none;
}

.custom-logo {
	width: auto;
	max-height: 4.5rem;
}

.broel-menu-toggle {
	display: inline-flex;
	align-items: center;
	gap: var(--broel-space-3);
	padding: 0.625rem 0.75rem;
	border: 0.0625rem solid var(--broel-border);
	border-radius: var(--broel-radius-sm);
	background: var(--broel-white);
	color: var(--broel-ink);
	font-weight: 700;
	cursor: pointer;
}

.broel-menu-toggle__icon,
.broel-menu-toggle__icon::before,
.broel-menu-toggle__icon::after {
	display: block;
	width: 1.25rem;
	height: 0.125rem;
	background: currentColor;
	content: "";
}

.broel-menu-toggle__icon::before { transform: translateY(-0.4rem); }
.broel-menu-toggle__icon::after { transform: translateY(0.275rem); }

.broel-primary-navigation {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	padding: var(--broel-space-4);
	border-bottom: 0.0625rem solid var(--broel-border);
	background: var(--broel-white);
	box-shadow: 0 1rem 2rem rgb(32 36 42 / 12%);
}

.broel-primary-navigation.is-open {
	display: flex;
	max-height: calc(100dvh - 10rem);
	flex-direction: column;
	overflow-y: auto;
	overscroll-behavior: contain;
}

@media (max-width: 74.999rem) {
	body.broel-menu-open { overflow: hidden; }

	.broel-primary-navigation {
		z-index: 9999;
		padding: clamp(0.75rem, 2.5vw, 1.25rem);
	}

	.broel-primary-navigation.is-open {
		max-height: calc(100dvh - 7rem);
		gap: 0.35rem;
		-webkit-overflow-scrolling: touch;
	}

	.broel-home-link,
	.broel-mega-menu,
	.broel-products-menu,
	.broel-primary-menu,
	.broel-header-actions {
		width: 100%;
		min-width: 0;
	}

	.broel-home-link,
	.broel-primary-menu > li > a,
	.broel-primary-menu .sub-menu a,
	.broel-products-submenu a {
		display: flex;
		min-height: 2.75rem;
		align-items: center;
	}

	.broel-mega-menu { padding: 0.25rem 0; }
	.broel-mega-toggle,
	.broel-products-link { width: 100%; justify-content: space-between; }
	.broel-mega-panel { width: 100%; margin-top: 0.5rem; padding: clamp(0.8rem, 2.5vw, 1.15rem); }
	.broel-mega-group { min-width: 0; padding: clamp(0.9rem, 2.5vw, 1.15rem); }
	.broel-mega-group h2 { font-size: clamp(1.15rem, 3vw, 1.35rem); }
	.broel-mega-group a { display: flex; min-height: 2.65rem; align-items: center; line-height: 1.3; }
	.broel-products-submenu,
	.broel-primary-menu .sub-menu { padding-left: 0.75rem; }
	.broel-primary-menu a { overflow-wrap: anywhere; }

	/* Mobile/tablet parent links act as accessible accordion controls. */
	.broel-products-menu > .broel-products-submenu,
	.broel-primary-menu > .broel-menu-item--connect > .sub-menu,
	.broel-primary-menu > .broel-menu-item--our-work > .sub-menu,
	.broel-primary-menu > .broel-menu-item--about > .sub-menu,
	.broel-primary-menu > .broel-menu-item--resources > .sub-menu {
		display: none;
	}

	.broel-products-menu.is-submenu-open > .broel-products-submenu,
	.broel-primary-menu > .broel-menu-item--connect.is-submenu-open > .sub-menu,
	.broel-primary-menu > .broel-menu-item--our-work.is-submenu-open > .sub-menu,
	.broel-primary-menu > .broel-menu-item--about.is-submenu-open > .sub-menu,
	.broel-primary-menu > .broel-menu-item--resources.is-submenu-open > .sub-menu {
		display: grid;
	}

	.broel-products-link[role="button"],
	.broel-primary-menu > .broel-menu-item--connect > a[role="button"],
	.broel-primary-menu > .broel-menu-item--our-work > a[role="button"],
	.broel-primary-menu > .broel-menu-item--about > a[role="button"],
	.broel-primary-menu > .broel-menu-item--resources > a[role="button"] {
		cursor: pointer;
		touch-action: manipulation;
	}

	.broel-nav-caret {
		display: inline-block;
		transition: transform 160ms ease;
	}

	[aria-expanded="true"] > .broel-nav-label .broel-nav-caret,
	.broel-products-link[aria-expanded="true"] > .broel-nav-caret {
		transform: rotate(180deg);
	}

	.broel-header-actions {
		flex-wrap: wrap;
		padding: 0.5rem 0;
	}

	.broel-login-link,
	.broel-header-cta {
		min-height: 2.75rem;
	}

	.broel-login-link { flex: 1 1 10rem; }
	.broel-header-cta { flex: 1 1 auto; }
}

@media (min-width: 42rem) and (max-width: 74.999rem) {
	.broel-mega-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-mega-group--services { grid-column: 1 / -1; }
	.broel-mega-group--services ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1.25rem; }
	.broel-mega-group--services li + li { margin-top: 0; }
}

@media (max-width: 30rem) {
	.broel-header-inner { min-height: 5.25rem; }
	.custom-logo { max-width: min(13rem, 68vw); max-height: 4rem; }
	.broel-menu-toggle__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.broel-primary-navigation.is-open { max-height: calc(100dvh - 6.5rem); }
	.broel-mega-intro p:not(.broel-mega-kicker) { font-size: 0.9rem; }
}

.broel-home-link { order: 1; }
.broel-mega-menu { order: 2; }
.broel-products-menu { order: 3; }
.broel-primary-menu { order: 4; }
.broel-header-actions { order: 5; }

.broel-header-actions {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.65rem;
	padding: 0.75rem;
}

.broel-mega-menu {
	position: relative;
	padding: 0.75rem;
}

.broel-mega-toggle {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 0.85rem;
	border: 0;
	border-radius: var(--broel-radius-sm);
	background: var(--broel-blue);
	color: var(--broel-white);
	font-size: 0.9375rem;
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
}

.broel-mega-toggle:hover,
.broel-mega-toggle[aria-expanded="true"] {
	background: var(--broel-blue-dark);
}

.broel-mega-panel {
	display: none;
	margin-top: 0.75rem;
	padding: 1.25rem;
	border: 0.0625rem solid var(--broel-border);
	border-radius: var(--broel-radius-md);
	background: var(--broel-white);
	box-shadow: 0 1.5rem 4rem rgb(32 36 42 / 18%);
}

.broel-mega-menu.is-open .broel-mega-panel,
.broel-mega-menu:focus-within .broel-mega-panel {
	display: block;
}

.broel-mega-intro {
	margin-bottom: 1rem;
}

.broel-mega-kicker {
	margin-bottom: 0.25rem;
	font-weight: 850;
}

.broel-mega-columns {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.broel-mega-group {
	padding: 1rem;
	border-radius: var(--broel-radius-md);
	background: var(--broel-grey);
}

.broel-mega-group--diy { border-top: 0.3rem solid var(--broel-blue); background: var(--broel-blue-light); }
.broel-mega-group--diy { position: relative; overflow: hidden; }
.broel-mega-group--diy::after { position: absolute; right: -2.4rem; bottom: -2.8rem; width: 7rem; height: 7rem; border: 0.8rem solid rgb(54 121 232 / 8%); border-radius: 50%; content: ''; pointer-events: none; }
.broel-mega-group .broel-mega-diy-intro { margin: 0.45rem 0 0.72rem; color: #334865; font-size: 0.82rem; line-height: 1.46; }
.broel-mega-group .broel-mega-diy-intro a { display: inline; min-height: 0; color: #fff; padding: 0.16rem 0.42rem; border-radius: 0.38rem; background: linear-gradient(135deg, var(--broel-blue), #245fc7); box-decoration-break: clone; -webkit-box-decoration-break: clone; font-size: inherit; font-weight: 900; text-decoration: none; }
.broel-mega-diy-start { position: relative; z-index: 1; padding: 0.68rem 0.72rem; border: 0.0625rem solid rgb(54 121 232 / 18%); border-radius: 0.75rem; background: rgb(255 255 255 / 76%); box-shadow: 0 0.45rem 1rem rgb(31 79 155 / 7%); }
.broel-mega-diy-start h3 { margin: 0 0 0.42rem; color: #245fbd; font-size: 0.78rem; font-weight: 950; letter-spacing: 0.045em; line-height: 1.25; text-transform: uppercase; }
.broel-mega-diy-start ul { margin: 0; padding-left: 1rem; }
.broel-mega-diy-start li + li { margin-top: 0.18rem; }
.broel-mega-group .broel-mega-diy-start a { min-height: 1.62rem; color: #253955; font-size: 0.82rem; font-weight: 600; line-height: 1.25; text-decoration-color: rgb(54 121 232 / 38%); text-underline-offset: 0.14rem; }
.broel-mega-group .broel-mega-diy-start a:hover,
.broel-mega-group .broel-mega-diy-start a:focus-visible { color: var(--broel-blue); text-decoration-color: currentColor; }
.broel-mega-group .broel-mega-diy-benefits { position: relative; z-index: 1; margin: 0.62rem 0 0; padding: 0.58rem 0.65rem; border-radius: 0.65rem; background: linear-gradient(135deg, #6f48b8, #865dce); box-shadow: 0 0.5rem 1rem rgb(79 46 139 / 18%); color: #fff; font-size: 0.78rem; font-weight: 900; line-height: 1.35; }
.broel-mega-diy-benefits span { color: #ffe28a; }
.broel-mega-group .broel-mega-diy-message { position: relative; z-index: 1; margin: 0.58rem 0 0; color: #174f9f; font-size: 0.84rem; font-weight: 950; line-height: 1.3; text-align: center; }
.broel-mega-group--dwy { border-top: 0.3rem solid var(--broel-green); background: var(--broel-green-light); }
.broel-mega-guided { position: relative; overflow: hidden; margin-top: 0.85rem; padding: 0.75rem; border: 0.0625rem solid rgb(37 139 113 / 25%); border-radius: 0.9rem; background: linear-gradient(140deg, rgb(255 255 255 / 94%), rgb(226 248 240 / 92%)); box-shadow: 0 0.65rem 1.4rem rgb(31 124 98 / 10%); }.broel-mega-guided::after { position: absolute; width: 4.5rem; height: 4.5rem; right: -2.2rem; top: -2rem; border: 0.55rem solid rgb(53 173 113 / 9%); border-radius: 50%; content: ''; pointer-events: none; }.broel-mega-guided__heading { display: flex; position: relative; z-index: 1; margin-bottom: 0.6rem; align-items: center; gap: 0.55rem; }.broel-mega-guided__heading>span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: 0.65rem; color: #fff; background: linear-gradient(135deg,var(--broel-green),#187454); box-shadow: 0 0.45rem 0.9rem rgb(28 118 82 / 20%); }.broel-mega-guided__heading svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.broel-mega-group .broel-mega-guided h3 { margin: 0; color: #176847; font-size: 0.86rem; font-weight: 950; letter-spacing: 0.045em; line-height: 1.2; text-transform: uppercase; }.broel-mega-guided ul { display: grid; position: relative; z-index: 1; gap: 0.38rem; margin: 0; padding: 0; list-style: none; }.broel-mega-group .broel-mega-guided li+li { margin-top: 0; }.broel-mega-group .broel-mega-guided a { display: grid; min-height: 2.35rem; padding: 0.42rem 0.55rem; border: 0.0625rem solid rgb(40 138 108 / 15%); border-radius: 0.65rem; grid-template-columns: 1.8rem minmax(0,1fr); align-items: center; gap: 0.5rem; color: #263955; background: #fff; font-size: 0.78rem; font-weight: 850; line-height: 1.25; text-decoration: none; transition: border-color 160ms ease,box-shadow 160ms ease,color 160ms ease,transform 160ms ease; }.broel-mega-guided a>span { display: grid; width: 1.8rem; height: 1.8rem; border-radius: 50%; place-items: center; color: var(--broel-blue-dark); background: var(--broel-blue-light); font-size: 0.62rem; font-weight: 950; }.broel-mega-guided li:nth-child(2) a>span { color: var(--broel-orange-dark); background: var(--broel-orange-light); }.broel-mega-guided li:nth-child(3) a>span { color: var(--broel-purple-dark); background: var(--broel-purple-light); }.broel-mega-group .broel-mega-guided a:hover,.broel-mega-group .broel-mega-guided a:focus-visible { border-color: var(--broel-green); color: #155d42; box-shadow: 0 0.45rem 0.9rem rgb(27 117 81 / 14%); transform: translateY(-0.08rem); }
.broel-mega-training { position: relative; overflow: hidden; margin-top: 0.85rem; padding: 0.75rem; border: 0.0625rem solid rgb(54 121 232 / 24%); border-radius: 0.9rem; background: linear-gradient(140deg, rgb(255 255 255 / 92%), rgb(230 240 255 / 90%)); box-shadow: 0 0.65rem 1.4rem rgb(36 95 189 / 10%); }
.broel-mega-training::after { position: absolute; width: 4.5rem; height: 4.5rem; right: -2.2rem; top: -2rem; border: 0.55rem solid rgb(54 121 232 / 8%); border-radius: 50%; content: ''; pointer-events: none; }
.broel-mega-training__heading { display: flex; position: relative; z-index: 1; margin-bottom: 0.6rem; align-items: center; gap: 0.55rem; }
.broel-mega-training__heading > span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: 0.65rem; background: linear-gradient(135deg, var(--broel-blue), #245fc7); color: #fff; box-shadow: 0 0.45rem 0.9rem rgb(36 95 189 / 20%); }
.broel-mega-training__heading svg { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.broel-mega-group .broel-mega-training h3 { margin: 0; color: #174f9f; font-size: 0.86rem; font-weight: 950; letter-spacing: 0.045em; line-height: 1.2; text-transform: uppercase; }
.broel-mega-training ul { display: grid; position: relative; z-index: 1; gap: 0.38rem; margin: 0; padding: 0; list-style: none; }
.broel-mega-group .broel-mega-training li + li { margin-top: 0; }
.broel-mega-group .broel-mega-training a { display: grid; grid-template-columns: 1.8rem minmax(0, 1fr); min-height: 2.35rem; padding: 0.42rem 0.55rem; border: 0.0625rem solid rgb(54 121 232 / 14%); border-radius: 0.65rem; align-items: center; gap: 0.5rem; background: #fff; color: #263955; font-size: 0.78rem; font-weight: 850; line-height: 1.25; text-decoration: none; transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease; }
.broel-mega-training a > span { display: grid; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; background: var(--broel-green-light); color: var(--broel-green-dark); font-size: 0.62rem; font-weight: 950; }
.broel-mega-training li:nth-child(2) a > span { background: var(--broel-orange-light); color: var(--broel-orange-dark); }
.broel-mega-training li:nth-child(3) a > span { background: var(--broel-purple-light); color: var(--broel-purple-dark); }
.broel-mega-group .broel-mega-training a:hover, .broel-mega-group .broel-mega-training a:focus-visible { border-color: var(--broel-blue); color: var(--broel-blue-dark); box-shadow: 0 0.45rem 0.9rem rgb(36 95 189 / 12%); transform: translateY(-0.08rem); }

/* Keep the Do It With You link cards light, open and aligned toward the panel edge. */
.broel-mega-group .broel-mega-guided ul,
.broel-mega-group .broel-mega-training ul {
	width: calc(100% + 1.1rem);
	margin-left: -1.1rem;
}

.broel-mega-group .broel-mega-guided a,
.broel-mega-group .broel-mega-training a {
	font-weight: 500;
}
.broel-mega-group--dfy { border-top: 0.3rem solid var(--broel-orange); background: var(--broel-orange-light); }
.broel-mega-group--established { border-top: 0.3rem solid var(--broel-red); background: var(--broel-red-light); }
.broel-mega-group--services { border-top: 0.3rem solid #e4b526; background: #fff8d8; }
.broel-mega-group--services ul{display:grid;margin-top:.55rem;padding:0;gap:.18rem;list-style:none}.broel-mega-group--services li+li{margin-top:0}.broel-mega-group--services li::marker{content:""}.broel-mega-group--services a{display:grid;min-height:2.35rem;padding:.3rem .35rem;border-radius:.65rem;grid-template-columns:1.85rem minmax(0,1fr);align-items:center;gap:.55rem;color:#303844;font-size:.88rem;font-weight:600;line-height:1.25;text-decoration-color:rgb(48 56 68/34%);text-decoration-thickness:.055rem;text-underline-offset:.15rem;transition:background 150ms ease,color 150ms ease,transform 150ms ease}.broel-mega-group--services a:hover,.broel-mega-group--services a:focus-visible{color:#174f9f;background:rgb(255 255 255/72%);text-decoration-color:currentColor;transform:translateX(.1rem)}
.broel-service-menu-icon{display:grid;width:1.85rem;height:1.85rem;place-items:center;border:.06rem solid rgb(55 123 231/18%);border-radius:.55rem;color:#2866c8;background:#eaf2ff}.broel-service-menu-icon svg{width:1.08rem;height:1.08rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.broel-mega-group--services li:nth-child(2) .broel-service-menu-icon,.broel-mega-group--services li:nth-child(6) .broel-service-menu-icon{color:#187a4c;background:#e8f7ef}.broel-mega-group--services li:nth-child(3) .broel-service-menu-icon,.broel-mega-group--services li:nth-child(7) .broel-service-menu-icon{color:#c66016;background:#fff0e3}.broel-mega-group--services li:nth-child(4) .broel-service-menu-icon,.broel-mega-group--services li:nth-child(8) .broel-service-menu-icon{color:#6840a7;background:#f2ecfb}.broel-mega-group--services li:nth-child(5) .broel-service-menu-icon{color:#c63d45;background:#ffebec}
.broel-mega-group--established { display: flex; flex-direction: column; }
.broel-mega-group .broel-mega-established-intro { position: relative; margin: 0.45rem 0 0.15rem; padding: 0.68rem 0.72rem 0.98rem; overflow: hidden; border: 0.0625rem solid rgb(232 77 83 / 20%); border-radius: 0.72rem; background: linear-gradient(135deg, rgb(255 255 255 / 86%), rgb(255 230 231 / 82%)); box-shadow: 0 0.4rem 1rem rgb(122 43 48 / 8%); color: #68383b; font-size: 0.82rem; font-weight: 500; line-height: 1.48; text-wrap: pretty; }
.broel-mega-group .broel-mega-established-intro::before { position: absolute; bottom: 0; left: 50%; width: clamp(4.5rem, 42%, 7.5rem); height: 0.58rem; background: linear-gradient(90deg, var(--broel-red), var(--broel-orange)); -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%); clip-path: polygon(0 0, 100% 0, 50% 100%); content: ''; transform: translateX(-50%) scale(1); transform-origin: 50% 100%; transition: transform 200ms ease, filter 200ms ease; }
.broel-mega-group .broel-mega-established-intro u { font-weight: 650; text-decoration-color: var(--broel-orange); text-decoration-thickness: 0.09em; text-underline-offset: 0.13em; }
@media (hover: hover) and (pointer: fine) { .broel-mega-group .broel-mega-established-intro:hover::before { filter: saturate(1.18); transform: translateX(-50%) scale(1.38); } }
.broel-mega-established-block { margin-top: 0.75rem; padding: 0.72rem 0.78rem; border: 0.0625rem solid rgb(232 77 83 / 18%); border-radius: 0.8rem; background: rgb(255 255 255 / 72%); box-shadow: 0 0.45rem 1rem rgb(91 45 48 / 7%); }
.broel-mega-established-block--hen { margin-top: 0.6rem; padding: 0.42rem; border-color: rgb(218 171 18 / 34%); background: linear-gradient(135deg, #fffbe7, #fff2ae); box-shadow: 0 0.5rem 1rem rgb(151 112 0 / 12%); }
.broel-mega-established-block--marketplace { margin-top: 0.6rem; border-color: rgb(118 80 181 / 22%); background: linear-gradient(135deg, rgb(255 255 255 / 82%), rgb(118 80 181 / 7%)); }
.broel-mega-established-block--dropship { position: relative; overflow: hidden; margin-top: 0.6rem; border-color: rgb(86 98 116 / 24%); background: linear-gradient(140deg, #f7f8fa, #e5e9ef); box-shadow: 0 0.55rem 1.1rem rgb(45 55 70 / 10%); }
.broel-mega-established-block--dropship::after { position: absolute; right: -1.7rem; top: -1.8rem; width: 4.5rem; height: 4.5rem; border: 0.55rem solid rgb(79 91 109 / 7%); border-radius: 50%; content: ''; pointer-events: none; }
.broel-mega-dropship-heading { display: grid; position: relative; z-index: 1; margin-bottom: 0.52rem; grid-template-columns: 2.1rem minmax(0, 1fr); align-items: start; gap: 0.55rem; }
.broel-mega-dropship-icon { display: grid; width: 2.1rem; height: 2.1rem; place-items: center; border-radius: 0.62rem; color: #414a58; background: linear-gradient(135deg, #f5dfb7, #dfba78); box-shadow: 0 0.35rem 0.72rem rgb(70 76 87 / 16%); }
.broel-mega-dropship-icon svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.broel-mega-established-block--dropship .broel-mega-dropship-heading h3 { margin: 0; color: #394555; }
.broel-mega-group .broel-mega-established-block--dropship .broel-mega-dropship-heading p { margin: 0.18rem 0 0; color: #667284; font-size: 0.69rem; font-weight: 500; line-height: 1.35; text-wrap: pretty; }
.broel-mega-established-block--dropship ul { position: relative; z-index: 1; gap: 0.32rem; }
.broel-mega-group .broel-mega-established-block--dropship a { display: grid; min-height: 2.05rem; padding: 0.42rem 0.5rem; border-color: rgb(76 88 105 / 14%); grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0.42rem; color: #414d5e; background: rgb(255 255 255 / 72%); font-size: 0.75rem; font-weight: 600; line-height: 1.25; }
.broel-mega-established-block--dropship a > span { color: #ae7a2f; font-size: 0.9rem; transition: transform 150ms ease; }
.broel-mega-established-block--dropship a:hover, .broel-mega-established-block--dropship a:focus-visible { border-color: rgb(174 122 47 / 34%); color: #273344; background: #fff; box-shadow: 0 0.38rem 0.85rem rgb(45 55 70 / 10%); }
.broel-mega-established-block--dropship a:hover > span, .broel-mega-established-block--dropship a:focus-visible > span { transform: translateX(0.12rem); }
.broel-mega-established-block h3 { margin: 0 0 0.42rem; color: var(--broel-red); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.055em; line-height: 1.25; text-transform: uppercase; }
.broel-mega-established-block--marketplace h3 { color: var(--broel-purple-dark); }
.broel-mega-established-block ul { display: grid; margin: 0; padding: 0; gap: 0.38rem; list-style: none; }
.broel-mega-established-block li + li { margin-top: 0; }
.broel-mega-established-block a { display: flex; min-height: 1.7rem; padding: 0.4rem 0.48rem; border: 0.0625rem solid transparent; border-radius: 0.58rem; flex-direction: column; justify-content: center; color: #3d3032; font-size: 0.84rem; line-height: 1.25; text-decoration: none; transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease; }
.broel-mega-established-block a:hover, .broel-mega-established-block a:focus-visible { border-color: rgb(232 77 83 / 20%); background: rgb(255 255 255 / 82%); box-shadow: 0 0.35rem 0.8rem rgb(91 45 48 / 7%); transform: translateX(0.08rem); }
.broel-mega-established-link-title { color: #35292b; font-weight: 700; text-decoration: underline; text-decoration-color: rgb(104 56 59 / 32%); text-decoration-thickness: 0.06rem; text-underline-offset: 0.16rem; }
.broel-mega-established-link-description { display: block; margin-top: 0.22rem; color: #6d5558; font-size: 0.7rem; font-weight: 450; line-height: 1.38; text-wrap: pretty; }
.broel-mega-established-block a:hover .broel-mega-established-link-title, .broel-mega-established-block a:focus-visible .broel-mega-established-link-title { color: var(--broel-red); text-decoration-color: currentColor; }
.broel-mega-established-block--hen > a { display: grid; padding: 0.48rem; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 0.38rem; text-align: center; }
.broel-mega-hen-icon { display: grid; width: 2.2rem; height: 2.2rem; place-items: center; border: 0.0625rem solid rgb(190 139 0 / 24%); border-radius: 50%; background: rgb(255 255 255 / 72%); color: #c88b00; box-shadow: 0 0.3rem 0.7rem rgb(151 112 0 / 10%); }
.broel-mega-hen-icon svg { width: 1.55rem; height: 1.55rem; fill: #ffd64e; stroke: currentColor; stroke-width: 1.55; stroke-linecap: round; stroke-linejoin: round; }
.broel-mega-hen-copy { display: block; width: 100%; min-width: 0; }
.broel-mega-established-block--hen .broel-mega-established-link-title { color: #725200; text-decoration-color: rgb(114 82 0 / 28%); }
.broel-mega-established-block--hen .broel-mega-established-link-description { color: #6c5b27; }
.broel-mega-established-block--hen > a:hover, .broel-mega-established-block--hen > a:focus-visible { border-color: rgb(190 139 0 / 28%); background: rgb(255 255 255 / 48%); }
.broel-mega-established-block--hen > a:hover .broel-mega-established-link-title, .broel-mega-established-block--hen > a:focus-visible .broel-mega-established-link-title { color: #9a6700; }

.broel-mega-group h2 {
	font-size: 1.25rem;
}

.broel-mega-group p,
.broel-mega-group a {
	font-size: 0.9375rem;
}

.broel-mega-group ul {
	margin: 0;
	padding-left: 1.1rem;
}

.broel-mega-group li + li {
	margin-top: 0.4rem;
}

.broel-mega-group a {
	color: var(--broel-ink);
	font-weight: 750;
}

/* Keep Business Services lighter and align its icons with the column edge. */
.broel-mega-group.broel-mega-group--services ul {
	padding-left: 0;
}

.broel-mega-group.broel-mega-group--services a {
	padding-right: 0.2rem;
	padding-left: 0;
	grid-template-columns: 1.6rem minmax(0, 1fr);
	gap: 0.38rem;
	font-size: 0.87rem;
	font-weight: 500;
}

.broel-mega-group.broel-mega-group--services .broel-service-menu-icon {
	width: 1.6rem;
	height: 1.6rem;
	margin-left: -0.28rem;
}

.broel-mega-group.broel-mega-group--services .broel-service-menu-icon svg {
	width: 0.95rem;
	height: 0.95rem;
}

.broel-mega-group--dfy {
	display: flex;
	flex-direction: column;
}

.broel-mega-group--dfy > p {
	margin-bottom: 0.35rem;
}

.broel-mega-group .broel-mega-dfy-intro { margin: 0.78rem 0 0; padding: 0.68rem 0.72rem; border-left: 0.25rem solid var(--broel-orange); border-radius: 0.6rem; background: rgb(255 255 255 / 70%); color: #5d4833; font-size: 0.8rem; line-height: 1.42; }
.broel-mega-dfy-examples { margin-top: 0.72rem; padding: 0.7rem 0.75rem; border: 0.0625rem solid rgb(239 132 43 / 19%); border-radius: 0.75rem; background: rgb(255 255 255 / 72%); }
.broel-mega-group .broel-mega-dfy-examples h3 { margin: 0 0 0.48rem; color: #a84f0e; font-size: 0.8rem; font-weight: 950; letter-spacing: 0.045em; line-height: 1.2; text-transform: uppercase; }
.broel-mega-group .broel-mega-dfy-examples ul { display: grid; gap: 0.28rem; margin: 0; padding: 0; list-style: none; }
.broel-mega-group .broel-mega-dfy-examples li { position: relative; margin: 0; padding-left: 1rem; color: #3f3b37; font-size: 0.77rem; font-weight: 560; line-height: 1.35; }
.broel-mega-group .broel-mega-dfy-examples li::before { position: absolute; width: 0.42rem; height: 0.42rem; left: 0; top: 0.45em; border-radius: 50%; background: var(--broel-orange); box-shadow: 0 0 0 0.2rem rgb(239 132 43 / 11%); content: ''; }
.broel-mega-group.broel-mega-group--dfy .broel-mega-dfy-examples a { display: block; padding: 0.08rem 0.2rem; border-radius: 0.3rem; color: inherit; font-weight: 500; letter-spacing: 0; text-decoration: none; transition: color 160ms ease, background-color 160ms ease, transform 160ms ease; }
.broel-mega-group .broel-mega-dfy-examples a:hover { color: #a84f0e; background: rgb(239 132 43 / 8%); transform: translateX(0.14rem); }
.broel-mega-group .broel-mega-dfy-examples a:focus-visible { outline: 0.13rem solid var(--broel-orange); outline-offset: 0.12rem; color: #7c3909; background: #fff4e9; }

.broel-mega-group .broel-mega-dfy-card {
	display: block;
	width: 100%;
	min-height: 0;
	margin: 0.48rem auto 0;
	align-self: center;
	overflow: hidden !important;
	border: 0.0625rem solid rgb(239 132 43 / 30%);
	border-radius: 0.9rem;
	background: var(--broel-white);
	box-shadow: 0 0.65rem 1.5rem rgb(80 52 23 / 12%);
	line-height: 0;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.broel-mega-dfy-card__prompt {
	display: flex;
	min-height: 2.35rem;
	padding: 0.52rem 0.75rem;
	align-items: center;
	justify-content: space-between;
	gap: 0.65rem;
	color: #fff;
	background: linear-gradient(135deg, var(--broel-blue), #245fca);
	font-size: 0.77rem;
	font-weight: 900;
	letter-spacing: 0.035em;
	line-height: 1.15;
}

.broel-mega-dfy-card__prompt > span {
	font-size: 1.15rem;
	transition: transform 180ms ease;
}

.broel-mega-dfy-card img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.broel-mega-dfy-card:hover {
	box-shadow: 0 0.9rem 2rem rgb(80 52 23 / 20%);
	transform: translateY(-0.15rem);
}

.broel-mega-dfy-card:hover .broel-mega-dfy-card__prompt > span {
	transform: translateX(0.2rem);
}

.broel-mega-dfy-card:focus-visible {
	outline: 0.2rem solid var(--broel-blue);
	outline-offset: 0.18rem;
}

@media (max-width: 74.999rem) {
	.broel-mega-group .broel-mega-dfy-card {
		width: min(100%, 27rem);
	}
	.broel-mega-group .broel-mega-diy-start a { min-height: 2.65rem; }
	.broel-mega-group .broel-mega-diy-intro a { display: inline; min-height: 0; }
	.broel-hub-hero.broel-hub--learn .broel-hub-copy { width: min(100%, 48rem); max-width: none; padding: clamp(1.15rem, 4vw, 2rem); border: 0.0625rem solid rgb(255 255 255 / 72%); border-radius: clamp(1.1rem, 3vw, 1.65rem); background: rgb(255 255 255 / 72%); box-shadow: 0 1.1rem 2.8rem rgb(30 54 91 / 15%); -webkit-backdrop-filter: blur(0.28rem); backdrop-filter: blur(0.28rem); }
	.broel-hub-hero.broel-hub--learn .broel-hub-title .elementor-heading-title { color: #2465ce; text-shadow: 0 0.08rem 0.12rem rgb(255 255 255 / 72%); }
	.broel-hub-hero.broel-hub--learn .broel-hub-intro, .broel-hub-hero.broel-hub--learn .broel-hub-intro p { color: #3f4d61; text-shadow: 0 0.06rem 0.08rem rgb(255 255 255 / 65%); }
}

.broel-currency select {
	min-height: 2.75rem;
	padding: 0.45rem 0.55rem;
	font-size: 0.8125rem;
	font-weight: 650;
	opacity: 1;
}

.broel-footer-currency {
	display: grid;
	max-width: 9rem;
	margin-top: 1.25rem;
	gap: 0.3rem;
	color: #c8ced6;
	font-size: 0.75rem;
	font-weight: 500;
}

.broel-footer-currency select {
	min-height: 2.35rem;
	border-color: rgb(255 255 255 / 20%);
	background: rgb(255 255 255 / 8%);
	color: var(--broel-white);
}

.broel-footer-currency small {
	font-size: 0.65rem;
	font-weight: 400;
	line-height: 1.3;
}

.broel-login-link,
.broel-header-cta {
	font-size: 0.875rem;
	font-weight: 650;
	text-decoration: none;
	white-space: nowrap;
}

.broel-login-link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--broel-ink);
	font-size: 0.875rem;
	font-weight: 400;
}

.broel-login-copy {
	display: inline-flex;
	flex-direction: column;
	gap: 0.05rem;
	line-height: 1.05;
}

.broel-login-copy small {
	color: var(--broel-muted);
	font-size: 0.675rem;
	font-weight: 400;
}

.broel-products-link {
	display: inline-flex;
	position: relative;
	min-height: 2.75rem;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.6rem 0.8rem 0.75rem;
	border: 0;
	border-radius: var(--broel-radius-sm);
	background: transparent;
	color: var(--broel-ink) !important;
	font-size: 0.8125rem;
	font-weight: 800;
	letter-spacing: 0.055em;
	text-decoration: none;
}

.broel-products-link::after {
	position: absolute;
	right: 0.45rem;
	bottom: 0.1rem;
	left: 0.45rem;
	height: 0.5rem;
	border-bottom: 0.25rem solid #7650b5;
	border-radius: 0 0 0.7rem 0.7rem;
	content: "";
}

.broel-products-link:hover {
	background: var(--broel-purple-light);
	color: var(--broel-purple-dark) !important;
}

.broel-products-link.is-active {
	color: var(--broel-blue-dark) !important;
}

.broel-products-link.is-active::after {
	border-bottom-color: var(--broel-blue);
}

.broel-products-link svg,
.broel-products-link span {
	color: inherit !important;
}

.broel-products-menu { position: relative; }

.broel-products-submenu {
	display: grid;
	margin: 0.35rem 0 0;
	padding: 0.4rem 0 0.4rem 1rem;
	border-left: 0.15rem solid #7650b5;
	gap: 0.15rem;
	list-style: none;
}

.broel-products-submenu a {
	display: block;
	padding: 0.45rem 0.55rem;
	border-radius: var(--broel-radius-sm);
	color: var(--broel-ink);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.broel-products-submenu a:hover { background: var(--broel-purple-light); color: var(--broel-purple-dark); }

.broel-products-submenu .broel-products-store-link { margin-bottom: 0.35rem; padding-bottom: 0.5rem; border-bottom: 0.0625rem solid var(--broel-border); }
.broel-products-submenu .broel-products-store-link > a { display: flex; min-height: 4rem; padding: 0.5rem 0.6rem; align-items: center; gap: 0.65rem; border: 0.0625rem solid rgb(117 79 179 / 58%); border-left: 0.3rem solid #5d3998; border-radius: 0.8rem; color: #fff; background: linear-gradient(135deg, #5d3998 0%, #754fb3 52%, #9272c8 100%); box-shadow: 0 0.65rem 1.4rem rgb(81 50 132 / 22%); }
.broel-products-submenu .broel-products-store-link > a:hover,
.broel-products-submenu .broel-products-store-link > a:focus-visible,
.broel-products-submenu .broel-products-store-link.is-current > a { border-color: rgb(117 79 179 / 78%); color: #fff; background: linear-gradient(135deg, #4f2d86 0%, #6943a5 52%, #825fbc 100%); box-shadow: 0 0.85rem 1.7rem rgb(81 50 132 / 30%); transform: translateY(-0.08rem); }
.broel-products-store-icon { display: inline-flex; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; align-items: center; justify-content: center; border-radius: 0.72rem; color: #fff; background: linear-gradient(145deg, #9272c8, #6842a6); box-shadow: 0 0.45rem 0.9rem rgb(60 32 108 / 28%); }
.broel-products-store-copy { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; gap: 0.08rem; line-height: 1.15; }
.broel-products-store-copy strong { color: inherit; font-size: 0.9rem; font-weight: 900; }
.broel-products-store-copy small { color: #eee7f8; font-size: 0.68rem; font-weight: 700; }
.broel-products-store-arrow { margin-left: auto; color: #fff; font-size: 1.2rem; font-weight: 900; }

.broel-header-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.25rem;
	padding: 0.35rem 0.9rem;
	border-radius: var(--broel-radius-sm);
	background: #147d79;
	color: #ffffff !important;
	box-shadow: 0 0.3rem 0.8rem rgba(20, 125, 121, 0.2);
}

.broel-header-cta:hover {
	background: #0f6562;
	color: var(--broel-white) !important;
	transform: translateY(-1px);
}

.broel-cart-link {
	display: inline-flex;
	position: relative;
	width: 2.65rem;
	height: 2.65rem;
	flex: 0 0 2.65rem;
	align-items: center;
	justify-content: center;
	border: 0.1rem solid rgb(118 80 181 / 32%);
	border-radius: 50%;
	background: var(--broel-white);
	box-shadow: 0 0.35rem 0.9rem rgb(64 43 101 / 13%);
	color: #7650b5 !important;
	text-decoration: none;
	transition: border-color 160ms ease, box-shadow 160ms ease, color 160ms ease, transform 160ms ease;
}

.broel-cart-link:hover {
	border-color: #7650b5;
	box-shadow: 0 0.5rem 1.15rem rgb(64 43 101 / 22%);
	color: var(--broel-purple-dark) !important;
	transform: translateY(-0.08rem);
}

.broel-cart-link:focus-visible {
	outline: 0.18rem solid var(--broel-blue);
	outline-offset: 0.16rem;
}

.broel-cart-link svg {
	width: 1.35rem;
	height: 1.35rem;
}

.broel-cart-count {
	display: inline-grid;
	position: absolute;
	top: -0.32rem;
	right: -0.32rem;
	min-width: 1.2rem;
	height: 1.2rem;
	padding-inline: 0.22rem;
	place-items: center;
	border: 0.12rem solid var(--broel-white);
	border-radius: 999px;
	background: var(--broel-orange);
	color: var(--broel-white);
	font-size: 0.64rem;
	font-weight: 850;
	line-height: 1;
}

.broel-cart-count.is-empty {
	display: none;
}

.broel-cart-link--desktop {
	display: none;
}

.broel-header-cta--mobile {
	display: none;
	margin-left: auto;
}

@media (max-width: 74.999rem) {
	.broel-header-inner {
		justify-content: flex-start;
	}

	.broel-menu-toggle {
		order: 3;
	}

	.broel-header-cta--mobile {
		display: inline-flex;
		order: 2;
	}

	.broel-cart-link--mobile {
		order: 2;
	}
}

@media (max-width: 36rem) {
	.broel-header-inner {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto auto;
		grid-template-areas:
			"brand cart menu"
			"join join join";
		gap: 0.5rem;
		padding-block: 0.65rem;
	}

	.broel-brand {
		grid-area: brand;
		min-width: 0;
	}

	.broel-menu-toggle {
		grid-area: menu;
	}

	.custom-logo {
		max-width: min(9.5rem, 45vw);
	}

	.broel-header-cta--mobile {
		grid-area: join;
		width: 100%;
		min-height: 2.1rem;
		margin-left: 0;
		padding: 0.3rem 0.55rem;
		font-size: 0.75rem;
	}

	.broel-cart-link--mobile {
		grid-area: cart;
		width: 2.45rem;
		height: 2.45rem;
		flex-basis: 2.45rem;
	}

	.broel-cart-link svg {
		width: 1.2rem;
		height: 1.2rem;
	}
}

.broel-primary-menu,
.broel-footer-menu {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

.broel-primary-menu {
	flex-direction: column;
	gap: 0.15rem;
}

/* Only the requested destinations remain in the primary row. */
.broel-primary-menu > li {
	display: none;
}

.broel-primary-menu > .broel-menu-item--connect,
.broel-primary-menu > .broel-menu-item--our-work,
.broel-primary-menu > .broel-menu-item--about,
.broel-primary-menu > .broel-menu-item--resources,
.broel-primary-menu > .broel-menu-item--blog {
	display: list-item;
}

.broel-primary-menu .sub-menu {
	display: grid;
	margin: 0.35rem 0 0;
	padding: 0.4rem 0 0.4rem 1rem;
	border-left: 0.15rem solid var(--broel-blue-light);
	gap: 0.15rem;
	list-style: none;
}

.broel-primary-menu .sub-menu a {
	padding-block: 0.45rem;
	font-size: 0.875rem;
	font-weight: 550;
}

.broel-primary-menu .broel-menu-item--support-tickets > a {
	display: flex;
	min-height: 3rem;
	margin-block: 0.18rem 0.32rem;
	align-items: center;
	gap: 0.62rem;
	padding: 0.42rem 0.68rem;
	border: 0.0625rem solid rgb(255 255 255 / 35%);
	border-left: 0.3rem solid #f7bf45;
	border-radius: 0.72rem;
	background: linear-gradient(135deg, #2f77da 0%, #245ab1 100%);
	color: #fff !important;
	box-shadow: 0 0.55rem 1.25rem rgb(36 90 177 / 25%);
	font-weight: 850;
	transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.broel-primary-menu .broel-menu-item--support-tickets > a:hover,
.broel-primary-menu .broel-menu-item--support-tickets > a:focus-visible {
	background: linear-gradient(135deg, #245fae 0%, #173f7d 100%);
	color: #fff !important;
	box-shadow: 0 0.72rem 1.5rem rgb(25 74 151 / 32%);
	transform: translateY(-0.08rem);
}

.broel-nav-label--support {
	width: 100%;
	align-items: center;
	gap: 0.58rem;
}

.broel-support-menu-icon {
	display: inline-flex;
	width: 2.05rem;
	height: 2.05rem;
	flex: 0 0 2.05rem;
	align-items: center;
	justify-content: center;
	border: 0.0625rem solid rgb(255 255 255 / 35%);
	border-radius: 0.58rem;
	background: rgb(255 255 255 / 14%);
}

.broel-support-menu-arrow {
	margin-left: auto;
	font-size: 1.15rem;
}

.broel-primary-menu .broel-menu-item--featured-community > a {
	display: flex;
	min-height: 3.1rem;
	margin-block: 0.2rem;
	align-items: center;
	gap: 0.65rem;
	padding: 0.35rem 0.68rem;
	border: 0.0625rem solid rgb(47 119 218 / 28%);
	border-left: 0.28rem solid var(--broel-blue);
	border-radius: 0.7rem;
	box-shadow: 0 0.38rem 1rem rgb(36 91 166 / 10%);
	font-weight: 850;
}

.broel-primary-menu .broel-menu-item--featured-community > a:hover,
.broel-primary-menu .broel-menu-item--featured-community > a:focus-visible {
	box-shadow: 0 0.55rem 1.25rem rgb(25 83 163 / 17%);
	transform: translateY(-0.05rem);
}

.broel-primary-menu .broel-menu-item--academy > a {
	border-color: rgb(47 119 218 / 30%);
	border-left-color: #2f77da;
	background: linear-gradient(135deg, #eaf3ff 0%, #ffffff 100%);
	color: #1953a3 !important;
}

.broel-primary-menu .broel-menu-item--academy > a:hover,
.broel-primary-menu .broel-menu-item--academy > a:focus-visible {
	border-color: rgb(24 93 185 / 50%);
	border-left-color: #185db9;
	background: linear-gradient(135deg, #d6e8ff 0%, #eef6ff 100%);
	color: #123f82 !important;
}

.broel-primary-menu .broel-menu-item--community-hub > a {
	border-color: rgb(22 139 176 / 30%);
	border-left-color: #168bb0;
	background: linear-gradient(135deg, #e8f7fb 0%, #ffffff 100%);
	color: #116a87 !important;
}

.broel-primary-menu .broel-menu-item--community-hub > a:hover,
.broel-primary-menu .broel-menu-item--community-hub > a:focus-visible {
	border-color: rgb(12 111 143 / 50%);
	border-left-color: #0c6f8f;
	background: linear-gradient(135deg, #d4eff6 0%, #eefbfe 100%);
	color: #084f67 !important;
}

.broel-primary-menu .broel-menu-item--forum > a {
	border-color: rgb(64 95 199 / 30%);
	border-left-color: #405fc7;
	background: linear-gradient(135deg, #eef0ff 0%, #ffffff 100%);
	color: #304aab !important;
}

.broel-primary-menu .broel-menu-item--forum > a:hover,
.broel-primary-menu .broel-menu-item--forum > a:focus-visible {
	border-color: rgb(42 70 165 / 50%);
	border-left-color: #2a46a5;
	background: linear-gradient(135deg, #dfe4ff 0%, #f3f5ff 100%);
	color: #223783 !important;
}

.broel-primary-menu .broel-menu-item--events-featured > a {
	border-color: rgb(23 76 127 / 30%);
	border-left-color: #174c7f;
	background: linear-gradient(135deg, #e7f1fb 0%, #ffffff 100%);
	color: #174c7f !important;
}

.broel-primary-menu .broel-menu-item--events-featured > a:hover,
.broel-primary-menu .broel-menu-item--events-featured > a:focus-visible {
	border-color: rgb(12 52 91 / 52%);
	border-left-color: #0c345b;
	background: linear-gradient(135deg, #d4e7f8 0%, #f1f8fe 100%);
	color: #0c345b !important;
}

.broel-primary-menu .broel-menu-item--featured-community.current-menu-item > a {
	box-shadow: inset 0 -0.18rem 0 var(--broel-blue), 0 0.5rem 1.1rem rgb(25 83 163 / 15%);
}

.broel-nav-label--featured {
	width: 100%;
	gap: 0.62rem;
}

.broel-featured-menu-icon {
	display: inline-grid;
	width: 2.35rem;
	height: 2.35rem;
	flex: 0 0 2.35rem;
	place-items: center;
	border-radius: 0.65rem;
	background: currentcolor;
	box-shadow: 0 0.3rem 0.75rem rgb(25 83 163 / 18%);
	color: var(--broel-white);
}

.broel-menu-item--academy .broel-featured-menu-icon { background: #2f77da; }
.broel-menu-item--community-hub .broel-featured-menu-icon { background: #168bb0; }
.broel-menu-item--forum .broel-featured-menu-icon { background: #405fc7; }
.broel-menu-item--events-featured .broel-featured-menu-icon { background: #174c7f; }

.broel-featured-menu-icon svg {
	width: 1.45rem;
	height: 1.45rem;
}

.broel-nav-label--featured .broel-nav-label--stacked {
	min-width: 0;
	gap: 0.08rem;
}

.broel-nav-label--featured .broel-nav-label--stacked > span {
	font-size: 0.88rem;
	font-weight: 900;
	letter-spacing: 0.055em;
}

.broel-nav-label--featured small {
	color: #536579;
	font-size: 0.68rem;
	font-weight: 650;
	line-height: 1.25;
	letter-spacing: 0;
	white-space: normal;
}

.broel-featured-menu-arrow {
	margin-left: auto;
	color: currentcolor;
	font-size: 1rem;
	font-weight: 900;
}

.broel-nav-caret {
	font-size: 0.8em;
}

.broel-home-link {
	display: block;
	padding: 0.55rem 0.65rem;
	border-radius: var(--broel-radius-sm);
	color: var(--broel-ink);
	font-size: 0.9375rem;
	font-weight: 650;
	text-decoration: none;
}

.broel-home-link:hover,
.home .broel-home-link {
	color: var(--broel-blue-dark);
}

.broel-home-link:hover {
	background: var(--broel-grey);
}

.home .broel-home-link {
	box-shadow: inset 0 -0.2rem 0 var(--broel-blue);
}

.broel-primary-menu a {
	display: block;
	padding: 0.55rem 0.6rem;
	border-radius: var(--broel-radius-sm);
	color: var(--broel-ink);
	font-size: 0.9375rem;
	font-weight: 650;
	letter-spacing: 0.025em;
	text-decoration: none;
}

.broel-nav-label {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.broel-nav-label--stacked {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.05rem;
	line-height: 1.15;
}

.broel-nav-label--stacked small {
	color: var(--broel-muted);
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: 0;
	white-space: nowrap;
}

.broel-nav-label--featured .broel-nav-label--stacked {
	flex: 1 1 auto;
}

.broel-nav-label--featured .broel-nav-label--stacked small {
	overflow-wrap: anywhere;
	white-space: normal;
}

.broel-nav-label--community svg {
	flex: 0 0 auto;
}

.broel-nav-label--community small {
	font-size: 0.625rem;
}

.broel-primary-menu a:hover .broel-nav-label--stacked small,
.broel-primary-menu .current-menu-item > a .broel-nav-label--stacked small {
	color: inherit;
}

.broel-primary-menu a:hover {
	background: var(--broel-grey);
	color: var(--broel-blue-dark);
}

.broel-primary-menu .current-menu-item > a {
	color: var(--broel-blue-dark);
	box-shadow: inset 0 -0.2rem 0 var(--broel-blue);
}

.broel-primary-menu .broel-menu-item--work-child > a {
	display: flex;
	align-items: center;
	min-height: 3rem;
	margin-block: 0.2rem;
	padding: 0.42rem 0.65rem;
	border: 0.0625rem solid rgb(54 120 232 / 18%);
	border-radius: 0.75rem;
	background: linear-gradient(135deg, #f5f8ff 0%, #fff 100%);
	color: #214f9c;
}

.broel-primary-menu .broel-menu-item--work-child > a:hover,
.broel-primary-menu .broel-menu-item--work-child > a:focus-visible,
.broel-primary-menu .broel-menu-item--work-child.current-menu-item > a {
	background: linear-gradient(135deg, #e8f1ff 0%, #f8fbff 100%);
	color: #153d80;
	box-shadow: 0 0.5rem 1rem rgb(31 86 166 / 12%);
	transform: translateY(-0.05rem);
}

.broel-nav-label--work {
	width: 100%;
	gap: 0.6rem;
	font-weight: 800;
}

.broel-work-menu-icon {
	display: inline-grid;
	width: 2rem;
	height: 2rem;
	flex: 0 0 2rem;
	place-items: center;
	border-radius: 0.58rem;
	background: #e5efff;
	color: #2f77da;
}

.broel-menu-item--case-studies .broel-work-menu-icon { background: #e7f8ef; color: #238456; }
.broel-menu-item--our-projects .broel-work-menu-icon { background: #fff0e2; color: #c76114; }
.broel-work-menu-icon svg { width: 1.25rem; height: 1.25rem; }
.broel-work-menu-arrow { margin-left: auto; font-weight: 900; }

.broel-primary-menu > .broel-menu-item--connect > a,
.broel-primary-menu > .broel-menu-item--connect > a:hover {
	background: var(--broel-blue-light);
	color: var(--broel-blue-dark);
}

.broel-entry + .broel-entry {
	border-top: 0.0625rem solid var(--broel-border);
}

.broel-entry-meta,
.broel-archive-description {
	color: var(--broel-muted);
}

.broel-featured-image img {
	margin-block: var(--broel-space-6);
	border-radius: var(--broel-radius-md);
}

.broel-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 3rem;
	padding: 0.75rem 1.25rem;
	border-radius: var(--broel-radius-sm);
	background: var(--broel-blue);
	color: var(--broel-white);
	font-weight: 750;
	text-decoration: none;
}

.broel-button:hover {
	background: var(--broel-blue-dark);
	color: var(--broel-white);
}

.broel-eyebrow {
	color: var(--broel-red-dark);
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.broel-site-footer {
	padding-block: clamp(3rem, 7vw, 5rem);
	border-top: 0.0625rem solid var(--broel-border);
	background: var(--broel-ink);
	color: var(--broel-white);
}

.broel-footer-inner {
	display: grid;
	gap: var(--broel-space-6);
}

.broel-footer-about {
	max-width: 32rem;
}

.broel-footer-logo {
	display: inline-flex;
	margin-bottom: 1rem;
	padding: 0.65rem;
	border-radius: var(--broel-radius-sm);
	background: var(--broel-white);
}

.broel-footer-logo .custom-logo {
	max-height: 4rem;
}

.broel-footer-about p,
.broel-footer-heading,
.broel-site-footer a {
	color: var(--broel-white);
}

.broel-footer-heading {
	font-weight: 800;
}

.broel-footer-signup p {
	color: var(--broel-white);
}

.broel-signup-placeholder label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.875rem;
	font-weight: 650;
}

.broel-signup-placeholder > div {
	display: flex;
	gap: 0.5rem;
}

.broel-signup-placeholder input {
	min-width: 0;
	width: 100%;
}

.broel-signup-placeholder button {
	padding-inline: 1rem;
	border: 0;
	border-radius: var(--broel-radius-sm);
	background: var(--broel-orange);
	color: var(--broel-ink);
	font-weight: 750;
	white-space: nowrap;
}

.broel-signup-placeholder :disabled {
	cursor: not-allowed;
	opacity: 0.78;
}

.broel-signup-placeholder small {
	display: block;
	margin-top: 0.4rem;
	color: #c8ced6;
}

.broel-footer-menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.6rem 1.25rem;
}

.broel-footer-menu a {
	font-size: 0.9375rem;
	text-decoration-color: rgb(255 255 255 / 45%);
}

.broel-footer-menu .sub-menu {
	display: grid;
	margin: 0.45rem 0 0;
	padding: 0;
	gap: 0.25rem;
	list-style: none;
}

.broel-footer-menu .sub-menu a {
	font-size: 0.825rem;
	font-weight: 450;
}

.broel-copyright {
	margin: 0;
	color: #c8ced6;
	font-size: 0.9375rem;
}

/* Elementor homepage foundations. Content remains stored as editable widgets. */
.broel-home-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(4rem, 9vw, 8rem);
	background: var(--broel-white);
	min-height: clamp(38rem, 66vw, 50rem);
	display: flex;
	align-items: center;
}

.broel-home-hero::before,
.broel-home-hero::after {
	position: absolute;
	z-index: 0;
	border-radius: 999px;
	content: "";
	pointer-events: none;
}

.broel-home-hero::before {
	inset: 0;
	border-radius: 0;
	background: linear-gradient(90deg, rgb(255 255 255 / 99%) 0%, rgb(255 255 255 / 98%) 46%, rgb(255 255 255 / 86%) 54%, rgb(255 255 255 / 30%) 63%, transparent 72%);
	opacity: 1;
}

.broel-home-hero::after {
	right: 14%;
	bottom: 8%;
	width: clamp(5rem, 10vw, 9rem);
	aspect-ratio: 1;
	border: 1.25rem solid var(--broel-orange-light);
}

.broel-home-hero > .e-con-inner,
.broel-home-hero.e-con {
	position: relative;
	z-index: 1;
}

.broel-hero-copy {
	max-width: 46rem;
}

.broel-hero-eyebrow .elementor-heading-title,
.broel-section-eyebrow .elementor-heading-title {
	color: var(--broel-blue-dark);
	font-size: 0.9375rem;
	font-weight: 800;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.broel-hero-title .elementor-heading-title {
	max-width: 14ch;
	font-size: clamp(3rem, 7vw, 6rem);
	line-height: 1;
}

.broel-hero-intro {
	max-width: 46rem;
	font-size: clamp(1.125rem, 2vw, 1.375rem);
}

@media (max-width: 74.999rem) {
	.broel-hero-intro {
		padding: clamp(0.8rem, 2.5vw, 1.1rem) clamp(0.9rem, 3vw, 1.25rem);
		border: 0.0625rem solid rgb(255 255 255 / 72%);
		border-radius: 0.85rem;
		background: rgb(255 255 255 / 72%);
		box-shadow: 0 0.5rem 1.5rem rgb(32 36 42 / 12%);
		-webkit-backdrop-filter: blur(0.3rem);
		backdrop-filter: blur(0.3rem);
	}

	.broel-hero-intro,
	.broel-hero-intro :where(p, span) {
		color: var(--broel-ink) !important;
	}
}

.broel-hero-actions.e-con {
	--display: grid;
	display: grid;
	width: min(100%, 27rem);
	grid-template-columns: 1fr;
	gap: 1rem;
	margin-top: 1rem;
}

.broel-hero-actions .elementor-widget-button,
.broel-hero-actions .elementor-button {
	width: 100%;
}

.broel-button-primary .elementor-button,
.broel-button-secondary .elementor-button {
	min-height: 3.5rem;
	padding: 1rem 1.5rem;
	font-size: 1rem;
	font-weight: 800;
}

.broel-hero-actions .broel-button-secondary .elementor-button {
	border: 0.125rem solid var(--broel-green);
	background: var(--broel-green) !important;
	color: var(--broel-white) !important;
}

.broel-hero-actions .broel-button-secondary .elementor-button:hover {
	border-color: var(--broel-green-dark);
	background: var(--broel-green-dark) !important;
	color: var(--broel-white) !important;
}

/* Homepage opening statement. */
.broel-home-welcome {
	position: relative;
	padding-block: clamp(2.5rem, 6vw, 5rem);
	background:
		radial-gradient(circle at 8% 18%, rgb(55 124 232 / 12%), transparent 24rem),
		radial-gradient(circle at 92% 82%, rgb(52 177 113 / 12%), transparent 22rem),
		#f7f9fc;
}

.broel-home-welcome__panel {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(1.6rem, 4vw, 3.5rem) !important;
	border: 0.0625rem solid rgb(55 124 232 / 20%);
	border-radius: 3.25rem 1.5rem 4.25rem 1.75rem / 2.25rem 3.75rem 2.1rem 4.5rem !important;
	background:
		radial-gradient(circle at 7% 12%, rgb(55 124 232 / 13%), transparent 18rem),
		radial-gradient(circle at 92% 85%, rgb(52 177 113 / 13%), transparent 20rem),
		linear-gradient(135deg, rgb(255 255 255 / 98%), rgb(250 248 255 / 93%));
	box-shadow: 0 1.75rem 4.5rem rgb(32 52 85 / 14%);
}

.broel-home-welcome__panel::before {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: min(62%, 42rem);
	height: 0.55rem;
	border-radius: 0 0 999px;
	background: linear-gradient(90deg, var(--broel-blue) 0 20%, var(--broel-green) 20% 40%, var(--broel-orange) 40% 60%, #7650b5 60% 80%, var(--broel-red) 80% 100%);
	content: "";
}

.broel-home-welcome__panel::after {
	position: absolute;
	top: -8rem;
	right: -6rem;
	z-index: 0;
	width: clamp(15rem, 26vw, 22rem);
	aspect-ratio: 1;
	border-radius: 43% 57% 63% 37% / 58% 38% 62% 42%;
	background: conic-gradient(from 35deg, var(--broel-blue), var(--broel-green), var(--broel-orange), #7650b5, var(--broel-red), var(--broel-blue));
	opacity: 0.17;
	-webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2rem), #000 0);
	mask: radial-gradient(farthest-side, transparent calc(100% - 2rem), #000 0);
	transform: rotate(-14deg);
	content: "";
	pointer-events: none;
}

.broel-home-welcome__panel > * {
	position: relative;
	z-index: 1;
}

.broel-home-welcome__eyebrow {
	display: inline-flex;
	margin-bottom: 0.85rem;
	color: var(--broel-blue-dark);
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.broel-home-welcome__heading h2 {
	max-width: 25ch;
	margin: 0;
	color: var(--broel-ink);
	font-size: clamp(2rem, 4.5vw, 4.25rem);
	line-height: 1.04;
	letter-spacing: -0.035em;
}

.broel-colour-word {
	display: inline-flex;
	white-space: nowrap;
}

.broel-colour-word span:nth-child(1) { color: var(--broel-blue); }
.broel-colour-word span:nth-child(2) { color: var(--broel-green); }
.broel-colour-word span:nth-child(3) { color: var(--broel-orange); }
.broel-colour-word span:nth-child(4) { color: #7650b5; }
.broel-colour-word span:nth-child(5) { color: var(--broel-red); }

.broel-welcome__legal {
	display: block;
	margin-top: 0.45rem;
	color: var(--broel-blue-dark);
	font-size: clamp(1rem, 1.75vw, 1.4rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0;
}

.broel-home-welcome__copy {
	max-width: 68rem;
	margin-top: clamp(1.2rem, 2.5vw, 2rem);
	padding-left: clamp(1rem, 2.5vw, 1.75rem);
	border-left: 0.3rem solid var(--broel-orange);
	color: var(--broel-grey-dark);
	font-size: clamp(1.05rem, 1.6vw, 1.25rem);
	line-height: 1.65;
}

.broel-home-welcome__copy p {
	margin: 0;
}

.broel-home-welcome__copy p + p {
	margin-top: 0.8rem;
}

@media (max-width: 47.999rem) {
	.broel-home-welcome__panel {
		padding: 1.5rem 1.15rem !important;
		border-radius: 1.75rem 0.9rem 2.25rem 1rem / 1.25rem 2rem 1.35rem 2.4rem !important;
	}

	.broel-home-welcome__panel::before {
		width: 78%;
	}

	.broel-home-welcome__panel::after {
		top: -5.5rem;
		right: -7rem;
		width: 14rem;
		opacity: 0.12;
	}

	.broel-home-welcome__copy {
		padding-left: 0.9rem;
		font-size: 1rem;
		line-height: 1.58;
	}
}

.broel-journey {
	padding-block: clamp(4rem, 8vw, 7rem);
	background: var(--broel-grey);
}

.broel-section-heading {
	max-width: 48rem;
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.broel-journey .broel-section-heading {
	max-width: 68rem;
}

.broel-journey .broel-section-heading h2 {
	font-size: clamp(2.25rem, 3.5vw, 3.4rem);
	line-height: 1.08;
}

.broel-journey-grid.e-con {
	--display: grid;
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: clamp(1rem, 1.6vw, 1.4rem);
}

.broel-journey-grid > .e-con-inner {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	gap: clamp(1rem, 1.6vw, 1.4rem);
}

.broel-journey-card {
	display: flex !important;
	position: relative;
	overflow: hidden;
	min-width: 0;
	min-height: 39rem;
	box-sizing: border-box;
	flex-direction: column;
	align-items: stretch;
	padding: clamp(1.35rem, 2vw, 1.75rem);
	border: 0.0625rem solid var(--broel-border);
	border-top: 0.45rem solid var(--broel-card-colour);
	border-radius: var(--broel-radius-lg);
	background: linear-gradient(160deg, var(--broel-card-light) 0%, var(--broel-white) 42%);
	color: var(--broel-ink);
	gap: 0.85rem;
	box-shadow: 0 0.75rem 2rem rgb(32 36 42 / 10%);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.broel-journey-card::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 8rem;
	height: 8rem;
	border-radius: 0 0 0 100%;
	background: var(--broel-card-colour);
	opacity: 0.08;
	content: "";
	pointer-events: none;
}

.broel-journey-card > * {
	position: relative;
	z-index: 1;
}

.broel-journey-card > .e-con-inner {
	display: flex;
	width: 100%;
	max-width: none;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: stretch;
	gap: 0.85rem;
}

.broel-card-image {
	margin: calc(clamp(1.35rem, 2vw, 1.75rem) * -1) calc(clamp(1.35rem, 2vw, 1.75rem) * -1) 0;
}

.broel-card-image .elementor-widget-container {
	overflow: hidden;
	height: 10.5rem;
	border-radius: calc(var(--broel-radius-lg) - 0.15rem) calc(var(--broel-radius-lg) - 0.15rem) 0 0;
}

.broel-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 350ms ease;
}

.broel-journey-card:hover .broel-card-image img {
	transform: scale(1.035);
}

.broel-journey-card:hover {
	transform: translateY(-0.35rem);
	box-shadow: 0 1.25rem 3rem rgb(32 36 42 / 14%);
}

.broel-journey-card--start { --broel-card-colour: var(--broel-red); --broel-card-dark: var(--broel-red-dark); --broel-card-light: var(--broel-red-light); }
.broel-journey-card--build { --broel-card-colour: var(--broel-green); --broel-card-dark: var(--broel-green-dark); --broel-card-light: var(--broel-green-light); }
.broel-journey-card--grow { --broel-card-colour: var(--broel-orange); --broel-card-dark: var(--broel-orange-dark); --broel-card-light: var(--broel-orange-light); }
.broel-journey-card--scale { --broel-card-colour: var(--broel-purple); --broel-card-dark: var(--broel-purple-dark); --broel-card-light: var(--broel-purple-light); }

.broel-card-top .elementor-widget-container {
	display: flex;
	min-height: 4rem;
	align-items: center;
	gap: 0.75rem;
}

.broel-card-top span {
	color: var(--broel-card-dark);
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.075em;
}

.broel-service-icon {
	display: grid;
	width: 3.5rem;
	height: 3.5rem;
	flex: 0 0 3.5rem;
	place-items: center;
	border-radius: 1rem;
	background: var(--broel-card-colour);
	box-shadow: 0 0.5rem 1rem rgb(32 36 42 / 10%);
}

.broel-service-icon svg {
	width: 1.75rem;
	height: 1.75rem;
	fill: none;
	stroke: var(--broel-white);
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.broel-journey-card .broel-card-title .elementor-heading-title {
	margin: 0;
	color: var(--broel-card-dark) !important;
	font-size: clamp(1.2rem, 1.35vw, 1.5rem);
	line-height: 1.18;
}

.broel-card-title {
	min-height: 4.4rem;
}

.broel-journey-card .elementor-widget-text-editor,
.broel-journey-card .elementor-widget-text-editor p {
	color: var(--broel-muted);
	font-size: 0.975rem;
	line-height: 1.5;
}

.broel-journey-card > .elementor-widget-text-editor:not(.broel-card-top):not(.broel-card-features) {
	min-height: 6.75rem;
}

.broel-card-features {
	width: 100%;
	align-self: stretch;
}

.broel-card-features ul {
	display: grid;
	margin: 0;
	padding: 1rem 0 0;
	border-top: 0.0625rem solid var(--broel-border);
	gap: 0.45rem;
	list-style: none;
}

.broel-card-features li {
	position: relative;
	padding-left: 1.25rem;
	color: var(--broel-ink);
	font-size: 0.9rem;
	font-weight: 650;
	line-height: 1.35;
}

.broel-card-features li::before {
	position: absolute;
	top: 0.38em;
	left: 0;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	background: var(--broel-card-colour);
	content: "";
}

.broel-journey-card .broel-card-button .elementor-button {
	width: 100%;
	height: 4.25rem;
	min-height: 4.25rem;
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.8rem;
	background: var(--broel-card-dark) !important;
	color: var(--broel-white) !important;
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.025em;
}

.broel-journey-card .broel-card-button {
	position: relative;
	width: 100%;
	align-self: stretch;
	margin: auto 0 0;
	padding-top: 1rem;
	padding-bottom: 0.9rem;
}

.broel-journey-card .broel-card-button .elementor-button-text {
	line-height: 1.1;
}

.broel-journey-card .broel-card-button .elementor-button:hover {
	background: var(--broel-card-colour) !important;
	color: var(--broel-white) !important;
}

.broel-problem,
.broel-build-ways {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.broel-problem {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 8% 18%, rgb(55 121 230 / 9%), transparent 24rem),
		linear-gradient(180deg, var(--broel-white), #f8faff);
}

.broel-problem-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.broel-problem-grid > .e-con-inner {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.broel-topic-cloud .elementor-widget-container {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 0.0625rem solid var(--broel-border);
	border-radius: var(--broel-radius-lg);
	background: rgb(255 255 255 / 82%);
	box-shadow: 0 1rem 2.75rem rgb(32 36 42 / 7%);
}

.broel-topic-cloud span {
	display: inline-flex;
	padding: 0.65rem 0.95rem;
	border: 0.0625rem solid var(--broel-border);
	border-radius: 999px;
	background: var(--broel-grey);
	color: var(--broel-ink);
	font-size: 0.9375rem;
	font-weight: 700;
	transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.broel-topic-cloud span:nth-child(4n + 1) { border-color: rgb(55 121 230 / 24%); background: var(--broel-blue-light); color: var(--broel-blue-dark); }
.broel-topic-cloud span:nth-child(4n + 2) { border-color: rgb(54 179 111 / 26%); background: var(--broel-green-light); color: var(--broel-green-dark); }
.broel-topic-cloud span:nth-child(4n + 3) { border-color: rgb(242 140 56 / 28%); background: var(--broel-orange-light); color: var(--broel-orange-dark); }
.broel-topic-cloud span:nth-child(4n) { border-color: rgb(118 80 181 / 24%); background: var(--broel-purple-light); color: var(--broel-purple-dark); }

.broel-topic-cloud span:hover {
	transform: translateY(-0.15rem);
	border-color: currentcolor;
}

.broel-problem-transition-image {
	position: relative;
	margin-top: clamp(1.25rem, 2.5vw, 2rem);
}

.broel-problem-transition-image .elementor-widget-container {
	position: relative;
	overflow: hidden;
	border: 0.0625rem solid rgb(55 121 230 / 15%);
	border-radius: clamp(1.25rem, 2vw, 1.75rem);
	background: var(--broel-white);
	box-shadow: 0 1.25rem 3rem rgb(30 54 94 / 13%);
}

.broel-problem-transition-image .elementor-widget-container::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgb(32 36 42 / 10%) 0%, transparent 42%, rgb(54 179 111 / 9%) 100%);
	content: "";
	pointer-events: none;
}

.broel-problem-transition-image .elementor-widget-container::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	z-index: 2;
	width: 0.2rem;
	background: linear-gradient(180deg, transparent 0%, rgb(255 255 255 / 92%) 10%, rgb(255 255 255 / 92%) 90%, transparent 100%);
	box-shadow: 0 0 0 0.06rem rgb(32 36 42 / 18%), 0 0 1rem rgb(255 255 255 / 70%);
	content: "";
	transform: translateX(-50%);
	pointer-events: none;
}

.broel-problem-transition-image img {
	display: block;
	width: 100%;
	height: clamp(18rem, 34vw, 27rem);
	object-fit: cover;
	object-position: center;
}

.broel-problem-transition-image::before {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: grid;
	width: 3.25rem;
	height: 3.25rem;
	place-items: center;
	border: 0.16rem solid rgb(255 255 255 / 85%);
	border-radius: 50%;
	background: linear-gradient(135deg, var(--broel-blue), var(--broel-green));
	color: #fff;
	content: "→";
	font-size: 1.5rem;
	font-weight: 900;
	box-shadow: 0 0.75rem 1.5rem rgb(20 31 48 / 22%);
	transform: translate(-50%, -50%);
}

.broel-ecosystem-panel {
	position: relative;
	overflow: hidden;
	padding: clamp(1.75rem, 4vw, 3.5rem);
	border-radius: var(--broel-radius-lg);
	background: linear-gradient(145deg, #20242a 0%, #293f64 100%);
	color: var(--broel-white);
	box-shadow: 0 1.5rem 3.5rem rgb(20 31 48 / 20%);
}

.broel-ecosystem-panel::after {
	position: absolute;
	right: -4rem;
	bottom: -5rem;
	width: 13rem;
	height: 13rem;
	border: 1.5rem solid rgb(242 140 56 / 18%);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.broel-ecosystem-panel > * {
	position: relative;
	z-index: 1;
}

.broel-ecosystem-panel .elementor-heading-title {
	font-size: clamp(1.75rem, 3vw, 2.65rem);
}

.broel-ecosystem-panel :where(h2, h3, p, a) {
	color: var(--broel-white) !important;
}

.broel-ecosystem-panel p {
	opacity: 0.88;
}

.broel-build-ways {
	background: var(--broel-grey);
}

.broel-way-grid {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.broel-way-grid > .e-con-inner {
	display: grid;
	width: 100%;
	max-width: none;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.broel-way-card {
	display: flex !important;
	min-height: 100%;
	flex-direction: column !important;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 0.0625rem solid var(--broel-border);
	border-radius: var(--broel-radius-lg);
	background: var(--broel-white);
	box-shadow: 0 0.75rem 2rem rgb(32 36 42 / 7%);
	overflow: hidden;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.broel-way-illustration {
	position: relative;
	width: calc(100% + clamp(3rem, 6vw, 5rem));
	margin: calc(clamp(1.5rem, 3vw, 2.5rem) * -1) calc(clamp(1.5rem, 3vw, 2.5rem) * -1) 1.35rem;
	overflow: hidden;
	border-bottom: 0.38rem solid var(--broel-blue);
}

.broel-way-illustration--dwy { border-bottom-color: var(--broel-orange); }
.broel-way-illustration--dfy { border-bottom-color: var(--broel-green); }

.broel-way-art {
	min-height: clamp(10.5rem, 15vw, 14rem);
	background-image: url("../images/support-pathway-diy-photo-v1.jpg");
	background-position: center 42%;
	background-repeat: no-repeat;
	background-size: cover;
	transition: transform 350ms ease;
}

.broel-way-illustration--dwy .broel-way-art {
	background-image: url("../images/support-pathway-guided-photo-v1.jpg");
	background-position: center 46%;
}
.broel-way-illustration--dfy .broel-way-art {
	background-image: url("../images/support-pathway-done-for-you-photo-v1.jpg");
	background-position: center 45%;
}

.broel-way-illustration::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	min-height: 3.35rem;
	padding: 0.82rem clamp(1rem, 2.2vw, 1.4rem) 0.9rem;
	color: #fff;
	background: linear-gradient(180deg, transparent 0, rgb(18 38 70 / 88%) 42%, rgb(18 38 70 / 96%) 100%);
	content: "DO IT YOURSELF\A Build independently with practical knowledge, tools and support.";
	font-size: clamp(0.72rem, 1vw, 0.82rem);
	font-weight: 780;
	line-height: 1.38;
	text-shadow: 0 0.08rem 0.18rem rgb(0 0 0 / 35%);
	white-space: pre-line;
	transform: translateY(calc(100% - 3.35rem));
	transition: transform 240ms ease;
}
.broel-way-illustration--dwy::after {
	background: linear-gradient(180deg, transparent 0, rgb(113 54 7 / 88%) 42%, rgb(113 54 7 / 96%) 100%);
	content: "DO IT WITH YOU\A Work alongside BROel professionals to turn your ideas into a working business.";
}
.broel-way-illustration--dfy::after {
	background: linear-gradient(180deg, transparent 0, rgb(13 75 49 / 88%) 42%, rgb(13 75 49 / 96%) 100%);
	content: "DONE FOR YOU\A We build your complete online business and hand it over fully ready to trade.";
}
.broel-way-card:hover .broel-way-illustration::after,
.broel-way-card:focus-within .broel-way-illustration::after { transform: translateY(0); }
.broel-way-card:hover .broel-way-art,
.broel-way-card:focus-within .broel-way-art { transform: scale(1.025); }

@media (hover: none), (max-width: 47.99rem) {
	.broel-way-illustration::after { transform: translateY(0); }
}

.broel-way-description {
	margin-top: 0.2rem;
	color: var(--broel-text);
}

.broel-way-description p {
	margin: 0 0 1.2rem;
	font-size: 1rem;
	line-height: 1.6;
}

.broel-way-card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1.25rem 3rem rgb(32 36 42 / 12%);
}

.broel-way-card--featured {
	border-color: var(--broel-orange);
	box-shadow: 0 1rem 3rem rgb(242 140 56 / 16%);
}

.broel-way-code .elementor-heading-title {
	color: var(--broel-orange-dark);
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

.broel-way-list ul {
	display: grid;
	gap: 0.45rem;
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.broel-way-card .broel-button-primary {
	margin-top: auto;
	padding-top: 0.5rem;
}

.broel-way-list li::before {
	margin-right: 0.6rem;
	color: var(--broel-green);
	content: "✓";
	font-weight: 900;
}

.broel-community,
.broel-academy,
.broel-services,
.broel-tools {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.broel-mailing-signup,
.broel-blog-preview {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.broel-mailing-signup {
	background: linear-gradient(135deg, #edf4ff 0%, #f6f0ff 50%, #fff5e9 100%);
}

.broel-mailing-panel {
	--display: grid;
	display: grid !important;
	overflow: hidden;
	grid-template-columns: 1fr;
	border: 0.0625rem solid rgb(55 121 230 / 18%);
	border-radius: var(--broel-radius-lg);
	background: #fff;
	box-shadow: 0 1.5rem 4rem rgb(34 61 110 / 13%);
}

.broel-mailing-copy,
.broel-mailing-form-panel {
	padding: clamp(1.75rem, 4vw, 3.5rem) !important;
}

.broel-mailing-copy {
	background: linear-gradient(145deg, #24487d 0%, #7650b5 100%);
	color: #fff;
}

.broel-mailing-copy :where(h2, p, li),
.broel-mailing-copy .broel-section-eyebrow {
	color: #fff !important;
}

.broel-mailing-copy ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1.4rem 0 0;
	padding: 0;
	list-style: none;
}

.broel-mailing-copy li {
	padding: 0.5rem 0.75rem;
	border: 0.0625rem solid rgb(255 255 255 / 28%);
	border-radius: 999px;
	background: rgb(255 255 255 / 10%);
	font-size: 0.9rem;
	font-weight: 700;
}

.broel-mailing-form-panel {
	display: flex !important;
	flex-direction: column !important;
	justify-content: center;
	background: linear-gradient(145deg, #fff 0%, #fbfcff 100%);
}

.broel-mailing-form label {
	display: block;
	margin-bottom: 0.55rem;
	font-weight: 750;
}

.broel-mailing-form > div {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.7rem;
}

.broel-mailing-form input,
.broel-mailing-form button {
	min-height: 3.5rem;
	border-radius: var(--broel-radius-sm);
	font: inherit;
}

.broel-mailing-form input {
	padding-inline: 1rem;
	border: 0.0625rem solid var(--broel-border);
	background: #fff;
}

.broel-mailing-form button {
	padding-inline: 1.25rem;
	border: 0;
	background: var(--broel-orange);
	color: #fff;
	font-weight: 850;
}

.broel-mailing-form button:disabled,
.broel-mailing-form input:disabled {
	cursor: not-allowed;
	opacity: 0.78;
}

.broel-mailing-form p {
	margin: 0.75rem 0 0;
	color: var(--broel-muted);
	font-size: 0.8rem;
}

.broel-blog-preview {
	background: linear-gradient(180deg, #fff 0%, #f5f8fc 100%);
}

.broel-blog-heading {
	--display: grid;
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 1.5rem;
	align-items: end;
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.broel-blog-heading .elementor-widget-button {
	justify-self: start;
}

.broel-blog-grid {
	--display: grid;
	display: grid !important;
	width: 100%;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.broel-blog-card {
	display: flex !important;
	min-height: 22rem !important;
	flex-direction: column !important;
	padding: clamp(1.4rem, 3vw, 2rem) !important;
	border: 0.0625rem solid var(--broel-border);
	border-radius: var(--broel-radius-lg);
	background: #fff;
	box-shadow: 0 0.9rem 2.5rem rgb(32 55 91 / 9%);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.broel-blog-card:nth-child(2) { background: linear-gradient(145deg, #f3fbf7 0%, #fff 70%); }
.broel-blog-card:nth-child(3) { background: linear-gradient(145deg, #fff7ed 0%, #fff 70%); }

.broel-blog-card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1.2rem 3rem rgb(32 55 91 / 14%);
}

.broel-blog-meta .elementor-widget-container {
	display: flex;
	gap: 0.7rem;
	align-items: center;
}

.broel-blog-meta span {
	display: grid;
	width: 2.35rem;
	height: 2.35rem;
	place-items: center;
	border-radius: 0.7rem;
	background: var(--broel-blue);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 850;
}

.broel-blog-meta strong {
	color: var(--broel-blue-dark);
	font-size: 0.78rem;
	letter-spacing: 0.06em;
}

.broel-blog-card h3.elementor-heading-title {
	font-size: clamp(1.4rem, 2.4vw, 2rem);
	line-height: 1.15;
}

.broel-blog-status {
	margin-top: auto;
	padding-top: 1.5rem;
}

.broel-blog-status span {
	display: inline-block;
	padding: 0.45rem 0.65rem;
	border-radius: 999px;
	background: var(--broel-grey);
	color: var(--broel-muted);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.05em;
}

@media (min-width: 48rem) {
	.broel-mailing-panel {
		grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	}

	.broel-mailing-form > div {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.broel-blog-heading {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.broel-blog-heading .elementor-widget-button {
		justify-self: end;
	}

	.broel-blog-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.broel-community,
.broel-services {
	background: var(--broel-white);
}

.broel-services {
	background:
		radial-gradient(circle at 92% 8%, rgb(55 121 230 / 8%) 0 8rem, transparent 8.1rem),
		linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
}

.broel-services .broel-resource-card {
	--broel-service-accent: var(--broel-blue);
	--broel-service-soft: var(--broel-blue-light);
	min-height: 22rem !important;
	padding: clamp(1.5rem, 2.5vw, 1.9rem) !important;
	border-radius: 1.25rem;
	background:
		radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--broel-service-accent), transparent 91%) 0 7rem, transparent 7.1rem),
		linear-gradient(155deg, #fff 0%, #f8fbff 100%);
	box-shadow: 0 0.9rem 2.2rem rgb(36 67 120 / 10%);
	text-align: center;
}

.broel-services .broel-resource-card:nth-child(5n + 2) { --broel-service-accent: var(--broel-green-dark); --broel-service-soft: var(--broel-green-light); }
.broel-services .broel-resource-card:nth-child(5n + 3) { --broel-service-accent: var(--broel-orange-dark); --broel-service-soft: var(--broel-orange-light); }
.broel-services .broel-resource-card:nth-child(5n + 4) { --broel-service-accent: var(--broel-purple-dark); --broel-service-soft: var(--broel-purple-light); }
.broel-services .broel-resource-card:nth-child(5n + 5) { --broel-service-accent: #c9353b; --broel-service-soft: #feecee; }

.broel-services .broel-resource-card > .e-con-inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
}

.broel-service-card-icon-widget {
	display: flex;
	width: 100%;
	margin-bottom: 1.35rem;
	justify-content: center;
}

.broel-service-card-icon {
	position: relative;
	display: grid;
	width: 5.25rem;
	height: 5.25rem;
	place-items: center;
	border: 0.1rem solid color-mix(in srgb, var(--broel-service-accent), transparent 70%);
	border-radius: 1.55rem;
	background:
		radial-gradient(circle at 72% 22%, rgb(255 255 255 / 80%) 0 0.55rem, transparent 0.6rem),
		linear-gradient(145deg, #fff, var(--broel-service-soft));
	box-shadow:
		0 0.8rem 1.7rem color-mix(in srgb, var(--broel-service-accent), transparent 82%),
		inset 0 0.08rem 0 rgb(255 255 255 / 90%);
	color: var(--broel-service-accent);
	transform: rotate(-2deg);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.broel-services .broel-resource-card .broel-service-card-icon { color: var(--broel-service-accent); }

.broel-service-card-icon svg {
	width: 2.75rem;
	height: 2.75rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	filter: drop-shadow(0 0.18rem 0.18rem color-mix(in srgb, var(--broel-service-accent), transparent 82%));
	transform: rotate(2deg);
}

.broel-services .broel-resource-card h3.elementor-heading-title {
	max-width: 12ch;
	margin-inline: auto;
	font-size: clamp(1.15rem, 1.5vw, 1.4rem);
	line-height: 1.18;
	text-align: center;
}

.broel-service-card-copy {
	width: 100%;
	margin-top: 0.85rem;
}

.broel-service-card-copy p {
	max-width: 18rem;
	margin: 0;
	margin-inline: auto;
	color: var(--broel-slate);
	font-size: 0.875rem;
	line-height: 1.6;
	text-align: center;
}

.broel-service-card-link {
	width: 100%;
	margin-top: auto;
	padding-top: 1.65rem;
	padding-bottom: 0.2rem;
	text-align: center;
}

.broel-service-card-link p {
	margin: 0;
}

.broel-service-card-link a {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 0.9rem;
	border-radius: 999px;
	background: var(--broel-service-soft);
	color: var(--broel-service-accent);
	font-size: 0.82rem;
	font-weight: 800;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.broel-services .broel-resource-card:hover .broel-service-card-icon {
	box-shadow:
		0 1.05rem 2rem color-mix(in srgb, var(--broel-service-accent), transparent 76%),
		inset 0 0.08rem 0 rgb(255 255 255 / 90%);
	transform: translateY(-0.18rem) rotate(0);
}

.broel-service-card-link a:hover {
	transform: translateY(-0.1rem);
	box-shadow: 0 0.45rem 1rem color-mix(in srgb, var(--broel-service-accent), transparent 83%);
}

@media (max-width: 48rem) {
	.broel-services .broel-resource-card {
		min-height: 20rem !important;
	}
}

.broel-service-card-link a:hover span {
	transform: translateX(0.2rem);
}

.broel-service-card-link span {
	transition: transform 160ms ease;
}

.broel-community {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 92% 12%, rgb(57 178 111 / 13%) 0 8rem, transparent 8.1rem),
		linear-gradient(135deg, #fff 0%, #f7fcf9 100%);
}

.broel-community .broel-split {
	--display: grid;
	display: grid !important;
	width: 100%;
	position: relative;
	z-index: 1;
}

.broel-community .broel-split > :first-child {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.broel-community-image {
	width: 100%;
	min-width: 0;
}

.broel-community-image .elementor-widget-container {
	overflow: hidden;
	border: 0.35rem solid #fff;
	border-radius: var(--broel-radius-lg);
	box-shadow: 0 1.25rem 3rem rgb(27 97 59 / 18%);
}

.broel-community-image img {
	display: block;
	width: 100%;
	height: clamp(17rem, 48vw, 22rem);
	object-fit: cover;
	object-position: 50% 48%;
}

.broel-community .broel-benefit-list {
	grid-column: 1 / -1;
}

.broel-community .broel-button-primary .elementor-button {
	border-color: #34ad6d;
	background: #34ad6d;
	box-shadow: 0 0.7rem 1.5rem rgb(31 130 77 / 18%);
}

.broel-community .broel-button-primary .elementor-button:hover,
.broel-community .broel-button-primary .elementor-button:focus-visible {
	border-color: #278553;
	background: #278553;
}

.broel-academy,
.broel-tools {
	background: var(--broel-grey);
}

.broel-academy {
	background:
		radial-gradient(circle at 8% 92%, rgb(118 80 181 / 8%) 0 9rem, transparent 9.1rem),
		linear-gradient(145deg, #f6f8fc 0%, #eef4ff 100%);
}

.broel-academy .broel-section-heading {
	max-width: 58rem;
}

.broel-academy .broel-section-heading h2.elementor-heading-title {
	font-size: clamp(2.4rem, 5vw, 4.75rem);
	line-height: 1.02;
}

.broel-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.broel-benefit-list ul {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.85rem;
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 0.0625rem solid rgb(52 173 109 / 20%);
	border-radius: var(--broel-radius-lg);
	background: linear-gradient(145deg, #207a4b 0%, #35ad6d 100%);
	box-shadow: 0 1.25rem 3rem rgb(27 97 59 / 16%);
	list-style: none;
}

.broel-benefit-list li {
	display: flex;
	min-height: 4.5rem;
	gap: 0.8rem;
	align-items: center;
	padding: 1rem 1.05rem;
	border: 0.0625rem solid rgb(255 255 255 / 30%);
	border-radius: var(--broel-radius-md);
	background: rgb(255 255 255 / 95%);
	box-shadow: 0 0.5rem 1.25rem rgb(17 78 45 / 12%);
	color: var(--broel-charcoal);
	font-weight: 750;
	line-height: 1.25;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.broel-benefit-list li::before {
	display: grid;
	width: 2rem;
	height: 2rem;
	flex: 0 0 2rem;
	place-items: center;
	border-radius: 50%;
	background: #dcf6e8;
	color: #238653;
	content: "\2713";
	font-size: 1rem;
	font-weight: 900;
}

.broel-benefit-list li:hover {
	transform: translateY(-0.15rem);
	box-shadow: 0 0.8rem 1.5rem rgb(17 78 45 / 18%);
}

.broel-card-grid {
	--display: grid;
	display: grid !important;
	width: 100%;
	max-width: none;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.broel-card-grid > .e-con-inner {
	display: grid;
	width: 100%;
	grid-template-columns: 1fr;
	gap: 1rem;
	counter-reset: broel-academy-card;
}

.broel-resource-card {
	position: relative;
	display: flex !important;
	min-height: 10.5rem !important;
	overflow: hidden;
	flex-direction: column !important;
	align-items: stretch;
	padding: 1.5rem !important;
	border: 0.0625rem solid var(--broel-border);
	border-top: 0.3rem solid var(--broel-blue);
	border-radius: var(--broel-radius-md);
	background: linear-gradient(145deg, #fff 0%, #f8fbff 100%);
	box-shadow: 0 0.65rem 1.75rem rgb(36 67 120 / 8%);
	counter-increment: broel-academy-card;
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.broel-resource-card:nth-child(5n + 2) { border-top-color: #34ad6d; }
.broel-resource-card:nth-child(5n + 3) { border-top-color: var(--broel-orange); }
.broel-resource-card:nth-child(5n + 4) { border-top-color: #7650b5; }
.broel-resource-card:nth-child(5n + 5) { border-top-color: #e74f51; }

.broel-academy .broel-resource-card::before {
	position: absolute;
	top: 1.45rem;
	right: 1.45rem !important;
	left: auto !important;
	display: grid;
	width: 2.6rem;
	height: 2.6rem;
	place-items: center;
	border: 0.12rem solid rgb(255 255 255 / 72%);
	border-radius: 999px;
	background: var(--broel-academy-accent, var(--broel-blue));
	box-shadow: 0 0.6rem 1.2rem color-mix(in srgb, var(--broel-academy-accent, var(--broel-blue)), transparent 72%);
	color: #fff;
	content: counter(broel-academy-card, decimal-leading-zero) !important;
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.04em;
	z-index: 2;
}

.broel-academy .broel-resource-card:nth-child(5n + 2)::before { background: var(--broel-academy-accent); }
.broel-academy .broel-resource-card:nth-child(5n + 3)::before { background: var(--broel-academy-accent); }
.broel-academy .broel-resource-card:nth-child(5n + 4)::before { background: var(--broel-academy-accent); }
.broel-academy .broel-resource-card:nth-child(5n + 5)::before { background: var(--broel-academy-accent); }

.broel-academy .broel-resource-card::after {
	display: none;
}

.broel-academy .broel-resource-card:nth-child(1)::after { content: "Turn an idea into a practical plan."; }
.broel-academy .broel-resource-card:nth-child(2)::after { content: "Plan, design and launch online."; }
.broel-academy .broel-resource-card:nth-child(3)::after { content: "Reach and engage the right people."; }
.broel-academy .broel-resource-card:nth-child(4)::after { content: "Build lasting search visibility."; }
.broel-academy .broel-resource-card:nth-child(5)::after { content: "Create content that builds trust."; }
.broel-academy .broel-resource-card:nth-child(6)::after { content: "Convert interest into customers."; }
.broel-academy .broel-resource-card:nth-child(7)::after { content: "Sell products through your store."; }
.broel-academy .broel-resource-card:nth-child(8)::after { content: "Use AI productively and responsibly."; }
.broel-academy .broel-resource-card:nth-child(9)::after { content: "Understand money, pricing and profit."; }
.broel-academy .broel-resource-card:nth-child(10)::after { content: "Build systems for sustainable growth."; }

.broel-resource-card > .e-con-inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
}

.broel-academy .broel-resource-card > .e-con-inner {
	align-items: center;
	justify-content: flex-start;
	padding-top: 0;
	text-align: center;
}

.broel-academy .broel-resource-card {
	--broel-academy-accent: var(--broel-blue);
	--broel-academy-soft: var(--broel-blue-light);
	min-height: 20.5rem !important;
	padding: clamp(1.5rem, 2.5vw, 1.9rem) !important;
	border-radius: 1.25rem;
	background:
		radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--broel-academy-accent), transparent 91%) 0 7rem, transparent 7.1rem),
		linear-gradient(155deg, #fff 0%, #f8fbff 100%);
	box-shadow: 0 0.9rem 2.2rem rgb(36 67 120 / 10%);
	text-align: center;
}

.broel-academy .broel-resource-card:nth-child(5n + 2) { --broel-academy-accent: var(--broel-green-dark); --broel-academy-soft: var(--broel-green-light); }
.broel-academy .broel-resource-card:nth-child(5n + 3) { --broel-academy-accent: var(--broel-orange-dark); --broel-academy-soft: var(--broel-orange-light); }
.broel-academy .broel-resource-card:nth-child(5n + 4) { --broel-academy-accent: var(--broel-purple-dark); --broel-academy-soft: var(--broel-purple-light); }
.broel-academy .broel-resource-card:nth-child(5n + 5) { --broel-academy-accent: #c9353b; --broel-academy-soft: #feecee; }

.broel-academy-icon-widget {
	display: flex;
	width: 100%;
	margin-bottom: 1.35rem;
	justify-content: center;
}

.broel-academy-icon {
	position: relative;
	display: grid;
	width: 5.25rem;
	height: 5.25rem;
	place-items: center;
	border: 0.1rem solid color-mix(in srgb, var(--broel-academy-accent), transparent 70%);
	border-radius: 1.55rem;
	background:
		radial-gradient(circle at 72% 22%, rgb(255 255 255 / 80%) 0 0.55rem, transparent 0.6rem),
		linear-gradient(145deg, #fff, var(--broel-academy-soft));
	box-shadow:
		0 0.8rem 1.7rem color-mix(in srgb, var(--broel-academy-accent), transparent 82%),
		inset 0 0.08rem 0 rgb(255 255 255 / 90%);
	color: var(--broel-academy-accent);
	transform: rotate(-2deg);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.broel-academy-icon svg {
	width: 2.75rem;
	height: 2.75rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	filter: drop-shadow(0 0.18rem 0.18rem color-mix(in srgb, var(--broel-academy-accent), transparent 82%));
	transform: rotate(2deg);
}

.broel-academy .broel-resource-card .broel-academy-icon { color: var(--broel-academy-accent); }

.broel-academy .broel-resource-card h3.elementor-heading-title {
	max-width: 14ch;
	margin-inline: auto;
	font-size: clamp(1.15rem, 1.5vw, 1.4rem);
	line-height: 1.18;
	text-align: center;
}

.broel-academy-card-copy {
	width: 100%;
	margin-top: 0.85rem;
	color: var(--broel-slate);
	font-size: 0.875rem;
	line-height: 1.6;
	text-align: center;
}

.broel-academy-card-copy p {
	max-width: 18rem;
	margin: 0 auto;
}

.broel-academy-card-link {
	width: 100%;
	margin-top: auto;
	padding-top: 1.65rem;
	padding-bottom: 0.2rem;
	font-size: 0.82rem;
	font-weight: 750;
	text-align: center;
}

.broel-academy-card-link p {
	margin: 0;
}

.broel-academy-card-link a {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	justify-content: center;
	padding: 0.6rem 0.72rem;
	border-radius: 999px;
	background: var(--broel-academy-soft);
	color: var(--broel-academy-accent);
	font-size: 0.78rem;
	font-weight: 800;
	text-decoration: none;
	transition: transform 160ms ease, box-shadow 160ms ease;
	white-space: nowrap;
}

.broel-academy .broel-resource-card:hover .broel-academy-icon {
	box-shadow:
		0 1.05rem 2rem color-mix(in srgb, var(--broel-academy-accent), transparent 76%),
		inset 0 0.08rem 0 rgb(255 255 255 / 90%);
	transform: translateY(-0.18rem) rotate(0);
}

.broel-academy-card-link a:hover {
	transform: translateY(-0.1rem);
	box-shadow: 0 0.45rem 1rem color-mix(in srgb, var(--broel-academy-accent), transparent 83%);
}

@media (max-width: 48rem) {
	.broel-academy .broel-resource-card {
		min-height: 20rem !important;
	}
}

.broel-premium-business-cta {
	padding: clamp(1rem, 2vw, 2rem) clamp(1rem, 4vw, 2rem) clamp(4rem, 7vw, 6.5rem) !important;
	background: var(--broel-mist);
}

.broel-premium-business-cta__inner {
	display: grid !important;
	max-width: var(--broel-content-width);
	margin: 0 auto;
	overflow: hidden;
	grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
	border-radius: 1.5rem;
	background: linear-gradient(135deg, #162c4c 0%, #284b78 100%);
	box-shadow: 0 1.5rem 3.5rem rgb(20 46 82 / 20%);
}

.broel-premium-business-cta__copy,
.broel-premium-business-cta__action {
	padding: clamp(2rem, 4vw, 4rem) !important;
}

.broel-premium-business-cta__copy {
	justify-content: center;
	color: #fff;
}

.broel-premium-business-cta h2.elementor-heading-title {
	max-width: 13ch;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.6rem);
	line-height: 1.02;
}

.broel-premium-business-cta__copy .elementor-widget-text-editor {
	max-width: 42rem;
	color: rgb(255 255 255 / 82%);
	font-size: 1.05rem;
	line-height: 1.7;
}

.broel-premium-business-cta__action {
	justify-content: center;
	background: linear-gradient(145deg, #fff8f0, #fff);
}

.broel-premium-business-cta__action h3.elementor-heading-title {
	color: var(--broel-charcoal);
	font-size: clamp(1.4rem, 2.4vw, 2rem);
}

.broel-premium-business-cta__action ul {
	display: grid;
	margin: 1.25rem 0 1.75rem;
	padding: 0;
	gap: 0.8rem;
	list-style: none;
}

.broel-premium-business-cta__action li {
	position: relative;
	padding-left: 1.8rem;
	color: var(--broel-slate);
	font-weight: 650;
}

.broel-premium-business-cta__action li::before {
	position: absolute;
	left: 0;
	color: var(--broel-green);
	content: "✓";
	font-weight: 900;
}

.broel-premium-business-cta__action .elementor-button {
	width: 100%;
	min-height: 3.6rem;
}

.broel-premium-business-cta__consultation {
	margin-top: 1rem;
	text-align: center;
}

.broel-premium-business-cta__consultation a {
	color: var(--broel-blue);
	font-weight: 700;
}

@media (max-width: 900px) {
	.broel-premium-business-cta__inner {
		grid-template-columns: 1fr;
	}
}

.broel-resource-card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1rem 2.25rem rgb(36 67 120 / 14%);
}

.broel-resource-card .elementor-heading-title {
	color: var(--broel-charcoal);
	font-size: clamp(1.05rem, 1.5vw, 1.3rem);
	line-height: 1.2;
}

.broel-resource-card a {
	color: inherit;
	text-decoration: none;
}

.broel-academy .broel-card-grid + .elementor-widget-button {
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
	margin-bottom: 0.5rem;
}

.broel-section-action {
	margin-top: 2rem;
}

.broel-events,
.broel-stories,
.broel-resources,
.broel-membership,
.broel-home-faqs,
.broel-brief {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.broel-events,
.broel-resources,
.broel-home-faqs,
.broel-brief {
	background: var(--broel-white);
}

.broel-events--complete {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 92% 8%, rgb(117 80 181 / 11%), transparent 24rem),
		radial-gradient(circle at 5% 92%, rgb(52 173 109 / 10%), transparent 22rem),
		linear-gradient(180deg, #fff 0%, #f7faff 100%);
}

.broel-events--complete::before {
	position: absolute;
	top: 4.5rem;
	right: -4rem;
	width: 12rem;
	height: 12rem;
	border: 1.4rem solid rgb(248 139 52 / 12%);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.broel-events--complete .broel-section-heading {
	max-width: 58rem;
}

.broel-events--complete .broel-card-grid {
	margin-top: clamp(2rem, 4vw, 3.25rem);
}

.broel-events--complete .broel-event-card {
	min-height: 23rem !important;
	box-sizing: border-box;
	padding: 0 clamp(1.35rem, 1.8vw, 1.75rem) !important;
	border: 0;
	border-radius: 1.25rem;
	background: #fff;
	box-shadow: 0 1rem 2.5rem rgb(37 65 112 / 11%);
}

.broel-events--complete .broel-event-card > .e-con-inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-start;
	box-sizing: border-box;
	padding-right: clamp(1.35rem, 1.8vw, 1.75rem);
	padding-left: clamp(1.35rem, 1.8vw, 1.75rem);
}

.broel-event-card__visual-widget {
	width: calc(100% + (2 * clamp(1.35rem, 1.8vw, 1.75rem)));
	margin-bottom: 1.4rem;
	margin-left: calc(-1 * clamp(1.35rem, 1.8vw, 1.75rem));
}

.broel-event-card__visual {
	position: relative;
	display: flex;
	height: 8.25rem;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	border-radius: 1.2rem 1.2rem 2.6rem 0.9rem;
	background: linear-gradient(135deg, #3779e8, #63a0ff);
}

.broel-event-card:nth-child(2) .broel-event-card__visual { background: linear-gradient(135deg, #26905a, #48c882); }
.broel-event-card:nth-child(3) .broel-event-card__visual { background: linear-gradient(135deg, #ef7d25, #ffad52); }
.broel-event-card:nth-child(4) .broel-event-card__visual { background: linear-gradient(135deg, #6841a4, #9069d0); }

.broel-event-card__visual::before,
.broel-event-card__visual::after,
.broel-event-card__spark {
	position: absolute;
	border: 0.12rem solid rgb(255 255 255 / 35%);
	border-radius: 50%;
	content: "";
}

.broel-event-card__visual::before { right: -1rem; bottom: -2rem; width: 7rem; height: 7rem; }
.broel-event-card__visual::after { top: 1rem; left: 1rem; width: 1.2rem; height: 1.2rem; background: rgb(255 255 255 / 25%); }
.broel-event-card__spark { top: 1rem; right: 1.1rem; width: 2.2rem; height: 2.2rem; }

.broel-event-card__icon {
	display: grid;
	width: 4rem;
	height: 4rem;
	place-items: center;
	border: 0.1rem solid rgb(255 255 255 / 45%);
	border-radius: 1.15rem;
	background: rgb(255 255 255 / 18%);
	color: #fff;
	box-shadow: 0 0.7rem 1.5rem rgb(20 35 70 / 18%);
	backdrop-filter: blur(0.35rem);
}

.broel-event-card__icon svg {
	width: 2rem;
	height: 2rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.broel-event-card--complete > .e-con-inner > :not(.broel-event-card__visual-widget) {
	margin-right: 0;
	margin-left: 0;
}

.broel-event-card__label .elementor-heading-title {
	color: var(--broel-blue);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

.broel-event-card--complete h3.elementor-heading-title {
	margin-top: 0.35rem;
	color: var(--broel-charcoal);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
}

.broel-event-card__copy {
	margin-top: 0.85rem;
	color: var(--broel-slate);
	font-size: 0.94rem;
	line-height: 1.55;
}

.broel-event-card__status {
	margin-top: auto !important;
	padding-top: 1.3rem;
	padding-bottom: 1.5rem;
}

.broel-event-card__status span {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--broel-charcoal);
	font-size: 0.78rem;
	font-weight: 800;
}

.broel-event-card__status span::before {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: var(--broel-green);
	box-shadow: 0 0 0 0.3rem var(--broel-green-light);
	content: "";
}

.broel-events-invite {
	display: grid !important;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	padding: clamp(1.5rem, 3vw, 2.5rem) !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
	gap: clamp(1.5rem, 4vw, 4rem);
	align-items: center;
	border-radius: 1.25rem;
	background: linear-gradient(120deg, #eaf2ff 0%, #f4ebff 48%, #fff0df 100%);
}

.broel-events-invite h3.elementor-heading-title {
	max-width: 24ch;
	color: var(--broel-charcoal);
	font-size: clamp(1.5rem, 2.6vw, 2.25rem);
}

.broel-events-invite__copy .elementor-widget-text-editor {
	max-width: 44rem;
	margin-top: 0.75rem;
	color: var(--broel-slate);
}

.broel-events-invite__points ul {
	display: grid;
	margin: 0;
	padding: 0;
	gap: 0.8rem;
	list-style: none;
}

.broel-events-invite__points li {
	position: relative;
	padding: 0.85rem 1rem 0.85rem 2.8rem;
	border-radius: 0.8rem;
	background: rgb(255 255 255 / 72%);
	color: var(--broel-charcoal);
	font-weight: 750;
}

.broel-events-invite__points li::before {
	position: absolute;
	left: 1rem;
	color: var(--broel-green);
	content: "✓";
	font-weight: 900;
}

.broel-events--complete > .e-con-inner > .elementor-widget-button {
	margin-top: 2rem;
	padding-bottom: 1rem;
}

@media (max-width: 900px) {
	.broel-events-invite { grid-template-columns: 1fr; }
}

.broel-resources--complete {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 100% 0%, rgb(55 121 232 / 9%), transparent 26rem),
		linear-gradient(180deg, #fff 0%, #f5f9ff 100%);
}

.broel-resources--complete .broel-section-heading {
	max-width: 66rem;
}

.broel-resource-path-grid {
	display: grid !important;
	margin-top: clamp(2rem, 4vw, 3.25rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.15rem;
}

.broel-resource-path-card {
	position: relative;
	display: flex !important;
	min-height: 21rem !important;
	overflow: hidden;
	flex-direction: column !important;
	padding: 1.65rem !important;
	border: 0.0625rem solid var(--broel-border);
	border-radius: 1.2rem;
	background: #fff;
	box-shadow: 0 1rem 2.4rem rgb(39 70 123 / 9%);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.broel-resource-path-card::after {
	position: absolute;
	top: -2.6rem;
	right: -2.6rem;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	background: rgb(55 121 232 / 7%);
	content: "";
}

.broel-resource-path-card:nth-child(2)::after { background: rgb(52 173 109 / 8%); }
.broel-resource-path-card:nth-child(3)::after { background: rgb(248 139 52 / 10%); }
.broel-resource-path-card:nth-child(4)::after { background: rgb(117 80 181 / 9%); }

.broel-resource-path-card:hover {
	transform: translateY(-0.3rem);
	box-shadow: 0 1.35rem 3rem rgb(39 70 123 / 14%);
}

.broel-resource-path-card > .e-con-inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}

.broel-resource-path-card__icon {
	display: grid;
	width: 3.6rem;
	height: 3.6rem;
	place-items: center;
	border-radius: 1rem;
	background: var(--broel-blue-light);
	color: var(--broel-blue);
}

.broel-resource-path-card:nth-child(2) .broel-resource-path-card__icon { background: var(--broel-green-light); color: var(--broel-green-dark); }
.broel-resource-path-card:nth-child(3) .broel-resource-path-card__icon { background: var(--broel-orange-light); color: var(--broel-orange-dark); }
.broel-resource-path-card:nth-child(4) .broel-resource-path-card__icon { background: var(--broel-purple-light); color: var(--broel-purple-dark); }

.broel-resource-path-card__icon svg {
	width: 1.85rem;
	height: 1.85rem;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.broel-resource-path-card__label {
	margin-top: 1.4rem;
}

.broel-resource-path-card__label .elementor-heading-title {
	color: var(--broel-blue);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.075em;
}

.broel-resource-path-card h3.elementor-heading-title {
	margin-top: 0.45rem;
	color: var(--broel-charcoal);
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.16;
}

.broel-resource-path-card__copy {
	margin-top: 0.9rem;
	color: var(--broel-slate);
	font-size: 0.94rem;
	line-height: 1.55;
}

.broel-resource-path-card__link {
	margin-top: auto;
	padding-top: 1.35rem;
	padding-bottom: 0.35rem;
	font-size: 0.86rem;
	font-weight: 800;
}

.broel-resource-path-card__link a {
	color: var(--broel-blue);
	text-decoration: none;
}

.broel-resources-dynamic {
	display: grid !important;
	margin-top: clamp(2rem, 4vw, 3.5rem);
	overflow: hidden;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
	border-radius: 1.35rem;
	background: linear-gradient(125deg, #18355c 0%, #315d91 100%);
	box-shadow: 0 1.25rem 3rem rgb(26 54 94 / 18%);
}

.broel-resources-dynamic__copy,
.broel-resources-dynamic__preview {
	padding: clamp(2rem, 4vw, 3.5rem) !important;
}

.broel-resources-dynamic__copy {
	justify-content: center;
}

.broel-resources-dynamic__copy h3.elementor-heading-title {
	color: #fff;
	font-size: clamp(1.65rem, 3vw, 2.5rem);
}

.broel-resources-dynamic__copy .elementor-widget-text-editor {
	max-width: 46rem;
	margin-top: 0.8rem;
	color: rgb(255 255 255 / 82%);
	font-size: 1rem;
	line-height: 1.65;
}

.broel-resources-dynamic__preview {
	background: linear-gradient(145deg, #7650b5, #9470cf);
}

.broel-resource-preview {
	position: relative;
	display: grid;
	min-height: 13rem;
	align-content: end;
	padding: 1.5rem;
	border: 0.08rem solid rgb(255 255 255 / 30%);
	border-radius: 1rem;
	background: rgb(255 255 255 / 12%);
	color: #fff;
	box-shadow: 0 1rem 2rem rgb(35 19 69 / 16%);
}

.broel-resource-preview span {
	position: absolute;
	top: 1.5rem;
	left: 1.5rem;
	width: 62%;
	height: 0.55rem;
	border-radius: 99px;
	background: rgb(255 255 255 / 55%);
}

.broel-resource-preview span:nth-child(2) { top: 2.8rem; width: 78%; opacity: 0.6; }
.broel-resource-preview span:nth-child(3) { top: 4.1rem; width: 45%; opacity: 0.4; }
.broel-resource-preview strong { font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.2; }

.broel-resources--complete > .e-con-inner > .elementor-widget-button {
	margin-top: 2rem;
	padding-bottom: 1rem;
}

@media (max-width: 1024px) {
	.broel-resource-path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.broel-resource-path-grid,
	.broel-resources-dynamic { grid-template-columns: 1fr; }
	.broel-resource-path-card { min-height: 18rem !important; }
}

.broel-stories {
	background: var(--broel-grey);
}

.broel-home-faqs {
	background: var(--broel-white);
}

.broel-faq-grid .broel-resource-card {
	border-top: 0.3rem solid var(--broel-purple);
	background: linear-gradient(160deg, var(--broel-purple-light), var(--broel-white) 48%);
}

.broel-faq-grid .elementor-heading-title {
	font-size: clamp(1.2rem, 1.7vw, 1.55rem);
}

.broel-event-card {
	border-top: 0.35rem solid var(--broel-blue);
}

.broel-event-card:nth-child(2) { border-top-color: var(--broel-green); }
.broel-event-card:nth-child(3) { border-top-color: var(--broel-orange); }
.broel-event-card:nth-child(4) { border-top-color: var(--broel-red); }

.broel-placeholder-panel {
	padding: clamp(2rem, 5vw, 4rem);
	border: 0.125rem dashed var(--broel-border);
	border-radius: var(--broel-radius-lg);
	background: var(--broel-white);
}

.broel-status .elementor-heading-title {
	color: var(--broel-red-dark);
	font-size: 0.875rem;
	font-weight: 850;
	letter-spacing: 0.08em;
}

.broel-membership {
	background: linear-gradient(135deg, var(--broel-blue-light), var(--broel-green-light));
}

.broel-membership-panel,
.broel-brief-panel {
	max-width: 58rem;
	margin-inline: auto;
	text-align: center;
}

.broel-brief-panel {
	padding: clamp(2rem, 6vw, 5rem);
	border-radius: var(--broel-radius-lg);
	background: var(--broel-ink);
	color: var(--broel-white);
}

.broel-brief-panel :where(h2, p) {
	color: inherit;
}

.broel-coming-soon {
	font-size: 0.9375rem;
	font-weight: 750;
}

.broel-footer-sitemap-link { margin-top: 1rem; }
.broel-footer-sitemap-link a { color: var(--broel-white); font-weight: 750; text-decoration: underline; text-underline-offset: 0.2rem; }

.broel-service-page,
.broel-html-sitemap { padding-bottom: clamp(3rem, 6vw, 5rem); }
.broel-service-page__eyebrow { color: var(--broel-blue); font-size: 0.82rem; font-weight: 900; letter-spacing: 0.1em; }
.broel-service-page > h2,
.broel-html-sitemap > h2 { max-width: 18ch; margin-top: 1rem; color: var(--broel-blue); font-size: clamp(2rem, 5vw, 4rem); line-height: 1.05; }
.broel-service-page__lead { max-width: 48rem; margin-top: 1.25rem; color: var(--broel-slate); font-size: clamp(1.05rem, 1.8vw, 1.3rem); line-height: 1.65; }
.broel-service-page__features { margin-top: 2.5rem; padding: clamp(1.5rem, 3vw, 2.5rem); border: 0.0625rem solid var(--broel-border); border-radius: var(--broel-radius-lg); background: linear-gradient(135deg, var(--broel-blue-light), #fff); }
.broel-service-page__features ul { display: grid; margin: 1.25rem 0 0; padding: 0; gap: 0.8rem; list-style: none; }
.broel-service-page__features li::before { margin-right: 0.65rem; color: var(--broel-green); content: "✓"; font-weight: 900; }
.broel-service-page__cta { margin-top: 2rem; padding: clamp(1.75rem, 4vw, 3rem); border-radius: var(--broel-radius-lg); background: linear-gradient(135deg, #20242a, #293f64); color: #fff; }
.broel-service-page__cta :where(h3, p) { color: inherit; }
.broel-service-page__cta a { display: inline-flex; margin-top: 1.25rem; padding: 0.9rem 1.25rem; border-radius: 0.7rem; background: var(--broel-orange); color: #fff; font-weight: 850; }
.broel-html-sitemap__grid { display: grid; margin-top: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.broel-html-sitemap__grid section { padding: clamp(1.5rem, 3vw, 2.5rem); border: 0.0625rem solid var(--broel-border); border-top: 0.35rem solid var(--broel-blue); border-radius: var(--broel-radius-lg); background: #fff; box-shadow: 0 1rem 2.5rem rgb(30 54 94 / 9%); }
.broel-html-sitemap__grid section:nth-child(2) { border-top-color: #e4b526; }
.broel-html-sitemap__grid ul { columns: 2; padding-left: 1.25rem; }
.broel-html-sitemap__grid li { margin-bottom: 0.6rem; break-inside: avoid; }
@media (max-width: 42rem) { .broel-html-sitemap__grid { grid-template-columns: 1fr; } .broel-html-sitemap__grid ul { columns: 1; } }

/* Our Work page. */
.broel-work-page {
	--work-ink: #20242a;
	padding-bottom: clamp(3.5rem, 7vw, 6rem);
}
.broel-page--our-work .broel-entry { max-width: var(--broel-container); padding-top: 0; padding-bottom: 0; }
.broel-page--our-work .broel-entry-header { display: none; }
.broel-work-page :where(h2, h3, p) { margin-top: 0; }
.broel-work-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(16rem, 0.55fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
	margin: 0 calc(50% - 50vw);
	padding: clamp(2.25rem, 4vw, 4rem) max(1.25rem, calc((100vw - var(--broel-container)) / 2));
	background: linear-gradient(135deg, #f4f8ff 0%, #fff 55%, #f1ebfb 100%);
}
.broel-work-eyebrow { margin-bottom: 0.9rem; color: var(--broel-blue); font-size: 0.95rem; font-weight: 900; letter-spacing: 0.12em; }
.broel-work-hero h2 { max-width: 15ch; color: var(--broel-blue); font-size: clamp(2.5rem, 5vw, 4.6rem); line-height: 0.98; }
.broel-work-lead { max-width: 47rem; margin: 1.5rem 0 0; color: #566174; font-size: clamp(1.05rem, 1.7vw, 1.35rem); line-height: 1.65; }
.broel-work-hero__signal { display: grid; position: relative; overflow: hidden; min-height: clamp(16rem, 28vw, 22rem); padding: clamp(9rem, 17vw, 14rem) 1rem 1rem; border-radius: 1.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: end; gap: 0.55rem; background: linear-gradient(180deg, transparent 35%, rgb(17 31 50 / 78%) 100%), url("../images/broel-consultation-handover.jpg") center / cover no-repeat; box-shadow: 0 1.25rem 2.8rem rgb(31 55 90 / 18%); }
.broel-work-hero__signal span { display: grid; position: relative; min-height: 3.25rem; padding: 0.5rem; place-items: center; border: 0.0625rem solid rgb(255 255 255 / 22%); border-radius: 0.75rem; background: rgb(54 120 232 / 88%); color: #fff; font-size: 0.7rem; font-weight: 900; letter-spacing: 0.07em; box-shadow: 0 0.65rem 1.3rem rgb(15 27 45 / 18%); backdrop-filter: blur(0.3rem); }
.broel-work-hero__signal span:nth-child(2) { background: var(--broel-green); }
.broel-work-hero__signal span:nth-child(3) { background: var(--broel-orange); }
.broel-work-hero__signal span:nth-child(4) { background: #7650b5; }
.broel-work-showcase { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); padding-block: clamp(3.5rem, 7vw, 6rem); }
.broel-work-card { --work-accent: var(--broel-blue); display: flex; position: relative; overflow: hidden; min-height: 30rem; padding: 1.5rem; border: 1px solid rgb(35 53 82 / 10%); border-radius: 1.4rem; flex-direction: column; background: #fff; box-shadow: 0 1.3rem 3rem rgb(35 53 82 / 10%); }
.broel-work-card::before { position: absolute; top: 0; right: 0; left: 0; height: 0.4rem; background: var(--work-accent); content: ""; }
.broel-work-card--green { --work-accent: var(--broel-green); }
.broel-work-card--orange { --work-accent: var(--broel-orange); }
.broel-work-card--purple { --work-accent: #7650b5; }
.broel-work-card__icon { display: grid; width: 5.5rem; aspect-ratio: 1; margin: 0.5rem 0 1.5rem; place-items: center; border-radius: 1.25rem; background: color-mix(in srgb, var(--work-accent), white 86%); color: var(--work-accent); }
.broel-work-card__icon svg { width: 3.4rem; height: 3.4rem; fill: none; stroke: currentColor; stroke-width: 3.2; stroke-linecap: round; stroke-linejoin: round; }
.broel-work-card__number { margin-bottom: 0.5rem; color: var(--work-accent); font-weight: 900; letter-spacing: 0.1em; }
.broel-work-card h3 { color: var(--work-ink); font-size: clamp(1.4rem, 2vw, 1.8rem); line-height: 1.08; }
.broel-work-card > p:not(.broel-work-card__number) { color: #5c6677; line-height: 1.65; }
.broel-work-card strong { display: block; position: static; width: 100%; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgb(35 53 82 / 12%); color: var(--work-accent); font-size: 0.9rem; line-height: 1.45; }
.broel-work-process { display: grid; grid-template-columns: minmax(18rem, 0.7fr) minmax(0, 1.3fr); gap: clamp(2rem, 6vw, 6rem); margin: 0 calc(50% - 50vw); padding: clamp(3.5rem, 7vw, 6rem) max(1.25rem, calc((100vw - var(--broel-container)) / 2)); background: linear-gradient(135deg, #20242a, #293f64); color: #fff; }
.broel-work-process :where(h2, h3, p) { color: inherit; }
.broel-work-process h2 { font-size: clamp(2rem, 4.5vw, 4rem); line-height: 1.02; }
.broel-work-process__intro > p:last-child { max-width: 36rem; color: #dce3ef; font-size: 1.08rem; line-height: 1.65; }
.broel-work-process ol { display: grid; margin: 0; padding: 0; gap: 0.85rem; list-style: none; }
.broel-work-process li { display: grid; grid-template-columns: 3.3rem 1fr; gap: 1rem; align-items: center; padding: 1.25rem; border: 1px solid rgb(255 255 255 / 13%); border-radius: 1rem; background: rgb(255 255 255 / 7%); }
.broel-work-process li > span { display: grid; aspect-ratio: 1; place-items: center; border-radius: 50%; background: var(--broel-orange); font-weight: 900; }
.broel-work-process li:nth-child(2) > span { background: var(--broel-green); }
.broel-work-process li:nth-child(3) > span { background: var(--broel-blue); }
.broel-work-process li:nth-child(4) > span { background: #7650b5; }
.broel-work-process li h3 { margin-bottom: 0.25rem; font-size: 1.2rem; }
.broel-work-process li p { margin-bottom: 0; color: #dce3ef; line-height: 1.5; }
.broel-work-proof { display: grid; grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.85fr); gap: clamp(2rem, 5vw, 5rem); align-items: stretch; padding-top: clamp(3.5rem, 7vw, 6rem); }
.broel-work-proof > div:first-child { padding: clamp(1rem, 3vw, 2rem) 0; }
.broel-work-proof h2 { max-width: 14ch; color: var(--broel-blue); font-size: clamp(2rem, 4vw, 3.8rem); line-height: 1.04; }
.broel-work-proof > div:first-child > p:last-child { max-width: 44rem; color: #5c6677; font-size: 1.05rem; line-height: 1.7; }
.broel-work-proof__cta { padding: clamp(1.75rem, 4vw, 3rem); border-radius: 1.5rem; background: linear-gradient(145deg, #eaf8f1, #f6fbff); box-shadow: inset 0 0 0 1px rgb(35 122 83 / 12%); }
.broel-work-proof__cta h3 { color: var(--broel-green-dark); font-size: clamp(1.5rem, 2.4vw, 2rem); }
.broel-work-proof__cta p { color: #4f5f67; line-height: 1.6; }
.broel-work-button { display: flex; min-height: 3.4rem; align-items: center; justify-content: center; margin-top: 0.85rem; padding: 0.8rem 1rem; border-radius: 0.8rem; font-size: 0.82rem; font-weight: 900; text-align: center; text-decoration: none; }
.broel-work-button--primary { background: var(--broel-green); color: #fff; }
.broel-work-button--secondary { border: 2px solid var(--broel-blue); color: var(--broel-blue); }
.broel-work-button:hover { transform: translateY(-2px); filter: brightness(0.94); }
@media (max-width: 64rem) {
	.broel-work-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-work-card { min-height: 27rem; }
}
@media (max-width: 48rem) {
	.broel-work-hero, .broel-work-process, .broel-work-proof { grid-template-columns: 1fr; }
	.broel-work-hero__signal { max-width: 34rem; }
}
@media (max-width: 36rem) {
	.broel-work-showcase { grid-template-columns: 1fr; }
	.broel-work-card { min-height: 25rem; }
	.broel-work-hero__signal span { min-height: 5.2rem; }
}

/* Homepage business pathway and polished dark feature panels. */
.broel-business-stages {
	position: relative;
	overflow: hidden;
	padding-block: clamp(4rem, 7vw, 6.5rem);
	background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.broel-business-stages::before {
	position: absolute;
	top: -6rem;
	right: -5rem;
	width: 18rem;
	height: 18rem;
	border: 2rem solid rgb(55 121 230 / 7%);
	border-radius: 50%;
	content: "";
}

.broel-business-stages__heading { max-width: 56rem; }
.broel-business-stages__heading h2 { font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: 1; }

.broel-business-stages__grid,
.broel-business-stages__grid > .e-con-inner {
	position: relative;
	display: grid !important;
	width: 100%;
	max-width: none;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 1.8vw, 1.4rem);
}

@media (min-width: 64.01rem) {
	.broel-business-stages__grid::before,
	.broel-business-stages__grid > .e-con-inner::before {
		position: absolute;
		top: 4.35rem;
		right: 8%;
		left: 8%;
		z-index: 0;
		height: 0.22rem;
		border-radius: 999px;
		background: linear-gradient(90deg, var(--broel-red), var(--broel-green) 34%, var(--broel-orange) 67%, var(--broel-purple));
		box-shadow: 0 0.35rem 1rem rgb(39 58 91 / 14%);
		content: "";
	}
}

.broel-stage-card {
	--stage-colour: var(--broel-blue);
	position: relative;
	z-index: 1;
	display: flex !important;
	overflow: hidden;
	min-width: 0;
	min-height: 25rem;
	padding: clamp(1.35rem, 2vw, 1.75rem) !important;
	border: 0.0625rem solid rgb(35 53 82 / 10%) !important;
	border-top: 0.36rem solid var(--stage-colour) !important;
	border-radius: 1.4rem !important;
	background: linear-gradient(180deg, rgb(245 248 253) 0%, #fff 47%) !important;
	box-shadow: 0 1rem 2.5rem rgb(30 54 94 / 10%);
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.broel-stage-card:hover,
.broel-stage-card:focus-within { border-color: var(--stage-colour) !important; transform: translateY(-0.42rem); box-shadow: 0 1.6rem 3.2rem rgb(30 54 94 / 16%); }
.broel-stage-card--red { --stage-colour: var(--broel-red); }
.broel-stage-card--green { --stage-colour: var(--broel-green); }
.broel-stage-card--orange { --stage-colour: var(--broel-orange); }
.broel-stage-card--purple { --stage-colour: var(--broel-purple); }
.broel-stage-card > .e-con-inner { display: flex; flex: 1 1 auto; flex-direction: column; }
.broel-stage-card__visual {
	position: relative;
	display: flex;
	min-height: 8.75rem;
	margin: calc(-1 * clamp(1.35rem, 2vw, 1.75rem)) calc(-1 * clamp(1.35rem, 2vw, 1.75rem)) 1.65rem;
	padding: 1.15rem 1.45rem 2.75rem;
	align-items: center;
	justify-content: space-between;
	background:
		linear-gradient(118deg, transparent 0 46%, rgb(255 255 255 / 7%) 46% 63%, transparent 63%),
		radial-gradient(circle at 82% 24%, rgb(255 255 255 / 24%), transparent 4.8rem),
		linear-gradient(138deg, color-mix(in srgb, var(--stage-colour) 82%, #14233c), var(--stage-colour) 58%, color-mix(in srgb, var(--stage-colour) 78%, #fff));
	color: #fff;
	box-shadow: inset 0 -0.08rem 0 rgb(255 255 255 / 20%);
}

.broel-stage-card__visual::before,
.broel-stage-card__visual::after {
	position: absolute;
	border: 0.1rem solid rgb(255 255 255 / 19%);
	border-radius: 50%;
	content: "";
}

.broel-stage-card__visual::before { top: -2.5rem; right: 2rem; width: 8rem; height: 8rem; }
.broel-stage-card__visual::after { right: -2.8rem; bottom: -3.5rem; width: 9rem; height: 9rem; }
.broel-stage-card__number { position: relative; z-index: 1; padding: 0.28rem 0.5rem; border: 0.0625rem solid rgb(255 255 255 / 18%); border-radius: 0.75rem; color: rgb(255 255 255 / 78%); background: rgb(16 27 47 / 10%); font-size: clamp(2.75rem, 4vw, 3.45rem); font-weight: 950; letter-spacing: -0.055em; line-height: 0.9; text-shadow: 0 0.25rem 0.65rem rgb(20 31 48 / 18%); }
.broel-stage-card__icon { position: relative; z-index: 1; display: grid; width: 5.25rem; height: 5.25rem; flex: 0 0 5.25rem; place-items: center; border: 0.12rem solid rgb(255 255 255 / 64%); border-radius: 50% 1.45rem 50% 1.45rem; background: linear-gradient(145deg, rgb(255 255 255 / 32%), rgb(255 255 255 / 10%)); box-shadow: 0 1rem 2rem rgb(20 31 48 / 22%), inset 0 0.08rem 0 rgb(255 255 255 / 55%); -webkit-backdrop-filter: blur(0.45rem); backdrop-filter: blur(0.45rem); transition: border-radius 220ms ease, transform 220ms ease; }
.broel-stage-card__icon svg { width: 2.75rem; height: 2.75rem; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; filter: drop-shadow(0 0.2rem 0.2rem rgb(20 31 48 / 18%)); }
.broel-stage-card:hover .broel-stage-card__icon,
.broel-stage-card:focus-within .broel-stage-card__icon { border-radius: 1.45rem 50% 1.45rem 50%; transform: translateY(-0.18rem) rotate(2deg); }
.broel-stage-card__eyebrow { position: absolute !important; top: 6.25rem; left: clamp(1.35rem, 2vw, 1.75rem); z-index: 3; width: auto !important; }
.broel-stage-card__eyebrow .elementor-heading-title { color: #fff !important; font-size: clamp(1rem, 1.35vw, 1.2rem); font-weight: 900; line-height: 1; letter-spacing: 0.12em; text-shadow: 0 0.15rem 0.4rem rgb(20 31 48 / 18%); }
.broel-stage-card h3.elementor-heading-title { margin-top: 0.55rem; color: var(--broel-charcoal); font-size: clamp(1.35rem, 2vw, 1.75rem); line-height: 1.12; }
.broel-stage-card .elementor-widget-text-editor { margin-top: 0.85rem; color: var(--broel-slate); font-size: 0.95rem; line-height: 1.55; }
.broel-stage-card__button { margin-top: auto; padding-top: 1.4rem; padding-bottom: 0.25rem; }
.broel-stage-card__button .elementor-button { width: 100%; min-height: 3.5rem; display: inline-flex; align-items: center; justify-content: center; border-radius: 0.75rem; background: var(--stage-colour) !important; color: #fff !important; font-size: 0.82rem; font-weight: 850; }

.broel-ecosystem-panel,
.broel-brief-panel {
	box-sizing: border-box;
	padding: clamp(2.25rem, 4.5vw, 3.75rem) !important;
	border: 0.0625rem solid rgb(255 255 255 / 12%);
	border-radius: clamp(1.25rem, 2vw, 1.75rem) !important;
}

.broel-ecosystem-panel h3.elementor-heading-title { max-width: 14ch; margin-bottom: 1.35rem; font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.08; }
.broel-ecosystem-panel .elementor-widget-text-editor { max-width: 38rem; }
.broel-ecosystem-panel .elementor-widget-button { margin-top: 1.5rem; padding-bottom: 0.5rem; }
.broel-brief-panel { max-width: 72rem; text-align: left; background: linear-gradient(135deg, #20242a, #293f64); box-shadow: 0 1.5rem 3.5rem rgb(20 31 48 / 18%); }
.broel-brief-panel h2.elementor-heading-title { max-width: 18ch; margin-top: 1rem; color: #fff; font-size: clamp(2rem, 4.2vw, 4rem); line-height: 1.04; }
.broel-brief-panel .elementor-widget-text-editor { max-width: 52rem; margin-top: 1.5rem; color: rgb(255 255 255 / 83%); font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.6; }
.broel-brief-panel .broel-coming-soon { margin-top: 1.25rem; color: #8fdcaf; font-size: 0.9rem; }

@media (max-width: 64rem) {
	.broel-business-stages__grid,
	.broel-business-stages__grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 40rem) {
	.broel-business-stages__grid,
	.broel-business-stages__grid > .e-con-inner { grid-template-columns: 1fr; }
	.broel-stage-card { min-height: 22rem; }
	.broel-stage-card__visual { padding-right: 2.75rem; }
	.broel-stage-card__icon { margin-right: 1.5rem; }
}

/* Reusable Elementor hub-page system. */
.broel-hub-hero,
.broel-hub-content,
.broel-hub-next {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.broel-hub-hero {
	position: relative;
	overflow: hidden;
	background: var(--broel-hub-light, var(--broel-blue-light));
	min-height: clamp(32rem, 52vw, 42rem);
	display: flex;
	align-items: center;
}

.broel-hub-hero::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(90deg, rgb(255 255 255 / 98%) 0%, rgb(255 255 255 / 90%) 42%, rgb(255 255 255 / 28%) 68%, transparent 84%);
	content: "";
	pointer-events: none;
}

.broel-hub-hero::after {
	position: absolute;
	top: -7rem;
	right: -6rem;
	width: clamp(16rem, 32vw, 30rem);
	aspect-ratio: 1;
	border: clamp(2rem, 5vw, 5rem) solid var(--broel-hub-colour, var(--broel-blue));
	border-radius: 50%;
	content: "";
	opacity: 0.13;
	pointer-events: none;
}

.broel-hub--start,
.broel-hub--learn { --broel-hub-colour: var(--broel-blue); --broel-hub-dark: var(--broel-blue-dark); --broel-hub-light: var(--broel-blue-light); }
.broel-hub--build { --broel-hub-colour: var(--broel-orange); --broel-hub-dark: var(--broel-orange-dark); --broel-hub-light: var(--broel-orange-light); }
.broel-hub--grow { --broel-hub-colour: var(--broel-green); --broel-hub-dark: var(--broel-green-dark); --broel-hub-light: var(--broel-green-light); }
.broel-hub--connect { --broel-hub-colour: var(--broel-green); --broel-hub-dark: var(--broel-green-dark); --broel-hub-light: var(--broel-green-light); }
.broel-hub--events { --broel-hub-colour: var(--broel-red); --broel-hub-dark: var(--broel-red-dark); --broel-hub-light: var(--broel-red-light); }
.broel-hub--resources { --broel-hub-colour: var(--broel-blue); --broel-hub-dark: var(--broel-blue-dark); --broel-hub-light: var(--broel-blue-light); }
.broel-hub--about { --broel-hub-colour: var(--broel-orange); --broel-hub-dark: var(--broel-orange-dark); --broel-hub-light: var(--broel-orange-light); }

.broel-hub-copy {
	position: relative;
	z-index: 1;
	max-width: 47rem;
}

.broel-hub-label .elementor-heading-title {
	color: var(--broel-hub-dark);
	font-size: 1rem;
	font-weight: 850;
	letter-spacing: 0.09em;
}

.broel-hub-title .elementor-heading-title {
	max-width: 16ch;
	font-size: clamp(2.75rem, 6vw, 5.5rem);
}

.broel-hub-intro {
	max-width: 48rem;
	font-size: clamp(1.125rem, 2vw, 1.375rem);
}

.broel-hub-content {
	background: var(--broel-white);
}

.broel-hub-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
}

.broel-hub-card {
	min-height: 15rem;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border: 0.0625rem solid var(--broel-border);
	border-bottom: 0.35rem solid var(--broel-hub-colour);
	border-radius: var(--broel-radius-lg);
	background: var(--broel-white);
	box-shadow: var(--broel-shadow-sm);
}

.broel-hub-card .elementor-heading-title {
	font-size: clamp(1.4rem, 2vw, 1.8rem);
}

.broel-hub-next {
	background: var(--broel-ink);
	color: var(--broel-white);
}

.broel-hub-next :where(h2, p) {
	color: inherit;
}

@media (min-width: 48rem) {
	.broel-primary-navigation.is-open {
		max-height: calc(100dvh - 9rem);
	}

	.broel-promo-inner {
		min-height: 3.25rem;
		padding-block: 0.38rem;
	}

	.broel-promo-link {
		text-align: right;
	}
	.broel-hub-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 75rem) {
	.broel-hub-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Contact page. */
.broel-contact-page { --contact-navy: #202b3d; --contact-blue: #377be7; --contact-green: #36ae71; --contact-orange: #fb8c32; --contact-purple: #7950bd; color: var(--contact-navy); background: #f7f9fd; }
.broel-qualification-intro { padding-block: clamp(2rem, 5vw, 4rem) 0; }
.broel-qualification-intro h1 { max-width: 19ch; font-size: clamp(2rem, 4.8vw, 4.5rem); line-height: 1.08; letter-spacing: -.04em; }
.broel-qualification-intro > p:last-child { max-width: 52rem; color: #5f6b7c; line-height: 1.6; }
.broel-contact-page :where(h1, h2, p) { margin-top: 0; }
.broel-contact-kicker { margin-bottom: 0.8rem; color: var(--contact-blue); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.broel-contact-hero { position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 7rem); background: linear-gradient(120deg, #f2f7ff 0%, #fff 48%, #f5f0ff 100%); }
.broel-contact-hero__grid { position: relative; z-index: 1; display: grid; align-items: center; gap: clamp(2.25rem, 6vw, 6rem); }
.broel-contact-hero__copy h1 { max-width: 11.5ch; margin-bottom: 1.4rem; color: var(--contact-blue); font-size: clamp(2.8rem, 5.8vw, 5.8rem); line-height: 0.98; letter-spacing: -0.055em; }
.broel-contact-hero__copy > p:not(.broel-contact-kicker) { max-width: 43rem; margin-bottom: 1.8rem; color: #5f6b7c; font-size: clamp(1.05rem, 1.5vw, 1.25rem); line-height: 1.7; }
.broel-contact-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; }
.broel-contact-button { display: inline-flex; min-height: 3.55rem; padding: 0.85rem 1.35rem; border: 0; border-radius: 0.85rem; align-items: center; justify-content: center; gap: 0.55rem; color: #fff; font-weight: 850; line-height: 1.15; text-decoration: none; box-shadow: 0 0.9rem 2rem rgb(35 70 125 / 14%); transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-contact-button:hover, .broel-contact-button:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 1.15rem 2.4rem rgb(35 70 125 / 20%); }
.broel-contact-button--primary { background: var(--contact-orange); }
.broel-contact-phone { display: inline-flex; align-items: center; gap: 0.6rem; color: var(--contact-navy); font-size: 1.05rem; font-weight: 800; text-decoration: none; }
.broel-contact-phone span { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border-radius: 50%; color: #fff; background: var(--contact-green); }
.broel-contact-hero__media { position: relative; margin: 0; }
.broel-contact-hero__media::before { position: absolute; z-index: -1; inset: -1rem 1.4rem 1rem -1rem; border-radius: 2.4rem; background: linear-gradient(145deg, var(--contact-green), var(--contact-blue)); content: ''; transform: rotate(-2.5deg); }
.broel-contact-hero__media img { display: block; width: 100%; min-height: 23rem; max-height: 35rem; border-radius: 2rem; object-fit: cover; object-position: 65% center; box-shadow: 0 2rem 4rem rgb(25 50 90 / 18%); }
.broel-contact-hero__media figcaption { position: absolute; right: 1.2rem; bottom: 1.2rem; display: flex; padding: 0.8rem 1rem; border-radius: 0.8rem; align-items: center; gap: 0.55rem; color: var(--contact-navy); background: rgb(255 255 255 / 92%); font-size: 0.82rem; font-weight: 800; box-shadow: 0 0.8rem 2rem rgb(25 50 90 / 16%); backdrop-filter: blur(0.5rem); }
.broel-contact-hero__media figcaption span { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; color: #fff; background: var(--contact-green); }
.broel-contact-orb { position: absolute; border-radius: 50%; opacity: 0.18; filter: blur(1px); }
.broel-contact-orb--one { width: 17rem; height: 17rem; top: -9rem; right: 36%; border: 2.5rem solid var(--contact-orange); }
.broel-contact-orb--two { width: 11rem; height: 11rem; bottom: -6rem; left: -4rem; border: 2rem solid var(--contact-purple); }
.broel-contact-main { padding-block: clamp(4rem, 8vw, 7rem); }
.broel-contact-main__grid { display: grid; align-items: start; gap: clamp(2rem, 5vw, 4rem); }
.broel-contact-form-card { padding: clamp(1.5rem, 4vw, 3.5rem); border: 0.0625rem solid #dbe3ef; border-radius: 1.8rem; background: #fff; box-shadow: 0 1.6rem 4rem rgb(34 59 96 / 9%); }
.broel-contact-form-card h2, .broel-contact-consultation h2 { margin-bottom: 0.8rem; color: var(--contact-navy); font-size: clamp(2.2rem, 4vw, 3.7rem); line-height: 1.05; letter-spacing: -0.04em; }
.broel-contact-intro { margin-bottom: 2rem; color: #647184; line-height: 1.65; }
.broel-contact-notice { margin: 0 0 1.5rem; padding: 1rem 1.15rem; border-radius: 0.8rem; line-height: 1.5; }
.broel-contact-notice--success { color: #155f3a; background: #e6f8ed; }
.broel-contact-notice--error { color: #9e2f36; background: #fff0f1; }
.broel-contact-fields { display: grid; gap: 1.15rem; }
.broel-contact-form label { display: grid; gap: 0.48rem; color: #344257; font-size: 0.9rem; font-weight: 750; }
.broel-contact-form :where(input:not([type="checkbox"]), select, textarea) { width: 100%; min-height: 3.25rem; padding: 0.75rem 0.9rem; border: 0.08rem solid #cbd5e3; border-radius: 0.7rem; color: var(--contact-navy); background: #fbfcfe; font: inherit; font-weight: 500; transition: border-color 160ms ease, box-shadow 160ms ease; }
.broel-contact-form textarea { resize: vertical; }
.broel-contact-form :where(input, select, textarea):focus { outline: 0; border-color: var(--contact-blue); box-shadow: 0 0 0 0.22rem rgb(55 123 231 / 15%); }
.broel-contact-human { padding: 1rem; border-radius: 0.85rem; background: #eef5ff; }
.broel-contact-human input { max-width: 8rem; background: #fff !important; }
.broel-contact-human small { color: #67758a; font-weight: 500; }
.broel-contact-consent { display: flex !important; margin: 1.3rem 0; grid-template-columns: auto 1fr; align-items: flex-start; gap: 0.7rem !important; color: #687487 !important; font-weight: 500 !important; line-height: 1.55; }
.broel-contact-consent input { width: 1.15rem; height: 1.15rem; flex: 0 0 1.15rem; margin-top: 0.16rem; accent-color: var(--contact-blue); }
.broel-contact-consent a { color: var(--contact-blue); }
.broel-contact-button--submit { cursor: pointer; background: var(--contact-blue); }
.broel-contact-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.broel-contact-sidebar { display: grid; gap: 1.2rem; }
.broel-contact-detail { display: grid; padding: 1.5rem; border: 0.0625rem solid #dce4ef; border-radius: 1.35rem; grid-template-columns: auto 1fr; gap: 1rem; background: #fff; box-shadow: 0 1rem 2.5rem rgb(34 59 96 / 7%); }
.broel-contact-detail__icon { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border-radius: 0.9rem; color: #fff; background: var(--contact-blue); font-size: 1.35rem; }
.broel-contact-detail:nth-child(2) .broel-contact-detail__icon { background: var(--contact-green); }
.broel-contact-detail:nth-child(3) .broel-contact-detail__icon { background: var(--contact-purple); }
.broel-contact-detail p { margin-bottom: 0.35rem; color: var(--contact-blue); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.1em; }
.broel-contact-detail h2 { margin-bottom: 0.55rem; color: var(--contact-navy); font-size: 1.45rem; }
.broel-contact-detail a { color: var(--contact-navy); font-weight: 800; text-decoration: none; }
.broel-contact-detail small { display: block; margin-top: 0.5rem; color: #788497; line-height: 1.45; }
.broel-contact-detail address { color: #526074; font-style: normal; line-height: 1.65; }
.broel-contact-detail--company { border-color: rgb(54 174 113 / 28%); background: linear-gradient(145deg, #fff 0%, #eefaf3 100%); }
.broel-contact-detail--company .broel-contact-detail__icon { background: linear-gradient(145deg, var(--contact-green), #238958); box-shadow: 0 0.75rem 1.6rem rgb(35 137 88 / 18%); }
.broel-contact-company { min-width: 0; }
.broel-contact-company h2 { margin-bottom: 1rem; line-height: 1.12; }
.broel-contact-company h2 span { display: block; margin-top: 0.22rem; color: var(--contact-green); font-size: 0.72em; letter-spacing: 0.03em; }
.broel-contact-company-proof { display: grid; margin: 0; gap: 0; color: #526074; }
.broel-contact-company-proof > div { display: grid; padding: 0.72rem 0; border-top: 0.0625rem solid rgb(54 174 113 / 18%); gap: 0.18rem; }
.broel-contact-company-proof dt { color: var(--contact-navy); font-size: 0.7rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.broel-contact-company-proof dd { margin: 0; font-size: 0.9rem; font-weight: 520; line-height: 1.5; overflow-wrap: anywhere; }
.broel-contact-emails { display: grid; margin: 0; padding: 0; gap: 0.8rem; list-style: none; }
.broel-contact-emails li { display: grid; gap: 0.3rem; }
.broel-contact-emails li + li { padding-top: 0.8rem; border-top: 0.0625rem solid #e8edf4; }
.broel-contact-emails strong { color: var(--contact-navy); font-size: 1rem; }
.broel-contact-emails button { display: inline-flex; width: fit-content; padding: 0.25rem 0; border: 0; align-items: center; gap: 0.4rem; color: var(--contact-blue); background: transparent; cursor: pointer; font: inherit; font-size: 0.9rem; font-weight: 750; text-align: left; }
.broel-contact-emails button:hover, .broel-contact-emails button:focus-visible { color: #205fca; text-decoration: underline; text-underline-offset: 0.2rem; }
.broel-contact-email-address { display: block; width: fit-content; color: var(--contact-blue) !important; font-size: 0.94rem; overflow-wrap: anywhere; }
.broel-contact-response { padding: 1.65rem; border-radius: 1.35rem; color: #fff; background: linear-gradient(135deg, var(--contact-navy), #2f4261); box-shadow: 0 1.2rem 3rem rgb(27 43 68 / 16%); }
.broel-contact-response > strong { font-size: 1.25rem; }
.broel-contact-response ol { display: grid; margin: 1rem 0 0; padding-left: 1.3rem; gap: 0.65rem; color: #e4ebf5; line-height: 1.5; }
.broel-contact-consultation { position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem); background: linear-gradient(115deg, #fff2e5, #eef7ff 50%, #eefaf3); }
.broel-contact-consultation::after { position: absolute; width: 15rem; height: 15rem; right: -5rem; bottom: -8rem; border: 2.4rem solid rgb(121 80 189 / 16%); border-radius: 50%; content: ''; }
.broel-contact-consultation__inner { position: relative; z-index: 1; display: grid; align-items: center; gap: 2rem 4rem; }
.broel-contact-consultation__inner p:not(.broel-contact-kicker) { max-width: 48rem; color: #606e80; font-size: 1.05rem; line-height: 1.65; }
.broel-consultation-intro { align-self: start; }
.broel-consultation-intro ul { display: grid; margin: 1.5rem 0; padding: 0; gap: 0.75rem; list-style: none; }
.broel-consultation-intro li { padding-left: 1.8rem; color: #28374d; font-weight: 650; position: relative; }
.broel-consultation-intro li::before { position: absolute; left: 0; color: #238858; content: '✓'; }
.broel-consultation-disclosure { padding: 1rem 1.2rem; border-left: 0.25rem solid #369c6b; border-radius: 0.65rem; background: rgb(255 255 255 / 72%); font-size: 0.94rem !important; }
.broel-consultation-card { min-width: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #d9e5ed; border-radius: 1.6rem; background: #fff; box-shadow: 0 1.2rem 3rem rgb(34 59 96 / 9%); }
.broel-consultation-form fieldset { min-width: 0; margin: 0 0 1.75rem; padding: 0; border: 0; }
.broel-consultation-form legend { width: 100%; margin-bottom: 1.1rem; padding-bottom: 0.5rem; border-bottom: 1px solid #e0e8ef; color: #243a54; font-size: 1.18rem; font-weight: 750; }
.broel-consultation-form label small { color: #63748a; font-size: 0.78rem; font-weight: 450; line-height: 1.4; }
.broel-consultation-card .broel-contact-notice a { color: inherit; font-weight: 700; }
.broel-consultation-next-step p { margin: 0.6rem 0; font-size: 0.94rem !important; }
.broel-consultation-next-step__links { display: flex; flex-wrap: wrap; gap: 0.55rem; margin: 1rem 0; }
.broel-consultation-next-step__links a { display: inline-flex; min-height: 2.7rem; padding: 0.55rem 0.8rem; align-items: center; border: 1px solid #a9d9bb; border-radius: 0.65rem; background: #fff; text-decoration: none; }
.broel-consultation-mailing { padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid #d3e2f2; border-radius: 1rem; background: #f6faff; }
.broel-consultation-mailing h3 { margin: 0 0 0.4rem; color: var(--contact-navy); font-size: 1.25rem; }
.broel-consultation-mailing p { margin: 0 0 1rem; color: #596c83; font-size: 0.92rem !important; }
.broel-consultation-mailing form { display: grid; gap: 0.6rem; }
.broel-consultation-mailing label { color: #344257; font-size: 0.9rem; font-weight: 650; }
.broel-consultation-mailing__row { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.broel-consultation-mailing__row input { flex: 1 1 13rem; min-width: 0; min-height: 3rem; padding: 0.65rem 0.8rem; border: 1px solid #b9c9db; border-radius: 0.7rem; background: #fff; font: inherit; }
.broel-consultation-mailing__row button { min-height: 3rem; padding: 0.65rem 1rem; border: 0; border-radius: 0.7rem; color: #fff; background: var(--contact-blue); cursor: pointer; font: inherit; font-weight: 700; }
.broel-consultation-mailing__consent { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.8rem !important; font-weight: 450 !important; line-height: 1.5; }
.broel-consultation-mailing__consent input { width: 1.1rem; height: 1.1rem; flex: 0 0 1.1rem; margin-top: 0.15rem; }
.broel-consultation-mailing__consent a { color: var(--contact-blue); }

@media (min-width: 48rem) {
	.broel-contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-contact-fields__full, .broel-contact-human { grid-column: 1 / -1; }
}
@media (min-width: 64rem) {
	.broel-contact-hero__grid { grid-template-columns: minmax(0, 0.95fr) minmax(29rem, 1.05fr); }
	.broel-contact-main__grid { grid-template-columns: minmax(0, 1.35fr) minmax(20rem, 0.65fr); }
	.broel-contact-consultation__inner { grid-template-columns: minmax(16rem, 0.78fr) minmax(0, 1.22fr); align-items: start; }
}
@media (max-width: 47.99rem) {
	.broel-contact-hero { padding-top: 3rem; }
	.broel-contact-hero__copy h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
	.broel-contact-hero__media img { min-height: 19rem; object-position: 72% center; }
	.broel-contact-hero__media figcaption { right: 0.75rem; bottom: 0.75rem; left: 0.75rem; }
	.broel-contact-button--primary, .broel-contact-button--submit { width: 100%; }
	.broel-contact-detail { grid-template-columns: 1fr; }
	.broel-contact-emails li { gap: 0.2rem; }
}

@media (prefers-reduced-motion: reduce) {
	.broel-contact-button { transition: none; }
}

/* BROel Support Portal */
.broel-support-page { --support-navy: #202b3d; --support-blue: #377be7; --support-green: #35ad70; --support-orange: #fb8c32; --support-purple: #7950bd; overflow: hidden; color: var(--support-navy); background: #f7f9fd; }
.broel-support-page :where(h1, h2, p) { margin-top: 0; }
.broel-support-hero { position: relative; isolation: isolate; padding-block: clamp(3.5rem, 7vw, 6.5rem); background: linear-gradient(125deg, #edf5ff 0%, #fff 48%, #f4efff 100%); }
.broel-support-hero__grid { position: relative; z-index: 2; display: grid; align-items: center; gap: 3rem 5rem; }
.broel-support-kicker { margin-bottom: 0.75rem; color: var(--support-blue); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.12em; }
.broel-support-hero__copy h1 { max-width: 12ch; margin-bottom: 1.15rem; color: var(--support-blue); font-size: clamp(3rem, 6vw, 5.7rem); line-height: 0.96; letter-spacing: -0.055em; }
.broel-support-hero__copy > p:not(.broel-support-kicker) { max-width: 43rem; margin-bottom: 1.6rem; color: #56647a; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.65; }
.broel-support-hero__actions { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.broel-support-button { display: inline-flex; min-height: 3.25rem; padding: 0.8rem 1.2rem; align-items: center; justify-content: center; gap: 0.55rem; border: 0.1rem solid transparent; border-radius: 0.8rem; font-weight: 850; text-decoration: none; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease; }
.broel-support-button:hover, .broel-support-button:focus-visible { transform: translateY(-0.12rem); }
.broel-support-button--primary { color: #fff; background: var(--support-orange); box-shadow: 0 0.9rem 2rem rgb(251 140 50 / 24%); }
.broel-support-button--secondary { border-color: rgb(55 123 231 / 28%); color: var(--support-blue); background: #fff; }
.broel-support-hero__visual { position: relative; min-height: 24rem; }
.broel-support-hero__halo { position: absolute; width: min(22rem, 75vw); aspect-ratio: 1; top: 50%; left: 50%; border: 3.4rem solid rgb(55 123 231 / 10%); border-radius: 50%; transform: translate(-50%, -50%); }
.broel-support-hero__ticket { position: absolute; z-index: 2; display: grid; width: min(23rem, 86%); min-height: 17rem; padding: 2rem; top: 50%; left: 50%; place-items: center; border: 0.08rem solid rgb(255 255 255 / 72%); border-radius: 2rem; color: #fff; background: linear-gradient(145deg, var(--support-blue), #265fbf); box-shadow: 0 2rem 4rem rgb(36 79 151 / 25%); text-align: center; transform: translate(-50%, -50%) rotate(-2deg); }
.broel-support-hero__ticket svg { margin-bottom: 0.6rem; }
.broel-support-hero__ticket strong { font-size: 1.45rem; }
.broel-support-hero__ticket span { color: #dceaff; font-size: 0.9rem; font-weight: 650; }
.broel-support-status { position: absolute; z-index: 3; display: inline-flex; padding: 0.7rem 0.9rem; align-items: center; gap: 0.45rem; border-radius: 999px; color: var(--support-navy); background: #fff; box-shadow: 0 0.9rem 2rem rgb(31 51 83 / 16%); font-size: 0.78rem; font-weight: 800; }
.broel-support-status i { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--support-green); box-shadow: 0 0 0 0.25rem rgb(53 173 112 / 14%); }
.broel-support-status--one { top: 10%; left: 0; }
.broel-support-status--two { right: 0; bottom: 8%; }
.broel-support-shape { position: absolute; z-index: 0; border-radius: 50%; filter: blur(0.2rem); }
.broel-support-shape--one { width: 12rem; height: 12rem; top: -5rem; right: 8%; background: rgb(251 140 50 / 13%); }
.broel-support-shape--two { width: 8rem; height: 8rem; bottom: -4rem; left: 5%; background: rgb(53 173 112 / 13%); }
.broel-support-benefits { position: relative; z-index: 3; padding-block: 0; transform: translateY(-1rem); }
.broel-support-benefits__grid { display: grid; overflow: hidden; border: 0.0625rem solid #e0e7f1; border-radius: 1.4rem; background: #fff; box-shadow: 0 1.3rem 3rem rgb(35 60 96 / 9%); }
.broel-support-benefits__grid > div { display: grid; position: relative; padding: 1.3rem 1.4rem; gap: 0.16rem; }
.broel-support-benefits__grid > div + div { border-top: 0.0625rem solid #e8edf5; }
.broel-support-benefits span { position: absolute; top: 0.75rem; right: 0.8rem; color: rgb(55 123 231 / 18%); font-size: 1.6rem; font-weight: 950; }
.broel-support-benefits strong { padding-right: 2rem; font-size: 0.96rem; }
.broel-support-benefits small { color: #6c7889; font-size: 0.8rem; }
.broel-support-portal-section { padding-block: clamp(3rem, 6vw, 6rem); }
.broel-support-section-heading { display: grid; margin-bottom: 2rem; align-items: end; gap: 1rem 3rem; }
.broel-support-section-heading h2 { margin-bottom: 0; color: var(--support-navy); font-size: clamp(2.2rem, 4vw, 3.7rem); line-height: 1; letter-spacing: -0.04em; }
.broel-support-section-heading > p { max-width: 42rem; margin-bottom: 0; color: #647187; line-height: 1.65; }
.broel-support-workspace { display: grid; align-items: start; gap: 1.5rem; }
.broel-support-portal-card { min-width: 0; padding: clamp(1rem, 2.5vw, 2rem); border: 0.0625rem solid #dce5f1; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.3rem 3.4rem rgb(34 59 96 / 9%); }
.broel-support-guidance { position: relative; overflow: hidden; padding: 1.75rem; border-radius: 1.5rem; color: #fff; background: linear-gradient(145deg, var(--support-navy), #304463); box-shadow: 0 1.3rem 3rem rgb(28 45 72 / 17%); }
.broel-support-guidance::after { position: absolute; width: 9rem; height: 9rem; right: -4rem; bottom: -5rem; border: 1.4rem solid rgb(251 140 50 / 22%); border-radius: 50%; content: ''; }
.broel-support-guidance__icon { display: grid; width: 3.2rem; height: 3.2rem; margin-bottom: 1.2rem; place-items: center; border-radius: 0.9rem; background: var(--support-green); font-size: 1.45rem; font-weight: 900; }
.broel-support-guidance h2 { margin-bottom: 0.65rem; color: #fff; font-size: 1.65rem; }
.broel-support-guidance > p { color: #d9e2ef; line-height: 1.55; }
.broel-support-guidance ul { display: grid; margin: 1.2rem 0 1.5rem; padding: 0; gap: 0.8rem; list-style: none; }
.broel-support-guidance li { position: relative; padding-left: 1.45rem; color: #ecf2fa; line-height: 1.45; }
.broel-support-guidance li::before { position: absolute; left: 0; color: var(--support-green); content: '✓'; font-weight: 900; }
.broel-support-urgent { position: relative; z-index: 2; display: grid; padding-top: 1rem; border-top: 0.0625rem solid rgb(255 255 255 / 16%); gap: 0.25rem; }
.broel-support-urgent a { color: #ffb16d; font-weight: 800; text-decoration: none; }
.broel-support-unavailable { padding: 2rem; border-radius: 1rem; color: #6a4b14; background: #fff4dc; }
.broel-support-portal-card :where(input, select, textarea) { max-width: 100%; }
.broel-support-portal-card :where(button, .el-button) { border-radius: 0.6rem; }

@media (min-width: 40rem) {
	.broel-support-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-support-benefits__grid > div:nth-child(2) { border-top: 0; }
	.broel-support-benefits__grid > div:nth-child(even) { border-left: 0.0625rem solid #e8edf5; }
}
@media (min-width: 64rem) {
	.broel-support-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(25rem, 0.95fr); }
	.broel-support-benefits__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.broel-support-benefits__grid > div + div { border-top: 0; border-left: 0.0625rem solid #e8edf5; }
	.broel-support-section-heading { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.7fr); }
	.broel-support-workspace { grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr); }
	.broel-support-guidance { position: sticky; top: 11rem; }
}
@media (max-width: 47.99rem) {
	.broel-support-hero { padding-top: 3rem; }
	.broel-support-hero__visual { min-height: 20rem; }
	.broel-support-hero__ticket { min-height: 14.5rem; }
	.broel-support-status--one { left: 0.3rem; }
	.broel-support-status--two { right: 0.3rem; }
	.broel-support-button { width: 100%; }
	.broel-support-portal-card { padding: 0.65rem; border-radius: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.broel-support-button { transition: none; }
}

/* BROel Knowledgebase */
.broel-kb-page, .broel-kb-single { --kb-navy: #202b3d; --kb-blue: #377be7; --kb-green: #35ad70; --kb-orange: #fb8c32; --kb-purple: #7950bd; --kb-red: #e84d55; overflow: hidden; color: var(--kb-navy); background: #f7f9fd; }
.broel-kb-page :where(h1, h2, h3, p), .broel-kb-single :where(h1, h2, h3, p) { margin-top: 0; }
.broel-kb-hero { position: relative; isolation: isolate; padding-block: clamp(3.8rem, 7vw, 6.8rem); background: linear-gradient(125deg, #edf5ff 0%, #fff 52%, #f4efff 100%); }
.broel-kb-hero__grid { position: relative; z-index: 2; display: grid; align-items: center; gap: 3rem 5rem; }
.broel-kb-kicker { margin-bottom: 0.7rem; color: var(--kb-blue); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.12em; }
.broel-kb-hero__copy h1 { max-width: 13ch; margin-bottom: 1.15rem; color: var(--kb-blue); font-size: clamp(2.8rem, 5.4vw, 5.2rem); line-height: 0.98; letter-spacing: -0.055em; }
.broel-kb-hero__copy > p:not(.broel-kb-kicker) { max-width: 47rem; color: #59677b; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; }
.broel-kb-search { display: grid; max-width: 43rem; min-height: 4rem; margin-top: 1.6rem; padding: 0 1rem; border: 0.08rem solid rgb(55 123 231 / 25%); border-radius: 1rem; grid-template-columns: auto 1fr; align-items: center; gap: 0.75rem; color: var(--kb-blue); background: #fff; box-shadow: 0 1rem 2.5rem rgb(44 76 128 / 11%); }
.broel-kb-search input { width: 100%; min-width: 0; height: 100%; border: 0; outline: 0; color: var(--kb-navy); background: transparent; font: inherit; font-size: 1rem; }
.broel-kb-search:focus-within { border-color: var(--kb-blue); box-shadow: 0 0 0 0.25rem rgb(55 123 231 / 12%), 0 1rem 2.5rem rgb(44 76 128 / 11%); }
.broel-kb-hero__visual { position: relative; min-height: 25rem; }
.broel-kb-stack { position: absolute; width: min(21rem, 82%); min-height: 18rem; top: 50%; left: 50%; border-radius: 2rem; transform: translate(-50%, -50%); }
.broel-kb-stack--back { background: var(--kb-orange); transform: translate(-43%, -57%) rotate(8deg); opacity: 0.86; }
.broel-kb-stack--middle { background: var(--kb-green); transform: translate(-56%, -45%) rotate(-7deg); opacity: 0.9; }
.broel-kb-stack--front { z-index: 2; display: grid; padding: 2rem; place-items: center; color: #fff; background: linear-gradient(145deg, var(--kb-blue), #285fbf); box-shadow: 0 2rem 4rem rgb(39 83 154 / 27%); text-align: center; }
.broel-kb-stack--front svg { margin-bottom: 0.6rem; }
.broel-kb-stack--front strong { font-size: 1.55rem; }
.broel-kb-stack--front span { color: #dce9ff; font-size: 0.88rem; }
.broel-kb-answer-chip { position: absolute; z-index: 4; display: grid; width: 3.4rem; height: 3.4rem; place-items: center; border: 0.28rem solid #fff; border-radius: 50%; color: #fff; box-shadow: 0 0.9rem 2rem rgb(37 53 82 / 18%); font-size: 1.4rem; font-weight: 950; }
.broel-kb-answer-chip--one { top: 8%; left: 6%; background: var(--kb-purple); }
.broel-kb-answer-chip--two { right: 4%; bottom: 8%; background: var(--kb-green); }
.broel-kb-hero__orb { position: absolute; border-radius: 50%; }
.broel-kb-hero__orb--one { width: 13rem; height: 13rem; top: -6rem; right: 5%; background: rgb(251 140 50 / 12%); }
.broel-kb-hero__orb--two { width: 9rem; height: 9rem; bottom: -5rem; left: 4%; background: rgb(121 80 189 / 11%); }
.broel-kb-explorer { padding-block: clamp(4rem, 7vw, 7rem); }
.broel-kb-heading { display: grid; margin-bottom: 2rem; align-items: end; gap: 1rem 3rem; }
.broel-kb-heading h2 { margin-bottom: 0; font-size: clamp(2.25rem, 4.4vw, 4rem); line-height: 1; letter-spacing: -0.045em; }
.broel-kb-heading > p { max-width: 43rem; margin-bottom: 0; color: #647187; line-height: 1.65; }
.broel-kb-filters { display: flex; margin-bottom: 2rem; flex-wrap: wrap; gap: 0.65rem; }
.broel-kb-filters button { min-height: 2.8rem; padding: 0.58rem 0.95rem; border: 0.08rem solid #d7e0ed; border-radius: 999px; color: #48576d; background: #fff; cursor: pointer; font: inherit; font-size: 0.84rem; font-weight: 800; transition: transform 150ms ease, color 150ms ease, background 150ms ease; }
.broel-kb-filters button span { display: inline-grid; min-width: 1.45rem; height: 1.45rem; margin-left: 0.3rem; padding-inline: 0.3rem; place-items: center; border-radius: 999px; color: inherit; background: rgb(55 123 231 / 10%); font-size: 0.72rem; }
.broel-kb-filters button:hover, .broel-kb-filters button:focus-visible { transform: translateY(-0.1rem); color: var(--kb-blue); border-color: currentColor; }
.broel-kb-filters button.is-active { border-color: var(--kb-blue); color: #fff; background: var(--kb-blue); box-shadow: 0 0.65rem 1.3rem rgb(55 123 231 / 20%); }
.broel-kb-filter--green { border-top-color: var(--kb-green) !important; }.broel-kb-filter--orange { border-top-color: var(--kb-orange) !important; }.broel-kb-filter--purple { border-top-color: var(--kb-purple) !important; }.broel-kb-filter--red { border-top-color: var(--kb-red) !important; }
.broel-kb-grid { display: grid; gap: 1.2rem; }
.broel-kb-card { position: relative; display: flex; min-width: 0; min-height: 21rem; padding: 1.5rem; overflow: hidden; border: 0.0625rem solid #dfe6f0; border-top: 0.38rem solid var(--kb-blue); border-radius: 1.25rem; flex-direction: column; background: #fff; box-shadow: 0 1rem 2.5rem rgb(34 59 96 / 7%); transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-kb-card:nth-child(5n+2) { border-top-color: var(--kb-green); }.broel-kb-card:nth-child(5n+3) { border-top-color: var(--kb-orange); }.broel-kb-card:nth-child(5n+4) { border-top-color: var(--kb-purple); }.broel-kb-card:nth-child(5n) { border-top-color: var(--kb-red); }
.broel-kb-card:hover { transform: translateY(-0.28rem); box-shadow: 0 1.5rem 3.2rem rgb(34 59 96 / 12%); }
.broel-kb-card[hidden] { display: none; }
.broel-kb-card__top { display: flex; margin-bottom: 1.15rem; align-items: center; gap: 0.65rem; }
.broel-kb-card__icon { display: grid; width: 2.7rem; height: 2.7rem; flex: 0 0 2.7rem; place-items: center; border-radius: 0.8rem; color: var(--kb-blue); background: #eaf2ff; font-size: 1.2rem; font-weight: 950; }
.broel-kb-card__topic { color: #66748a; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.broel-kb-card h3 { margin-bottom: 0.8rem; font-size: 1.45rem; line-height: 1.15; letter-spacing: -0.025em; }
.broel-kb-card h3 a { color: var(--kb-navy); text-decoration: none; }
.broel-kb-card h3 a::after { position: absolute; inset: 0; content: ''; }
.broel-kb-card > p { color: #637084; line-height: 1.58; }
.broel-kb-card__footer { display: flex; margin-top: auto; padding-top: 1rem; border-top: 0.0625rem solid #e7ecf3; align-items: center; justify-content: space-between; gap: 0.7rem; color: #8993a2; font-size: 0.76rem; }
.broel-kb-card__footer a { position: relative; z-index: 2; color: var(--kb-blue); font-weight: 850; text-decoration: none; }
.broel-kb-empty { padding: 2rem; border: 0.1rem dashed #cbd7e8; border-radius: 1rem; color: #5e6c80; background: #fff; text-align: center; }
.broel-kb-editorial { padding-block: clamp(3rem, 6vw, 5.5rem); color: #fff; background: linear-gradient(130deg, var(--kb-navy), #304563); }
.broel-kb-editorial__inner { display: grid; align-items: center; gap: 1.5rem 4rem; }
.broel-kb-editorial h2 { margin-bottom: 0.7rem; color: #fff; font-size: clamp(2rem, 4vw, 3.4rem); }
.broel-kb-editorial p:not(.broel-kb-kicker) { max-width: 60rem; margin-bottom: 0; color: #dce5f1; line-height: 1.65; }
.broel-kb-editorial a { display: inline-flex; width: fit-content; padding: 0.8rem 1rem; border-radius: 0.7rem; color: #fff; background: var(--kb-orange); font-weight: 850; text-decoration: none; }

.broel-kb-article-hero { position: relative; padding-block: clamp(3.5rem, 7vw, 6.5rem); background: linear-gradient(125deg, #edf5ff, #fff 60%, #f4efff); }
.broel-kb-article-hero__inner { max-width: 70rem; }
.broel-kb-breadcrumbs { display: flex; margin-bottom: 2rem; flex-wrap: wrap; gap: 0.5rem; color: #748196; font-size: 0.82rem; }
.broel-kb-breadcrumbs a { color: var(--kb-blue); font-weight: 750; text-decoration: none; }
.broel-kb-article-hero h1 { max-width: 19ch; margin-bottom: 1.2rem; color: var(--kb-blue); font-size: clamp(2.6rem, 5.8vw, 5.1rem); line-height: 0.99; letter-spacing: -0.055em; }
.broel-kb-article-summary { max-width: 55rem; color: #59677b; font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.6; }
.broel-kb-article-meta { display: flex; margin-top: 1.5rem; flex-wrap: wrap; gap: 0.55rem 1.4rem; color: #6e7b8e; font-size: 0.78rem; font-weight: 700; }
.broel-kb-article-meta span { position: relative; }
.broel-kb-article-layout { display: grid; padding-block: clamp(3rem, 6vw, 6rem); align-items: start; gap: 2rem 4rem; }
.broel-kb-article { min-width: 0; padding: clamp(1.25rem, 3vw, 3rem); border: 0.0625rem solid #dfe6f0; border-radius: 1.5rem; background: #fff; box-shadow: 0 1.25rem 3rem rgb(34 59 96 / 7%); }
.broel-kb-direct-answer { margin-bottom: 2rem; padding: 1.3rem 1.4rem; border-left: 0.35rem solid var(--kb-green); border-radius: 0 0.9rem 0.9rem 0; background: #edf9f3; }
.broel-kb-direct-answer strong { display: block; margin-bottom: 0.35rem; color: #218455; font-size: 0.76rem; letter-spacing: 0.08em; text-transform: uppercase; }
.broel-kb-direct-answer p { margin-bottom: 0; color: #3f5b4d; line-height: 1.6; }
.broel-kb-article__content { color: #465469; font-size: 1.02rem; line-height: 1.78; }
.broel-kb-article__content :where(h2, h3) { color: var(--kb-navy); scroll-margin-top: 10rem; }
.broel-kb-article__content h2 { margin: 2.4rem 0 0.9rem; font-size: clamp(1.65rem, 3vw, 2.25rem); line-height: 1.15; }
.broel-kb-article__content h3 { margin: 1.8rem 0 0.7rem; font-size: 1.3rem; }
.broel-kb-article__content :where(ul, ol) { padding-left: 1.4rem; }
.broel-kb-article__content li { margin-bottom: 0.55rem; }
.broel-kb-article__content a { color: var(--kb-blue); font-weight: 700; text-underline-offset: 0.18rem; }
.broel-kb-article-review { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 0.0625rem solid #e1e7f0; }
.broel-kb-article-review strong { color: var(--kb-navy); }
.broel-kb-article-review p { margin: 0.4rem 0 0; color: #718095; font-size: 0.86rem; line-height: 1.55; }
.broel-kb-related { margin-top: 2.5rem; padding-top: 2.2rem; border-top: 0.0625rem solid #e1e7f0; }
.broel-kb-related h2 { margin: 0.35rem 0 1rem; color: var(--kb-navy); font-size: clamp(1.55rem, 2.5vw, 2rem); }
.broel-kb-related__grid { display: grid; gap: 0.7rem; }
.broel-kb-related__grid a { display: flex; padding: 1rem 1.1rem; align-items: center; justify-content: space-between; gap: 1rem; border: 0.0625rem solid #dce5f1; border-radius: 0.9rem; color: var(--kb-navy); background: linear-gradient(135deg, #f7faff, #fff); font-weight: 800; line-height: 1.35; text-decoration: none; }
.broel-kb-related__grid a:hover, .broel-kb-related__grid a:focus-visible { border-color: var(--kb-blue); color: var(--kb-blue); transform: translateY(-0.1rem); }
.broel-kb-related__grid b { color: var(--kb-orange); font-size: 1.2rem; }
.broel-kb-article-aside { display: grid; gap: 1rem; }
.broel-kb-article-aside > div { padding: 1.6rem; border-radius: 1.35rem; color: #fff; background: linear-gradient(145deg, var(--kb-purple), #5e36a0); box-shadow: 0 1.2rem 2.8rem rgb(68 39 119 / 17%); }
.broel-kb-article-aside > div > span { display: grid; width: 3rem; height: 3rem; margin-bottom: 1rem; place-items: center; border-radius: 50%; color: #fff; background: var(--kb-orange); font-size: 1.3rem; font-weight: 950; }
.broel-kb-article-aside h2 { margin-bottom: 0.55rem; color: #fff; font-size: 1.55rem; }
.broel-kb-article-aside p { color: #eee8fa; line-height: 1.55; }
.broel-kb-article-aside a { color: #fff; font-weight: 850; }
.broel-kb-back { display: inline-flex; padding: 0.85rem 1rem; border: 0.08rem solid #dce4ef; border-radius: 0.75rem; color: var(--kb-blue) !important; background: #fff; text-decoration: none; }

@media (min-width: 42rem) {
	.broel-kb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.broel-kb-hero__grid { grid-template-columns: minmax(0, 1.15fr) minmax(24rem, 0.85fr); }
	.broel-kb-heading { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.7fr); }
	.broel-kb-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.broel-kb-editorial__inner { grid-template-columns: minmax(0, 1fr) auto; }
	.broel-kb-article-layout { grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.33fr); }
	.broel-kb-article-aside { position: sticky; top: 11rem; }
}
@media (max-width: 47.99rem) {
	.broel-kb-hero__visual { min-height: 21rem; }
	.broel-kb-search { min-height: 3.6rem; }
	.broel-kb-filters { flex-wrap: nowrap; margin-inline: -1rem; padding: 0 1rem 0.5rem; overflow-x: auto; scrollbar-width: thin; }
	.broel-kb-filters button { flex: 0 0 auto; }
	.broel-kb-card { min-height: 0; }
	.broel-kb-article { border-radius: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.broel-kb-card, .broel-kb-filters button { transition: none; }
}

/* BROel How To hub: visual, searchable and deliberately lightweight. */
.broel-howto-page { --kb-navy: #202b3d; --kb-blue: #377be7; --kb-green: #35ad70; --kb-orange: #fb8c32; --kb-purple: #7950bd; --kb-red: #e84d55; overflow: hidden; color: var(--kb-navy); background: #f7f9fd; }
.broel-howto-page :where(h1, h2, h3, p, figure) { margin-top: 0; }
.broel-howto-kicker { margin-bottom: 0.7rem; color: var(--kb-blue); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.broel-howto-hero { position: relative; isolation: isolate; padding-block: clamp(3.5rem, 6.5vw, 6.4rem); background: linear-gradient(130deg, #edf5ff 0%, #fff 52%, #f5efff 100%); }
.broel-howto-hero__grid { position: relative; z-index: 2; display: grid; align-items: center; gap: clamp(3rem, 6vw, 6rem); }
.broel-howto-hero__visual { min-width: 0; margin: 0; }
.broel-howto-hero__photo-wrap { position: relative; width: min(100%, 31rem); margin-inline: auto; padding: 0.65rem; border: 0.08rem solid rgb(55 123 231 / 17%); border-radius: 3.2rem 1.25rem 3.2rem 1.25rem; background: #fff; box-shadow: 0 2rem 4.5rem rgb(39 68 112 / 18%); transform: rotate(-1.2deg); }
.broel-howto-hero__photo-wrap::before { position: absolute; z-index: -1; inset: -1.1rem 1.8rem 1.4rem -1.2rem; border-radius: inherit; background: linear-gradient(145deg, var(--kb-green), var(--kb-blue)); content: ""; opacity: 0.18; transform: rotate(-3deg); }
.broel-howto-hero__photo-wrap img { display: block; width: 100%; aspect-ratio: 3 / 4; border-radius: 2.65rem 0.9rem 2.65rem 0.9rem; object-fit: cover; object-position: 50% 42%; }
.broel-howto-hero__step { position: absolute; display: flex; min-height: 2.75rem; padding: 0.55rem 0.85rem; border: 0.16rem solid #fff; border-radius: 0.9rem; align-items: center; gap: 0.5rem; color: #fff; box-shadow: 0 0.9rem 2rem rgb(32 43 61 / 19%); font-size: 0.78rem; font-weight: 850; transform: rotate(1.2deg); }
.broel-howto-hero__step b { display: grid; width: 1.55rem; height: 1.55rem; place-items: center; border-radius: 50%; background: rgb(255 255 255 / 20%); font-size: 0.64rem; }
.broel-howto-hero__step--one { top: 8%; left: -1.6rem; background: var(--kb-blue); }.broel-howto-hero__step--two { top: 44%; right: -1.8rem; background: var(--kb-orange); }.broel-howto-hero__step--three { bottom: 8%; left: -1.25rem; background: var(--kb-purple); }
.broel-howto-hero__copy h1 { max-width: 12ch; margin-bottom: 1.2rem; color: var(--kb-blue); font-size: clamp(2.8rem, 5.4vw, 5.2rem); line-height: 0.98; letter-spacing: -0.055em; }
.broel-howto-hero__copy > p:not(.broel-howto-kicker) { max-width: 48rem; color: #59677b; font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.65; }
.broel-howto-search { margin-top: 1.5rem; }
.broel-howto-hero__proof { display: flex; margin-top: 1.15rem; flex-wrap: wrap; gap: 0.5rem 1rem; color: #526176; font-size: 0.78rem; font-weight: 800; }.broel-howto-hero__proof span:nth-child(1) { color: #267e54; }.broel-howto-hero__proof span:nth-child(2) { color: #bd611b; }.broel-howto-hero__proof span:nth-child(3) { color: #6340a2; }
.broel-howto-shape { position: absolute; z-index: -1; border-radius: 50%; }.broel-howto-shape--one { top: -7rem; right: -4rem; width: 19rem; height: 19rem; border: 3.5rem solid rgb(121 80 189 / 9%); }.broel-howto-shape--two { bottom: -6rem; left: -3rem; width: 14rem; height: 14rem; background: rgb(251 140 50 / 8%); }
.broel-howto-paths, .broel-howto-library { padding-block: clamp(4rem, 7vw, 7rem); scroll-margin-top: 10rem; }
.broel-howto-paths { background: #fff; }
.broel-howto-heading { display: grid; margin-bottom: 2rem; align-items: end; gap: 1rem 3rem; }.broel-howto-heading h2 { margin-bottom: 0; font-size: clamp(2.2rem, 4.3vw, 4rem); line-height: 1; letter-spacing: -0.045em; }.broel-howto-heading > p { max-width: 43rem; margin-bottom: 0; color: #647187; line-height: 1.65; }
.broel-howto-stage-grid { display: grid; gap: 1rem; }
.broel-howto-stage { position: relative; display: flex; min-height: 12.5rem; padding: 1.4rem; overflow: hidden; border-radius: 1.35rem; flex-direction: column; justify-content: flex-end; color: #fff; box-shadow: 0 1rem 2.5rem rgb(35 57 91 / 12%); text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }.broel-howto-stage::after { position: absolute; width: 9rem; height: 9rem; top: -4rem; right: -3rem; border: 1.6rem solid rgb(255 255 255 / 14%); border-radius: 50%; content: ""; }.broel-howto-stage:hover, .broel-howto-stage:focus-visible { color: #fff; box-shadow: 0 1.4rem 3rem rgb(35 57 91 / 20%); transform: translateY(-0.25rem); }.broel-howto-stage > span { position: absolute; top: 1.2rem; left: 1.3rem; color: rgb(255 255 255 / 70%); font-size: 2rem; font-weight: 950; }.broel-howto-stage strong { font-size: 1.65rem; }.broel-howto-stage small { margin-top: 0.25rem; color: rgb(255 255 255 / 84%); font-size: 0.8rem; line-height: 1.35; }
.broel-howto-stage--blue { background: linear-gradient(145deg, #377be7, #245ebb); }.broel-howto-stage--green { background: linear-gradient(145deg, #35ad70, #218554); }.broel-howto-stage--orange { background: linear-gradient(145deg, #fb8c32, #da6c18); }.broel-howto-stage--purple { background: linear-gradient(145deg, #7950bd, #5c349e); }
.broel-howto-library { background: linear-gradient(180deg, #f2f7ff, #f9fbfe); }
.broel-howto-card { min-height: 22rem; }
.broel-howto-card .broel-kb-card__icon { font-size: 1.3rem; }
.broel-howto-request { padding-block: clamp(3.5rem, 6vw, 5.5rem); color: #fff; background: linear-gradient(128deg, #202b3d, #304765); }.broel-howto-request__inner { display: grid; align-items: center; gap: 1.5rem 4rem; }.broel-howto-request h2 { margin-bottom: 0.7rem; color: #fff; font-size: clamp(2rem, 4vw, 3.5rem); }.broel-howto-request p:not(.broel-howto-kicker) { max-width: 54rem; margin-bottom: 0; color: #dce5f1; line-height: 1.65; }.broel-howto-request__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }.broel-howto-request__actions a { display: inline-flex; min-height: 3rem; padding: 0.7rem 1rem; border: 0.08rem solid rgb(255 255 255 / 38%); border-radius: 0.75rem; align-items: center; color: #fff; font-weight: 850; text-decoration: none; }.broel-howto-request__actions a:first-child { border-color: var(--kb-orange); background: var(--kb-orange); }
@media (min-width: 42rem) { .broel-howto-stage-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .broel-howto-hero__grid { grid-template-columns: minmax(22rem, 0.78fr) minmax(0, 1.22fr); }.broel-howto-heading { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.72fr); }.broel-howto-stage-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }.broel-howto-request__inner { grid-template-columns: minmax(0, 1fr) auto; } }
@media (max-width: 41.99rem) { .broel-howto-hero__grid { gap: 2.6rem; }.broel-howto-hero__photo-wrap { width: min(85vw, 23rem); }.broel-howto-hero__step--one { left: -0.75rem; }.broel-howto-hero__step--two { right: -0.75rem; }.broel-howto-hero__step--three { left: -0.5rem; }.broel-howto-hero__copy h1 { font-size: clamp(2.55rem, 13vw, 4rem); }.broel-howto-card { min-height: 0; } }
@media (prefers-reduced-motion: reduce) { .broel-howto-stage, .broel-howto-hero__photo-wrap { transition: none; transform: none; } }

/* FAQ page: searchable, filterable and answer-engine friendly. */
.broel-faq-page { --faq-navy: #202b3d; --faq-blue: #377be7; --faq-green: #35ad70; --faq-orange: #fb8c32; --faq-purple: #7950bd; --faq-red: #e84d55; overflow: hidden; color: var(--faq-navy); background: #f7f9fd; }
.broel-faq-page :where(h1, h2, p) { margin-top: 0; }
.broel-faq-kicker { margin-bottom: 0.8rem; color: var(--faq-blue); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.broel-faq-hero { position: relative; padding-block: clamp(3.5rem, 7vw, 6.5rem); background: linear-gradient(125deg, #f1f6ff 0%, #fff 51%, #f7f1ff 100%); }
.broel-faq-hero__grid { position: relative; z-index: 1; display: grid; align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.broel-faq-hero__copy h1 { max-width: 11ch; margin-bottom: 1.35rem; color: var(--faq-blue); font-size: clamp(2.9rem, 5.7vw, 5.7rem); line-height: 0.97; letter-spacing: -0.055em; }
.broel-faq-hero__copy > p:not(.broel-faq-kicker) { max-width: 43rem; margin-bottom: 1.8rem; color: #5f6c7e; font-size: clamp(1.05rem, 1.5vw, 1.23rem); line-height: 1.7; }
.broel-faq-button { display: inline-flex; min-height: 3.5rem; padding: 0.85rem 1.3rem; border-radius: 0.85rem; align-items: center; justify-content: center; gap: 0.7rem; color: #fff; background: var(--faq-orange); font-weight: 900; text-decoration: none; box-shadow: 0 0.9rem 2rem rgb(227 112 28 / 22%); transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-faq-button:hover, .broel-faq-button:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 1.1rem 2.3rem rgb(227 112 28 / 29%); }
.broel-faq-hero__media { position: relative; margin: 0; }
.broel-faq-hero__media::before { position: absolute; z-index: -1; inset: -1rem 1.2rem 1rem -1rem; border-radius: 2.6rem; background: linear-gradient(145deg, var(--faq-purple), var(--faq-blue) 50%, var(--faq-green)); content: ''; transform: rotate(-2.2deg); }
.broel-faq-hero__media img { display: block; width: 100%; min-height: 24rem; max-height: 34rem; border-radius: 2.2rem; object-fit: cover; object-position: center; box-shadow: 0 2rem 4rem rgb(29 49 81 / 18%); }
.broel-faq-hero__media figcaption { position: absolute; right: 1rem; bottom: 1rem; display: flex; max-width: calc(100% - 2rem); padding: 0.75rem 0.95rem; border-radius: 0.8rem; align-items: center; gap: 0.55rem; color: var(--faq-navy); background: rgb(255 255 255 / 92%); font-size: 0.82rem; font-weight: 800; box-shadow: 0 0.8rem 2rem rgb(31 52 84 / 16%); backdrop-filter: blur(0.5rem); }
.broel-faq-hero__media figcaption span { display: grid; width: 1.6rem; height: 1.6rem; flex: 0 0 1.6rem; place-items: center; border-radius: 50%; color: #fff; background: var(--faq-purple); font-size: 1rem; }
.broel-faq-shape { position: absolute; border-radius: 50%; pointer-events: none; }
.broel-faq-shape--one { width: 17rem; height: 17rem; top: -10rem; right: 38%; border: 2.5rem solid rgb(251 140 50 / 18%); }
.broel-faq-shape--two { width: 11rem; height: 11rem; left: -5rem; bottom: -5rem; border: 2rem solid rgb(53 173 112 / 16%); }
.broel-faq-explorer { padding-block: clamp(4rem, 8vw, 7rem); }
.broel-faq-heading { display: grid; align-items: end; gap: 1rem 5rem; }
.broel-faq-heading h2, .broel-faq-cta h2 { margin-bottom: 0; color: var(--faq-navy); font-size: clamp(2.3rem, 4.6vw, 4.4rem); line-height: 1.02; letter-spacing: -0.045em; }
.broel-faq-heading > p { max-width: 43rem; margin-bottom: 0; color: #637084; line-height: 1.7; }
.broel-faq-search { max-width: 56rem; margin: clamp(2rem, 4vw, 3rem) auto 1.5rem; }
.broel-faq-search label { display: block; margin-bottom: 0.55rem; color: #344258; font-size: 0.88rem; font-weight: 800; }
.broel-faq-search > div { display: grid; min-height: 4rem; border: 0.08rem solid #cbd7e8; border-radius: 1rem; grid-template-columns: auto 1fr; align-items: center; overflow: hidden; background: #fff; box-shadow: 0 1rem 2.5rem rgb(37 62 100 / 8%); }
.broel-faq-search > div:focus-within { border-color: var(--faq-blue); box-shadow: 0 0 0 0.25rem rgb(55 123 231 / 14%), 0 1rem 2.5rem rgb(37 62 100 / 8%); }
.broel-faq-search span { padding-left: 1.15rem; color: var(--faq-blue); font-size: 1.6rem; font-weight: 900; }
.broel-faq-search input { width: 100%; min-width: 0; height: 100%; padding: 0.85rem 1rem; border: 0; outline: 0; color: var(--faq-navy); background: transparent; font: inherit; font-size: 1rem; }
.broel-faq-search small { display: block; min-height: 1.3rem; margin-top: 0.55rem; color: #758195; text-align: center; }
.broel-faq-tabs { display: flex; margin: 0 auto clamp(3rem, 6vw, 5rem); justify-content: center; flex-wrap: wrap; gap: 0.65rem; }
.broel-faq-tab { min-height: 2.8rem; padding: 0.65rem 0.9rem; border: 0.08rem solid #d8e0ec; border-radius: 999px; color: #526075; background: #fff; cursor: pointer; font: inherit; font-size: 0.84rem; font-weight: 800; box-shadow: 0 0.4rem 1rem rgb(37 61 98 / 5%); transition: color 160ms ease, background 160ms ease, transform 160ms ease; }
.broel-faq-tab:hover, .broel-faq-tab:focus-visible { border-color: var(--tab-colour, var(--faq-blue)); color: var(--tab-colour, var(--faq-blue)); transform: translateY(-1px); }
.broel-faq-tab.is-active { border-color: var(--tab-colour, var(--faq-blue)); color: #fff; background: var(--tab-colour, var(--faq-blue)); box-shadow: 0 0.55rem 1.3rem color-mix(in srgb, var(--tab-colour, var(--faq-blue)) 22%, transparent); }
.broel-faq-tab--blue { --tab-colour: var(--faq-blue); } .broel-faq-tab--green { --tab-colour: var(--faq-green); } .broel-faq-tab--orange { --tab-colour: var(--faq-orange); } .broel-faq-tab--purple { --tab-colour: var(--faq-purple); } .broel-faq-tab--red { --tab-colour: var(--faq-red); }
.broel-faq-sections { display: grid; gap: clamp(3.5rem, 7vw, 6rem); }
.broel-faq-category { --category-colour: var(--faq-blue); }
.broel-faq-category--green { --category-colour: var(--faq-green); } .broel-faq-category--orange { --category-colour: var(--faq-orange); } .broel-faq-category--purple { --category-colour: var(--faq-purple); } .broel-faq-category--red { --category-colour: var(--faq-red); }
.broel-faq-category > header { display: flex; margin-bottom: 1.4rem; align-items: center; gap: 1rem; }
.broel-faq-category > header > span { display: grid; width: 3.5rem; height: 3.5rem; flex: 0 0 3.5rem; place-items: center; border-radius: 1rem; color: #fff; background: var(--category-colour); font-size: 1.05rem; font-weight: 900; box-shadow: 0 0.7rem 1.5rem color-mix(in srgb, var(--category-colour) 20%, transparent); }
.broel-faq-category > header p { margin-bottom: 0.15rem; color: var(--category-colour); font-size: 0.68rem; font-weight: 900; letter-spacing: 0.1em; }
.broel-faq-category > header h2 { margin: 0; color: var(--faq-navy); font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.08; }
.broel-faq-grid { display: grid; align-items: start; gap: 1rem; }
.broel-faq-item { border: 0.0625rem solid #dce4ef; border-top: 0.26rem solid var(--category-colour); border-radius: 1rem; overflow: hidden; background: #fff; box-shadow: 0 0.8rem 2rem rgb(32 53 86 / 7%); }
.broel-faq-item[hidden], .broel-faq-category[hidden] { display: none; }
.broel-faq-item summary { display: grid; min-height: 5rem; padding: 1.2rem 1.25rem; grid-template-columns: 1fr auto; align-items: center; gap: 1rem; color: var(--faq-navy); cursor: pointer; font-size: 1.02rem; font-weight: 850; line-height: 1.35; list-style: none; }
.broel-faq-item summary::-webkit-details-marker { display: none; }
.broel-faq-item summary i { position: relative; width: 1.8rem; height: 1.8rem; flex: 0 0 1.8rem; border-radius: 50%; background: color-mix(in srgb, var(--category-colour) 13%, white); }
.broel-faq-item summary i::before, .broel-faq-item summary i::after { position: absolute; width: 0.75rem; height: 0.12rem; top: calc(50% - 0.06rem); left: calc(50% - 0.375rem); border-radius: 999px; background: var(--category-colour); content: ''; transition: transform 160ms ease; }
.broel-faq-item summary i::after { transform: rotate(90deg); }
.broel-faq-item[open] summary i::after { transform: rotate(0); }
.broel-faq-item[open] summary { color: var(--category-colour); background: color-mix(in srgb, var(--category-colour) 4%, white); }
.broel-faq-item > div { padding: 0 1.25rem 1.3rem; color: #5d6a7d; line-height: 1.72; }
.broel-faq-item > div p { margin: 0; }
.broel-faq-empty { padding: 3rem 1.5rem; border: 0.125rem dashed #cad5e5; border-radius: 1.4rem; text-align: center; background: #fff; }
.broel-faq-empty span { display: grid; width: 3.5rem; height: 3.5rem; margin: 0 auto 1rem; place-items: center; border-radius: 50%; color: #fff; background: var(--faq-purple); font-size: 1.6rem; font-weight: 900; }
.broel-faq-empty h2 { margin-bottom: 0.5rem; }
.broel-faq-empty p { margin-bottom: 0; color: #657287; }
.broel-faq-cta { position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem); background: linear-gradient(115deg, #fff1e4, #eef6ff 50%, #eefaf3); }
.broel-faq-cta::after { position: absolute; width: 15rem; height: 15rem; right: -5rem; bottom: -8rem; border: 2.5rem solid rgb(121 80 189 / 15%); border-radius: 50%; content: ''; }
.broel-faq-cta__inner { position: relative; z-index: 1; display: grid; align-items: center; gap: 2rem 4rem; }
.broel-faq-cta__inner p:not(.broel-faq-kicker) { max-width: 48rem; margin: 1rem 0 0; color: #606e80; font-size: 1.05rem; line-height: 1.65; }

@media (min-width: 48rem) {
	.broel-faq-heading { grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.8fr); }
	.broel-faq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-faq-cta__inner { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (min-width: 64rem) {
	.broel-faq-hero__grid { grid-template-columns: minmax(0, 0.96fr) minmax(29rem, 1.04fr); }
}
@media (max-width: 47.99rem) {
	.broel-faq-hero { padding-top: 3rem; }
	.broel-faq-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 4.2rem); }
	.broel-faq-hero__media img { min-height: 20rem; object-position: 57% center; }
	.broel-faq-hero__media figcaption { right: 0.75rem; bottom: 0.75rem; left: 0.75rem; }
	.broel-faq-button { width: 100%; }
	.broel-faq-tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; padding: 0.15rem 0 0.8rem; scrollbar-width: thin; }
	.broel-faq-tab { flex: 0 0 auto; }
	.broel-faq-item summary { min-height: 4.5rem; padding: 1rem; }
	.broel-faq-item > div { padding: 0 1rem 1.1rem; }
}
@media (prefers-reduced-motion: reduce) {
	.broel-faq-button, .broel-faq-tab, .broel-faq-item summary i::before, .broel-faq-item summary i::after { transition: none; }
}

/* Dynamic HTML sitemap. */
.broel-sitemap-page { --map-navy: #202b3d; --map-blue: #377be7; --map-green: #35ad70; --map-orange: #fb8c32; --map-purple: #7950bd; --map-red: #e84d55; overflow: hidden; color: var(--map-navy); background: #f7f9fd; }
.broel-sitemap-page :where(h1, h2, p) { margin-top: 0; }
.broel-sitemap-kicker { margin-bottom: 0.7rem; color: var(--map-blue); font-size: 0.75rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.broel-sitemap-hero { position: relative; overflow: hidden; padding-block: clamp(3.8rem, 8vw, 7rem); background: linear-gradient(125deg, #eef5ff 0%, #fff 52%, #f7f1ff 100%); }
.broel-sitemap-hero__inner { position: relative; z-index: 1; display: grid; align-items: center; gap: 2.5rem 6rem; }
.broel-sitemap-hero h1 { max-width: 11ch; margin-bottom: 1.15rem; color: var(--map-blue); font-size: clamp(3rem, 6vw, 6rem); line-height: 0.96; letter-spacing: -0.055em; }
.broel-sitemap-hero p:not(.broel-sitemap-kicker) { max-width: 44rem; margin-bottom: 0; color: #5f6c7e; font-size: clamp(1.05rem, 1.5vw, 1.22rem); line-height: 1.7; }
.broel-sitemap-orbit { position: absolute; border-radius: 50%; pointer-events: none; }
.broel-sitemap-orbit--one { width: 18rem; height: 18rem; top: -11rem; right: 42%; border: 2.7rem solid rgb(251 140 50 / 17%); }
.broel-sitemap-orbit--two { width: 12rem; height: 12rem; left: -5rem; bottom: -6rem; border: 2.1rem solid rgb(53 173 112 / 16%); }
.broel-sitemap-map { position: relative; min-height: 21rem; border: 0.08rem solid rgb(55 123 231 / 13%); border-radius: 2.3rem; background: rgb(255 255 255 / 75%); box-shadow: 0 1.8rem 4rem rgb(33 57 95 / 12%); transform: rotate(1.5deg); }
.broel-sitemap-map::before, .broel-sitemap-map::after { position: absolute; height: 0.12rem; top: 50%; right: 17%; left: 17%; background: linear-gradient(90deg, var(--map-blue), var(--map-green), var(--map-orange), var(--map-purple)); content: ''; transform: rotate(24deg); }
.broel-sitemap-map::after { transform: rotate(-24deg); }
.broel-sitemap-map span { position: absolute; z-index: 1; display: block; width: 4rem; height: 4rem; border: 0.45rem solid #fff; border-radius: 1.1rem; background: var(--map-blue); box-shadow: 0 0.8rem 1.8rem rgb(35 60 98 / 18%); }
.broel-sitemap-map span:nth-child(1) { top: 13%; left: 16%; } .broel-sitemap-map span:nth-child(2) { top: 12%; right: 16%; background: var(--map-green); } .broel-sitemap-map span:nth-child(3) { bottom: 12%; left: 17%; background: var(--map-orange); } .broel-sitemap-map span:nth-child(4) { right: 17%; bottom: 13%; background: var(--map-purple); }
.broel-sitemap-map i { position: absolute; z-index: 2; width: 5.2rem; height: 5.2rem; top: calc(50% - 2.6rem); left: calc(50% - 2.6rem); border: 0.55rem solid #fff; border-radius: 50%; background: var(--map-red); box-shadow: 0 1rem 2rem rgb(35 60 98 / 20%); }
.broel-sitemap-map b, .broel-sitemap-map em { position: absolute; z-index: 3; width: 0.9rem; height: 0.9rem; top: calc(50% - 0.45rem); left: calc(50% - 0.45rem); border-radius: 50%; background: #fff; }
.broel-sitemap-map em { width: 7rem; height: 7rem; z-index: 0; top: calc(50% - 3.5rem); left: calc(50% - 3.5rem); border: 0.12rem dashed rgb(55 123 231 / 35%); background: transparent; }
.broel-sitemap-content { padding-block: clamp(4rem, 8vw, 7rem); }
.broel-sitemap-heading { display: grid; align-items: end; gap: 1rem 5rem; }
.broel-sitemap-heading h2, .broel-sitemap-cta h2 { margin-bottom: 0; color: var(--map-navy); font-size: clamp(2.3rem, 4.6vw, 4.4rem); line-height: 1.02; letter-spacing: -0.045em; }
.broel-sitemap-heading > p { max-width: 44rem; margin-bottom: 0; color: #647184; line-height: 1.7; }
.broel-sitemap-machine-link { margin: 1.4rem 0 0; padding: 0.9rem 1.1rem; border: 0.0625rem solid #d8e3f3; border-radius: 0.9rem; background: #fff; color: #4f6077; font-size: 0.9rem; }
.broel-sitemap-machine-link a { margin-left: 0.35rem; color: var(--broel-blue); font-weight: 850; text-decoration: none; }
.broel-sitemap-machine-link a:hover, .broel-sitemap-machine-link a:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
.broel-sitemap-grid { display: grid; margin-top: clamp(2.5rem, 5vw, 4.5rem); align-items: start; gap: 1.2rem; }
.broel-sitemap-card { --card-colour: var(--map-blue); display: grid; min-width: 0; padding: clamp(1.4rem, 3vw, 2rem); border: 0.0625rem solid #dce4ef; border-top: 0.34rem solid var(--card-colour); border-radius: 1.25rem; grid-template-columns: auto 1fr; gap: 1rem; background: #fff; box-shadow: 0 1rem 2.6rem rgb(32 54 89 / 7%); }
.broel-sitemap-card--green { --card-colour: var(--map-green); } .broel-sitemap-card--orange { --card-colour: var(--map-orange); } .broel-sitemap-card--purple { --card-colour: var(--map-purple); } .broel-sitemap-card--red { --card-colour: var(--map-red); }
.broel-sitemap-card--home { --card-colour: var(--map-orange); }
.broel-sitemap-card__icon { display: grid; width: 3.25rem; height: 3.25rem; place-items: center; border-radius: 0.9rem; color: #fff; background: var(--card-colour); font-size: 0.95rem; font-weight: 900; }
.broel-sitemap-card > div:last-child > p:first-child { margin-bottom: 0.2rem; color: var(--card-colour); font-size: 0.67rem; font-weight: 900; letter-spacing: 0.1em; }
.broel-sitemap-card h2 { margin-bottom: 0.5rem; color: var(--map-navy); font-size: clamp(1.35rem, 2.5vw, 1.85rem); line-height: 1.1; }
.broel-sitemap-card h2 + p { margin-bottom: 1rem; color: #687588; font-size: 0.9rem; line-height: 1.55; }
.broel-sitemap-card ul { display: grid; margin: 0; padding: 0; gap: 0.15rem; list-style: none; }
.broel-sitemap-card li { margin: 0; }
.broel-sitemap-card a { display: flex; padding: 0.47rem 0; align-items: center; justify-content: space-between; gap: 0.7rem; color: #2f5fae; font-size: 0.92rem; font-weight: 750; line-height: 1.35; text-decoration: none; }
.broel-sitemap-card a:hover, .broel-sitemap-card a:focus-visible { color: var(--card-colour); }
.broel-sitemap-card a span { flex: 0 0 auto; }
.broel-sitemap-published { display: grid; margin-top: clamp(3.5rem, 7vw, 6rem); gap: 1.2rem; }
.broel-sitemap-published section { padding: clamp(1.4rem, 3vw, 2.2rem); border-radius: 1.3rem; color: #fff; background: linear-gradient(145deg, #202b3d, #2c3d58); box-shadow: 0 1.2rem 3rem rgb(29 46 72 / 14%); }
.broel-sitemap-published section:nth-child(2) { background: linear-gradient(145deg, #205d40, #2d8e5c); } .broel-sitemap-published section:nth-child(3) { background: linear-gradient(145deg, #603a92, #7b50ba); }
.broel-sitemap-published .broel-sitemap-kicker { color: #9bc0ff; }
.broel-sitemap-published h2 { margin-bottom: 1rem; color: #fff; font-size: 1.6rem; }
.broel-sitemap-published ul { display: grid; margin: 0; padding: 0; gap: 0.35rem; list-style: none; }
.broel-sitemap-published a { display: flex; padding: 0.4rem 0; align-items: center; justify-content: space-between; gap: 1rem; color: #fff; font-size: 0.91rem; line-height: 1.4; text-decoration: none; }
.broel-sitemap-published a:hover, .broel-sitemap-published a:focus-visible { color: #d9e8ff; text-decoration: underline; text-underline-offset: 0.2rem; }
.broel-sitemap-published a span { display: inline-grid; min-width: 1.7rem; height: 1.7rem; padding-inline: 0.35rem; flex: 0 0 auto; place-items: center; border-radius: 999px; background: rgb(255 255 255 / 14%); font-size: 0.72rem; font-weight: 900; }
.broel-sitemap-cta { position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6rem); background: linear-gradient(115deg, #fff1e4, #eef6ff 50%, #eefaf3); }
.broel-sitemap-cta::after { position: absolute; width: 15rem; height: 15rem; right: -5rem; bottom: -8rem; border: 2.5rem solid rgb(121 80 189 / 15%); border-radius: 50%; content: ''; }
.broel-sitemap-cta__inner { position: relative; z-index: 1; display: grid; align-items: center; gap: 2rem 4rem; }
.broel-sitemap-cta__inner p:not(.broel-sitemap-kicker) { max-width: 46rem; margin: 1rem 0 0; color: #606e80; line-height: 1.65; }
.broel-sitemap-cta a { display: inline-flex; min-height: 3.5rem; padding: 0.85rem 1.3rem; border-radius: 0.85rem; align-items: center; justify-content: center; gap: 0.7rem; color: #fff; background: var(--map-orange); font-weight: 900; text-decoration: none; box-shadow: 0 0.9rem 2rem rgb(227 112 28 / 22%); }
.broel-sitemap-cta a:hover, .broel-sitemap-cta a:focus-visible { color: #fff; transform: translateY(-2px); }

@media (min-width: 48rem) {
	.broel-sitemap-heading { grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.8fr); }
	.broel-sitemap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-sitemap-published { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-sitemap-cta__inner { grid-template-columns: minmax(0, 1fr) auto; }
}
@media (min-width: 64rem) {
	.broel-sitemap-hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(25rem, 0.75fr); }
	.broel-sitemap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.broel-sitemap-published { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
	.broel-sitemap-hero { padding-top: 3rem; }
	.broel-sitemap-hero h1 { font-size: clamp(2.8rem, 13vw, 4.3rem); }
	.broel-sitemap-map { min-height: 17rem; }
	.broel-sitemap-card { grid-template-columns: 1fr; }
	.broel-sitemap-cta a { width: 100%; }
}

/* Flagship About page. */
.broel-about-page { --about-navy: #202b3d; --about-blue: #377be7; --about-green: #35ad70; --about-orange: #fb8c32; --about-purple: #7950bd; --about-red: #e84d55; overflow: hidden; color: var(--about-navy); background: #fff; }
.broel-about-page :where(h1, h2, h3, p) { margin-top: 0; }
.broel-about-kicker { margin-bottom: 0.75rem; color: var(--about-blue); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.broel-about-hero { position: relative; overflow: hidden; padding-block: clamp(3.8rem, 8vw, 7rem); background: linear-gradient(125deg, #eef5ff 0%, #fff 50%, #f7f1ff 100%); }
.broel-about-hero__grid { position: relative; z-index: 1; display: grid; align-items: center; gap: clamp(2.5rem, 6vw, 6rem); }
.broel-about-hero__copy h1 { max-width: 10.5ch; margin-bottom: 1.35rem; color: var(--about-blue); font-size: clamp(3rem, 6vw, 6rem); line-height: 0.96; letter-spacing: -0.06em; }
.broel-about-hero__copy > p:not(.broel-about-kicker) { max-width: 44rem; margin-bottom: 1.8rem; color: #5f6c7e; font-size: clamp(1.05rem, 1.5vw, 1.23rem); line-height: 1.7; }
.broel-about-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem; }
.broel-about-button { display: inline-flex; min-height: 3.5rem; padding: 0.85rem 1.3rem; border-radius: 0.85rem; align-items: center; justify-content: center; color: #fff; font-weight: 900; text-decoration: none; box-shadow: 0 0.9rem 2rem rgb(227 112 28 / 22%); transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-about-button--primary { background: var(--about-orange); }
.broel-about-button:hover, .broel-about-button:focus-visible { color: #fff; transform: translateY(-2px); box-shadow: 0 1.1rem 2.4rem rgb(227 112 28 / 29%); }
.broel-about-text-link { color: var(--about-blue); font-weight: 850; text-decoration: none; }
.broel-about-text-link:hover, .broel-about-text-link:focus-visible { color: #1f60cb; text-decoration: underline; text-underline-offset: 0.22rem; }
.broel-about-hero__media { position: relative; margin: 0; }
.broel-about-hero__media::before { position: absolute; z-index: -1; inset: -1rem 1.3rem 1rem -1rem; border-radius: 2.5rem; background: linear-gradient(145deg, var(--about-blue), var(--about-green) 45%, var(--about-orange)); content: ''; transform: rotate(-2deg); }
.broel-about-hero__media img { display: block; width: 100%; min-height: 24rem; max-height: 35rem; border-radius: 2.15rem; object-fit: cover; object-position: 68% center; box-shadow: 0 2rem 4rem rgb(28 49 82 / 18%); }
.broel-about-hero__media figcaption { position: absolute; right: 1rem; bottom: 1rem; display: flex; max-width: calc(100% - 2rem); padding: 0.75rem 0.95rem; border-radius: 0.8rem; align-items: center; gap: 0.55rem; color: var(--about-navy); background: rgb(255 255 255 / 92%); font-size: 0.82rem; font-weight: 800; box-shadow: 0 0.8rem 2rem rgb(31 52 84 / 16%); backdrop-filter: blur(0.5rem); }
.broel-about-hero__media figcaption span { display: grid; width: 1.5rem; height: 1.5rem; flex: 0 0 1.5rem; place-items: center; border-radius: 50%; color: #fff; background: var(--about-green); }
.broel-about-orbit { position: absolute; border-radius: 50%; pointer-events: none; }
.broel-about-orbit--one { width: 18rem; height: 18rem; top: -11rem; right: 38%; border: 2.7rem solid rgb(251 140 50 / 17%); }
.broel-about-orbit--two { width: 12rem; height: 12rem; left: -5rem; bottom: -6rem; border: 2.1rem solid rgb(121 80 189 / 15%); }
.broel-about-intro { padding-block: clamp(3.5rem, 7vw, 6rem); background: #fff; }
.broel-about-intro__panel { position: relative; display: grid; padding: clamp(2rem, 5vw, 4rem); border: 0.0625rem solid #dce5f1; border-radius: 2rem 5rem 2rem 4rem; align-items: start; gap: 1.5rem 5rem; overflow: hidden; background: linear-gradient(120deg, #fff 0%, #f5f9ff 48%, #f8f3ff 100%); box-shadow: 0 1.6rem 4rem rgb(32 55 91 / 9%); }
.broel-about-intro__panel::after { position: absolute; width: 12rem; height: 12rem; right: -5rem; bottom: -6rem; border: 2rem solid rgb(53 173 112 / 14%); border-radius: 50%; content: ''; }
.broel-about-intro h2, .broel-about-section-heading h2, .broel-about-why h2 { margin-bottom: 0; color: var(--about-navy); font-size: clamp(2.25rem, 4.7vw, 4.4rem); line-height: 1.02; letter-spacing: -0.045em; }
.broel-about-intro__panel > div:last-child { position: relative; z-index: 1; }
.broel-about-intro__panel > div:last-child p { margin-bottom: 1rem; color: #5f6d80; font-size: 1.05rem; line-height: 1.75; }
.broel-about-registration { position: relative; z-index: 1; display: flex; grid-column: 1 / -1; padding: 1rem 1.15rem; border: 0.0625rem solid rgb(54 174 113 / 24%); border-radius: 1rem; align-items: flex-start; gap: 0.8rem; background: rgb(238 250 243 / 85%); }
.broel-about-registration > span { display: grid; width: 2rem; height: 2rem; flex: 0 0 2rem; place-items: center; border-radius: 50%; color: #fff; background: var(--about-green); font-size: 0.82rem; font-weight: 900; box-shadow: 0 0.5rem 1.1rem rgb(54 174 113 / 20%); }
.broel-about-registration p { margin: 0 !important; color: #425368 !important; font-size: 0.84rem !important; line-height: 1.65 !important; }
.broel-about-registration strong { display: block; margin-bottom: 0.15rem; color: var(--about-navy); font-size: 0.95rem; }
.broel-about-mission { padding-block: clamp(4rem, 8vw, 7rem); color: #fff; background: linear-gradient(135deg, #1d2735 0%, #263750 100%); }
.broel-about-mission__grid { display: grid; align-items: center; gap: 2.5rem 6rem; }
.broel-about-mission .broel-about-kicker { color: #8cb5fb; }
.broel-about-mission h2 { max-width: 13ch; margin-bottom: 1.2rem; color: #fff; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -0.05em; }
.broel-about-mission__grid > div > p:not(.broel-about-kicker) { max-width: 45rem; margin-bottom: 0; color: #ccd6e4; font-size: 1.06rem; line-height: 1.72; }
.broel-about-mission blockquote { position: relative; margin: 0; padding: clamp(2rem, 4vw, 3rem); border: 0.0625rem solid rgb(255 255 255 / 14%); border-radius: 1.6rem; background: rgb(255 255 255 / 7%); box-shadow: 0 1.5rem 3.5rem rgb(0 0 0 / 15%); }
.broel-about-mission blockquote > span { position: absolute; top: 0.4rem; right: 1.2rem; color: rgb(251 140 50 / 35%); font-family: Georgia, serif; font-size: 7rem; line-height: 1; }
.broel-about-mission blockquote p { position: relative; z-index: 1; margin-bottom: 1.2rem; color: #fff; font-size: clamp(1.3rem, 2.2vw, 1.75rem); font-weight: 700; line-height: 1.48; }
.broel-about-mission cite { color: #9ec1fb; font-size: 0.85rem; font-style: normal; font-weight: 800; }
.broel-about-purpose, .broel-about-do, .broel-about-ethos { padding-block: clamp(4rem, 8vw, 7rem); }
.broel-about-purpose { background: #f7f9fd; }
.broel-about-do { background: #fff; }
.broel-about-ethos { background: linear-gradient(120deg, #f1f6ff, #faf7ff 52%, #f0faf4); }
.broel-about-section-heading { display: grid; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); align-items: end; gap: 1rem 5rem; }
.broel-about-section-heading > p { max-width: 44rem; margin-bottom: 0; color: #657286; line-height: 1.7; }
.broel-about-purpose__grid { display: grid; gap: 1.25rem; }
.broel-about-purpose article { padding: clamp(1.7rem, 4vw, 3rem); border-radius: 1.5rem; color: #fff; box-shadow: 0 1.4rem 3rem rgb(31 51 82 / 12%); }
.broel-about-problem { background: linear-gradient(145deg, #273246, #202a39); }
.broel-about-answer { background: linear-gradient(145deg, #286f4c, var(--about-green)); }
.broel-about-purpose article > p:first-child { margin-bottom: 0.7rem; color: rgb(255 255 255 / 68%); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.12em; }
.broel-about-purpose h3 { margin-bottom: 1.4rem; color: #fff; font-size: clamp(1.65rem, 3vw, 2.4rem); line-height: 1.12; }
.broel-about-purpose ul, .broel-about-why ul { display: grid; margin: 0; padding: 0; gap: 0.75rem; list-style: none; }
.broel-about-purpose li, .broel-about-why li { position: relative; padding-left: 1.7rem; line-height: 1.5; }
.broel-about-purpose li::before, .broel-about-why li::before { position: absolute; left: 0; content: '✓'; font-weight: 900; }
.broel-about-do__grid { display: grid; gap: 1.2rem; }
.broel-about-service { --service-colour: var(--about-blue); display: flex; min-width: 0; min-height: 22rem; padding: clamp(1.5rem, 3vw, 2.2rem); border: 0.0625rem solid #dce4ef; border-top: 0.38rem solid var(--service-colour); border-radius: 1.3rem; flex-direction: column; background: #fff; box-shadow: 0 1rem 2.7rem rgb(32 54 89 / 8%); }
.broel-about-service--green { --service-colour: var(--about-green); } .broel-about-service--orange { --service-colour: var(--about-orange); } .broel-about-service--purple { --service-colour: var(--about-purple); }
.broel-about-service > span { display: grid; width: 3.4rem; height: 3.4rem; margin-bottom: 1.4rem; place-items: center; border-radius: 1rem; color: #fff; background: var(--service-colour); font-weight: 900; }
.broel-about-service h3 { margin-bottom: 0.8rem; color: var(--about-navy); font-size: 1.6rem; }
.broel-about-service p { margin-bottom: 1.3rem; color: #647184; line-height: 1.68; }
.broel-about-service a { margin-top: auto; color: var(--service-colour); font-weight: 850; text-decoration: none; }
.broel-about-service a:hover, .broel-about-service a:focus-visible { text-decoration: underline; text-underline-offset: 0.22rem; }
.broel-about-values { display: grid; gap: 1rem; }
.broel-about-values article { padding: 1.6rem; border: 0.0625rem solid rgb(55 123 231 / 12%); border-radius: 1.15rem; background: rgb(255 255 255 / 82%); box-shadow: 0 0.8rem 2rem rgb(34 57 92 / 6%); }
.broel-about-values i { display: grid; width: 2.9rem; height: 2.9rem; margin-bottom: 1rem; place-items: center; border-radius: 0.85rem; color: #fff; background: var(--about-blue); font-style: normal; font-weight: 900; }
.broel-about-values article:nth-child(2) i, .broel-about-values article:nth-child(6) i { background: var(--about-green); } .broel-about-values article:nth-child(3) i { background: var(--about-orange); } .broel-about-values article:nth-child(4) i { background: var(--about-purple); } .broel-about-values article:nth-child(5) i { background: var(--about-red); }
.broel-about-values h3 { margin-bottom: 0.55rem; color: var(--about-navy); font-size: 1.16rem; }
.broel-about-values p { margin-bottom: 0; color: #657286; line-height: 1.58; }
.broel-about-journey { padding-block: clamp(4rem, 8vw, 7rem); color: #fff; background: #202b3d; }
.broel-about-journey header { max-width: 58rem; margin-bottom: 2.5rem; }
.broel-about-journey .broel-about-kicker { color: #96baf7; }
.broel-about-journey h2 { margin-bottom: 0; color: #fff; font-size: clamp(2.3rem, 4.8vw, 4.4rem); line-height: 1.02; letter-spacing: -0.045em; }
.broel-about-journey ol { display: grid; margin: 0; padding: 0; gap: 1rem; list-style: none; }
.broel-about-journey li { display: grid; min-width: 0; padding: 1.25rem; border: 0.0625rem solid rgb(255 255 255 / 12%); border-radius: 1rem; grid-template-columns: auto 1fr; align-items: center; gap: 1rem; background: rgb(255 255 255 / 6%); }
.broel-about-journey li > span { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 0.85rem; color: #fff; background: var(--about-blue); font-weight: 900; }
.broel-about-journey li:nth-child(2) > span { background: var(--about-green); } .broel-about-journey li:nth-child(3) > span { background: var(--about-orange); } .broel-about-journey li:nth-child(4) > span { background: var(--about-purple); }
.broel-about-journey h3 { margin-bottom: 0.25rem; color: #fff; font-size: 1.28rem; }
.broel-about-journey li p { margin-bottom: 0; color: #cdd7e5; line-height: 1.5; }
.broel-about-why { position: relative; overflow: hidden; padding-block: clamp(4rem, 8vw, 7rem); background: linear-gradient(120deg, #fff2e6, #eef6ff 50%, #eefaf3); }
.broel-about-why::after { position: absolute; width: 17rem; height: 17rem; right: -6rem; bottom: -9rem; border: 2.6rem solid rgb(121 80 189 / 14%); border-radius: 50%; content: ''; }
.broel-about-why__grid { position: relative; z-index: 1; display: grid; align-items: center; gap: 2.5rem 5rem; }
.broel-about-why h2 { margin-bottom: 1.2rem; }
.broel-about-why__grid > div > p:not(.broel-about-kicker) { margin-bottom: 1.5rem; color: #5f6d80; font-size: 1.05rem; line-height: 1.72; }
.broel-about-why aside { padding: clamp(1.6rem, 4vw, 2.6rem); border-radius: 1.5rem; color: #fff; background: linear-gradient(145deg, #603d91, var(--about-purple)); box-shadow: 0 1.4rem 3.2rem rgb(69 44 109 / 18%); }
.broel-about-why aside > p { margin-bottom: 1rem; color: #e6dcf7; font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; }
.broel-about-why li::before { color: #bff0d2; }

@media (min-width: 48rem) {
	.broel-about-intro__panel, .broel-about-section-heading { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.9fr); }
	.broel-about-purpose__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-about-do__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-about-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-about-journey ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.broel-about-hero__grid { grid-template-columns: minmax(0, 0.95fr) minmax(29rem, 1.05fr); }
	.broel-about-mission__grid, .broel-about-why__grid { grid-template-columns: minmax(0, 1fr) minmax(25rem, 0.82fr); }
	.broel-about-do__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.broel-about-values { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.broel-about-journey ol { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 47.99rem) {
	.broel-about-hero { padding-top: 3rem; }
	.broel-about-hero__copy h1 { font-size: clamp(2.85rem, 13vw, 4.3rem); }
	.broel-about-hero__media img { min-height: 21rem; object-position: 72% center; }
	.broel-about-hero__media figcaption { right: 0.75rem; bottom: 0.75rem; left: 0.75rem; }
	.broel-about-button { width: 100%; }
	.broel-about-intro__panel { border-radius: 1.5rem 2.8rem 1.5rem 2.4rem; }
}
@media (prefers-reduced-motion: reduce) { .broel-about-button { transition: none; } }

@media (min-width: 48rem) {
	.broel-journey-grid.e-con {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.broel-journey-grid > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.broel-problem-grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.broel-problem-grid > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.broel-split {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.broel-community .broel-split {
		grid-template-columns: minmax(0, 1.15fr) minmax(20rem, 0.85fr);
		align-items: center;
	}

	.broel-community-image img {
		height: clamp(18rem, 25vw, 23rem);
	}

	.broel-benefit-list ul,
	.broel-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.broel-card-grid > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.broel-journey-grid.e-con {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.broel-journey-grid > .e-con-inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 75rem) {

	.broel-way-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.broel-way-grid > .e-con-inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.broel-card-grid--five {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.broel-card-grid--five > .e-con-inner {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.broel-card-grid--four {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.broel-card-grid--four > .e-con-inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 75rem) {
	.broel-hero-actions.e-con {
		width: auto;
		grid-template-columns: repeat(2, max-content);
		justify-content: start;
	}

	.broel-hero-actions .elementor-widget-button,
	.broel-hero-actions .elementor-button {
		width: auto;
	}

	.broel-header-inner {
		width: min(calc(100% - 2rem), 95rem);
		min-height: 6.75rem;
	}

	.custom-logo {
		max-height: 5.25rem;
	}

	.broel-menu-toggle {
		display: none;
	}

	.broel-primary-navigation {
		display: flex;
		position: static;
		width: auto;
		padding: 0;
		border: 0;
		align-items: center;
		gap: 0.5rem;
		box-shadow: none;
	}

	.broel-home-link { order: 1; }
	.broel-mega-menu { order: 2; }
	.broel-products-menu { order: 3; }
	.broel-primary-menu { order: 4; }
	.broel-header-actions { order: 5; }

	.broel-header-actions {
		display: flex;
		align-items: center;
		gap: 0.65rem;
		padding: 0;
	}

	.broel-cart-link--mobile {
		display: none;
	}

	.broel-cart-link--desktop {
		display: inline-flex;
	}

	.broel-products-submenu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 18rem;
		margin: 0;
		padding: 0.55rem;
		visibility: hidden;
		border: 0.0625rem solid var(--broel-border);
		border-radius: var(--broel-radius-sm);
		background: var(--broel-white);
		opacity: 0;
		box-shadow: 0 1rem 2.5rem rgb(32 36 42 / 16%);
		transform: translateY(0.35rem);
		transition: opacity 150ms ease, transform 150ms ease, visibility 0s linear 300ms;
	}

	.broel-products-menu:hover .broel-products-submenu,
	.broel-products-menu:focus-within .broel-products-submenu {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.broel-mega-menu {
		padding: 0;
	}

	.broel-mega-menu::after {
		position: absolute;
		top: 100%;
		left: -0.75rem;
		width: calc(100% + 1.5rem);
		height: 1.25rem;
		content: "";
	}

	.broel-mega-panel {
		position: fixed;
		top: 6.75rem;
		left: 50%;
		width: min(calc(100% - 2rem), 88rem);
		max-height: calc(100dvh - 7.5rem);
		margin-top: 0;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		transform: translateX(-50%);
	}

	.broel-mega-menu:hover .broel-mega-panel,
	.broel-mega-menu.is-hover-open .broel-mega-panel,
	.broel-mega-menu:focus-within .broel-mega-panel,
	.broel-mega-menu.is-open .broel-mega-panel {
		display: block;
	}

	.broel-mega-columns {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.broel-primary-menu {
		flex-direction: row;
		align-items: center;
	}

	.broel-primary-menu > .broel-menu-item--connect,
	.broel-primary-menu > .broel-menu-item--our-work,
	.broel-primary-menu > .broel-menu-item--about,
	.broel-primary-menu > .broel-menu-item--resources {
		position: relative;
	}

	.broel-primary-menu > .broel-menu-item--connect > .sub-menu,
	.broel-primary-menu > .broel-menu-item--our-work > .sub-menu,
	.broel-primary-menu > .broel-menu-item--about > .sub-menu,
	.broel-primary-menu > .broel-menu-item--resources > .sub-menu {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		width: 15rem;
		margin: 0;
		padding: 0.55rem;
		visibility: hidden;
		border: 0.0625rem solid var(--broel-border);
		border-radius: var(--broel-radius-sm);
		background: var(--broel-white);
		opacity: 0;
		box-shadow: 0 1rem 2.5rem rgb(32 36 42 / 16%);
		transform: translateY(0.35rem);
		transition: opacity 150ms ease, transform 150ms ease, visibility 0s linear 300ms;
	}

	.broel-primary-menu > .broel-menu-item--connect > .sub-menu {
		width: 24rem;
	}

	.broel-primary-menu > .broel-menu-item--our-work > .sub-menu {
		width: 18rem;
	}

	.broel-primary-menu > .broel-menu-item--resources > .sub-menu {
		width: 18rem;
	}

	.broel-primary-menu > .broel-menu-item--connect:hover > .sub-menu,
	.broel-primary-menu > .broel-menu-item--connect:focus-within > .sub-menu,
	.broel-primary-menu > .broel-menu-item--our-work:hover > .sub-menu,
	.broel-primary-menu > .broel-menu-item--our-work:focus-within > .sub-menu,
	.broel-primary-menu > .broel-menu-item--about:hover > .sub-menu,
	.broel-primary-menu > .broel-menu-item--about:focus-within > .sub-menu,
	.broel-primary-menu > .broel-menu-item--resources:hover > .sub-menu,
	.broel-primary-menu > .broel-menu-item--resources:focus-within > .sub-menu {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
		transition-delay: 0s;
	}

	.broel-footer-inner {
		grid-template-columns: minmax(18rem, 1.35fr) minmax(13rem, 0.8fr) minmax(12rem, 0.7fr) minmax(18rem, 1.15fr);
		align-items: end;
	}

	.broel-copyright {
		grid-column: 1 / -1;
	}
}

/* Homepage consultation and refined decision sections. */
.broel-consultation-cta {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3.5rem, 7vw, 6rem);
	background: radial-gradient(circle at 92% 12%, rgb(118 80 181 / 24%), transparent 24rem), linear-gradient(135deg, #1e2b42 0%, #263d63 58%, #315786 100%);
	color: var(--broel-white);
}

.broel-consultation-cta::before {
	position: absolute;
	top: -8rem;
	left: -6rem;
	width: 20rem;
	height: 20rem;
	border: 2rem solid rgb(54 179 111 / 10%);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.broel-consultation-grid,
.broel-consultation-grid > .e-con-inner {
	display: grid !important;
	width: 100%;
	max-width: none;
	grid-template-columns: 1fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.broel-consultation-copy,
.broel-consultation-action { position: relative; z-index: 1; }
.broel-consultation-cta :where(h2, h3, p) { color: var(--broel-white) !important; }
.broel-consultation-cta .broel-section-eyebrow .elementor-heading-title { color: #93dcb4 !important; }

.broel-consultation-copy h2.elementor-heading-title {
	max-width: 18ch;
	font-size: clamp(2.15rem, 3.5vw, 3.45rem);
	line-height: 1.04;
}

.broel-consultation-copy .broel-section-eyebrow .elementor-heading-title {
	max-width: none;
	font-size: 0.8rem;
	line-height: 1.2;
	letter-spacing: 0.08em;
}

.broel-consultation-copy p,
.broel-consultation-action p { font-size: clamp(1rem, 1.4vw, 1.125rem); line-height: 1.65; opacity: 0.9; }

.broel-consultation-action {
	overflow: hidden;
	padding: clamp(1.5rem, 3.5vw, 2.75rem);
	border: 0.0625rem solid rgb(255 255 255 / 18%);
	border-radius: clamp(1.25rem, 2vw, 1.75rem) !important;
	background: rgb(255 255 255 / 9%);
	box-shadow: 0 1.5rem 3.5rem rgb(9 19 34 / 22%);
	backdrop-filter: blur(0.5rem);
}

.broel-consultation-action::before {
	content: none;
}

.broel-consultation-action > .e-con-inner {
	position: relative;
	z-index: 1;
}

/* Global CTA-card top-space requirement. */
:where(
	.broel-journey-card,
	.broel-way-card,
	.broel-consultation-action,
	.broel-ecosystem-panel,
	.broel-placeholder-panel
) {
	--broel-cta-box-top-space: clamp(1.5rem, 2.5vw, 2.25rem);
}

:where(
	.broel-way-card,
	.broel-consultation-action,
	.broel-ecosystem-panel,
	.broel-placeholder-panel
) {
	padding-top: var(--broel-cta-box-top-space);
}

.broel-consultation-action:has(.broel-consultation-image) {
	padding-top: var(--broel-cta-box-top-space);
}

.broel-consultation-image {
	margin: calc(clamp(1.5rem, 3.5vw, 2.75rem) * -1) calc(clamp(1.5rem, 3.5vw, 2.75rem) * -1) 1.5rem;
}

.broel-consultation-image .elementor-widget-container {
	overflow: hidden;
	height: clamp(10rem, 17vw, 14rem);
	border-radius: clamp(1.15rem, 1.8vw, 1.65rem) clamp(1.15rem, 1.8vw, 1.65rem) 0 0;
}

.broel-consultation-image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center;
}

.broel-consultation-action ul { display: grid; margin: 1.25rem 0 1.75rem; padding: 0; gap: 0.7rem; list-style: none; }
.broel-consultation-action li { position: relative; padding-left: 1.7rem; color: var(--broel-white); font-weight: 700; }
.broel-consultation-action li::before { position: absolute; top: 0.1rem; left: 0; color: #75d59f; content: "✓"; font-weight: 900; }
.broel-consultation-action h3 { margin-top: 0.25rem; font-size: clamp(1.25rem, 2vw, 1.65rem); }

.broel-consultation-button .elementor-button {
	width: 100%;
	min-height: 4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.5rem;
	padding: 1rem 1.4rem;
	border-radius: 0.8rem;
	background: var(--broel-orange) !important;
	color: var(--broel-white) !important;
	font-size: 0.95rem;
	font-weight: 850;
	letter-spacing: 0.025em;
}

.broel-consultation-button .elementor-button:hover { background: var(--broel-green) !important; }

.broel-problem .broel-section-heading { max-width: 58rem; margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.broel-problem .broel-section-heading h2 { max-width: 16ch; font-size: clamp(2.35rem, 4.3vw, 4.25rem); line-height: 1.04; }
.broel-problem-grid,
.broel-problem-grid > .e-con-inner { gap: clamp(1.5rem, 3vw, 2.5rem); align-items: stretch; }
.broel-topic-cloud .elementor-widget-container { align-content: center; }
.broel-ecosystem-panel > .e-con-inner { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; }

.broel-way-card { padding: clamp(1.5rem, 2.5vw, 2.25rem); }
.broel-way-card > .e-con-inner { display: flex; flex: 1 1 auto; flex-direction: column; }
.broel-way-card .elementor-heading-title { font-size: clamp(1.65rem, 2.4vw, 2.25rem); line-height: 1.12; }
.broel-way-card .broel-way-code .elementor-heading-title { display: inline-flex; width: fit-content; padding: 0.35rem 0.65rem; border-radius: 999px; background: var(--broel-blue-light); font-size: 0.8rem; }
.broel-way-list ul { gap: 0.65rem; margin-bottom: 1.75rem; }
.broel-way-list li { font-size: 1rem; line-height: 1.35; }
.broel-way-card .broel-button-primary { margin-top: auto; padding-top: 1rem; }
.broel-way-card .broel-button-primary .elementor-button { width: 100%; min-height: 3.75rem; display: inline-flex; align-items: center; justify-content: center; }
.broel-way-card .elementor-widget-button { padding-bottom: clamp(1.35rem, 2vw, 1.6rem); }

/* Consistent breathing room beneath CTAs contained by cards and panels. */
:where(
	.broel-way-card,
	.broel-consultation-action,
	.broel-ecosystem-panel,
	.broel-hub-next
) .elementor-widget-button {
	padding-bottom: clamp(0.75rem, 1.2vw, 1rem);
}

.broel-way-card,
.broel-consultation-action,
.broel-ecosystem-panel {
	box-sizing: border-box;
}

@media (min-width: 48rem) {
	.broel-consultation-grid,
	.broel-consultation-grid > .e-con-inner { grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr); }
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* Homepage practical-support pathways. */
.broel-support-pathways {
	position: relative;
	overflow: hidden;
	padding-block: clamp(4.5rem, 8vw, 7rem);
	background:
		radial-gradient(circle at 6% 12%, rgb(53 169 107 / 0.13), transparent 24rem),
		radial-gradient(circle at 94% 88%, rgb(118 80 181 / 0.13), transparent 25rem),
		#f7f9fd;
}

.broel-support-pathways__heading { max-width: 58rem; margin: 0 auto clamp(2rem, 4vw, 3.25rem); text-align: center; }
.broel-support-pathways__heading h2 { font-size: clamp(2.2rem, 4.3vw, 4rem); line-height: 1.04; }
.broel-support-pathways__heading p { max-width: 52rem; margin-inline: auto; color: var(--broel-grey); font-size: clamp(1rem, 1.4vw, 1.2rem); }
.broel-support-pathways__grid,
.broel-support-pathways__grid > .e-con-inner { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); align-items: stretch; }
.broel-support-pathways__grid > .broel-support-card,
.broel-support-pathways__grid > .e-con-inner > .broel-support-card { width: auto !important; min-width: 0 !important; }

.broel-support-card {
	--support-accent: var(--broel-blue);
	min-width: 0;
	overflow: hidden;
	padding: 0 1.35rem 1.5rem !important;
	border: 1px solid rgb(35 53 82 / 0.09);
	border-radius: 1.35rem;
	background: var(--broel-white);
	box-shadow: 0 1.15rem 2.8rem rgb(35 53 82 / 0.1);
	transition: transform 180ms ease, box-shadow 180ms ease;
}
.broel-support-card > .e-con-inner { display: flex; height: 100%; flex-direction: column; }
.broel-support-card--green { --support-accent: var(--broel-green); }
.broel-support-card--orange { --support-accent: var(--broel-orange); }
.broel-support-card--purple { --support-accent: #7650b5; }
.broel-support-card:hover { transform: translateY(-0.4rem); box-shadow: 0 1.5rem 3.2rem rgb(35 53 82 / 0.16); }

.broel-support-card__icon { margin: 0 -1.35rem 1.45rem; }
.broel-support-card__visual {
	display: grid;
	min-height: 10rem;
	place-items: center;
	background:
		radial-gradient(circle at 72% 20%, rgb(255 255 255 / 0.28) 0 1.9rem, transparent 2rem),
		linear-gradient(145deg, color-mix(in srgb, var(--support-accent), white 12%), var(--support-accent));
}
.broel-support-card__visual svg {
	width: 6.4rem;
	height: 6.4rem;
	fill: none;
	stroke: #fff;
	stroke-width: 5;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 0.65rem 0.75rem rgb(24 35 55 / 0.2));
}
.broel-support-card h3 { margin: 0 0 0.8rem; color: var(--support-accent); font-size: clamp(1.35rem, 1.8vw, 1.7rem); line-height: 1.12; }
.broel-support-card p { margin: 0 0 1.5rem; color: #566174; font-size: 0.98rem; line-height: 1.65; }
.broel-support-card__button { margin-top: auto !important; margin-bottom: 0 !important; padding-top: 0.5rem; padding-bottom: 0.25rem; }
.broel-support-card__button .elementor-button {
	width: 100%;
	min-height: 3.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1rem;
	border-radius: 0.75rem;
	background: var(--support-accent) !important;
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.025em;
}
.broel-support-card__button .elementor-button:hover { filter: brightness(0.9); transform: translateY(-1px); }

.broel-support-visual-widget { width: 100%; }
.broel-support-visual { display: grid; overflow: hidden; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; border-radius: clamp(1rem, 2vw, 1.6rem); box-shadow: 0 1.4rem 3.5rem rgb(35 53 82 / 0.16); }
.broel-support-visual__panel { display: block; aspect-ratio: 5 / 7; background-image: url("../images/broel-support-icons-v3.jpg"); background-repeat: no-repeat; background-size: 400% 100%; }
.broel-support-visual__panel--tools { background-position: 0 50%; }
.broel-support-visual__panel--learning { background-position: 33.333% 50%; }
.broel-support-visual__panel--guidance { background-position: 66.666% 50%; }
.broel-support-visual__panel--support { background-position: 100% 50%; }

.broel-icon-circles-widget { width: 100%; }
.broel-icon-circles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.85rem, 2vw, 1.5rem);
	align-items: center;
	padding: clamp(1rem, 1.6vw, 1.5rem);
	border-radius: 1.5rem;
	background: rgb(255 255 255 / 0.7);
}
.broel-icon-circle {
	--circle-colour: var(--broel-blue);
	width: min(100%, 10.625rem);
	aspect-ratio: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	justify-self: center;
	padding: 1.1rem;
	border-radius: 50%;
	background: var(--circle-colour);
	color: #fff;
	box-shadow: 0 1.2rem 2.5rem color-mix(in srgb, var(--circle-colour), transparent 70%);
	transition: transform 180ms ease, box-shadow 180ms ease;
}
.broel-icon-circle--training { --circle-colour: var(--broel-green); }
.broel-icon-circle--help { --circle-colour: var(--broel-orange); }
.broel-icon-circle--support { --circle-colour: #7650b5; }
.broel-icon-circle:hover { transform: translateY(-0.35rem); box-shadow: 0 1.5rem 3rem color-mix(in srgb, var(--circle-colour), transparent 62%); }
.broel-icon-circle__graphic {
	width: 58%;
	height: 58%;
	display: grid;
	place-items: center;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
/*
 * Keep the approved support icons in the theme layer. Elementor sanitises SVG
 * markup inside text widgets on a later save, while these CSS assets remain
 * stable and continue to use the existing, accessible empty graphic spans.
 */
.broel-icon-circle--tools .broel-icon-circle__graphic {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='white' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M31 25l17 17-12 12-17-17-8 2-8-15 15-8z'/%3E%3Cpath d='M43 49l51 51'/%3E%3Cpath d='M78 23a21 21 0 0 0-21 28L20 88a9 9 0 0 0 0 13 9 9 0 0 0 13 0l37-37a21 21 0 0 0 27-27L84 50 71 37z'/%3E%3C/svg%3E");
}
.broel-icon-circle--training .broel-icon-circle__graphic {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='white' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='28' cy='28' r='12'/%3E%3Cpath d='M16 74V52c0-8 6-14 14-14h12l13 10'/%3E%3Cpath d='M43 48l25-15'/%3E%3Crect x='55' y='18' width='53' height='42' rx='5'/%3E%3Cpath d='M66 48l10-11 9 7 12-16M81 76V60M66 76h30'/%3E%3C/svg%3E");
}
.broel-icon-circle--help .broel-icon-circle__graphic {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='white' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M60 13a31 31 0 0 0-19 56c5 4 8 10 8 17h22c0-7 3-13 8-17a31 31 0 0 0-19-56z'/%3E%3Cpath d='M48 94h24M52 103h16M60 2v6M21 17l6 6M99 17l-6 6M7 55h9M104 55h9'/%3E%3C/svg%3E");
}
.broel-icon-circle--support .broel-icon-circle__graphic {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120' fill='none' stroke='white' stroke-width='8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 55V43a36 36 0 0 1 72 0v12'/%3E%3Cpath d='M24 51H12v28h19V51zM96 51h12v28H89V51zM89 79c-4 11-14 16-27 16'/%3E%3Ccircle cx='55' cy='95' r='6'/%3E%3C/svg%3E");
}
.broel-icon-circle svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.broel-icon-circle strong { margin-top: 0.15rem; color: inherit; font-size: clamp(1rem, 1.35vw, 1.3rem); line-height: 1; }

/* Stable fallbacks for approved Elementor icons if its HTML filter strips inline SVG. */
.broel-stage-card__icon:empty::before,
.broel-service-card-icon:empty::before,
.broel-academy-icon:empty::before,
.broel-event-card__icon:empty::before,
.broel-resource-path-card__icon:empty::before,
.broel-service-icon:empty::before {
	content: "";
	display: block;
	width: 55%;
	height: 55%;
	background: currentColor;
	-webkit-mask: var(--broel-restored-icon) center / contain no-repeat;
	mask: var(--broel-restored-icon) center / contain no-repeat;
}

/* Start, Build, Grow, Scale. */
.broel-stage-card--red { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Cpath d='m15 9-2 5-5 2 2-5 5-2Z'/%3E%3Cpath d='M12 2v2m0 16v2M2 12h2m16 0h2'/%3E%3C/svg%3E"); }
.broel-stage-card--green { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19h16M6 16l4-4 3 2 5-6'/%3E%3Cpath d='M14 8h4v4'/%3E%3Cpath d='M6 6h5'/%3E%3C/svg%3E"); }
.broel-stage-card--orange { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 18V9M10 18V5M16 18v-7M3 21h18M4 9l6-4 6 6 5-5'/%3E%3C/svg%3E"); }
.broel-stage-card--purple { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Ccircle cx='5' cy='6' r='2'/%3E%3Ccircle cx='19' cy='6' r='2'/%3E%3Ccircle cx='5' cy='18' r='2'/%3E%3Ccircle cx='19' cy='18' r='2'/%3E%3Cpath d='m7 7.5 3 3m4-1 3-2m-7 6-3 3m7-3 3 3'/%3E%3C/svg%3E"); }

/* Premium business services. */
.broel-journey-card--start { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h18M5 10v10h14V10M4 4h16l1 6H3l1-6M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.broel-journey-card--build { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v12H4zM8 21h8M12 17v4M8 9l-2 2 2 2m8-4 2 2-2 2'/%3E%3C/svg%3E"); }
.broel-journey-card--grow { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4zM8 10h8M8 14h5M17 3v6M14 6h6'/%3E%3C/svg%3E"); }
.broel-journey-card--scale { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6zM14 3v4h4M9 11h6M9 15h6M9 7h2'/%3E%3C/svg%3E"); }

/* Business-service and Academy card sequences retain their original icon order. */
.broel-services .broel-resource-card:nth-child(1), .broel-academy .broel-resource-card:nth-child(2) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v14H4zM4 9h16M8 7h.01M11 7h.01'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(2), .broel-academy .broel-resource-card:nth-child(7) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h18M5 10v10h14V10M4 4h16l1 6H3l1-6M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(3) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8L12 3Zm7 12 .8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8L19 15Z'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(4) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 20 4.5-1 10-10-3.5-3.5-10 10L4 20Zm9-12 3.5 3.5M14.5 6l2-2 3.5 3.5-2 2'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(5), .broel-academy .broel-resource-card:nth-child(4) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5M8 11l2-2 2 2 2-3'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(6), .broel-academy .broel-resource-card:nth-child(3) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v5h4l10 4V6L8 10H4M8 15l2 6h3l-2-6'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(7), .broel-academy .broel-resource-card:nth-child(5) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M3 20c0-4 2.5-6 6-6s6 2 6 6m0-5c3.5 0 6 1.8 6 5'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(8) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='6' height='5' rx='1'/%3E%3Crect x='15' y='15' width='6' height='5' rx='1'/%3E%3Cpath d='M9 6.5h5a3 3 0 0 1 3 3V12M15 10l2 2 2-2M15 17.5h-5a3 3 0 0 1-3-3V12M9 14 7 12l-2 2'/%3E%3C/svg%3E"); }
.broel-services .broel-resource-card:nth-child(9), .broel-academy .broel-resource-card:nth-child(8) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='5' width='14' height='14' rx='3'/%3E%3Cpath d='M9 15V9h3a2 2 0 0 1 0 4H9m6-4v6M9 2v3m6-3v3M9 19v3m6-3v3'/%3E%3C/svg%3E"); }
.broel-academy .broel-resource-card:nth-child(1) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4M8 14a7 7 0 1 1 8 0c-1 .8-1 1.8-1 2H9c0-.2 0-1.2-1-2Z'/%3E%3C/svg%3E"); }
.broel-academy .broel-resource-card:nth-child(6) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20V4m0 16h16M7 16l4-4 3 2 5-7M16 7h3v3'/%3E%3C/svg%3E"); }
.broel-academy .broel-resource-card:nth-child(9) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v18M16 7.5C16 5.6 14.2 5 12 5s-4 .9-4 2.8c0 4.4 8 1.7 8 6.3 0 2-1.8 3-4 3s-4-.8-4-2.8'/%3E%3C/svg%3E"); }
.broel-academy .broel-resource-card:nth-child(10) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5m0 14h16M7 15l4-4 3 2 6-7M16 6h4v4'/%3E%3C/svg%3E"); }

/* Events and resources. */
.broel-event-card:nth-child(1) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.1 7-12a7 7 0 1 0-14 0c0 5.9 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='9' r='2.5'/%3E%3C/svg%3E"); }
.broel-event-card:nth-child(2) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4M8 10h8M12 7v6'/%3E%3C/svg%3E"); }
.broel-event-card:nth-child(3) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 6 4-4 4 4-4 4M3 21l8-8M9 5l10 10M6 2l3 3-3 3-3-3 3-3Zm12 13 4 4-3 3-4-4'/%3E%3C/svg%3E"); }
.broel-event-card:nth-child(4) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h16M6 20v-7h12v7M8 13V7h8v6M12 3v4M7 4l2 3m8-3-2 3'/%3E%3C/svg%3E"); }
.broel-resource-path-card:nth-child(1) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h12a3 3 0 0 1 3 3v13H7a3 3 0 0 1-3-3V4Zm0 13a3 3 0 0 1 3-3h12M8 8h7'/%3E%3C/svg%3E"); }
.broel-resource-path-card:nth-child(2) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h14v16H5zM8 8h8M8 12h5M8 16h3M16 15l1.5 1.5L21 13'/%3E%3C/svg%3E"); }
.broel-resource-path-card:nth-child(3) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 6 4-4 4 4-4 4M3 21l8-8M9 5l10 10M6 2l3 3-3 3-3-3 3-3Z'/%3E%3C/svg%3E"); }
.broel-resource-path-card:nth-child(4) { --broel-restored-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v14H4zM8 15l3-3 2 2 4-5M8 9h2'/%3E%3C/svg%3E"); }

@media (max-width: 64rem) {
	.broel-support-pathways__grid,
	.broel-support-pathways__grid > .e-con-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-icon-circles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 40rem) {
	.broel-support-pathways__grid,
	.broel-support-pathways__grid > .e-con-inner { grid-template-columns: 1fr; }
	.broel-support-card__visual { min-height: 8.5rem; }
	.broel-support-card__visual svg { width: 5.5rem; height: 5.5rem; }
	.broel-support-visual { grid-template-columns: repeat(2, minmax(0, 1fr)); border-radius: 1rem; }
	.broel-icon-circles { gap: 0.85rem; padding: 1rem; border-radius: 1rem; }
	.broel-icon-circle { padding: 1rem; }
	.broel-icon-circle strong { font-size: clamp(0.95rem, 4.2vw, 1.2rem); }
}

/* Blog archive, categories and single-post layout. */
.broel-takeaways { position: relative; overflow: hidden; margin: clamp(1.5rem, 3vw, 2.3rem) 0; padding: clamp(1.25rem, 3vw, 2rem); border: 0.0625rem solid #cfe0f8; border-radius: 1.35rem; background: linear-gradient(135deg, #f4f8ff 0%, #f7fff9 55%, #fff8f0 100%); box-shadow: 0 1rem 2.8rem rgb(35 91 180 / 9%); }
.broel-takeaways::after { position: absolute; width: 8rem; height: 8rem; right: -3rem; bottom: -4rem; border: 1.1rem solid rgb(125 78 190 / 10%); border-radius: 50%; content: ""; }
.broel-takeaways__heading { display: flex; position: relative; z-index: 1; align-items: center; gap: 0.9rem; }
.broel-takeaways__heading > span { display: grid; width: 3.2rem; height: 3.2rem; flex: 0 0 3.2rem; place-items: center; border-radius: 1rem; background: var(--broel-blue); color: #fff; font-size: 1.35rem; font-weight: 900; box-shadow: 0 0.7rem 1.5rem rgb(55 123 229 / 24%); }
.broel-takeaways__heading p, .broel-related-posts__heading p, .broel-comments__heading p { margin: 0 0 0.2rem; color: var(--broel-blue); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.1em; }
.broel-takeaways__heading h2 { margin: 0; color: var(--broel-charcoal); font-size: clamp(1.45rem, 2.6vw, 2rem); }
.broel-takeaways ul { display: grid; position: relative; z-index: 1; gap: 0.7rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.broel-takeaways li { position: relative; padding-left: 1.65rem; color: var(--broel-slate); font-weight: 700; line-height: 1.55; }
.broel-takeaways li::before { position: absolute; left: 0; top: 0.62em; width: 0.55rem; height: 0.55rem; border-radius: 50%; background: var(--broel-green); box-shadow: 0 0 0 0.3rem rgb(51 177 112 / 12%); content: ""; }
.broel-related-posts { margin-top: clamp(2.5rem, 6vw, 4.5rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 0.0625rem solid var(--broel-border); }
.broel-related-posts__heading, .broel-comments__heading { display: flex; margin-bottom: 1.35rem; align-items: center; justify-content: space-between; gap: 1rem; }
.broel-related-posts__heading h2, .broel-comments__heading h2 { margin: 0; color: var(--broel-charcoal); font-size: clamp(1.75rem, 3vw, 2.6rem); }
.broel-related-posts__heading > span, .broel-comments__heading > span { display: grid; width: 3.3rem; height: 3.3rem; place-items: center; border-radius: 50%; background: var(--broel-orange-light); color: var(--broel-orange-dark); font-size: 1.35rem; font-weight: 900; }
.broel-related-posts__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.broel-related-posts .broel-post-card__body { padding: 1rem; }
.broel-related-posts .broel-post-card h3 { font-size: 1.1rem; }
.broel-related-posts .broel-post-card__body > p { font-size: 0.88rem; }
.broel-comments { margin-top: clamp(2.8rem, 6vw, 5rem); padding: clamp(1.4rem, 4vw, 2.6rem); border: 0.0625rem solid #dce5f1; border-radius: 1.5rem; background: linear-gradient(155deg, #fff, #f7faff); box-shadow: 0 1.2rem 3rem rgb(34 52 83 / 8%); }
.broel-comment-list, .broel-comment-list .children { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.broel-comment-list .children { margin: 1rem 0 0 clamp(1rem, 5vw, 3rem); }
.broel-comment__body { padding: 1.25rem; border: 0.0625rem solid #dfe7f2; border-left: 0.3rem solid var(--broel-blue); border-radius: 1rem; background: #fff; }
.broel-comment.depth-2 .broel-comment__body { border-left-color: var(--broel-green); }
.broel-comment.depth-3 .broel-comment__body { border-left-color: var(--broel-orange); }
.broel-comment__body header { display: flex; align-items: center; gap: 0.85rem; }
.broel-comment__avatar img { display: block; border-radius: 50%; box-shadow: 0 0 0 0.25rem var(--broel-blue-light); }
.broel-comment__author { margin: 0; color: var(--broel-charcoal); font-weight: 900; }
.broel-comment__author a { color: inherit; text-decoration: none; }
.broel-comment__date { color: var(--broel-muted); font-size: 0.76rem; text-decoration: none; }
.broel-comment__content { margin-top: 1rem; color: var(--broel-slate); line-height: 1.7; overflow-wrap: anywhere; }
.broel-comment__content > :last-child { margin-bottom: 0; }
.broel-comment__moderation { padding: 0.65rem 0.8rem; border-radius: 0.6rem; background: var(--broel-orange-light); color: var(--broel-orange-dark); font-weight: 800; }
.broel-comment__reply a { display: inline-flex; margin-top: 0.7rem; color: var(--broel-blue-dark); font-size: 0.82rem; font-weight: 850; text-decoration: none; }
.broel-comment-respond { margin-top: 2rem; padding: clamp(1.15rem, 3vw, 2rem); border-radius: 1.15rem; background: #fff; box-shadow: inset 0 0 0 0.0625rem #dce5f1; }
.broel-comment-respond h3 { margin: 0; color: var(--broel-charcoal); font-size: clamp(1.45rem, 2.5vw, 2rem); }
.broel-comment-respond label { display: block; margin-bottom: 0.35rem; color: var(--broel-charcoal); font-size: 0.82rem; font-weight: 850; }
.broel-comment-respond input[type="text"], .broel-comment-respond input[type="email"], .broel-comment-respond input[type="url"], .broel-comment-respond textarea { width: 100%; padding: 0.8rem 0.9rem; border: 0.0625rem solid #cbd7e7; border-radius: 0.75rem; background: #fbfdff; color: var(--broel-charcoal); font: inherit; }
.broel-comment-respond textarea { resize: vertical; }
.broel-comment-respond input:focus, .broel-comment-respond textarea:focus { border-color: var(--broel-blue); outline: 0.2rem solid rgb(55 123 229 / 16%); }
.comment-form-author, .comment-form-email { display: inline-block; width: calc(50% - 0.55rem); margin-right: 0.7rem; vertical-align: top; }
.comment-form-url { width: 100%; margin-right: 0; }
.comment-notes, .broel-comment-rules { color: var(--broel-muted); font-size: 0.82rem; line-height: 1.55; }
.broel-human-check { display: flex; margin: 1rem 0; padding: 0.85rem; align-items: center; justify-content: space-between; gap: 1rem; border: 0.0625rem solid #d4e3f7; border-radius: 0.85rem; background: var(--broel-blue-light); }
.broel-human-check p { margin: 0; color: var(--broel-charcoal); line-height: 1.3; }
.broel-comment-submit { min-height: 3.1rem; padding: 0.8rem 1.3rem; border: 0; border-radius: 0.8rem; background: var(--broel-blue); color: #fff; font-weight: 900; cursor: pointer; box-shadow: 0 0.8rem 1.5rem rgb(55 123 229 / 20%); }
.broel-comment-submit:hover, .broel-comment-submit:focus-visible { background: var(--broel-blue-dark); transform: translateY(-0.1rem); }
.broel-comment-hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; left: -10000px !important; }
.broel-comments__notice { padding: 1rem; border-radius: 0.8rem; background: var(--broel-blue-light); color: var(--broel-charcoal); font-weight: 750; }
.broel-comments__notice--security { border-left: 0.3rem solid var(--broel-orange); background: var(--broel-orange-light); }
@media (max-width: 62rem) {
	.broel-related-posts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 42rem) {
	.broel-related-posts__grid { grid-template-columns: 1fr; }
	.comment-form-author, .comment-form-email { display: block; width: 100%; margin-right: 0; }
	.broel-human-check { align-items: stretch; flex-direction: column; }
	.broel-human-check .cf-turnstile { width: 100%; }
	.broel-comment-list .children { margin-left: 0.7rem; }
	.broel-comments { padding: 1rem; border-radius: 1.1rem; }
}
.broel-blog-page { background: #f7f9fc; }
.broel-blog-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(2rem, 5vw, 4.5rem);
	background:
		radial-gradient(circle at 6% 18%, rgb(55 121 230 / 13%) 0 10rem, transparent 10.1rem),
		linear-gradient(135deg, #eef5ff 0%, #fff 48%, #f2fbf7 100%);
}
.broel-blog-hero::after { position: absolute; right: -5rem; bottom: -7rem; width: 18rem; height: 18rem; border: 2.2rem solid rgb(246 137 49 / 14%); border-radius: 50%; content: ""; }
.broel-blog-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(22rem, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.broel-blog-hero__copy { padding-block: clamp(1rem, 3vw, 2.5rem); }
.broel-blog-kicker { margin: 0 0 0.65rem; color: var(--broel-blue); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.09em; text-transform: uppercase; }
.broel-blog-hero h1 { max-width: 11ch; margin: 0; color: var(--broel-charcoal); font-size: clamp(2.7rem, 6vw, 5.6rem); line-height: 0.98; letter-spacing: -0.045em; }
.broel-blog-hero__copy > p:not(.broel-blog-kicker) { max-width: 38rem; margin: 1.4rem 0 0; color: var(--broel-slate); font-size: clamp(1.05rem, 1.55vw, 1.28rem); line-height: 1.65; }
.broel-blog-hero__topics { display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 1.6rem; }
.broel-blog-hero__topics span { padding: 0.52rem 0.85rem; border: 0.0625rem solid rgb(55 121 230 / 22%); border-radius: 999px; background: rgb(255 255 255 / 76%); color: var(--broel-blue-dark); font-size: 0.82rem; font-weight: 800; box-shadow: 0 0.5rem 1.2rem rgb(35 65 110 / 7%); }
.broel-blog-hero__topics span:nth-child(2) { border-color: rgb(53 175 109 / 25%); color: var(--broel-green-dark); }
.broel-blog-hero__topics span:nth-child(3) { border-color: rgb(246 137 49 / 28%); color: var(--broel-orange-dark); }
.broel-blog-hero__topics span:nth-child(4) { border-color: rgb(118 80 181 / 26%); color: var(--broel-purple-dark); }
.broel-blog-hero__image { min-height: clamp(22rem, 42vw, 34rem); border: 0.6rem solid rgb(255 255 255 / 78%); border-radius: 2.1rem 2.1rem 7rem 2.1rem; background: url("../images/heroes/broel-resources-hero.jpg") 64% center / cover no-repeat; box-shadow: 0 1.8rem 4rem rgb(33 57 95 / 18%); }

.broel-blog-shell { display: grid; grid-template-columns: minmax(0, 1fr) minmax(17rem, 21rem); gap: clamp(2rem, 4vw, 4rem); align-items: start; padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.broel-blog-feed { min-width: 0; }
.broel-blog-feed__heading { display: flex; gap: 2rem; margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 0.0625rem solid var(--broel-border); align-items: end; justify-content: space-between; }
.broel-blog-feed__heading h2 { margin: 0; color: var(--broel-charcoal); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.05; }
.broel-blog-feed__heading > p { max-width: 22rem; margin: 0; color: var(--broel-slate); line-height: 1.6; }
.broel-post-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2rem); }
.broel-post-card { overflow: hidden; margin: 0; border: 0.0625rem solid var(--broel-border); border-top: 0.32rem solid var(--broel-blue); border-radius: 1.2rem; background: #fff; box-shadow: 0 1rem 2.5rem rgb(35 58 95 / 9%); transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-post-card:nth-child(4n + 2) { border-top-color: var(--broel-green); }
.broel-post-card:nth-child(4n + 3) { border-top-color: var(--broel-orange); }
.broel-post-card:nth-child(4n + 4) { border-top-color: var(--broel-purple); }
.broel-post-card:hover { transform: translateY(-0.3rem); box-shadow: 0 1.35rem 3rem rgb(35 58 95 / 14%); }
.broel-post-card__image { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: var(--broel-blue-light); }
.broel-post-card__image img { width: 100%; height: 100%; margin: 0; border-radius: 0; object-fit: cover; transition: transform 300ms ease; }
.broel-post-card:hover .broel-post-card__image img { transform: scale(1.035); }
.broel-post-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: linear-gradient(140deg, var(--broel-blue), #6da7ff); color: #fff; }
.broel-post-card__placeholder::before { position: absolute; width: 7rem; height: 7rem; border: 1.2rem solid rgb(255 255 255 / 15%); border-radius: 50%; content: ""; }
.broel-post-card__placeholder span { position: relative; font-size: 1.5rem; font-weight: 900; }
.broel-post-card__body { padding: clamp(1.25rem, 2.3vw, 1.8rem); }
.broel-post-card__meta { display: flex; gap: 0.8rem; margin-bottom: 0.9rem; align-items: center; justify-content: space-between; color: var(--broel-muted); font-size: 0.76rem; }
.broel-post-card__meta a { color: var(--broel-blue-dark); font-weight: 850; text-decoration: none; text-transform: uppercase; }
.broel-post-card h3 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.85rem); line-height: 1.12; }
.broel-post-card h3 a { color: var(--broel-charcoal); text-decoration: none; }
.broel-post-card__body > p { margin: 1rem 0; color: var(--broel-slate); line-height: 1.65; }
.broel-post-card__link { display: inline-flex; gap: 0.45rem; margin-top: 0.25rem; color: var(--broel-blue-dark); font-weight: 850; text-decoration: none; }
.broel-post-card__link span { transition: transform 160ms ease; }
.broel-post-card__link:hover span { transform: translateX(0.25rem); }
.broel-blog-empty { padding: clamp(2rem, 5vw, 4rem); border: 0.12rem dashed rgb(55 121 230 / 28%); border-radius: 1.4rem; background: linear-gradient(135deg, #fff, #f1f6ff); }
.broel-blog-empty h3 { margin: 0; font-size: clamp(1.6rem, 3vw, 2.4rem); }

.broel-blog-sidebar { position: sticky; top: 8.5rem; display: grid; gap: 1.4rem; }
.broel-sidebar-card { overflow: hidden; padding: 1.5rem; border: 0.0625rem solid var(--broel-border); border-radius: 1.25rem; background: #fff; box-shadow: 0 1rem 2.4rem rgb(35 58 95 / 9%); }
.broel-sidebar-card h2 { margin: 0 0 1rem; color: var(--broel-charcoal); font-size: 1.45rem; line-height: 1.12; }
.broel-sidebar-categories ul { display: grid; gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.broel-sidebar-categories li { display: flex; gap: 0.5rem; align-items: center; justify-content: space-between; color: var(--broel-muted); font-size: 0.78rem; }
.broel-sidebar-categories a { flex: 1 1 auto; padding: 0.72rem 0.8rem; border-radius: 0.7rem; background: var(--broel-blue-light); color: var(--broel-blue-dark); font-size: 0.9rem; font-weight: 800; text-decoration: none; transition: background 160ms ease, color 160ms ease; }
.broel-sidebar-categories li:nth-child(4n + 2) a { background: var(--broel-green-light); color: var(--broel-green-dark); }
.broel-sidebar-categories li:nth-child(4n + 3) a { background: var(--broel-orange-light); color: var(--broel-orange-dark); }
.broel-sidebar-categories li:nth-child(4n + 4) a { background: var(--broel-purple-light); color: var(--broel-purple-dark); }
.broel-sidebar-categories a:hover { filter: brightness(0.96); transform: translateX(0.12rem); }
.broel-sidebar-ad { position: relative; padding-top: 3.7rem; background: linear-gradient(145deg, #202a38, #2d466f); color: #fff; }
.broel-sidebar-ad::after { position: absolute; right: -3rem; bottom: -3rem; width: 9rem; height: 9rem; border: 1.2rem solid rgb(246 137 49 / 25%); border-radius: 50%; content: ""; }
.broel-sidebar-ad__label { position: absolute; top: 1.15rem; left: 1.5rem; color: #8fc0ff; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.broel-sidebar-ad__icon { position: absolute; top: 1rem; right: 1.15rem; display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 50%; background: var(--broel-orange); color: #fff; font-size: 1.2rem; font-weight: 900; }
.broel-sidebar-ad h2, .broel-sidebar-ad p, .broel-sidebar-ad a { position: relative; z-index: 1; color: #fff; }
.broel-sidebar-ad p { color: rgb(255 255 255 / 78%); line-height: 1.55; }
.broel-sidebar-ad a { font-weight: 850; text-decoration: none; }
.broel-sidebar-mailing { border: 0; background: linear-gradient(145deg, #6b43a9, #865fca); color: #fff; }
.broel-sidebar-mailing .broel-blog-kicker { color: #d9c9f4; }
.broel-sidebar-mailing h2 { color: #fff; }
.broel-sidebar-mailing > p:not(.broel-blog-kicker) { color: rgb(255 255 255 / 84%); line-height: 1.55; }
.broel-sidebar-mailing__form { display: grid; gap: 0.7rem; margin-top: 1.15rem; }
.broel-sidebar-mailing__form label { font-size: 0.78rem; font-weight: 800; }
.broel-sidebar-mailing__form input { width: 100%; min-height: 3rem; padding: 0.72rem 0.85rem; border: 0.0625rem solid rgb(255 255 255 / 35%); border-radius: 0.7rem; background: rgb(255 255 255 / 94%); color: var(--broel-charcoal); }
.broel-sidebar-mailing__form button { min-height: 3rem; padding: 0.72rem 0.9rem; border: 0; border-radius: 0.7rem; background: var(--broel-orange); color: #fff; font-weight: 900; cursor: pointer; }
.broel-sidebar-mailing__form button:hover { filter: brightness(0.94); }
.broel-sidebar-mailing small { display: block; margin-top: 0.85rem; color: rgb(255 255 255 / 72%); }

.broel-blog-archive-heading { padding-block: clamp(3rem, 7vw, 5.5rem); background: linear-gradient(135deg, #eef5ff, #fff 55%, #f2fbf7); }
.broel-blog-archive-heading h1 { margin: 0; color: var(--broel-charcoal); font-size: clamp(2.5rem, 5vw, 4.5rem); line-height: 1; }
.broel-blog-archive-heading .broel-archive-description { max-width: 45rem; margin-top: 1rem; }
.broel-single-shell { padding-top: clamp(3rem, 6vw, 5.5rem); }
.broel-single-column { min-width: 0; }
.broel-single-column .broel-entry { overflow: hidden; padding: clamp(1.5rem, 4vw, 3.5rem); border: 0.0625rem solid var(--broel-border); border-radius: 1.5rem; background: #fff; box-shadow: 0 1.2rem 3rem rgb(35 58 95 / 9%); }
.broel-single-column .broel-entry-header h1 { margin-top: 0; color: var(--broel-charcoal); font-size: clamp(2.3rem, 5vw, 4.3rem); line-height: 1.02; letter-spacing: -0.035em; }
.broel-single-column .broel-entry-meta { padding-bottom: 1rem; border-bottom: 0.0625rem solid var(--broel-border); }
.broel-single-column .broel-featured-image { display: block; }
.broel-single-column .broel-featured-image img { width: 100%; max-height: 34rem; object-fit: cover; }
.broel-blog-image-frame { position: relative; isolation: isolate; display: block; margin: 2.2rem 0 2.8rem; padding: clamp(0.42rem, 1vw, 0.68rem); overflow: visible !important; border: 0.08rem solid rgb(55 121 230 / 20%); border-radius: 2.4rem 1.25rem 4.5rem 1.25rem; background: #fff; box-shadow: 0 1.5rem 3.2rem rgb(35 58 95 / 15%); }
.broel-blog-image-frame::before { position: absolute; z-index: -1; inset: -1.05rem 1.6rem 0.8rem -1.05rem; border-radius: 3.4rem 1.8rem 4.8rem 2.2rem; background: linear-gradient(135deg, rgb(55 121 230 / 18%), rgb(53 175 109 / 16%) 40%, rgb(246 137 49 / 15%) 72%, rgb(118 80 181 / 16%)); transform: rotate(-1.2deg); content: ""; }
.broel-blog-image-frame img { position: relative; display: block; width: 100%; margin: 0; border-radius: 1.9rem 0.9rem 3.9rem 0.9rem; }
.broel-blog-image-frame--card { margin: 0; padding: 0.34rem; border-radius: 1.25rem 0.75rem 2rem 0.75rem; box-shadow: 0 0.9rem 2rem rgb(35 58 95 / 12%); }
.broel-blog-image-frame--card::before { inset: -0.45rem 0.7rem 0.3rem -0.45rem; border-radius: 1.5rem 0.9rem 2.2rem 1rem; transform: rotate(-0.7deg); }
.broel-blog-image-frame--card img { border-radius: 0.95rem 0.5rem 1.65rem 0.5rem; }
@media (max-width: 74.999rem) { .broel-mega-established-block a { min-height: 2.75rem; } }
.broel-single-column .broel-entry-content { color: var(--broel-slate); font-size: 1.05rem; line-height: 1.78; }
.broel-single-column .broel-entry-content :where(h2, h3, h4) { color: var(--broel-charcoal); line-height: 1.15; }
.broel-single-column .broel-entry-content a { color: var(--broel-blue-dark); }
.broel-single-column .broel-entry-content p a,
.broel-single-column .broel-entry-content p a:visited {
	color: #4b84cf;
	font-weight: 700;
	text-decoration-color: rgb(75 132 207 / 42%);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}
.broel-single-column .broel-entry-content p a:hover,
.broel-single-column .broel-entry-content p a:focus-visible {
	color: #2f68b5;
	text-decoration-color: currentColor;
}

@media (max-width: 64rem) {
	.broel-blog-hero__inner { grid-template-columns: 1fr 1fr; }
	.broel-blog-shell { grid-template-columns: minmax(0, 1fr) minmax(15rem, 18rem); gap: 2rem; }
	.broel-post-grid { grid-template-columns: 1fr; }
}

@media (max-width: 48rem) {
	.broel-blog-hero__inner, .broel-blog-shell { grid-template-columns: 1fr; }
	.broel-blog-hero__image { min-height: 21rem; border-radius: 1.4rem 1.4rem 4rem 1.4rem; }
	.broel-blog-feed__heading { display: block; }
	.broel-blog-feed__heading > p { margin-top: 0.8rem; }
	.broel-blog-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-sidebar-categories { grid-column: 1 / -1; }
}

@media (max-width: 40rem) {
	.broel-blog-hero { padding-top: 1.4rem; }
	.broel-blog-hero__image { min-height: 18rem; background-position: 69% center; }
	.broel-blog-shell { padding-block: 3rem; }
	.broel-blog-sidebar { grid-template-columns: 1fr; }
	.broel-sidebar-categories { grid-column: auto; }
	.broel-post-card__meta { align-items: flex-start; flex-direction: column; }
}

/* Refined global footer. */
.broel-site-footer {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3.5rem, 6vw, 5.5rem) 1.75rem;
	border-top: 0.3rem solid transparent;
	border-image: linear-gradient(90deg, var(--broel-blue), var(--broel-green), var(--broel-orange), #7650b5) 1;
	background:
		radial-gradient(circle at 7% 12%, rgb(55 121 230 / 12%) 0 10rem, transparent 10.1rem),
		radial-gradient(circle at 94% 15%, rgb(118 80 181 / 13%) 0 12rem, transparent 12.1rem),
		linear-gradient(145deg, #1c2635 0%, #202a38 48%, #18212e 100%);
}

.broel-footer-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.45fr) minmax(0, 1.05fr) minmax(0, 1.25fr);
	align-items: start;
	gap: clamp(2rem, 3vw, 3.5rem);
}

.broel-footer-about { max-width: 23rem; }
.broel-footer-about p { margin: 0.7rem 0 0; color: #d5dce6; line-height: 1.65; }
.broel-footer-about p:first-of-type { color: #fff; font-weight: 800; }
.broel-footer-logo { margin-bottom: 0.65rem; padding: 0.8rem; border-radius: 1rem; box-shadow: 0 0.8rem 2rem rgb(0 0 0 / 18%); }

.broel-footer-navigation {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3rem);
}

.broel-footer-heading {
	position: relative;
	margin: 0 0 1.25rem;
	padding-bottom: 0.75rem;
	color: #fff;
	font-size: 1.05rem;
	font-weight: 850;
	line-height: 1.25;
}

.broel-footer-heading::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 2.75rem;
	height: 0.2rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--broel-blue), var(--broel-green));
	content: "";
}

.broel-footer-menu {
	display: grid;
	grid-template-columns: 1fr;
	margin: 0;
	padding: 0;
	gap: 0.15rem;
	list-style: none;
}

.broel-footer-menu li { margin: 0; padding: 0; }
.broel-site-footer .broel-footer-menu a,
.broel-site-footer .broel-footer-sitemap-link a {
	display: inline-flex;
	align-items: center;
	padding: 0.32rem 0;
	color: #f8fafc;
	font-size: 0.94rem;
	font-weight: 550;
	line-height: 1.4;
	text-decoration: none;
	transition: color 160ms ease, transform 160ms ease;
}

.broel-site-footer .broel-footer-menu a:hover,
.broel-site-footer .broel-footer-menu a:focus-visible {
	color: #8ee4b3;
	text-decoration: none;
	transform: translateX(0.25rem);
}

.broel-footer-cta-copy,
.broel-footer-signup > p { margin: -0.25rem 0 1.1rem; color: #d5dce6; font-size: 0.92rem; line-height: 1.6; }
.broel-footer-button {
	gap: 0.75rem;
	min-height: 2.55rem;
	padding: 0.58rem 0.85rem;
	border: 0.1rem solid rgb(255 255 255 / 22%);
	border-radius: 0.8rem;
	background: linear-gradient(135deg, #36b36f, #248452);
	color: #fff !important;
	font-size: 0.82rem;
	box-shadow: 0 0.75rem 1.75rem rgb(18 110 64 / 24%);
}
.broel-footer-button:hover { background: linear-gradient(135deg, #43c47e, #2d9660); transform: translateY(-0.12rem); }
.broel-footer-button span { font-size: 0.95rem; }

.broel-footer-currency { max-width: 100%; margin-top: 1.5rem; gap: 0.45rem; color: #d5dce6; font-size: 0.83rem; }
.broel-footer-currency select { min-height: 2.8rem; padding-inline: 0.8rem; border-radius: 0.7rem; }
.broel-footer-currency small { color: #aeb8c6; font-size: 0.72rem; }
.broel-signup-placeholder input { min-height: 2.9rem; border-radius: 0.65rem; }
.broel-signup-placeholder button { border-radius: 0.65rem; color: #fff; }
.broel-signup-placeholder .broel-footer-signup__consent{display:flex;gap:.5rem;align-items:flex-start;margin-top:.7rem;color:#d5dce6;font-size:.72rem;line-height:1.45}
.broel-signup-placeholder .broel-footer-signup__consent input{width:auto;min-height:0;margin:.2rem 0 0;flex:0 0 auto}
.broel-signup-placeholder .broel-exit-trap{display:none!important}
.broel-footer-policies { margin-top: 2rem; padding-top: 1.5rem; border-top: 0.0625rem solid rgb(255 255 255 / 14%); }
.broel-footer-policies .broel-footer-heading { margin-bottom: 0.9rem; }
.broel-footer-policy-menu { gap: 0.05rem; }
.broel-footer-policy-menu a::before { width: 0.38rem; height: 0.38rem; margin-right: 0.6rem; border-radius: 50%; background: var(--broel-orange); content: ""; opacity: 0.9; }
.broel-footer-legal { grid-column: 1 / -1; margin-top: 0.5rem; padding: clamp(1.4rem, 2.5vw, 2rem); border: 0.0625rem solid rgb(255 255 255 / 12%); border-radius: 1.1rem; background: rgb(9 15 24 / 28%); box-shadow: inset 0 0.12rem 0 rgb(255 255 255 / 4%); }
.broel-footer-legal__topline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; }
.broel-footer-legal__brand { margin: 0; color: #fff; font-size: 1rem; font-weight: 850; letter-spacing: -0.01em; }
.broel-footer-legal__links { display: flex; flex-wrap: wrap; margin: 0; padding: 0; gap: 0; list-style: none; }
.broel-footer-legal__links li { display: flex; align-items: center; }
.broel-footer-legal__links li + li::before { margin-inline: 0.55rem; color: #8390a2; content: "·"; }
.broel-site-footer .broel-footer-legal__links a { color: #f7f9fc; font-size: 0.82rem; font-weight: 650; line-height: 1.5; text-decoration: none; transition: color 150ms ease; }
.broel-site-footer .broel-footer-legal__links a:hover, .broel-site-footer .broel-footer-legal__links a:focus-visible { color: #8ee4b3; text-decoration: none; }
.broel-footer-legal__company { max-width: 92rem; margin: 1.15rem 0 0; padding-top: 1.05rem; border-top: 0.0625rem solid rgb(255 255 255 / 10%); color: #b9c3d0; font-size: 0.76rem; line-height: 1.7; }
.broel-copyright { margin: 0.75rem 0 0; color: #98a5b6; font-size: 0.74rem; text-align: left; }

@media (max-width: 72rem) {
	.broel-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-copyright { grid-column: 1 / -1; }
}

@media (max-width: 40rem) {
	.broel-site-footer { padding-top: 3rem; }
	.broel-footer-inner { grid-template-columns: 1fr; gap: 2.5rem; }
	.broel-footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
	.broel-footer-about { max-width: none; }
	.broel-footer-legal__topline { align-items: flex-start; flex-direction: column; }
	.broel-footer-legal__links { row-gap: 0.35rem; }
	.broel-footer-legal__links li + li::before { margin-inline: 0.42rem; }
}

@media (max-width: 27rem) {
	.broel-footer-navigation { grid-template-columns: 1fr; }
}

/* Portfolio page: colourful, accessible, filterable project showcase. */
.broel-portfolio-page {
	--portfolio-navy: #1e2b42;
	--portfolio-blue: #3678e8;
	--portfolio-green: #36b36f;
	--portfolio-orange: #fa8b32;
	--portfolio-purple: #7650b5;
	--portfolio-red: #ec4f52;
	overflow: hidden;
	background: #fff;
}

.broel-portfolio-kicker {
	margin: 0 0 0.9rem;
	color: var(--portfolio-blue);
	font-size: clamp(0.76rem, 1.2vw, 0.9rem);
	font-weight: 900;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

.broel-portfolio-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: clamp(4.25rem, 8vw, 7.5rem);
	background:
		radial-gradient(circle at 8% 14%, rgb(54 120 232 / 15%) 0 8rem, transparent 8.1rem),
		radial-gradient(circle at 92% 90%, rgb(54 179 111 / 14%) 0 11rem, transparent 11.1rem),
		linear-gradient(135deg, #f8fbff 0%, #fff 48%, #fff8f1 100%);
}

.broel-portfolio-hero::after {
	position: absolute;
	right: -5rem;
	top: -8rem;
	z-index: -1;
	width: 22rem;
	height: 22rem;
	border: 2.1rem solid rgb(118 80 181 / 10%);
	border-radius: 50%;
	content: "";
}

.broel-portfolio-hero__grid {
	display: grid;
	align-items: center;
	gap: clamp(3rem, 7vw, 7rem);
}

.broel-portfolio-hero__content h1 {
	max-width: 12.5ch;
	margin: 0;
	color: var(--portfolio-navy);
	font-size: clamp(3rem, 7vw, 6.75rem);
	letter-spacing: -0.055em;
	line-height: 0.94;
}

.broel-portfolio-hero__content h1::after {
	display: block;
	width: clamp(8rem, 19vw, 13rem);
	height: 0.48rem;
	margin-top: 1.5rem;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--portfolio-blue) 0 25%, var(--portfolio-green) 25% 50%, var(--portfolio-orange) 50% 75%, var(--portfolio-purple) 75%);
	content: "";
}

.broel-portfolio-hero__lead {
	max-width: 44rem;
	margin: clamp(1.5rem, 3vw, 2.25rem) 0 0;
	color: #58677a;
	font-size: clamp(1.08rem, 2vw, 1.35rem);
	line-height: 1.65;
}

.broel-portfolio-hero__actions {
	display: flex;
	margin-top: 2rem;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.1rem 1.5rem;
}

.broel-portfolio-button {
	min-height: 3.4rem;
	padding: 0.85rem 1.35rem;
	border-radius: 0.85rem;
	background: linear-gradient(135deg, var(--portfolio-blue), #235cc0);
	color: #fff;
	box-shadow: 0 0.8rem 1.8rem rgb(54 120 232 / 24%);
}

.broel-portfolio-button:hover,
.broel-portfolio-button:focus-visible { background: linear-gradient(135deg, #4389f7, #194ca8); color: #fff; }

.broel-portfolio-text-link {
	color: #235cb7;
	font-weight: 800;
	text-decoration: none;
}

.broel-portfolio-text-link:hover,
.broel-portfolio-text-link:focus-visible { color: #173f83; text-decoration: underline; text-underline-offset: 0.3rem; }

.broel-portfolio-hero__art {
	position: relative;
	min-height: clamp(22rem, 45vw, 34rem);
}

.broel-portfolio-art-card {
	position: absolute;
	overflow: hidden;
	border: 0.5rem solid #fff;
	border-radius: 1.5rem;
	box-shadow: 0 1.5rem 3.5rem rgb(30 43 66 / 18%);
}

.broel-portfolio-art-card--website {
	top: 3%;
	left: 2%;
	width: 78%;
	height: 55%;
	padding: 2.25rem 1.4rem 1.4rem;
	background: linear-gradient(145deg, #397ce9, #75a7fa);
	transform: rotate(-4deg);
}

.broel-portfolio-art-card--website::before {
	position: absolute;
	top: 0.85rem;
	left: 1.1rem;
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 50%;
	background: #fff;
	box-shadow: 1rem 0 #a7c8ff, 2rem 0 #d8e7ff;
	content: "";
}

.broel-portfolio-art-card--website span { display: block; width: 64%; height: 1.2rem; border-radius: 999px; background: #fff; }
.broel-portfolio-art-card--website i { display: block; width: 88%; height: 0.55rem; margin-top: 1rem; border-radius: 999px; background: rgb(255 255 255 / 58%); }
.broel-portfolio-art-card--website b { display: block; width: 44%; height: 2.6rem; margin-top: 2rem; border-radius: 0.7rem; background: #fa8b32; }

.broel-portfolio-art-card--brand {
	right: 0;
	top: 31%;
	width: 46%;
	height: 45%;
	display: grid;
	place-items: center;
	background: linear-gradient(145deg, #7650b5, #9a78cf);
	transform: rotate(5deg);
}

.broel-portfolio-art-card--brand strong { color: #fff; font-size: clamp(4rem, 9vw, 7rem); line-height: 1; }
.broel-portfolio-art-card--brand span { position: absolute; width: 75%; height: 75%; border: 0.2rem solid rgb(255 255 255 / 35%); border-radius: 50%; }

.broel-portfolio-art-card--social {
	bottom: 0;
	left: 14%;
	width: 52%;
	height: 30%;
	display: flex;
	padding: 1.25rem;
	align-items: flex-end;
	justify-content: center;
	gap: 0.65rem;
	background: linear-gradient(145deg, #36b36f, #6bd598);
	transform: rotate(-2deg);
}

.broel-portfolio-art-card--social i { width: 24%; border-radius: 0.5rem 0.5rem 0.2rem 0.2rem; background: #fff; }
.broel-portfolio-art-card--social i:nth-child(1) { height: 45%; }
.broel-portfolio-art-card--social i:nth-child(2) { height: 78%; }
.broel-portfolio-art-card--social i:nth-child(3) { height: 60%; }
.broel-portfolio-art-orbit { position: absolute; right: 3%; bottom: 2%; width: 7.5rem; height: 7.5rem; border: 1.1rem solid rgb(250 139 50 / 20%); border-radius: 50%; }

.broel-portfolio-gallery { padding-block: clamp(4rem, 8vw, 7rem); background: #f5f8fd; }
.broel-portfolio-section-heading { display: grid; align-items: end; gap: 1.5rem 4rem; }
.broel-portfolio-section-heading h2,
.broel-portfolio-method h2,
.broel-portfolio-cta h2 { margin: 0; color: var(--portfolio-navy); font-size: clamp(2.2rem, 4.8vw, 4.4rem); letter-spacing: -0.045em; line-height: 1.02; }
.broel-portfolio-section-heading > p { max-width: 42rem; margin: 0; color: #627083; font-size: 1.05rem; line-height: 1.7; }

.broel-portfolio-tabs {
	display: flex;
	overflow-x: auto;
	margin: clamp(2.25rem, 5vw, 3.5rem) -0.35rem 0;
	padding: 0.35rem 0.35rem 0.8rem;
	gap: 0.65rem;
	scrollbar-width: thin;
}

.broel-portfolio-tab {
	min-height: 3rem;
	padding: 0.65rem 1rem;
	border: 0.1rem solid #d7e0ed;
	border-radius: 999px;
	background: #fff;
	color: #40526b;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 800;
	white-space: nowrap;
	cursor: pointer;
	transition: 160ms ease;
}

.broel-portfolio-tab:hover { border-color: #9bbcf3; color: #245ab1; transform: translateY(-0.1rem); }
.broel-portfolio-tab.is-active,
.broel-portfolio-tab[aria-selected="true"] {
	border-color: var(--portfolio-blue);
	background: #dce9ff;
	color: #183f7b;
	box-shadow: inset 0 -0.2rem 0 var(--portfolio-blue), 0 0.65rem 1.35rem rgb(54 120 232 / 16%);
}

.broel-portfolio-tab.is-active:hover,
.broel-portfolio-tab[aria-selected="true"]:hover {
	border-color: #245ab1;
	background: #cfe0fc;
	color: #123564;
}
.broel-portfolio-tab:focus-visible { outline: 0.2rem solid #f5bb43; outline-offset: 0.18rem; }

.broel-portfolio-grid { display: grid; margin-top: 1.8rem; gap: clamp(1.25rem, 3vw, 2rem); }
.broel-portfolio-card { --card-accent: var(--portfolio-blue); --card-soft: #eaf2ff; overflow: hidden; border: 0.0625rem solid #dce4ef; border-radius: 1.4rem; background: #fff; box-shadow: 0 1rem 2.8rem rgb(30 54 94 / 9%); transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-portfolio-card:hover { box-shadow: 0 1.5rem 3.3rem rgb(30 54 94 / 15%); transform: translateY(-0.35rem); }
.broel-portfolio-card--green { --card-accent: var(--portfolio-green); --card-soft: #e9f8f0; }
.broel-portfolio-card--orange { --card-accent: var(--portfolio-orange); --card-soft: #fff1e5; }
.broel-portfolio-card--purple { --card-accent: var(--portfolio-purple); --card-soft: #f0eafa; }
.broel-portfolio-card--red { --card-accent: var(--portfolio-red); --card-soft: #ffedef; }
.broel-portfolio-card[hidden] { display: none; }

.broel-portfolio-card__visual { position: relative; overflow: hidden; min-height: 18rem; padding: 2.25rem; background: var(--card-accent); }
.broel-portfolio-card__visual::before { position: absolute; right: -3rem; top: -3rem; width: 13rem; height: 13rem; border: 1.25rem solid rgb(255 255 255 / 18%); border-radius: 50%; content: ""; }
.broel-portfolio-card__number { position: absolute; top: 1.25rem; left: 1.25rem; z-index: 2; margin: 0; color: rgb(255 255 255 / 76%); font-size: 2rem; font-weight: 900; }
.broel-portfolio-mockup { position: absolute; inset: 4.2rem 2rem 2rem; overflow: hidden; border: 0.42rem solid rgb(255 255 255 / 72%); border-radius: 1rem; background: #fff; box-shadow: 0 1rem 2rem rgb(22 42 76 / 20%); }
.broel-portfolio-mockup::before { display: block; height: 1.6rem; background: var(--card-soft); content: ""; }
.broel-portfolio-mockup span { display: block; width: 52%; height: 1.1rem; margin: 2.1rem auto 0; border-radius: 99px; background: var(--card-accent); }
.broel-portfolio-mockup i { display: block; width: 72%; height: 0.5rem; margin: 0.75rem auto 0; border-radius: 99px; background: #dce5f0; }
.broel-portfolio-mockup b { display: block; width: 5.5rem; height: 2.1rem; margin: 1.4rem auto 0; border-radius: 0.55rem; background: var(--card-accent); }
.broel-portfolio-mockup em { position: absolute; right: 1.1rem; bottom: 1.1rem; width: 3rem; height: 3rem; border: 0.45rem solid var(--card-accent); border-radius: 50%; opacity: 0.25; }
.broel-portfolio-card__visual--store .broel-portfolio-mockup { display: grid; padding: 2.8rem 1rem 1rem; grid-template-columns: repeat(3, 1fr); gap: 0.65rem; }
.broel-portfolio-card__visual--store .broel-portfolio-mockup span,
.broel-portfolio-card__visual--store .broel-portfolio-mockup i,
.broel-portfolio-card__visual--store .broel-portfolio-mockup b { width: auto; height: auto; margin: 0; border-radius: 0.5rem; background: var(--card-soft); }
.broel-portfolio-card__visual--logo .broel-portfolio-mockup { display: grid; place-items: center; border-radius: 50%; inset-inline: 22%; }
.broel-portfolio-card__visual--logo .broel-portfolio-mockup span { width: 4.8rem; height: 4.8rem; margin: 0; border-radius: 1.1rem 50% 1.1rem 50%; transform: rotate(45deg); }
.broel-portfolio-card__visual--logo .broel-portfolio-mockup::before,
.broel-portfolio-card__visual--logo .broel-portfolio-mockup i,
.broel-portfolio-card__visual--logo .broel-portfolio-mockup b,
.broel-portfolio-card__visual--logo .broel-portfolio-mockup em { display: none; }
.broel-portfolio-card__visual--graphics .broel-portfolio-mockup { inset: 3.7rem 4rem 1.5rem; transform: rotate(4deg); }
.broel-portfolio-card__visual--social .broel-portfolio-mockup { inset: 3.7rem 5.5rem 1.5rem; border-radius: 1.5rem; }
.broel-portfolio-card__visual--print .broel-portfolio-mockup { inset: 3.7rem 5rem 1.4rem; transform: rotate(-3deg); }

.broel-portfolio-card__content { padding: clamp(1.4rem, 3vw, 2rem); }
.broel-portfolio-card__content > p:first-child { margin: 0 0 0.6rem; color: var(--card-accent); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.1em; text-transform: uppercase; }
.broel-portfolio-card__content h3 { margin: 0; color: var(--portfolio-navy); font-size: clamp(1.45rem, 2.5vw, 2rem); line-height: 1.1; }
.broel-portfolio-card__content h3 + p { margin: 1rem 0 0; color: #647184; line-height: 1.65; }
.broel-portfolio-card__status { display: inline-flex; margin-top: 1.25rem; align-items: center; gap: 0.5rem; color: #58677a; font-size: 0.78rem; font-weight: 750; }
.broel-portfolio-card__status i { width: 0.58rem; height: 0.58rem; border-radius: 50%; background: var(--card-accent); box-shadow: 0 0 0 0.3rem var(--card-soft); }

.broel-portfolio-method { padding-block: clamp(4rem, 8vw, 7rem); background: var(--portfolio-navy); color: #fff; }
.broel-portfolio-method .broel-portfolio-kicker { color: #78a9fa; }
.broel-portfolio-method h2 { max-width: 13ch; color: #fff; }
.broel-portfolio-method__grid { display: grid; gap: 3rem 6rem; }
.broel-portfolio-method ol { display: grid; margin: 0; padding: 0; gap: 0.9rem; list-style: none; }
.broel-portfolio-method li { display: flex; min-height: 6.2rem; padding: 1.1rem 1.25rem; border: 0.0625rem solid rgb(255 255 255 / 13%); border-radius: 1rem; align-items: center; gap: 1rem; background: rgb(255 255 255 / 6%); }
.broel-portfolio-method li > span { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 2.8rem; place-items: center; border-radius: 0.8rem; background: var(--portfolio-blue); font-weight: 900; }
.broel-portfolio-method li:nth-child(2) > span { background: var(--portfolio-green); }
.broel-portfolio-method li:nth-child(3) > span { background: var(--portfolio-orange); }
.broel-portfolio-method li:nth-child(4) > span { background: var(--portfolio-purple); }
.broel-portfolio-method h3 { margin: 0; color: #fff; font-size: 1.15rem; }
.broel-portfolio-method li p { margin: 0.25rem 0 0; color: #c9d3e0; line-height: 1.5; }

.broel-portfolio-cta { padding-block: clamp(3.5rem, 7vw, 6rem); background: linear-gradient(120deg, #fff4e9, #f2f7ff 52%, #eefaf3); }
.broel-portfolio-cta__inner { display: grid; padding: clamp(2rem, 5vw, 4rem); border: 0.0625rem solid rgb(54 120 232 / 14%); border-radius: clamp(1.4rem, 3vw, 2.4rem); align-items: center; gap: 2rem 4rem; background: rgb(255 255 255 / 82%); box-shadow: 0 1.5rem 3.5rem rgb(30 54 94 / 10%); }
.broel-portfolio-cta h2 { font-size: clamp(2.2rem, 4vw, 3.8rem); }
.broel-portfolio-cta p:not(.broel-portfolio-kicker) { max-width: 44rem; margin: 1rem 0 0; color: #5c6b7d; font-size: 1.05rem; line-height: 1.65; }
.broel-portfolio-cta .broel-portfolio-button { justify-self: start; }

.broel-portfolio-faqs { --portfolio-navy: #1e2b42; --portfolio-blue: #3678e8; --portfolio-green: #36b36f; --portfolio-orange: #fa8b32; --portfolio-purple: #7650b5; position: relative; isolation: isolate; overflow: hidden; padding-block: clamp(4rem, 8vw, 7rem); background: linear-gradient(130deg, #eef5ff 0%, #fff 50%, #f7f1ff 100%); }
.broel-portfolio-faqs__orb { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; }
.broel-portfolio-faqs__orb--one { width: 15rem; height: 15rem; top: -7rem; right: -4rem; border: 2.2rem solid rgb(250 139 50 / 13%); }
.broel-portfolio-faqs__orb--two { width: 10rem; height: 10rem; left: -4rem; bottom: -5rem; background: rgb(54 179 111 / 9%); }
.broel-portfolio-faqs__heading { display: grid; margin-bottom: clamp(2rem, 5vw, 3.5rem); align-items: end; gap: 1rem 4rem; }
.broel-portfolio-faqs__heading h2 { max-width: 13ch; margin: 0; color: var(--portfolio-navy); font-size: clamp(2.25rem, 4.7vw, 4.3rem); line-height: 1.02; letter-spacing: -0.045em; }
.broel-portfolio-faqs__heading > p { max-width: 44rem; margin: 0; color: #627083; font-size: 1.02rem; line-height: 1.7; }
.broel-portfolio-faqs__grid { display: grid; align-items: start; gap: 1rem; }
.broel-portfolio-faq { --faq-accent: var(--portfolio-blue); overflow: hidden; border: 0.0625rem solid #d9e3f0; border-left: 0.3rem solid var(--faq-accent); border-radius: 1rem; background: rgb(255 255 255 / 88%); box-shadow: 0 0.8rem 2rem rgb(30 54 94 / 7%); }
.broel-portfolio-faq:nth-child(4n + 2) { --faq-accent: var(--portfolio-green); }.broel-portfolio-faq:nth-child(4n + 3) { --faq-accent: var(--portfolio-orange); }.broel-portfolio-faq:nth-child(4n + 4) { --faq-accent: var(--portfolio-purple); }
.broel-portfolio-faq summary { display: grid; min-height: 5.25rem; padding: 1rem 1.15rem; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.85rem; color: var(--portfolio-navy); cursor: pointer; font-size: 1rem; font-weight: 850; line-height: 1.35; list-style: none; }
.broel-portfolio-faq summary::-webkit-details-marker { display: none; }
.broel-portfolio-faq summary > span { display: grid; width: 2.25rem; height: 2.25rem; flex: 0 0 2.25rem; place-items: center; border-radius: 0.7rem; color: #fff; background: var(--faq-accent); font-size: 0.68rem; font-weight: 900; }
.broel-portfolio-faq summary > i { position: relative; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #edf3fc; background: color-mix(in srgb, var(--faq-accent) 13%, white); }
.broel-portfolio-faq summary > i::before, .broel-portfolio-faq summary > i::after { position: absolute; width: 0.68rem; height: 0.12rem; top: calc(50% - 0.06rem); left: calc(50% - 0.34rem); border-radius: 99px; background: var(--faq-accent); content: ""; transition: transform 160ms ease; }
.broel-portfolio-faq summary > i::after { transform: rotate(90deg); }.broel-portfolio-faq[open] summary > i::after { transform: rotate(0); }
.broel-portfolio-faq summary:hover, .broel-portfolio-faq summary:focus-visible { color: var(--faq-accent); background: #f6f9fd; background: color-mix(in srgb, var(--faq-accent) 5%, white); }
.broel-portfolio-faq summary:focus-visible { outline: 0.18rem solid rgb(54 120 232 / 25%); outline-offset: -0.18rem; }
.broel-portfolio-faq > div { padding: 0 1.3rem 1.25rem 4.25rem; }
.broel-portfolio-faq > div p { margin: 0; color: #637185; font-size: 0.92rem; line-height: 1.7; }

@media (min-width: 48rem) {
	.broel-portfolio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-portfolio-section-heading { grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr); }
	.broel-portfolio-cta__inner { grid-template-columns: minmax(0, 1fr) auto; }
	.broel-portfolio-faqs__heading { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.8fr); }
	.broel-portfolio-faqs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 64rem) {
	.broel-portfolio-hero__grid { grid-template-columns: minmax(0, 1.12fr) minmax(26rem, 0.88fr); }
	.broel-portfolio-method__grid { grid-template-columns: minmax(0, 0.9fr) minmax(28rem, 1.1fr); }
	.broel-portfolio-method ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
	.broel-portfolio-hero { padding-top: 3.5rem; }
	.broel-portfolio-hero__content h1 { font-size: clamp(2.65rem, 13vw, 4rem); }
	.broel-portfolio-hero__art { min-height: 21rem; }
	.broel-portfolio-art-card--website { width: 82%; }
	.broel-portfolio-art-card--brand { width: 48%; }
	.broel-portfolio-tab { min-height: 2.8rem; }
	.broel-portfolio-card__visual { min-height: 15rem; }
	.broel-portfolio-cta .broel-portfolio-button { width: 100%; text-align: center; }
	.broel-portfolio-faq summary { min-height: 4.8rem; }
	.broel-portfolio-faq > div { padding-left: 1.15rem; }
}

@media (prefers-reduced-motion: reduce) {
	.broel-portfolio-card,
	.broel-portfolio-tab { transition: none; }
}

@media (min-width: 75rem) {
	.broel-portfolio-gallery--our-work .broel-portfolio-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.broel-portfolio-gallery--our-work .broel-portfolio-card__visual { min-height: 13rem; padding: 1.5rem; }
	.broel-portfolio-gallery--our-work .broel-portfolio-mockup { inset: 3.6rem 1.2rem 1.2rem; }
	.broel-portfolio-gallery--our-work .broel-portfolio-card__visual--logo .broel-portfolio-mockup { inset-inline: 20%; }
	.broel-portfolio-gallery--our-work .broel-portfolio-card__visual--graphics .broel-portfolio-mockup,
	.broel-portfolio-gallery--our-work .broel-portfolio-card__visual--social .broel-portfolio-mockup,
	.broel-portfolio-gallery--our-work .broel-portfolio-card__visual--print .broel-portfolio-mockup { inset: 3.3rem 2.2rem 1rem; }
	.broel-portfolio-gallery--our-work .broel-portfolio-card__content { padding: 1.35rem; }
	.broel-portfolio-gallery--our-work .broel-portfolio-card__content h3 { font-size: 1.35rem; }
	.broel-portfolio-gallery--our-work .broel-portfolio-card__content h3 + p { font-size: 0.9rem; }
}

/* Compact site-wide consultation enquiry immediately before the footer. */
.broel-quick-enquiry { --quick-navy: #202b3d; --quick-blue: #377be7; --quick-green: #36ae71; --quick-orange: #fb8c32; --quick-purple: #7950bd; position: relative; overflow: hidden; padding-block: clamp(3.5rem, 7vw, 6.5rem); border-bottom: 0.4rem solid transparent; border-image: linear-gradient(90deg, var(--quick-blue) 0 25%, var(--quick-green) 25% 50%, var(--quick-orange) 50% 75%, var(--quick-purple) 75%) 1; color: var(--quick-navy); background: linear-gradient(128deg, #eef5ff 0%, #fff 44%, #f8f3ff 100%); }
.broel-quick-enquiry::before { position: absolute; z-index: 2; width: 100%; height: 0.4rem; top: 0; left: 0; background: linear-gradient(90deg, var(--quick-blue) 0 25%, var(--quick-green) 25% 50%, var(--quick-orange) 50% 75%, var(--quick-purple) 75%); box-shadow: 0 0.35rem 1rem rgb(46 77 125 / 12%); content: ''; }
.broel-quick-enquiry__inner { position: relative; z-index: 1; display: grid; gap: clamp(2rem, 4vw, 3.5rem); }
.broel-quick-enquiry__intro { position: relative; display: grid; align-items:start; gap:1rem 1.5rem; }
.broel-quick-enquiry__icon { display: grid; width: 4.5rem; height: 4.5rem; margin-bottom: 1.25rem; place-items: center; border: 0.08rem solid rgb(55 123 231 / 22%); border-radius: 1.35rem; color: #fff; background: linear-gradient(145deg, var(--quick-blue), #255ebc); box-shadow: 0 1rem 2.2rem rgb(55 123 231 / 24%); transform: rotate(-3deg); }
.broel-quick-enquiry__kicker { margin: 0 0 0.65rem; color: var(--quick-blue); font-size: 0.78rem; font-weight: 900; letter-spacing: 0.11em; text-transform: uppercase; }
.broel-quick-enquiry h2 { max-width: 12ch; margin: 0 0 1rem; color: var(--quick-navy); font-size: clamp(2.35rem, 4.7vw, 4.7rem); line-height: 0.98; letter-spacing: -0.05em; }
.broel-quick-enquiry__intro > div > p:not(.broel-quick-enquiry__kicker) { max-width: 42rem; margin: 0; color: #5e6b7d; font-size: clamp(1rem, 1.4vw, 1.14rem); line-height: 1.7; }
.broel-quick-enquiry__benefits { display: grid; margin: 1.4rem 0 0; padding: 0; gap: 0.55rem; list-style: none; }
.broel-quick-enquiry__benefits li { display: flex; align-items: center; gap: 0.65rem; font-size: 0.94rem; font-weight: 760; }
.broel-quick-enquiry__benefits li::before { display: grid; width: 1.35rem; height: 1.35rem; flex: 0 0 1.35rem; place-items: center; border-radius: 50%; color: #fff; background: var(--quick-green); content: "✓"; font-size: 0.72rem; font-weight: 900; }
.broel-quick-enquiry__content{display:grid;align-items:stretch;gap:clamp(1.25rem,3vw,2.4rem)}
.broel-quick-enquiry__details{display:flex;padding:clamp(1.4rem,3vw,2.3rem);border:.0625rem solid #dce5f1;border-radius:clamp(1.3rem,2.5vw,2rem);flex-direction:column;background:rgb(255 255 255/78%);box-shadow:0 1.6rem 4rem rgb(33 58 95/8%);backdrop-filter:blur(.6rem)}
.broel-quick-enquiry__details-kicker,.broel-quick-enquiry__form-kicker{margin:0 0 .55rem;color:var(--quick-blue);font-size:.73rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}
.broel-quick-enquiry__details h3,.broel-quick-enquiry__card>h3{margin:0;color:var(--quick-navy);font-size:clamp(1.65rem,2.7vw,2.35rem);letter-spacing:-.035em;line-height:1.05}
.broel-quick-enquiry__details>p:not(.broel-quick-enquiry__details-kicker){margin:.9rem 0 1.25rem;color:#5f6d80;font-size:.95rem;line-height:1.6}
.broel-quick-enquiry__details dl{display:grid;margin:0;gap:.65rem}
.broel-quick-enquiry__details dl>div{padding:1rem;border:.0625rem solid rgb(55 123 231/10%);border-radius:1rem;background:rgb(255 255 255/86%)}
.broel-quick-enquiry__details dt{display:flex;margin:0 0 .42rem;align-items:center;gap:.65rem;color:#7a8494;font-size:.69rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.broel-quick-enquiry__details dt>span{display:grid;width:2rem;height:2rem;border-radius:.65rem;place-items:center;color:#fff;background:var(--quick-blue);font-size:.9rem;letter-spacing:0}
.broel-quick-enquiry__details dl>div:nth-child(2) dt>span{background:var(--quick-green)}.broel-quick-enquiry__details dl>div:nth-child(3) dt>span{background:var(--quick-orange)}.broel-quick-enquiry__details dl>div:nth-child(4) dt>span{background:var(--quick-purple)}
.broel-quick-enquiry__details dd{margin:0;color:#263348;font-size:.87rem;line-height:1.5}.broel-quick-enquiry__details dd a{color:#245fae;font-size:clamp(1.05rem,1.7vw,1.25rem);font-weight:900;text-decoration:none}.broel-quick-enquiry__details dd strong,.broel-quick-enquiry__details dd small{display:block}.broel-quick-enquiry__details dd small{margin-top:.18rem;color:#68768a;font-size:.74rem}
.broel-quick-enquiry__details>a{display:inline-flex;margin-top:auto;padding-top:1.25rem;align-items:center;gap:.55rem;color:#285fb6;font-size:.78rem;font-weight:950;text-decoration:none}
.broel-quick-enquiry__card>h3{margin-bottom:1.25rem;font-size:clamp(1.5rem,2.3vw,2rem)}
.broel-quick-enquiry__card { padding: clamp(1.3rem, 3vw, 2.15rem); border: 0.0625rem solid #dce5f1; border-radius: clamp(1.3rem, 2.5vw, 2rem); background: rgb(255 255 255 / 95%); box-shadow: 0 1.6rem 4rem rgb(33 58 95 / 12%); backdrop-filter: blur(0.6rem); }
.broel-quick-enquiry__form, .broel-quick-enquiry__fields { display: grid; gap: 1rem; }
.broel-quick-enquiry__fields label { display: grid; gap: 0.42rem; color: #344257; font-size: 0.82rem; font-weight: 780; }
.broel-quick-enquiry__form :where(input:not([type="checkbox"]), select, textarea) { width: 100%; min-height: 3rem; padding: 0.68rem 0.78rem; border: 0.075rem solid #c9d5e5; border-radius: 0.68rem; color: var(--quick-navy); background: #fbfcfe; font: inherit; font-size: 0.92rem; font-weight: 500; transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease; }
.broel-quick-enquiry__form textarea { min-height: 5.8rem; resize: vertical; }
.broel-quick-enquiry__form :where(input, select, textarea):focus { outline: 0; border-color: var(--quick-blue); background: #fff; box-shadow: 0 0 0 0.22rem rgb(55 123 231 / 15%); }
.broel-quick-enquiry__human { display: grid; padding: 0.8rem; border-radius: 0.75rem; grid-template-columns: minmax(0, 1fr) 5.2rem; align-items: center; gap: 0.7rem !important; background: #eef5ff; }
.broel-quick-enquiry__human input { min-height: 2.65rem !important; background: #fff !important; }
.broel-quick-enquiry__consent { display: flex; align-items: flex-start; gap: 0.65rem; color: #647184; font-size: 0.78rem; font-weight: 500; line-height: 1.5; }
.broel-quick-enquiry__consent input { width: 1.05rem; height: 1.05rem; flex: 0 0 1.05rem; margin-top: 0.13rem; accent-color: var(--quick-blue); }
.broel-quick-enquiry__consent a { color: #245fae; font-weight: 750; }
.broel-quick-enquiry__submit { display: inline-flex; width: 100%; min-height: 3.35rem; padding: 0.75rem 1rem; border: 0; border-radius: 0.78rem; align-items: center; justify-content: center; gap: 0.65rem; color: #fff; background: linear-gradient(135deg, var(--quick-orange), #e56f18); box-shadow: 0 0.85rem 1.8rem rgb(229 111 24 / 24%); cursor: pointer; font: inherit; font-size: 0.9rem; font-weight: 900; letter-spacing: 0.015em; transition: transform 150ms ease, box-shadow 150ms ease; }
.broel-quick-enquiry__submit:hover, .broel-quick-enquiry__submit:focus-visible { box-shadow: 0 1rem 2.1rem rgb(229 111 24 / 32%); transform: translateY(-0.1rem); }
.broel-quick-enquiry__submit:focus-visible { outline: 0.2rem solid #f7bf45; outline-offset: 0.18rem; }
.broel-quick-enquiry__security { margin: -0.25rem 0 0; color: #728096; font-size: 0.72rem; text-align: center; }
.broel-quick-enquiry__security span { color: var(--quick-green); font-weight: 900; }
.broel-quick-enquiry__notice { margin: 0 0 1rem; padding: 0.9rem 1rem; border-radius: 0.75rem; font-size: 0.88rem; line-height: 1.5; }
.broel-quick-enquiry__notice--success { color: #155f3a; background: #e6f8ed; }
.broel-quick-enquiry__notice--error { color: #9e2f36; background: #fff0f1; }
.broel-quick-enquiry__honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.broel-quick-enquiry__orb { position: absolute; border-radius: 50%; pointer-events: none; }
.broel-quick-enquiry__orb--one { top: -8rem; right: -5rem; width: 20rem; height: 20rem; border: 3rem solid rgb(121 80 189 / 10%); }
.broel-quick-enquiry__orb--two { bottom: -7rem; left: -5rem; width: 15rem; height: 15rem; border: 2.4rem solid rgb(54 174 113 / 10%); }

@media (min-width: 42rem) {
	.broel-quick-enquiry__intro { grid-template-columns:auto minmax(0,1fr); }
	.broel-quick-enquiry__intro .broel-quick-enquiry__icon { grid-row:1 / 3; }
	.broel-quick-enquiry__intro .broel-quick-enquiry__benefits { grid-column:2; grid-template-columns:repeat(3,minmax(0,1fr)); }
	.broel-quick-enquiry__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.broel-quick-enquiry__wide { grid-column: 1 / -1; }
}

@media (min-width: 64rem) {
	.broel-quick-enquiry__content { grid-template-columns:minmax(19rem,.78fr) minmax(34rem,1.22fr); }
}

@media (max-width: 41.99rem) {
	.broel-quick-enquiry__human { grid-template-columns: 1fr; }
	.broel-quick-enquiry__human input { max-width: 7rem; }
}

@media (prefers-reduced-motion: reduce) {
	.broel-quick-enquiry__submit { transition: none; }
}
/* Privacy consent and gently timed welcome offer. */
.broel-cookie-panel,
.broel-welcome-offer {
	position: fixed;
	z-index: 9998;
	left: clamp(0.75rem, 2vw, 1.5rem);
	bottom: clamp(0.75rem, 2vw, 1.5rem);
	width: min(calc(100vw - 1.5rem), 27rem);
	border: 0.0625rem solid rgb(36 85 184 / 18%);
	border-radius: 1.25rem;
	background: rgb(255 255 255 / 97%);
	box-shadow: 0 1.25rem 3.5rem rgb(18 33 57 / 22%);
	color: var(--broel-charcoal);
	transform: translate3d(calc(-100% - 3rem), 0, 0);
	opacity: 0;
	transition: transform 280ms ease, opacity 220ms ease;
}
.broel-cookie-panel.is-visible,
.broel-welcome-offer.is-visible { transform: translate3d(0, 0, 0); opacity: 1; }
.broel-cookie-panel[hidden],
.broel-welcome-offer[hidden],
.broel-cookie-reopen[hidden] { display: none !important; }
.broel-cookie-panel { display: grid; grid-template-columns: 2.75rem 1fr; gap: 0.85rem; padding: 1.05rem 2.65rem 1.05rem 1.05rem; }
.broel-cookie-panel__icon { display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 0.85rem; background: #fff1e4; font-size: 1.4rem; }
.broel-overlay-eyebrow { margin: 0 0 0.2rem; color: var(--broel-blue); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.broel-cookie-panel h2,
.broel-welcome-offer h2 { margin: 0; color: var(--broel-charcoal); font-size: clamp(1.15rem, 3vw, 1.4rem); line-height: 1.12; }
.broel-cookie-panel p,
.broel-welcome-offer p { margin: 0.5rem 0 0; font-size: 0.84rem; line-height: 1.48; }
.broel-cookie-panel a,
.broel-welcome-offer a { color: var(--broel-blue); font-weight: 800; }
.broel-overlay-close { position: absolute; top: 0.55rem; right: 0.6rem; display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border: 0; border-radius: 50%; background: #eef4ff; color: #1e3150; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.broel-overlay-close:hover,
.broel-overlay-close:focus-visible { background: var(--broel-blue); color: #fff; }
.broel-cookie-panel__actions { display: flex; flex-wrap: wrap; gap: 0.45rem; margin-top: 0.85rem; }
.broel-cookie-button { min-height: 2.35rem; padding: 0.5rem 0.75rem; border: 0.0625rem solid #ccd8eb; border-radius: 0.65rem; font-size: 0.76rem; font-weight: 900; cursor: pointer; }
.broel-cookie-button--quiet { background: #fff; color: #263955; }
.broel-cookie-button--primary { border-color: var(--broel-blue); background: var(--broel-blue); color: #fff; }
.broel-cookie-manage { min-height: 2.35rem; padding: 0.4rem 0.3rem; border: 0; background: transparent; color: var(--broel-blue); font-size: 0.76rem; font-weight: 850; text-decoration: underline; cursor: pointer; }
.broel-cookie-options { grid-column: 1 / -1; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 0.0625rem solid #e0e7f1; }
.broel-cookie-options label { display: grid; grid-template-columns: 1.2rem 1fr; gap: 0.55rem; margin-bottom: 0.65rem; font-size: 0.78rem; }
.broel-cookie-options input { width: 1rem; height: 1rem; margin-top: 0.14rem; accent-color: var(--broel-blue); }
.broel-cookie-options small { display: block; margin-top: 0.08rem; color: #637188; line-height: 1.35; }
.broel-footer-legal__links .broel-cookie-reopen { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: inherit; text-decoration: none; cursor: pointer; }
.broel-footer-legal__links .broel-cookie-reopen:hover,
.broel-footer-legal__links .broel-cookie-reopen:focus-visible { color: #fff; text-decoration: underline; text-underline-offset: 0.2em; }

.broel-welcome-offer { z-index: 9997; display: grid; grid-template-columns: 5.1rem 1fr; gap: 1rem; width: min(calc(100vw - 1.5rem), 32rem); padding: 1.25rem 2.8rem 1.25rem 1.15rem; overflow: hidden; border: 0; background: linear-gradient(145deg, #fff 45%, #edf4ff); }
.broel-welcome-offer::before { position: absolute; z-index: -1; right: -3.5rem; bottom: -4.5rem; width: 10rem; height: 10rem; border: 1.4rem solid rgb(126 76 185 / 12%); border-radius: 50%; content: ''; }
.broel-welcome-offer__badge { display: grid; place-content: center; align-self: start; width: 5.1rem; height: 5.1rem; border-radius: 1.35rem; background: linear-gradient(145deg, var(--broel-orange), #ffab57); box-shadow: 0 0.8rem 1.6rem rgb(248 137 50 / 28%); color: #fff; text-align: center; transform: rotate(-4deg); }
.broel-welcome-offer__badge strong { font-size: 1.55rem; line-height: 1; }
.broel-welcome-offer__badge span { margin-top: 0.18rem; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.08em; }
.broel-welcome-offer__form { margin-top: 0.75rem; }
.broel-welcome-offer__form > label:not(.broel-welcome-offer__consent) { display: block; margin-bottom: 0.3rem; font-size: 0.75rem; font-weight: 850; }
.broel-welcome-offer__form > div { display: grid; grid-template-columns: 1fr auto; gap: 0.4rem; }
.broel-welcome-offer__form input[type='email'] { min-width: 0; min-height: 2.75rem; padding: 0.65rem 0.75rem; border: 0.0625rem solid #bfcee4; border-radius: 0.65rem; font: inherit; }
.broel-welcome-offer__form button { min-height: 2.75rem; padding: 0.6rem 0.8rem; border: 0; border-radius: 0.65rem; background: var(--broel-blue); color: #fff; font-weight: 900; cursor: pointer; }
.broel-welcome-offer__consent { display: grid; grid-template-columns: 1rem 1fr; gap: 0.45rem; margin-top: 0.6rem; color: #5f6d82; font-size: 0.67rem; line-height: 1.35; }
.broel-welcome-offer__consent input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--broel-blue); }
.broel-welcome-offer__alternative { color: #5a687d; }
.broel-welcome-code { display: flex; align-items: center; gap: 0.5rem; }
.broel-welcome-code span { padding: 0.5rem 0.7rem; border: 0.1rem dashed var(--broel-orange); border-radius: 0.55rem; background: #fff7ef; font-weight: 950; letter-spacing: 0.08em; }
.broel-welcome-code button { min-height: 2.4rem; padding: 0.45rem 0.65rem; border: 0; border-radius: 0.55rem; background: var(--broel-blue); color: #fff; font-weight: 850; cursor: pointer; }
.broel-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 35rem) {
	.broel-cookie-panel,
	.broel-welcome-offer {
		left: 0.5rem;
		bottom: max(0.5rem, env(safe-area-inset-bottom));
		width: calc(100vw - 1rem);
		max-height: calc(100dvh - 1rem - env(safe-area-inset-top));
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}
	.broel-cookie-panel { grid-template-columns: 2.3rem 1fr; gap: 0.65rem; padding: 0.85rem 2.75rem 0.85rem 0.8rem; }
	.broel-cookie-panel__icon { width: 2.3rem; height: 2.3rem; border-radius: 0.7rem; font-size: 1.1rem; }
	.broel-cookie-panel__actions { display: grid; grid-template-columns: 1fr 1fr; }
	.broel-cookie-button,
	.broel-cookie-manage { min-height: 2.75rem; font-size: 0.78rem; }
	.broel-cookie-manage { grid-column: 1 / -1; }
	.broel-cookie-options label { font-size: 0.8rem; }
	.broel-welcome-offer { grid-template-columns: 3.8rem 1fr; gap: 0.75rem; padding: 0.9rem 2.75rem 0.9rem 0.8rem; }
	.broel-welcome-offer__badge { width: 3.8rem; height: 3.8rem; border-radius: 1rem; }
	.broel-welcome-offer__badge strong { font-size: 1.25rem; }
	.broel-welcome-offer__form > div { grid-template-columns: 1fr; }
	.broel-welcome-offer__form input[type='email'],
	.broel-welcome-offer__form button { width: 100%; min-height: 3rem; font-size: 1rem; }
	.broel-welcome-offer__consent { grid-template-columns: 1.15rem 1fr; gap: 0.55rem; font-size: 0.75rem; line-height: 1.45; }
	.broel-welcome-offer__consent input { width: 1.15rem; height: 1.15rem; }
	.broel-overlay-close { width: 2.25rem; height: 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
	.broel-cookie-panel,
	.broel-welcome-offer { transition: none; }
}

/* Detailed project brief */
.broel-project-page { --project-blue: #377be7; --project-green: #35ad71; --project-orange: #f98b32; --project-purple: #7a4cbc; --project-navy: #202c3f; color: #242c38; background: #f5f8fd; }
.broel-project-hero { position: relative; padding-block: clamp(3.5rem, 7vw, 6.5rem); overflow: hidden; background: linear-gradient(125deg, #f8fbff 0%, #edf4ff 48%, #f8efff 100%); }
.broel-project-shape { position: absolute; border-radius: 50%; pointer-events: none; }
.broel-project-shape--one { width: 22rem; height: 22rem; top: -12rem; right: 34%; border: 3.2rem solid rgb(55 123 231 / 8%); }
.broel-project-shape--two { width: 16rem; height: 16rem; right: -6rem; bottom: -7rem; border: 2.5rem solid rgb(249 139 50 / 10%); }
.broel-project-hero__grid { position: relative; z-index: 1; display: grid; align-items: center; gap: clamp(2.5rem, 7vw, 7rem); }
.broel-project-kicker { margin: 0 0 0.65rem; color: var(--project-blue); font-size: 0.77rem; font-weight: 950; letter-spacing: 0.13em; text-transform: uppercase; }
.broel-project-hero__copy h1 { max-width: 49rem; margin: 0; color: var(--project-navy); font-size: clamp(2.65rem, 6vw, 5.5rem); letter-spacing: -0.055em; line-height: 0.98; }
.broel-project-hero__copy > p:not(.broel-project-kicker) { max-width: 42rem; margin: 1.4rem 0 0; color: #59677c; font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.65; }
.broel-project-button { display: inline-flex; min-height: 3.55rem; margin-top: 1.7rem; padding: 0.85rem 1.25rem; border-radius: 0.9rem; align-items: center; gap: 0.75rem; color: #fff !important; background: var(--project-orange); box-shadow: 0 1rem 2.3rem rgb(249 139 50 / 25%); font-size: 0.9rem; font-weight: 950; text-decoration: none; transition: transform 180ms ease, box-shadow 180ms ease; }
.broel-project-button:hover, .broel-project-button:focus-visible { transform: translateY(-0.18rem); box-shadow: 0 1.25rem 2.6rem rgb(249 139 50 / 33%); }
.broel-project-hero__visual { position: relative; width: min(100%, 28rem); min-height: 25rem; margin-inline: auto; }
.broel-project-hero__visual::before, .broel-project-hero__visual::after { position: absolute; border-radius: 2.5rem; content: ''; }
.broel-project-hero__visual::before { inset: 1.6rem -1rem -0.8rem 2.2rem; background: linear-gradient(145deg, var(--project-purple), var(--project-blue)); transform: rotate(6deg); opacity: 0.22; }
.broel-project-hero__visual::after { width: 9rem; height: 9rem; top: -1.5rem; right: -1.5rem; border: 1.5rem solid rgb(53 173 113 / 18%); border-radius: 50%; }
.broel-project-sheet { position: relative; z-index: 2; display: grid; min-height: 24rem; padding: clamp(2rem, 5vw, 3rem); border: 0.08rem solid rgb(55 123 231 / 15%); border-radius: 3rem 1.3rem 3rem 1.3rem; align-content: center; gap: 0.95rem; background: rgb(255 255 255 / 94%); box-shadow: 0 2rem 5rem rgb(31 55 91 / 18%); transform: rotate(-2deg); }
.broel-project-sheet::before { display: block; width: 4rem; height: 0.55rem; margin-bottom: 0.5rem; border-radius: 999px; background: linear-gradient(90deg, var(--project-blue), var(--project-green), var(--project-orange)); content: ''; }
.broel-project-sheet div { display: flex; min-height: 3.3rem; padding: 0.8rem 1rem; border-radius: 0.85rem; align-items: center; gap: 0.75rem; color: #314057; background: #f4f7fc; }
.broel-project-sheet div:nth-child(2) { background: #eef9f3; }.broel-project-sheet div:nth-child(3) { background: #fff5ec; }.broel-project-sheet div:nth-child(4) { background: #f5f0fc; }
.broel-project-sheet span { display: grid; width: 1.8rem; height: 1.8rem; border-radius: 50%; place-items: center; color: #fff; background: var(--project-blue); font-weight: 950; }
.broel-project-sheet div:nth-child(2) span { background: var(--project-green); }.broel-project-sheet div:nth-child(3) span { background: var(--project-orange); }.broel-project-sheet div:nth-child(4) span { background: var(--project-purple); }
.broel-project-visual__tag { position: absolute; z-index: 3; right: -1rem; bottom: 0.2rem; padding: 0.8rem 1rem; border: 0.18rem solid #fff; border-radius: 0.85rem; color: #fff; background: var(--project-purple); box-shadow: 0 0.8rem 2rem rgb(50 39 76 / 22%); font-size: 0.73rem; font-weight: 950; letter-spacing: 0.05em; transform: rotate(2deg); }
.broel-project-intro { padding-block: clamp(2.8rem, 6vw, 5rem); background: #fff; }
.broel-project-intro__grid { display: grid; gap: 1.5rem 5rem; }
.broel-project-intro h2 { max-width: 38rem; margin: 0; color: var(--project-navy); font-size: clamp(2rem, 4vw, 3.4rem); letter-spacing: -0.045em; line-height: 1.05; }
.broel-project-intro__grid > div:last-child { padding: 1.4rem 1.5rem; border-left: 0.35rem solid var(--project-orange); border-radius: 0 1rem 1rem 0; background: #fff8f1; }
.broel-project-intro__grid p { margin: 0; color: #536176; line-height: 1.65; }.broel-project-intro__grid p + p { margin-top: 0.85rem; }
.broel-project-form-section { padding-block: clamp(3rem, 7vw, 6rem); background: linear-gradient(180deg, #eef4fc, #f8faff); }
.broel-project-layout { display: grid; align-items: start; gap: 2rem; }
.broel-project-guide { padding: 1.5rem; border: 0.08rem solid #dce5f2; border-radius: 1.5rem; background: #fff; box-shadow: 0 1rem 3rem rgb(39 61 96 / 8%); }
.broel-project-guide h2 { margin: 0; color: var(--project-navy); font-size: 2rem; letter-spacing: -0.035em; }
.broel-project-guide ol { display: grid; margin: 1.4rem 0 0; padding: 0; gap: 0.55rem; list-style: none; }
.broel-project-guide li { display: flex; min-height: 3rem; padding: 0.65rem 0.75rem; border-radius: 0.75rem; align-items: center; gap: 0.7rem; color: #46556a; background: #f5f8fc; font-size: 0.83rem; font-weight: 800; }
.broel-project-guide li span { color: var(--project-blue); font-weight: 950; }
.broel-project-guide li:nth-child(2) span { color: var(--project-green); }.broel-project-guide li:nth-child(3) span { color: var(--project-orange); }.broel-project-guide li:nth-child(4) span { color: var(--project-purple); }.broel-project-guide li:nth-child(5) span { color: #db4349; }
.broel-project-guide__note { margin-top: 1rem; padding: 1rem; border-radius: 0.85rem; color: #664217; background: #fff1dc; font-size: 0.78rem; line-height: 1.5; }.broel-project-guide__note p { margin: 0.25rem 0 0; }
.broel-project-form-card { min-width: 0; }
.broel-project-form { display: grid; gap: 1.35rem; }
.broel-project-form fieldset { min-width: 0; margin: 0; padding: clamp(1.15rem, 3vw, 2rem); border: 0.08rem solid #dbe4f1; border-top: 0.4rem solid var(--section-colour, var(--project-blue)); border-radius: 1.4rem; background: #fff; box-shadow: 0 1rem 3rem rgb(39 61 96 / 7%); }
.broel-project-form fieldset:nth-of-type(2) { --section-colour: var(--project-green); }.broel-project-form fieldset:nth-of-type(3) { --section-colour: var(--project-orange); }.broel-project-form fieldset:nth-of-type(4) { --section-colour: var(--project-purple); }.broel-project-form fieldset:nth-of-type(5) { --section-colour: #e54950; }
.broel-project-form legend { display: grid; width: 100%; padding: 0 0 1.25rem; grid-template-columns: 2.65rem 1fr; gap: 0.1rem 0.8rem; color: var(--project-navy); }
.broel-project-form legend > span { display: grid; width: 2.65rem; height: 2.65rem; grid-row: 1 / 3; border-radius: 0.8rem; place-items: center; color: #fff; background: var(--section-colour, var(--project-blue)); font-size: 0.82rem; font-weight: 950; }
.broel-project-form legend strong { align-self: end; font-size: clamp(1.2rem, 2.5vw, 1.55rem); line-height: 1.15; }.broel-project-form legend small { color: #657287; font-size: 0.76rem; line-height: 1.4; }
.broel-project-fields { display: grid; gap: 1.05rem; }
.broel-project-course-selection{padding:1rem 1.1rem;border:.08rem solid #b8d0f4;border-radius:.9rem;color:#263650;background:linear-gradient(110deg,#eef5ff,#f7f1ff)}.broel-project-course-selection strong{display:block;color:var(--project-blue);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.broel-project-course-selection p{margin:.35rem 0;color:var(--project-navy);font-weight:900}.broel-project-course-selection a{color:var(--project-purple);font-size:.76rem;font-weight:850}
.broel-project-fields label:not(.broel-project-choice label), .broel-project-human { display: grid; align-content: start; gap: 0.42rem; color: #334157; font-size: 0.82rem; font-weight: 850; }
.broel-project-fields input:not([type='checkbox']), .broel-project-fields select, .broel-project-fields textarea { width: 100%; min-width: 0; min-height: 3.2rem; padding: 0.78rem 0.9rem; border: 0.08rem solid #cbd7e6; border-radius: 0.75rem; color: #253248; background: #fbfcfe; font: inherit; font-size: 0.94rem; font-weight: 500; line-height: 1.5; transition: border-color 150ms ease, box-shadow 150ms ease, background 150ms ease; }
.broel-project-fields textarea { min-height: 7.5rem; resize: vertical; }.broel-project-fields input:focus, .broel-project-fields select:focus, .broel-project-fields textarea:focus { border-color: var(--section-colour, var(--project-blue)); outline: none; background: #fff; box-shadow: 0 0 0 0.2rem rgb(55 123 231 / 14%); }
.broel-project-fields input::placeholder, .broel-project-fields textarea::placeholder { color: #7a8799; opacity: 1; }
.broel-project-choice { display: grid; gap: 0.6rem; color: #334157; font-size: 0.82rem; font-weight: 850; }.broel-project-choice > div { display: flex; flex-wrap: wrap; gap: 0.5rem; }.broel-project-choice label { position: relative; cursor: pointer; }.broel-project-choice input { position: absolute; opacity: 0; }.broel-project-choice label span { display: flex; min-height: 2.7rem; padding: 0.58rem 0.85rem; border: 0.08rem solid #d2dcea; border-radius: 999px; align-items: center; color: #536176; background: #f8faff; font-size: 0.78rem; font-weight: 800; transition: color 150ms ease, border-color 150ms ease, background 150ms ease; }.broel-project-choice input:checked + span { border-color: var(--section-colour, var(--project-blue)); color: #fff; background: var(--section-colour, var(--project-blue)); }.broel-project-choice input:focus-visible + span { outline: 0.18rem solid rgb(55 123 231 / 28%); outline-offset: 0.12rem; }
.broel-project-human { grid-column: 1 / -1; max-width: 22rem; }.broel-project-human small { color: #6a778b; font-weight: 500; }
.broel-project-consent { display: grid; padding: 1rem 1.1rem; border: 0.08rem solid #d4deeb; border-radius: 0.9rem; grid-template-columns: 1.2rem 1fr; gap: 0.7rem; color: #526075; background: #fff; font-size: 0.8rem; line-height: 1.5; }.broel-project-consent input { width: 1.15rem; height: 1.15rem; margin-top: 0.12rem; accent-color: var(--project-blue); }.broel-project-consent a { color: var(--project-blue); font-weight: 850; }
.broel-project-submit { display: grid; width: 100%; min-height: 4.6rem; padding: 0.8rem 1rem 0.8rem 1.2rem; border: 0; border-radius: 1rem; grid-template-columns: 1fr auto; align-items: center; color: #fff; background: linear-gradient(110deg, var(--project-blue), #2d65c5 58%, var(--project-purple)); box-shadow: 0 1rem 2.6rem rgb(48 100 192 / 25%); cursor: pointer; font: inherit; text-align: left; transition: transform 180ms ease, box-shadow 180ms ease; }.broel-project-submit span { font-size: 1rem; font-weight: 950; }.broel-project-submit small { grid-column: 1; color: rgb(255 255 255 / 82%); font-size: 0.72rem; font-weight: 700; }.broel-project-submit b { display: grid; width: 2.7rem; height: 2.7rem; grid-column: 2; grid-row: 1 / 3; border-radius: 0.75rem; place-items: center; background: rgb(255 255 255 / 16%); font-size: 1.25rem; }.broel-project-submit:hover, .broel-project-submit:focus-visible { transform: translateY(-0.15rem); box-shadow: 0 1.3rem 3rem rgb(48 100 192 / 33%); }
.broel-project-notice { margin-bottom: 1.25rem; padding: 1.15rem 1.25rem; border-radius: 1rem; line-height: 1.5; }.broel-project-notice strong { display: block; font-size: 1.05rem; }.broel-project-notice p { margin: 0.3rem 0 0; }.broel-project-notice--success { border: 0.08rem solid #9ad8b7; color: #155d3b; background: #e9f9f0; }.broel-project-notice--error { border: 0.08rem solid #f0afb2; color: #8f242a; background: #fff0f1; }
.broel-project-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (min-width: 48rem) { .broel-project-hero__grid, .broel-project-intro__grid { grid-template-columns: minmax(0, 1.1fr) minmax(21rem, 0.9fr); }.broel-project-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }.broel-project-fields__full { grid-column: 1 / -1; } }
@media (min-width: 64rem) { .broel-project-layout { grid-template-columns: minmax(15rem, 0.34fr) minmax(0, 1fr); }.broel-project-guide { position: sticky; top: 8rem; } }
@media (max-width: 47.99rem) { .broel-project-hero { padding-top: 2.5rem; }.broel-project-hero__copy h1 { font-size: clamp(2.5rem, 12vw, 4rem); }.broel-project-hero__visual { min-height: 20rem; }.broel-project-sheet { min-height: 19rem; }.broel-project-visual__tag { right: 0; }.broel-project-intro__grid > div:last-child { padding: 1.1rem; }.broel-project-form legend { grid-template-columns: 2.4rem 1fr; }.broel-project-form legend > span { width: 2.4rem; height: 2.4rem; }.broel-project-choice > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.broel-project-choice label span { justify-content: center; text-align: center; }.broel-project-submit { min-height: 5rem; }.broel-project-guide { display: none; } }
@media (max-width: 25rem) { .broel-project-choice > div { grid-template-columns: 1fr; }.broel-project-form fieldset { padding: 1rem; }.broel-project-submit span { font-size: 0.9rem; } }
@media (prefers-reduced-motion: reduce) { .broel-project-button, .broel-project-submit { transition: none; }.broel-project-hero__visual::before, .broel-project-sheet, .broel-project-visual__tag { transform: none; } }
.broel-checkout-payment-choice{display:grid;margin:0 0 1rem;padding:1rem;border:.08rem solid #cfddf1;border-left:.35rem solid #754fb3;border-radius:.85rem;gap:.25rem;color:#526075;background:linear-gradient(105deg,#f5f9ff,#faf6ff);font-size:.8rem;line-height:1.45}.broel-checkout-payment-choice strong{color:#253248;font-size:.9rem}

/* Homepage trust mosaic and service promise. */
.broel-home-trust,.broel-home-promise{--home-blue:#377be7;--home-green:#35ad71;--home-orange:#f98b32;--home-purple:#7a4cbc;--home-red:#ea4b50;--home-ink:#1f2939;color:var(--home-ink)}
.broel-home-trust{position:relative;overflow:hidden;padding-block:clamp(4rem,8vw,7.5rem);background:#fff}
.broel-home-trust::before{position:absolute;width:24rem;height:24rem;top:-15rem;left:-11rem;border:4rem solid rgb(55 123 231/5%);border-radius:50%;content:'';pointer-events:none}
.broel-home-trust__heading{position:relative;max-width:66rem;margin:0 auto clamp(2.4rem,5vw,4.5rem);text-align:center}
.broel-home-trust__heading>p:first-child,.broel-home-promise__heading>div>p{margin:0 0 .75rem;color:var(--home-blue);font-size:.78rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.broel-home-trust__heading h2,.broel-home-promise__heading h2{margin:0;color:#111827;font-size:clamp(2.4rem,5vw,4.65rem);letter-spacing:-.055em;line-height:.98}
.broel-home-trust__heading h2 span{display:block;color:#647084}
.broel-home-trust__heading>p:last-child{max-width:49rem;margin:1.4rem auto 0;color:#59677b;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.68}
.broel-home-trust__grid{display:grid;gap:clamp(1rem,2vw,1.7rem)}
.broel-home-trust__card,.broel-home-trust__image{min-width:0;min-height:clamp(19rem,31vw,29rem);margin:0;border-radius:clamp(1.5rem,3vw,2.35rem)}
.broel-home-trust__card{display:flex;padding:clamp(1.6rem,3.3vw,2.75rem);flex-direction:column;justify-content:space-between;box-shadow:inset 0 0 0 .08rem rgb(30 45 70/4%)}
.broel-home-trust__card>p{margin:0;color:#293246;font-size:clamp(.9rem,1.2vw,1.05rem);font-weight:800}
.broel-home-trust__card div{display:grid;gap:.8rem}
.broel-home-trust__card strong{font-size:clamp(2.5rem,4.5vw,4.2rem);letter-spacing:-.055em;line-height:.95}
.broel-home-trust__card span{max-width:27rem;color:#334057;font-size:clamp(.95rem,1.35vw,1.1rem);line-height:1.55}
.broel-home-trust__card--blue{background:#dfeaff}.broel-home-trust__card--blue strong{color:#235fc4}
.broel-home-trust__card--yellow{background:#fff4b9}.broel-home-trust__card--yellow strong{color:#b05d00}
.broel-home-trust__card--purple{background:#f0e3ff}.broel-home-trust__card--purple strong{color:#6736a9}
.broel-home-trust__card--green{background:#dff5e9}.broel-home-trust__card--green strong{color:#18784a}
.broel-home-trust__image{position:relative;overflow:hidden;background:#eef3f8}
.broel-home-trust__image picture,.broel-home-trust__image img{display:block;width:100%;height:100%}
.broel-home-trust__image img{position:absolute;inset:0;object-fit:cover;transition:transform .45s ease}
.broel-home-trust__image:hover img{transform:scale(1.025)}
.broel-home-trust__actions{display:flex;margin-top:clamp(2rem,4vw,3.5rem);flex-wrap:wrap;justify-content:center;gap:.8rem}
.broel-home-trust__actions a,.broel-home-promise__footer>a{display:inline-flex;min-height:3.45rem;padding:.82rem 1.25rem;border-radius:999px;align-items:center;justify-content:center;gap:.65rem;color:#fff!important;background:var(--home-green);box-shadow:0 .9rem 2rem rgb(53 173 113/22%);font-size:.82rem;font-weight:950;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.broel-home-trust__actions a:nth-child(2){color:#2b5aa6!important;background:#edf4ff;box-shadow:none}
.broel-home-trust__actions a:hover,.broel-home-trust__actions a:focus-visible,.broel-home-promise__footer>a:hover,.broel-home-promise__footer>a:focus-visible{transform:translateY(-.14rem);box-shadow:0 1.1rem 2.4rem rgb(53 173 113/28%)}
.broel-home-promise{overflow:hidden;padding-block:clamp(4rem,8vw,7rem);background:linear-gradient(180deg,#f6f9fe,#fff)}
.broel-home-promise__heading{display:grid;margin-bottom:clamp(2.5rem,5vw,4rem);align-items:end;gap:1.5rem 4rem}
.broel-home-promise__heading h2{max-width:43rem;font-size:clamp(2.25rem,4.5vw,4.2rem)}
.broel-home-promise__heading>p{max-width:36rem;margin:0;color:#5d6a7e;font-size:1rem;line-height:1.65}
.broel-home-promise__track{display:flex;width:100%;padding:1.1rem max(1rem,calc((100vw - 88rem)/2));overflow-x:auto;gap:clamp(1rem,2vw,1.5rem);scroll-padding-inline:1rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.broel-home-promise__track article{display:flex;min-width:min(82vw,23rem);min-height:18rem;padding:clamp(1.4rem,3vw,2rem);border-radius:1.5rem;flex:0 0 min(82vw,23rem);flex-direction:column;scroll-snap-align:start;box-shadow:0 1rem 2.6rem rgb(35 57 91/8%)}
.broel-home-promise__track article:nth-child(5n+1){background:#e7f4ff}.broel-home-promise__track article:nth-child(5n+2){background:#fff0dd}.broel-home-promise__track article:nth-child(5n+3){background:#eee7ff}.broel-home-promise__track article:nth-child(5n+4){background:#e1f5ea}.broel-home-promise__track article:nth-child(5n){background:#ffe8ea}
.broel-home-promise__track article>span{height:2.4rem;color:var(--home-blue);font-family:Georgia,serif;font-size:3.9rem;line-height:1}
.broel-home-promise__track article>p{margin:auto 0 1.4rem;color:#324057;font-size:clamp(1rem,1.4vw,1.1rem);line-height:1.58}
.broel-home-promise__track article>strong{padding-top:1rem;border-top:.08rem solid rgb(44 60 83/12%);color:#202b3e;font-size:.92rem}
.broel-home-promise__footer{display:flex;margin-top:clamp(2rem,4vw,3.5rem);flex-wrap:wrap;align-items:center;justify-content:center;gap:1.5rem 3rem;text-align:center}
.broel-home-promise__footer>a{background:var(--home-purple);box-shadow:0 .9rem 2rem rgb(122 76 188/22%)}
.broel-home-promise__footer>p{display:grid;margin:0;color:#5f6c7e;gap:.2rem;font-size:.76rem;line-height:1.45}.broel-home-promise__footer>p strong{color:#27344a;font-size:.86rem}
@media(min-width:42rem){.broel-home-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.broel-home-promise__heading{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr)}.broel-home-promise__footer{justify-content:space-between;text-align:left}.broel-home-promise__footer>p{text-align:right}}
@media(min-width:64rem){.broel-home-trust__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.broel-home-promise__track article:nth-child(even){margin-top:2.5rem}.broel-home-promise__track article:nth-child(odd){margin-bottom:2.5rem}}
@media(max-width:41.99rem){.broel-home-trust__card,.broel-home-trust__image{min-height:17.5rem}.broel-home-trust__heading h2 span{margin-top:.25rem}.broel-home-trust__actions{display:grid}.broel-home-trust__actions a{width:100%}.broel-home-promise__track{padding-bottom:1.5rem}.broel-home-promise__footer{display:grid}.broel-home-promise__footer>a{width:100%}}
@media(prefers-reduced-motion:reduce){.broel-home-trust__image img,.broel-home-trust__actions a,.broel-home-promise__footer>a{transition:none}.broel-home-trust__image:hover img{transform:none}}

/* Keep homepage Academy and Services collections on one accessible scrolling row. */
.broel-academy .broel-card-grid,.broel-services .broel-card-grid{--flex-direction:row!important;--flex-wrap:nowrap!important;--justify-content:flex-start!important;--align-items:stretch!important;display:flex!important;max-width:100%;grid-template-columns:none!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;gap:clamp(1rem,2vw,1.5rem)!important;scroll-padding-inline:.25rem;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-color:#377be7 #e7eef9;scrollbar-width:auto;-webkit-overflow-scrolling:touch}
.broel-academy .broel-card-grid>.e-con-inner,.broel-services .broel-card-grid>.e-con-inner{--flex-direction:row!important;--flex-wrap:nowrap!important;--justify-content:flex-start!important;--align-items:stretch!important;display:flex!important;width:max-content!important;min-width:100%!important;max-width:none!important;grid-template-columns:none!important;overflow:visible!important;flex:0 0 auto!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:flex-start!important;gap:clamp(1rem,2vw,1.5rem)!important;padding:.35rem .25rem 1.25rem;scroll-padding-inline:.25rem}
.broel-academy .broel-card-grid::-webkit-scrollbar,.broel-services .broel-card-grid::-webkit-scrollbar,.broel-academy .broel-card-grid>.e-con-inner::-webkit-scrollbar,.broel-services .broel-card-grid>.e-con-inner::-webkit-scrollbar{height:.72rem}
.broel-academy .broel-card-grid::-webkit-scrollbar-track,.broel-services .broel-card-grid::-webkit-scrollbar-track,.broel-academy .broel-card-grid>.e-con-inner::-webkit-scrollbar-track,.broel-services .broel-card-grid>.e-con-inner::-webkit-scrollbar-track{border-radius:999px;background:#e7eef9}
.broel-academy .broel-card-grid::-webkit-scrollbar-thumb,.broel-services .broel-card-grid::-webkit-scrollbar-thumb,.broel-academy .broel-card-grid>.e-con-inner::-webkit-scrollbar-thumb,.broel-services .broel-card-grid>.e-con-inner::-webkit-scrollbar-thumb{border:.15rem solid #e7eef9;border-radius:999px;background:linear-gradient(90deg,#377be7,#7950bd)}
.broel-academy .broel-card-grid .broel-resource-card,.broel-services .broel-card-grid .broel-resource-card{--width:clamp(16.5rem,23vw,20rem)!important;--flex-grow:0!important;--flex-shrink:0!important;width:clamp(16.5rem,23vw,20rem)!important;min-width:clamp(16.5rem,23vw,20rem)!important;max-width:20rem!important;min-height:27rem!important;flex:0 0 clamp(16.5rem,23vw,20rem)!important;scroll-snap-align:start;scroll-snap-stop:normal}
.broel-academy .broel-card-grid:not(.is-at-end),.broel-services .broel-card-grid:not(.is-at-end){-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 4.75rem),transparent 100%);mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 4.75rem),transparent 100%)}
.broel-academy .broel-card-grid.is-scrolled:not(.is-at-end),.broel-services .broel-card-grid.is-scrolled:not(.is-at-end){-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3rem,#000 calc(100% - 4.75rem),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3rem,#000 calc(100% - 4.75rem),transparent 100%)}
.broel-academy .broel-card-grid.is-scrolled.is-at-end,.broel-services .broel-card-grid.is-scrolled.is-at-end{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3rem,#000 100%);mask-image:linear-gradient(90deg,transparent 0,#000 3rem,#000 100%)}
.broel-card-scroll-controls{display:flex;margin:0 0 .9rem;align-items:center;justify-content:flex-end;gap:.45rem;color:#53647b;font-size:.76rem;font-weight:850;letter-spacing:.025em}.broel-card-scroll-controls>span{margin-right:.25rem}.broel-card-scroll-button{display:grid;width:2.65rem;height:2.65rem;padding:0;border:.0625rem solid #cddbef;border-radius:50%;place-items:center;color:#fff;background:linear-gradient(145deg,#377be7,#285fbd);box-shadow:0 .55rem 1.25rem rgb(42 87 164/20%);cursor:pointer;font:inherit;font-size:1.15rem;font-weight:950;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.broel-card-scroll-button--next{background:linear-gradient(145deg,#7950bd,#5c359b);box-shadow:0 .55rem 1.25rem rgb(98 58 157/20%)}.broel-card-scroll-button:hover:not(:disabled),.broel-card-scroll-button:focus-visible:not(:disabled){transform:translateY(-.12rem) scale(1.04);box-shadow:0 .8rem 1.6rem rgb(42 87 164/27%)}.broel-card-scroll-button:focus-visible{outline:.2rem solid rgb(55 123 231/35%);outline-offset:.15rem}.broel-card-scroll-button:disabled{cursor:default;opacity:.28;box-shadow:none}
.broel-academy .broel-card-grid:focus-visible,.broel-services .broel-card-grid:focus-visible,.broel-academy .broel-card-grid>.e-con-inner:focus-visible,.broel-services .broel-card-grid>.e-con-inner:focus-visible{outline:.2rem solid rgb(55 123 231/45%);outline-offset:.25rem}
@media(max-width:41.99rem){.broel-academy .broel-card-grid .broel-resource-card,.broel-services .broel-card-grid .broel-resource-card{--width:min(82vw,18rem)!important;width:min(82vw,18rem)!important;min-width:min(82vw,18rem)!important;flex-basis:min(82vw,18rem)!important}.broel-card-scroll-controls{justify-content:space-between}.broel-card-scroll-controls>span{margin-right:auto}}

/* Site-wide back-to-top control. */
.broel-back-to-top{position:fixed;z-index:9960;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.1rem,env(safe-area-inset-bottom));display:grid;width:3.35rem;height:3.35rem;padding:0;border:.0625rem solid rgb(255 255 255/38%);border-radius:.8rem;place-items:center;color:#fff;background:linear-gradient(145deg,rgb(32 43 61/70%),rgb(55 123 231/76%));box-shadow:0 .7rem 1.8rem rgb(23 42 70/20%);backdrop-filter:blur(.5rem);-webkit-backdrop-filter:blur(.5rem);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(1rem) scale(.92);visibility:hidden;transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .18s ease,box-shadow .18s ease,bottom .22s ease}
.broel-back-to-top.is-visible{opacity:.72;pointer-events:auto;transform:translateY(0) scale(1);visibility:visible}
.broel-back-to-top:hover,.broel-back-to-top:focus-visible{opacity:1;background:linear-gradient(145deg,#27364c,#377be7);box-shadow:0 .9rem 2rem rgb(23 42 70/30%);transform:translateY(-.12rem)}
.broel-back-to-top:focus-visible{outline:.2rem solid rgb(55 123 231/38%);outline-offset:.2rem}
.broel-back-to-top svg{display:block;width:1.55rem;height:1.55rem}
body.broel-has-live-chat .broel-back-to-top{bottom:max(6.25rem,calc(env(safe-area-inset-bottom) + 5.5rem))}
body.broel-has-chaty .broel-cookie-panel,body.broel-has-chaty .broel-welcome-offer{bottom:max(6.5rem,calc(env(safe-area-inset-bottom) + 5.75rem))}
@media(max-width:47.99rem){.broel-back-to-top{right:max(.8rem,env(safe-area-inset-right));bottom:max(.8rem,env(safe-area-inset-bottom));width:3.15rem;height:3.15rem;border-radius:.75rem}body.broel-has-live-chat .broel-back-to-top{bottom:max(5.75rem,calc(env(safe-area-inset-bottom) + 5rem))}body.broel-has-chaty .broel-cookie-panel,body.broel-has-chaty .broel-welcome-offer{bottom:max(5.75rem,calc(env(safe-area-inset-bottom) + 5rem));width:min(calc(100vw - 1.5rem),27rem)}}
@media(prefers-reduced-motion:reduce){.broel-back-to-top{transition:none}}

/* Knowledgebase imagery and visual learning cues. */
.broel-kb-hero__photo{position:absolute;inset:1rem;overflow:hidden;border:.55rem solid #fff;border-radius:2.4rem 1.25rem;box-shadow:0 2rem 4rem rgb(39 83 154/18%)}.broel-kb-hero__photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.24}.broel-kb-hero__visual .broel-kb-stack{width:min(14rem,54%);min-height:10.5rem}.broel-kb-hero__visual .broel-kb-stack--front{padding:1.2rem}.broel-kb-hero__visual .broel-kb-stack--front svg{width:3.8rem;height:3.8rem}
.broel-kb-visual-guide{display:grid;margin-bottom:clamp(2rem,5vw,4rem);overflow:hidden;border:.0625rem solid #dce5f1;border-radius:2rem;background:#fff;box-shadow:0 1.5rem 3.5rem rgb(34 59 96/9%)}.broel-kb-visual-guide figure{position:relative;min-height:19rem;margin:0;overflow:hidden}.broel-kb-visual-guide picture,.broel-kb-visual-guide img{display:block;width:100%;height:100%}.broel-kb-visual-guide img{position:absolute;inset:0;object-fit:cover;object-position:center}.broel-kb-visual-guide__copy{padding:clamp(1.6rem,4vw,3rem);background:linear-gradient(135deg,#fff,#f3f7ff 55%,#f8f3ff)}.broel-kb-visual-guide h2{margin-bottom:1.3rem;font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.02;letter-spacing:-.04em}.broel-kb-visual-guide ol{display:grid;margin:0;padding:0;gap:.75rem;list-style:none}.broel-kb-visual-guide li{display:grid;padding:.75rem;border:.0625rem solid rgb(55 123 231/12%);border-radius:.9rem;grid-template-columns:auto 1fr;align-items:center;gap:.8rem;background:rgb(255 255 255/78%)}.broel-kb-visual-guide li>b{display:grid;width:2.25rem;height:2.25rem;place-items:center;border-radius:.7rem;color:#fff;background:var(--kb-blue);font-size:.72rem}.broel-kb-visual-guide li:nth-child(2)>b{background:var(--kb-orange)}.broel-kb-visual-guide li:nth-child(3)>b{background:var(--kb-green)}.broel-kb-visual-guide li span{color:#68758a;font-size:.82rem;line-height:1.4}.broel-kb-visual-guide li strong{display:block;color:var(--kb-navy);font-size:.92rem}
.broel-kb-article-visual{margin:0 0 2.4rem;overflow:hidden;border:.0625rem solid #dce5f1;border-radius:1.4rem;background:#f4f8ff;box-shadow:0 1rem 2.4rem rgb(34 59 96/8%)}.broel-kb-article-visual picture,.broel-kb-article-visual img{display:block;width:100%}.broel-kb-article-visual img{aspect-ratio:16/8.3;object-fit:cover;object-position:center 44%}.broel-kb-article-visual figcaption{display:flex;padding:.9rem 1rem;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .65rem;color:#536278;background:linear-gradient(90deg,#eef5ff,#f5f0ff);font-size:.76rem;line-height:1.35;text-align:center}.broel-kb-article-visual figcaption span{display:grid;width:1.7rem;height:1.7rem;place-items:center;border-radius:50%;color:#fff;background:var(--kb-blue);font-size:.62rem}.broel-kb-article-visual figcaption span:nth-of-type(2){background:var(--kb-orange)}.broel-kb-article-visual figcaption span:nth-of-type(3){background:var(--kb-green)}.broel-kb-article-visual figcaption i{color:var(--kb-purple);font-style:normal;font-weight:900}@media(min-width:42rem){.broel-kb-visual-guide{grid-template-columns:minmax(0,1.05fr) minmax(20rem,.95fr)}.broel-kb-visual-guide figure{min-height:29rem}}@media(max-width:47.99rem){.broel-kb-hero__photo{inset:.5rem}.broel-kb-article-visual figcaption i{display:none}}

/* Unobtrusive page-specific sharing; native share is used on compact screens. */
.broel-share{position:fixed;z-index:9990;right:24px;bottom:108px}.broel-share__toggle{display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(55,123,233,.28);border-radius:999px;background:rgba(255,255,255,.9);color:#255da9;box-shadow:0 8px 28px rgba(20,42,76,.15);backdrop-filter:blur(10px);font:600 .78rem/1 inherit;cursor:pointer}.broel-share__toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.broel-share__panel{position:absolute;right:0;bottom:52px;display:grid;grid-template-columns:repeat(2,minmax(100px,1fr));gap:7px;width:248px;padding:14px;border:1px solid #dbe4f1;border-radius:17px;background:#fff;box-shadow:0 18px 48px rgba(20,42,76,.2);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.broel-share.is-open .broel-share__panel{opacity:1;visibility:visible;transform:none}.broel-share__panel>strong{grid-column:1/-1;padding:2px 3px 7px;color:#17243a;font-size:.8rem}.broel-share__panel a,.broel-share__panel button{display:flex;align-items:center;gap:7px;min-height:39px;padding:8px;border:0;border-radius:9px;background:#f4f7fb;color:#40516a;text-decoration:none;font:600 .72rem/1.2 inherit;cursor:pointer}.broel-share__panel a:hover,.broel-share__panel a:focus-visible,.broel-share__panel button:hover,.broel-share__panel button:focus-visible{background:#e8f1ff;color:#245fae}.broel-share__panel svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}@media(max-width:700px){.broel-share{right:15px;bottom:94px}.broel-share__toggle{width:43px;height:43px;justify-content:center;padding:0}.broel-share__toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.broel-share__panel{right:0;bottom:50px;width:min(248px,calc(100vw - 30px))}}

/* Recognisable, properly scaled social-network marks inside the share panel. */
.broel-share__panel{grid-template-columns:repeat(2,minmax(118px,1fr));width:286px}.broel-share__panel a,.broel-share__panel button{gap:8px;min-width:0;padding:8px 9px;font-size:.7rem}.broel-share__panel a svg,.broel-share__panel button svg{flex:0 0 24px;width:24px;height:24px}.broel-share__panel a span,.broel-share__panel button span{min-width:0}.broel-share__panel .broel-share__facebook{color:#1877f2;background:#edf4ff}.broel-share__panel .broel-share__x{color:#0f1419;background:#f1f3f5}.broel-share__panel .broel-share__linkedin{color:#0a66c2;background:#edf5fc}.broel-share__panel .broel-share__whatsapp{color:#128c4b;background:#ecfaf2}.broel-share__panel .broel-share__telegram{color:#229ed9;background:#edf8fc}.broel-share__panel .broel-share__pinterest{color:#bd081c;background:#fff0f2}.broel-share__panel .broel-share__instagram{color:#c13584;background:#fff0f7}.broel-share__panel .broel-share__email{color:#6b4bc3;background:#f4f0ff}.broel-share__panel .broel-share__copy{grid-column:1/-1;justify-content:center;color:#3f5878;background:#eef3f8}.broel-share__panel .broel-share__facebook:hover,.broel-share__panel .broel-share__facebook:focus-visible{color:#fff;background:#1877f2}.broel-share__panel .broel-share__x:hover,.broel-share__panel .broel-share__x:focus-visible{color:#fff;background:#0f1419}.broel-share__panel .broel-share__linkedin:hover,.broel-share__panel .broel-share__linkedin:focus-visible{color:#fff;background:#0a66c2}.broel-share__panel .broel-share__whatsapp:hover,.broel-share__panel .broel-share__whatsapp:focus-visible{color:#fff;background:#128c4b}.broel-share__panel .broel-share__telegram:hover,.broel-share__panel .broel-share__telegram:focus-visible{color:#fff;background:#229ed9}.broel-share__panel .broel-share__pinterest:hover,.broel-share__panel .broel-share__pinterest:focus-visible{color:#fff;background:#bd081c}.broel-share__panel .broel-share__instagram:hover,.broel-share__panel .broel-share__instagram:focus-visible{color:#fff;background:linear-gradient(135deg,#833ab4,#e1306c,#f77737)}.broel-share__panel .broel-share__email:hover,.broel-share__panel .broel-share__email:focus-visible{color:#fff;background:#6b4bc3}.broel-share__panel .broel-share__copy:hover,.broel-share__panel .broel-share__copy:focus-visible{color:#fff;background:#3f5878}.broel-share__panel .broel-share__facebook svg,.broel-share__panel .broel-share__x svg,.broel-share__panel .broel-share__linkedin svg,.broel-share__panel .broel-share__whatsapp svg,.broel-share__panel .broel-share__telegram svg,.broel-share__panel .broel-share__pinterest svg,.broel-share__panel .broel-share__instagram svg{fill:currentColor;stroke:none}.broel-share__panel .broel-share__email svg,.broel-share__panel .broel-share__copy svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media(max-width:700px){.broel-share__panel{width:min(286px,calc(100vw - 30px))}}

/* Keep the fixed share control clear of back-to-top, including when Jivo lifts it. */
.broel-share{--broel-share-bottom:calc(max(1.1rem,env(safe-area-inset-bottom)) + 3.35rem + .85rem);right:max(1.1rem,env(safe-area-inset-right));bottom:var(--broel-share-bottom)}
body.broel-has-live-chat .broel-share{--broel-share-bottom:calc(max(6.25rem,calc(env(safe-area-inset-bottom) + 5.5rem)) + 3.35rem + .85rem)}
.broel-share__panel{max-height:min(26rem,calc(100dvh - var(--broel-share-bottom) - 4rem));overflow-y:auto;overscroll-behavior:contain}
@media(max-width:47.99rem){.broel-share{--broel-share-bottom:calc(max(.8rem,env(safe-area-inset-bottom)) + 3.15rem + .75rem);right:max(.8rem,env(safe-area-inset-right))}body.broel-has-live-chat .broel-share{--broel-share-bottom:calc(max(5.75rem,calc(env(safe-area-inset-bottom) + 5rem)) + 3.15rem + .75rem)}}

/* Keep marketplace listing anchors visible beneath the sticky site header. */
#broel-market-catalogue{scroll-margin-top:8rem}

/* Cached Elementor output must not revive the retired Learn/Connect placeholder grids. */
.broel-page--learn .broel-hub-content.broel-hub--learn,
.broel-page--learn .broel-hub-next,
.broel-page--connect .broel-hub-content.broel-hub--connect,
.broel-page--connect .broel-hub-next{display:none!important}

/* A compact, consistent add-to-cart cue on marketplace listings and WooCommerce products. */
.broel-market-single__cart,.woocommerce a.add_to_cart_button,.woocommerce button.single_add_to_cart_button{position:relative}
.broel-market-single__cart::after,.woocommerce a.add_to_cart_button::after,.woocommerce button.single_add_to_cart_button::after{position:absolute;z-index:1;top:-.45rem;right:-.45rem;display:grid;width:1.15rem;height:1.15rem;border:2px solid #fff;border-radius:50%;place-items:center;background:#2e9d68;color:#fff;content:"+";font-family:Arial,sans-serif;font-size:.9rem;font-weight:700;line-height:1;box-shadow:0 2px 6px rgba(25,42,58,.18);pointer-events:none}

/* Site-wide direct-bank-transfer saving, positioned between consultation and footer. */
.broel-project-bank-choice{margin:0 0 1.2rem;padding:1rem 1.1rem;border:.08rem solid #b9dfca;border-left:.35rem solid #2f9b63;border-radius:.8rem;color:#28513d;background:linear-gradient(135deg,#edf9f2,#fff)}.broel-project-bank-choice strong{display:block;color:#176b42;font-size:1rem}.broel-project-bank-choice p{margin:.35rem 0 0;font-size:.8rem;line-height:1.55}
.broel-bank-transfer-banner{position:relative;overflow:hidden;padding:1rem 0;color:#fff;background:linear-gradient(100deg,#18334f,#256c57 52%,#754fb3)}.broel-bank-transfer-banner::after{position:absolute;width:16rem;height:16rem;right:-6rem;top:-7rem;border:2.1rem solid rgb(255 255 255/7%);border-radius:50%;content:""}.broel-bank-transfer-banner__inner{position:relative;z-index:1;display:grid;grid-template-columns:3.4rem minmax(0,1fr) auto;gap:1rem;align-items:center}.broel-bank-transfer-banner__icon{display:grid;width:3.4rem;height:3.4rem;place-items:center;border:.08rem solid rgb(255 255 255/28%);border-radius:.9rem;background:rgb(255 255 255/12%)}.broel-bank-transfer-banner__icon svg{width:1.9rem;height:1.9rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.broel-bank-transfer-banner p{margin:0 0 .15rem;color:#ffd68c;font-size:.66rem;font-weight:950;letter-spacing:.12em}.broel-bank-transfer-banner h2{margin:0 0 .2rem;color:#fff;font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.15}.broel-bank-transfer-banner div>span{color:#dbe7ef;font-size:.75rem;line-height:1.45}.broel-bank-transfer-banner a{display:inline-flex;min-height:3rem;padding:.75rem 1rem;align-items:center;justify-content:center;gap:.5rem;border:.08rem solid rgb(255 255 255/32%);border-radius:.75rem;color:#fff!important;background:rgb(255 255 255/12%);font-size:.7rem;font-weight:950;text-align:center;text-decoration:none}.broel-bank-transfer-banner a:hover{background:#fff;color:#214e52!important}@media(max-width:760px){.broel-bank-transfer-banner__inner{grid-template-columns:3rem 1fr}.broel-bank-transfer-banner__icon{width:3rem;height:3rem}.broel-bank-transfer-banner a{grid-column:1/-1;width:100%}}
