/*
 * Inner pages: division template (Property, Consulting, Creative, Commerce) and the
 * purpose-built pages (Education, Ventures, About, founder profile, Contact, Waitlist, Thank-you).
 * Colours from the Elementor Global Kit; fallbacks only matter if the kit fails to load.
 */

/* ---------- Hero ---------- */
.wb-div-hero {
	background-image: radial-gradient(circle at 85% 30%, rgba(30, 107, 58, 0.22), transparent 55%);
}

/* Trust chips under the hero buttons. */
.wb-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wb-chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 500;
	color: var(--e-global-color-wbwhite, #FFFFFF);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(199, 205, 214, 0.35);
}
.wb-chips li::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--e-global-color-secondary, #E0A91F);
}
.wb-chips-accent li::before {
	background: var(--e-global-color-wbgreentint, #E8F2EC);
}

/* ---------- Before / after slider (sample) ----------
 * A native range input drives --pos, so it works with mouse, touch and keyboard
 * (arrow keys) and screen readers announce it as a slider. */
.elementor-widget-html.wb-ba-widget {
	width: 100%;
}
.wb-ba {
	position: relative;
	margin: 0;
	aspect-ratio: 4 / 3;
	border-radius: 18px;
	overflow: hidden;
	background: var(--e-global-color-wbnavy7, #0B4272);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}
.wb-ba-pane {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	text-align: center;
	font-weight: 500;
	background-size: cover;
	background-position: center;
}
.wb-ba-before {
	justify-content: flex-start;
	padding-right: 55%;
	color: var(--e-global-color-primary, #0A1F3F);
	background-color: var(--e-global-color-wbsilver, #C7CDD6);
}
.wb-ba-after {
	justify-content: flex-end;
	padding-left: 55%;
	color: var(--e-global-color-wbwhite, #FFFFFF);
	background-color: var(--e-global-color-accent, #1E6B3A);
	clip-path: inset(0 0 0 var(--pos, 50%));
}
.wb-ba-handle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--pos, 50%);
	width: 3px;
	transform: translateX(-50%);
	background: var(--e-global-color-wbwhite, #FFFFFF);
	pointer-events: none;
}
.wb-ba-handle::after {
	content: "‹ ›";
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	font-weight: 700;
	color: var(--e-global-color-primary, #0A1F3F);
	background: var(--e-global-color-secondary, #E0A91F);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
.wb-ba-range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: ew-resize;
}
.wb-ba-range:focus-visible ~ .wb-ba-handle::after {
	outline: 3px solid var(--e-global-color-wbwhite, #FFFFFF);
	outline-offset: 3px;
}
.wb-ba-label {
	position: absolute;
	top: 14px;
	padding: 5px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	color: var(--e-global-color-wbwhite, #FFFFFF);
	background: rgba(10, 31, 63, 0.75);
	pointer-events: none;
}
.wb-ba-label-before { left: 14px; }
.wb-ba-label-after { right: 14px; }
.wb-ba-note {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 14px;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 13px;
	color: var(--e-global-color-wbwhite, #FFFFFF);
	background: rgba(10, 31, 63, 0.8);
	pointer-events: none;
}

/* ---------- Cards ---------- */
.e-con.wb-card {
	height: 100%;
}

/* ---------- Pricing ---------- */
.e-con.wb-plan .elementor-widget-button {
	margin-top: auto;
}
.e-con.wb-plan-featured {
	box-shadow: 0 18px 44px rgba(10, 31, 63, 0.14);
}
.wb-plan-badge .elementor-heading-title {
	display: inline-block;
	padding: 5px 12px;
	border-radius: 999px;
	font-weight: 700;
	background: var(--e-global-color-secondary, #E0A91F);
}
.wb-plan-price {
	margin: 4px 0;
}
.wb-ticks {
	margin: 0;
	padding: 0;
	list-style: none;
}
.wb-ticks li {
	position: relative;
	padding: 6px 0 6px 28px;
}
.wb-ticks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 12px;
	width: 14px;
	height: 8px;
	border-left: 2.5px solid var(--e-global-color-accent, #1E6B3A);
	border-bottom: 2.5px solid var(--e-global-color-accent, #1E6B3A);
	transform: rotate(-45deg);
}

/* ---------- Full-width HTML widgets ---------- */
.elementor-widget-html.wb-full-widget {
	width: 100%;
}

/* ---------- About: group structure ---------- */
.wb-tree-parent {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 28px;
	padding: 14px 22px;
	border-radius: 999px;
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-weight: 700;
	font-size: 22px;
	color: var(--e-global-color-wbwhite, #FFFFFF);
	background: var(--e-global-color-primary, #0A1F3F);
}
.wb-tree-parent img {
	width: 44px;
	height: auto;
}
.wb-tree-divs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
@media (max-width: 1024px) { .wb-tree-divs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .wb-tree-divs { grid-template-columns: 1fr; } }
.wb-tree-div {
	padding: 18px 20px;
	border-radius: 14px;
	border-top: 4px solid var(--e-global-color-secondary, #E0A91F);
	background: var(--e-global-color-wbwhite, #FFFFFF);
}
.wb-tree-name {
	margin: 0 0 8px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-size: 14px;
	color: var(--e-global-color-wbgold7, #8A6110);
}
.wb-tree-div ul {
	margin: 0;
	padding-left: 18px;
	color: var(--e-global-color-text, #1A1F2B);
}

/* ---------- About: timeline ---------- */
.wb-timeline {
	margin: 0;
	padding: 0;
	list-style: none;
	border-left: 3px solid var(--e-global-color-secondary, #E0A91F);
}
.wb-timeline li {
	position: relative;
	padding: 0 0 32px 28px;
}
.wb-timeline li::before {
	content: "";
	position: absolute;
	left: -10px;
	top: 4px;
	width: 17px;
	height: 17px;
	border-radius: 50%;
	background: var(--e-global-color-primary, #0A1F3F);
	border: 3px solid var(--e-global-color-secondary, #E0A91F);
}
.wb-timeline h3 {
	margin: 4px 0 6px;
	font-size: 22px;
	color: var(--e-global-color-primary, #0A1F3F);
}
.wb-tl-when {
	margin: 0;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--e-global-color-wbgold7, #8A6110);
}

/* ---------- Founder profile rows (staff-profile layout) ---------- */
.e-con.wb-profile-row > .elementor-widget-heading {
	width: 28%;
	flex-shrink: 0;
}
@media (max-width: 767px) {
	.e-con.wb-profile-row > .elementor-widget-heading { width: 100%; }
}

/* ---------- Contact: booking embed slot ---------- */
.wb-embed-placeholder {
	width: 100%;
	max-width: none;
	aspect-ratio: 4 / 3;
}

/* ---------- Contact: Calendly, loaded on click ([wb_calendly]) ---------- */
.wb-calendly-start {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
}
.wb-calendly-btn {
	min-height: 48px;
	padding: 12px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--e-global-color-secondary);
	color: var(--e-global-color-primary);
	font: 600 1rem/1.2 "DM Sans", sans-serif;
	cursor: pointer;
}
.wb-calendly-btn:hover,
.wb-calendly-btn:focus-visible {
	background: var(--e-global-color-primary);
	color: #fff;
}
.wb-calendly-btn[disabled] { opacity: .7; cursor: progress; }
.wb-calendly-note {
	margin: 0;
	font-size: .875rem;
	color: var(--e-global-color-wbmuted, #5A6372);
}
.wb-calendly-slot {
	min-width: 280px;
	height: 720px;
}
@media (max-width: 767px) {
	.wb-calendly-slot { height: 1000px; }
}
