/* About Us page (build/about.py). Prefix: bw-about-. Enqueued on this page only. */

/* Flex children must be allowed to shrink below their content. */
.bw-about-who .e-con, .bw-about-values .e-con, .bw-about-model .e-con,
.bw-about-aud .e-con, .bw-about-sup .e-con, .bw-about-group .e-con,
.bw-about-six .e-con { min-width: 0; }

/* --- Who we are -------------------------------------------------------- */
.bw-about-who__img img { width: 100%; display: block; }
.bw-about-who__text p { margin-bottom: .75em; }
.bw-about-who__copy > .elementor-widget, .bw-about-who__copy > .e-con-inner > .elementor-widget { max-width: 548px !important; }

/* Four-feature strip: hairline dividers between the columns. */
.bw-about-feat .bw-about-feat__item:not(.is-first) { border-left: 1px solid var(--bw-hairline); }
@media (max-width: 1024px) {
	.bw-about-feat .bw-about-feat__item { border-left: 0 !important; padding-top: 18px !important; padding-bottom: 18px !important; }
	.bw-about-feat .bw-about-feat__item:nth-child(even) { border-left: 1px solid var(--bw-hairline) !important; }
	.bw-about-feat .bw-about-feat__item:nth-child(n+3) { border-top: 1px solid var(--bw-hairline); }
}
@media (max-width: 767px) {
	.bw-about-feat .bw-about-feat__item:nth-child(even) { border-left: 0 !important; }
	.bw-about-feat .bw-about-feat__item:nth-child(n+2) { border-top: 1px solid var(--bw-hairline); }
}

/* --- Mission / vision -------------------------------------------------- */
.bw-about-mv .e-con.bw-about-mv__disc { flex: 0 0 112px; height: 112px; }
.bw-about-mv .e-con.bw-about-mv__words { flex: 1 1 0; }
@media (max-width: 767px) {
	.bw-about-mv .e-con.bw-about-mv__disc { flex-basis: 76px; width: 76px; height: 76px; min-height: 0; }
	.bw-about-mv__disc img { width: 44px !important; }
	.bw-about-mv { align-items: flex-start !important; }
}

/* --- Core values ------------------------------------------------------- */
.bw-about-value { transition: box-shadow .2s; }

/* --- What we do: simplified wheel (mark centred, five services round it) - */
.bw-about-wheel {
	position: relative; overflow: hidden;
	display: grid; grid-template-columns: 1fr 1fr 1fr;
	grid-template-areas: ". top ." "left hub right" "bl . br";
	align-items: center; justify-items: center; row-gap: 6px;
	padding: 18px 16px; border-radius: 12px;
	background: var(--bw-surface);
	font-family: var(--bw-sans); color: var(--bw-ink);
	min-height: 334px;
}
.bw-about-wheel::before {
	content: ""; position: absolute; left: 50%; top: 50%; z-index: 0;
	height: 100%; width: auto; aspect-ratio: 1; transform: translate(-50%, -50%);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(11,31,79,.035) 0 34%, rgba(11,31,79,.06) 34.5% 100%);
}
.bw-about-wheel > * { position: relative; z-index: 1; }
.bw-about-wheel__item { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; }
.bw-about-wheel__item img { width: 56px; height: 56px; display: block; }
.bw-about-wheel__item span { font-size: 14px; font-weight: 600; line-height: 1.25; }
.bw-about-wheel__item--top { grid-area: top; }
.bw-about-wheel__item--left { grid-area: left; }
.bw-about-wheel__item--right { grid-area: right; }
.bw-about-wheel__item--bl { grid-area: bl; justify-self: end; }
.bw-about-wheel__item--br { grid-area: br; justify-self: start; }
.bw-about-wheel__hub {
	grid-area: hub; width: 150px; height: 150px; border-radius: 50%;
	background: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(11,31,79,.08);
}
.bw-about-wheel__hub img { width: 112px; height: auto; display: block; }
@media (max-width: 479px) {
	.bw-about-wheel { grid-template-columns: 1fr 1fr; grid-template-areas: "hub hub" "top right" "left br" "bl ."; row-gap: 18px; padding: 22px 12px; min-height: 0; }
	.bw-about-wheel::before { display: none; }
	.bw-about-wheel__item--bl, .bw-about-wheel__item--br { justify-self: center; }
	.bw-about-wheel__hub { width: 120px; height: 120px; }
	.bw-about-wheel__hub img { width: 90px; }
}

.bw-about-wwd__disc { flex: 0 0 38px; height: 38px; }
.bw-about-wwd__words { flex: 1 1 0 !important; }

/* --- Partnership model ------------------------------------------------- */
.bw-about-model__step.e-con { flex: 0 0 196px !important; width: 196px !important; height: 196px; padding-left: 14px !important; padding-right: 14px !important; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.bw-about-model__arrow { flex: 0 0 auto; }
.bw-about-model__arrow .elementor-icon { display: block; line-height: 1; }
/* Below 1340 four circles plus arrows do not fit one row (they squeezed into
   ovals and spilled text); a 2x2 grid reads in order without dangling arrows. */
@media (min-width: 768px) and (max-width: 1339px) {
	.bw-about-model__flow { display: grid !important; grid-template-columns: repeat(2, 200px); justify-content: center; gap: 22px 40px !important; }
	.bw-about-model__arrow { display: none; }
	.bw-about-model__step.e-con { width: 200px !important; height: 200px; }
}
@media (max-width: 767px) {
	.bw-about-model__flow { flex-direction: column !important; flex-wrap: nowrap !important; align-items: center !important; }
	.bw-about-model__arrow { transform: rotate(90deg); }
	.bw-about-model__step { flex-basis: auto; width: 210px !important; height: 210px; }
}

/* --- Audience strip ---------------------------------------------------- */
a.bw-about-aud__item { text-decoration: none; min-height: 52px; }
.bw-about-aud .bw-about-aud__item:not(.is-first) { border-left: 1px solid var(--bw-hairline); }
a.bw-about-aud__item:hover .elementor-heading-title { color: var(--bw-gold); }
.bw-about-aud__item .elementor-widget-image { flex: 0 0 auto; }
@media (max-width: 1024px) {
	.bw-about-aud .bw-about-aud__item { border-left: 0 !important; }
}

/* --- Support categories ------------------------------------------------ */
a.bw-about-sup__card { text-decoration: none; transition: box-shadow .2s, border-color .2s; }
a.bw-about-sup__card:hover, a.bw-about-sup__card:focus-visible { box-shadow: 0 8px 24px rgba(11,31,79,.10); border-color: var(--bw-gold) !important; }
a.bw-about-sup__card:hover .elementor-heading-title { color: var(--bw-gold); }
.bw-about-sup__disc { flex: 0 0 62px; height: 62px; }
.bw-about-sup__disc--teal { background: rgba(42,138,140,.16); }
.bw-about-sup__disc--blue { background: rgba(63,111,184,.16); }
.bw-about-sup__disc--gold { background: rgba(211,138,18,.18); }
.bw-about-sup__disc--purple { background: rgba(122,92,178,.16); }
.bw-about-sup__words { flex: 1 1 0 !important; }

/* --- Group band -------------------------------------------------------- */
@media (max-width: 1024px) {
	.bw-about-group__copy { text-align: center; align-items: center; }
	.bw-about-group__copy .elementor-heading-title { text-align: center; }
}

/* --- Six features ------------------------------------------------------ */
.bw-about-six__item .elementor-widget-image { flex: 0 0 auto; }
.bw-about-six__words { flex: 1 1 0 !important; }

/* --- Phones: the design's forced line breaks only make sense at desktop measure. */
@media (max-width: 767px) {
	.bw-hero__sub br, .bw-about-who__copy h2 br, .bw-about-model__copy h2 br { display: none; }
}

/* Audience strip: six across is too tight below 1200 — three per row. */
@media (min-width: 768px) and (max-width: 1199px) {
	.bw-about-aud .e-con:has(> .bw-about-aud__item) { flex-wrap: wrap !important; row-gap: 14px; }
	.bw-about-aud a.bw-about-aud__item.e-con { flex: 0 0 33.333% !important; width: 33.333% !important; }
	.bw-about-aud .bw-about-aud__item:nth-child(3n+1) { border-left: 0; }
}

/* Tablet: the desktop paddings (6–34px) minus 20 collapsed to ~0 — floor them. */
@media (max-width: 1024px) {
	.bw-page-about-us main > .elementor > .e-con.e-parent:not(.bw-hero):not(.bw-group-band) { padding-top: 36px !important; padding-bottom: 36px !important; }
}
