/**
 * Healthcare industry page — design-system layout.
 */

.bw-main--healthcare {
	padding-top: 0;
	padding-bottom: 0;
}

.bw-healthcare-hero {
	margin-bottom: 0 !important;
	text-align: left;
}

.bw-healthcare-hero__shell {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(28px, 5vw, 56px);
	align-items: center;
}

.bw-healthcare-hero__copy {
	min-width: 0;
}

.bw-healthcare-hero__title {
	max-width: 18ch;
}

.bw-healthcare-hero__lead {
	max-width: 44rem;
}

.bw-healthcare-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}

.bw-healthcare-hero__media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-2xl, 20px);
	border: 1px solid var(--brand-border);
	background: var(--brand-bg);
	box-shadow: var(--shadow-md, 0 12px 32px rgba(15, 23, 42, 0.08));
}

.bw-healthcare-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 5 / 4;
}

.bw-healthcare-section-head {
	margin-bottom: clamp(28px, 4vw, 40px);
	max-width: 42rem;
}

.bw-healthcare-section-head--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.bw-healthcare-section-head .bw-eyebrow {
	display: inline-flex;
	margin-bottom: 10px;
}

.bw-healthcare-section-head__title {
	margin: 0;
	color: var(--brand-navy);
	font-family: var(--font-family);
	font-size: clamp(1.6rem, 2.6vw, 2.15rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

/* ---------- Challenge ---------- */
.bw-healthcare-challenge {
	padding: clamp(56px, 8vw, 96px) 0;
	background: var(--brand-bg);
}

.bw-healthcare-challenge__shell {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.18fr);
	gap: clamp(28px, 5vw, 56px);
	align-items: center;
}

.bw-healthcare-challenge__copy .bw-eyebrow {
	display: inline-flex;
	margin-bottom: 14px;
}

.bw-healthcare-challenge__title {
	margin: 0;
	max-width: 16ch;
	color: var(--brand-navy);
	font-family: var(--font-family);
	font-size: clamp(1.7rem, 2.8vw, 2.35rem);
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.15;
}

.bw-healthcare-challenge__note {
	margin: 18px 0 0;
	max-width: 34rem;
	color: var(--bw-body-strong, var(--brand-navy));
	font-size: 16.5px;
	line-height: 1.65;
}

.bw-healthcare-challenge__mosaic {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.bw-healthcare-challenge__tile {
	--hc-tile-bg-top: #f8fbff;
	--hc-tile-bg-mid: #ffffff;
	--hc-tile-blob: var(--brand-primary-muted);
	--hc-tile-border: var(--brand-border);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 10px;
	min-height: 168px;
	padding: 22px 20px;
	border: 1px solid var(--hc-tile-border);
	border-radius: var(--radius-xl, 16px);
	background:
		radial-gradient(120% 90% at 100% 0%, var(--hc-tile-bg-top) 0%, var(--hc-tile-bg-mid) 62%);
}

.bw-healthcare-challenge__tile::before {
	content: "";
	position: absolute;
	inset: auto;
	width: 140px;
	height: 140px;
	top: -36%;
	right: -18%;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	filter: blur(36px);
	opacity: 0.4;
	background: radial-gradient(circle, var(--hc-tile-blob) 0%, transparent 70%);
}

/* Soft violet */
.bw-healthcare-challenge__tile--tone-1 {
	--hc-tile-bg-top: #faf8ff;
	--hc-tile-bg-mid: #ffffff;
	--hc-tile-blob: #ddd6fe;
	--hc-tile-border: color-mix(in srgb, #c4b5fd 28%, var(--brand-border));
}

/* Soft amber / peach */
.bw-healthcare-challenge__tile--tone-2 {
	--hc-tile-bg-top: #fffcf7;
	--hc-tile-bg-mid: #ffffff;
	--hc-tile-blob: #fde68a;
	--hc-tile-border: color-mix(in srgb, #fbbf24 26%, var(--brand-border));
}

/* Soft cool blue */
.bw-healthcare-challenge__tile--tone-3 {
	--hc-tile-bg-top: #f7f9ff;
	--hc-tile-bg-mid: #ffffff;
	--hc-tile-blob: #bfdbfe;
	--hc-tile-border: color-mix(in srgb, #93c5fd 30%, var(--brand-border));
}

/* Soft teal / mint */
.bw-healthcare-challenge__tile--tone-4 {
	--hc-tile-bg-top: #f3fffb;
	--hc-tile-bg-mid: #ffffff;
	--hc-tile-blob: #99f6e4;
	--hc-tile-border: color-mix(in srgb, #5eead4 28%, var(--brand-border));
}

.bw-healthcare-challenge__value,
.bw-healthcare-challenge__label {
	position: relative;
	z-index: 1;
}

.bw-healthcare-challenge__value {
	color: var(--brand-navy);
	font-family: var(--font-family);
	font-size: clamp(1.9rem, 3vw, 2.55rem);
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 1;
}

.bw-healthcare-challenge__label {
	color: var(--brand-body);
	font-size: 14px;
	line-height: 1.45;
	max-width: 22ch;
}

/* ---------- Capabilities (parallax horizontal slider) ---------- */
.bw-healthcare-caps {
	--hc-caps-gap: 20px;
	--hc-caps-gutter: 20px;
	padding: clamp(48px, 7vw, 88px) 0 clamp(56px, 8vw, 100px);
	background: var(--brand-bg);
	overflow: hidden;
}

@media (min-width: 768px) {
	.bw-healthcare-caps {
		--hc-caps-gutter: 32px;
	}
}

.bw-healthcare-caps__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: clamp(24px, 4vw, 36px);
}

.bw-healthcare-caps__head .bw-healthcare-section-head {
	margin-bottom: 0;
}

.bw-healthcare-caps__nav {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.bw-healthcare-caps__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--brand-border);
	border-radius: 999px;
	background: var(--brand-bg);
	color: var(--brand-navy);
	cursor: pointer;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		opacity 180ms ease;
}

.bw-healthcare-caps__btn:hover:not(:disabled) {
	background: var(--brand-primary-soft);
	border-color: var(--brand-primary-border);
	color: var(--brand-primary);
}

.bw-healthcare-caps__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.bw-healthcare-caps__rail-shell {
	width: 100%;
	padding-left: max(var(--hc-caps-gutter), calc((100vw - 86rem) / 2 + var(--hc-caps-gutter)));
}

.bw-healthcare-caps__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(min(78vw, 820px), 820px);
	gap: var(--hc-caps-gap);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-padding-left: 0;
	scrollbar-width: none;
	padding-right: max(var(--hc-caps-gutter), calc((100vw - 86rem) / 2 + var(--hc-caps-gutter)));
	-webkit-overflow-scrolling: touch;
}

.bw-healthcare-caps__track::-webkit-scrollbar {
	display: none;
}

.bw-healthcare-cap-slide {
	--hc-slide-bg: #eff6ff;
	--hc-slide-num: #3b82f6;
	--hc-slide-accent: var(--brand-primary);
	scroll-snap-align: start;
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: center;
	min-height: 320px;
	padding: clamp(28px, 4vw, 44px);
	border-radius: 28px;
	background: var(--hc-slide-bg);
	overflow: hidden;
}

.bw-healthcare-cap-slide--sky {
	--hc-slide-bg: #eff6ff;
	--hc-slide-num: #3b82f6;
}

.bw-healthcare-cap-slide--mint {
	--hc-slide-bg: #ecfdf5;
	--hc-slide-num: #059669;
	--hc-slide-accent: #059669;
}

.bw-healthcare-cap-slide--slate {
	--hc-slide-bg: #f1f5f9;
	--hc-slide-num: #475569;
	--hc-slide-accent: #334155;
}

.bw-healthcare-cap-slide--amber {
	--hc-slide-bg: #fff7ed;
	--hc-slide-num: #ea580c;
	--hc-slide-accent: #ea580c;
}

.bw-healthcare-cap-slide--teal {
	--hc-slide-bg: #f0fdfa;
	--hc-slide-num: #0d9488;
	--hc-slide-accent: #0d9488;
}

.bw-healthcare-cap-slide--rose {
	--hc-slide-bg: #fff1f2;
	--hc-slide-num: #e11d48;
	--hc-slide-accent: #e11d48;
}

.bw-healthcare-cap-slide__copy {
	position: relative;
	z-index: 1;
	min-width: 0;
}

.bw-healthcare-cap-slide__num {
	display: block;
	margin-bottom: 14px;
	color: var(--hc-slide-num);
	font-size: clamp(40px, 5vw, 56px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

.bw-healthcare-cap-slide__title {
	margin: 0 0 12px;
	color: var(--brand-navy);
	font-size: clamp(22px, 2.4vw, 24px);
	font-weight: 500 !important;
	letter-spacing: -0.03em;
	line-height: 1.2;
	max-width: 17ch;
}

.bw-healthcare-cap-slide__body {
	margin: 0;
	color: var(--brand-body);
	font-size: 16px;
	line-height: 1.6;
	max-width: 34ch;
}

.bw-healthcare-cap-slide__visual {
	position: relative;
	z-index: 1;
	min-width: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	will-change: transform;
}

/* ---------- Capability mock UIs ---------- */
.bw-hc-cap-ui {
	width: min(100%, 340px);
	padding: 18px;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(226, 232, 240, 0.9);
	box-shadow: 0 18px 40px -24px rgba(15, 23, 42, 0.35);
	backdrop-filter: blur(8px);
}

.bw-hc-cap-ui__browser {
	display: flex;
	gap: 6px;
	margin-bottom: 14px;
}

.bw-hc-cap-ui__dot {
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: #cbd5e1;
}

.bw-hc-cap-ui__panel {
	display: grid;
	gap: 10px;
}

.bw-hc-cap-ui__bubble {
	display: grid;
	gap: 4px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--brand-bg-soft);
}

.bw-hc-cap-ui__bubble strong {
	font-size: 11px;
	font-weight: 700;
	color: var(--brand-muted);
}

.bw-hc-cap-ui__bubble span {
	font-size: 13px;
	line-height: 1.4;
	color: var(--brand-navy);
}

.bw-hc-cap-ui__bubble.is-bot {
	background: var(--brand-primary);
}

.bw-hc-cap-ui__bubble.is-bot strong,
.bw-hc-cap-ui__bubble.is-bot span {
	color: #fff;
}

.bw-hc-cap-ui__bubble.is-bot strong {
	color: #bfdbfe;
}

.bw-hc-cap-ui__call {
	display: grid;
	justify-items: start;
	gap: 10px;
}

.bw-hc-cap-ui__live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #ecfdf5;
	color: #059669;
	font-size: 11px;
	font-weight: 700;
}

.bw-hc-cap-ui__live::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: currentColor;
}

.bw-hc-cap-ui__call > strong {
	font-size: 16px;
	color: var(--brand-navy);
}

.bw-hc-cap-ui__wave {
	display: flex;
	align-items: flex-end;
	gap: 5px;
	height: 42px;
	margin: 4px 0;
}

.bw-hc-cap-ui__wave i {
	display: block;
	width: 5px;
	border-radius: 999px;
	background: var(--hc-slide-accent, var(--brand-primary));
	animation: bw-hc-wave 1.2s ease-in-out infinite;
}

.bw-hc-cap-ui__wave i:nth-child(1) { height: 14px; animation-delay: 0s; }
.bw-hc-cap-ui__wave i:nth-child(2) { height: 26px; animation-delay: 0.1s; }
.bw-hc-cap-ui__wave i:nth-child(3) { height: 38px; animation-delay: 0.2s; }
.bw-hc-cap-ui__wave i:nth-child(4) { height: 22px; animation-delay: 0.3s; }
.bw-hc-cap-ui__wave i:nth-child(5) { height: 34px; animation-delay: 0.15s; }
.bw-hc-cap-ui__wave i:nth-child(6) { height: 18px; animation-delay: 0.25s; }
.bw-hc-cap-ui__wave i:nth-child(7) { height: 28px; animation-delay: 0.05s; }

@keyframes bw-hc-wave {
	0%,
	100% { transform: scaleY(0.65); opacity: 0.65; }
	50% { transform: scaleY(1); opacity: 1; }
}

.bw-hc-cap-ui__meta {
	font-size: 12px;
	color: var(--brand-muted);
}

.bw-hc-cap-ui--knowledge {
	display: grid;
	gap: 12px;
}

.bw-hc-cap-ui__doc {
	display: grid;
	gap: 8px;
	padding: 14px;
	border-radius: 14px;
	background: var(--brand-bg-soft);
}

.bw-hc-cap-ui__doc-line {
	display: block;
	height: 8px;
	border-radius: 999px;
	background: #cbd5e1;
}

.bw-hc-cap-ui__doc-line.is-short { width: 58%; }
.bw-hc-cap-ui__doc-line.is-mid { width: 72%; }

.bw-hc-cap-ui__chip {
	display: inline-flex;
	width: fit-content;
	padding: 7px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--brand-border);
	color: var(--brand-navy);
	font-size: 12px;
	font-weight: 600;
}

.bw-hc-cap-ui__chip.is-ok {
	background: #ecfdf5;
	border-color: #a7f3d0;
	color: #059669;
}

.bw-hc-cap-ui--context {
	display: grid;
	gap: 12px;
}

.bw-hc-cap-ui__profile {
	display: flex;
	align-items: center;
	gap: 12px;
}

.bw-hc-cap-ui__avatar {
	width: 42px;
	height: 42px;
	border-radius: 14px;
	background: linear-gradient(135deg, var(--brand-primary-light), var(--brand-primary-muted));
	flex: 0 0 auto;
}

.bw-hc-cap-ui__profile strong,
.bw-hc-cap-ui__profile span {
	display: block;
}

.bw-hc-cap-ui__profile strong {
	font-size: 14px;
	color: var(--brand-navy);
}

.bw-hc-cap-ui__profile span {
	margin-top: 2px;
	font-size: 12px;
	color: var(--brand-muted);
}

.bw-hc-cap-ui__field {
	display: grid;
	gap: 4px;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--brand-bg-soft);
}

.bw-hc-cap-ui__field label {
	font-size: 11px;
	font-weight: 600;
	color: var(--brand-muted);
}

.bw-hc-cap-ui__field b {
	font-size: 13px;
	font-weight: 700;
	color: var(--brand-navy);
}

.bw-hc-cap-ui--handoff {
	display: grid;
	gap: 14px;
}

.bw-hc-cap-ui__transfer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 14px;
	background: var(--brand-bg-soft);
	color: var(--brand-navy);
	font-size: 13px;
	font-weight: 700;
}

.bw-hc-cap-ui__transfer svg {
	color: var(--hc-slide-accent, var(--brand-primary));
	flex: 0 0 auto;
}

.bw-hc-cap-ui__summary {
	padding: 14px;
	border-radius: 14px;
	background: #fff;
	border: 1px solid var(--brand-border);
}

.bw-hc-cap-ui__summary strong {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	color: var(--brand-navy);
}

.bw-hc-cap-ui__summary p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--brand-body);
}

.bw-hc-cap-ui--brand {
	display: grid;
	gap: 14px;
}

.bw-hc-cap-ui__theme {
	display: flex;
	gap: 8px;
}

.bw-hc-cap-ui__swatch {
	width: 28px;
	height: 28px;
	border-radius: 999px;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px var(--brand-border);
}

.bw-hc-cap-ui__swatch.is-a { background: #2563eb; }
.bw-hc-cap-ui__swatch.is-b { background: #0f172a; }
.bw-hc-cap-ui__swatch.is-c { background: #94a3b8; }

.bw-hc-cap-ui__widget {
	padding: 16px;
	border-radius: 16px;
	background: var(--brand-bg-soft);
}

.bw-hc-cap-ui__widget strong {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	color: var(--brand-navy);
}

.bw-hc-cap-ui__widget p {
	margin: 0 0 12px;
	font-size: 13px;
	color: var(--brand-body);
}

.bw-hc-cap-ui__cta {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	border-radius: 999px;
	background: var(--brand-primary);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

@media (max-width: 900px) {
	.bw-healthcare-caps__track {
		grid-auto-columns: minmax(min(86vw, 640px), 640px);
	}

	.bw-healthcare-cap-slide {
		grid-template-columns: 1fr;
		min-height: 0;
		align-items: stretch;
	}

	.bw-healthcare-cap-slide__title,
	.bw-healthcare-cap-slide__body {
		max-width: none;
	}

	.bw-healthcare-cap-slide__visual {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.bw-healthcare-caps__head {
		align-items: flex-start;
		flex-direction: column;
	}

	.bw-healthcare-caps__track {
		grid-auto-columns: minmax(88vw, 1fr);
	}

	.bw-healthcare-cap-slide {
		padding: 22px;
		border-radius: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bw-hc-cap-ui__wave i,
	.bw-healthcare-cap-slide__visual {
		animation: none !important;
		transform: none !important;
	}
}

/* ---------- Trust ---------- */
.bw-healthcare-trust {
	padding: clamp(48px, 7vw, 88px) 0;
	background: var(--brand-bg-soft);
}

.bw-healthcare-trust__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
	gap: clamp(28px, 5vw, 56px);
	align-items: center;
}

.bw-healthcare-trust__media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--radius-2xl, 20px);
	border: 1px solid var(--brand-border);
	background: var(--brand-bg);
}

.bw-healthcare-trust__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.bw-healthcare-trust__copy .bw-eyebrow {
	display: inline-flex;
	margin-bottom: 12px;
}

.bw-healthcare-trust__copy p {
	margin: 16px 0 0;
	color: var(--brand-body);
	font-size: 16px;
	line-height: 1.65;
	max-width: 36rem;
}

.bw-healthcare-trust__note {
	color: var(--brand-navy) !important;
	font-weight: 500;
}

/* ---------- Testimonials (homepage carousel) ---------- */
.bw-healthcare .bw-testimonials {
	background: var(--brand-bg);
}

/* ---------- CTA ---------- */
.bw-healthcare-cta.bw-finalcta {
	padding: 0;
	background: var(--brand-bg);
}

@media (max-width: 980px) {
	.bw-healthcare-hero__shell,
	.bw-healthcare-challenge__shell,
	.bw-healthcare-trust__panel {
		grid-template-columns: 1fr;
	}

	.bw-healthcare-hero__media {
		max-width: 36rem;
	}

	.bw-healthcare-challenge__title {
		max-width: 22ch;
	}
}

@media (max-width: 640px) {
	.bw-healthcare-hero__title {
		max-width: none;
	}

	.bw-healthcare-hero__media {
		max-width: none;
	}

	.bw-healthcare-challenge__mosaic,
	.bw-healthcare-trust__panel {
		grid-template-columns: 1fr;
	}

	.bw-healthcare-challenge__tile {
		min-height: 0;
	}
}
