/**
 * Bottleneck Ladder Web Assessment — front end (mobile first).
 *
 * Visual language taken from empoweringvirtualsolution.com:
 *   Poppins, navy #082549 headings, pink #FF0E80 accent + highlights,
 *   blush #E9CDC8 line decorations, navy-tint pill labels,
 *   pink CTAs with a small radius and a circled arrow.
 *
 * Everything is scoped to .blwa so theme and Elementor kit styles do not leak in
 * (and ours do not leak out). Breakpoints live in responsive.css.
 */

/* ---------------------------------------------------------------------------
 * Tokens
 * ------------------------------------------------------------------------ */
.blwa {
	--blwa-navy: #082549;
	--blwa-navy-deep: #0f2a47;
	--blwa-navy-tint: rgba(8, 37, 73, 0.07);
	--blwa-navy-tint-strong: rgba(8, 37, 73, 0.12);
	--blwa-pink: #ff0e80;             /* EVS accent: decoration, large text, fills. */
	--blwa-pink-strong: #e0006f;      /* AA contrast with white (4.8:1): buttons, small pink text. */
	--blwa-pink-light: #ff5ca8;       /* Pink text on navy (5.4:1). */
	--blwa-pink-deep: #b00055;        /* Pink text on the blush surface (4.7:1). */
	--blwa-pink-soft: #fff0f7;
	--blwa-pink-border: #ffc7df;
	--blwa-blush: #e9cdc8;            /* EVS Primary. Also the surface the cards sit on. */
	--blwa-blush-soft: #fbf5f4;
	--blwa-blush-softer: #fdfafa;
	--blwa-surface: var(--blwa-blush);
	--blwa-text: #464c4c;
	--blwa-muted: #636869;
	--blwa-line: #ece4e5;
	--blwa-line-strong: #d9ced0;
	--blwa-error: #b3102a;
	--blwa-error-bg: #fdeef0;
	--blwa-error-border: #f2b3bf;
	--blwa-success: #0d7a4f;
	--blwa-success-bg: #e8f6ef;
	--blwa-warning: #9a4a00;
	--blwa-warning-bg: #fff7e6;
	--blwa-warning-border: #f3cf8c;
	--blwa-focus: #082549;
	--blwa-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--blwa-radius-btn: 6px;
	--blwa-radius-sm: 12px;
	--blwa-radius: 16px;
	--blwa-radius-lg: 20px;
	--blwa-radius-xl: 28px;
	--blwa-shadow-sm: 0 1px 2px rgba(8, 37, 73, 0.05), 0 4px 14px -6px rgba(8, 37, 73, 0.08);
	--blwa-shadow: 0 1px 2px rgba(8, 37, 73, 0.04), 0 18px 40px -18px rgba(8, 37, 73, 0.22);
	--blwa-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
}

/* ---------------------------------------------------------------------------
 * Scoped reset
 * ------------------------------------------------------------------------ */
.blwa,
.blwa *,
.blwa *::before,
.blwa *::after {
	box-sizing: border-box;
}

.blwa {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	color: var(--blwa-text);
	font-family: var(--blwa-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	text-align: left;
	color-scheme: light;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

.blwa [hidden] {
	display: none !important;
}

.blwa h2,
.blwa h3,
.blwa h4,
.blwa p,
.blwa ul,
.blwa ol,
.blwa li,
.blwa fieldset,
.blwa legend,
.blwa figure {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--blwa-font);
	letter-spacing: normal;
	text-transform: none;
}

.blwa ul,
.blwa ol {
	list-style: none;
}

/*
 * Neutralise theme rules on bare structural elements (e.g. a theme's
 * `header { position: absolute }` for its site header). Plugin class rules
 * (.blwa .blwa-*) are more specific and still apply.
 */
.blwa section,
.blwa article,
.blwa aside,
.blwa header,
.blwa nav,
.blwa footer,
.blwa form,
.blwa fieldset,
.blwa label {
	position: static;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	z-index: auto;
	float: none;
	width: auto;
	max-width: none;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	transform: none;
	overflow: visible;
	line-height: inherit;
	text-align: inherit;
}

/* Some themes style bare inline elements (e.g. `span { display: block }`). */
.blwa span,
.blwa em,
.blwa code {
	display: inline;
	font-family: inherit;
	letter-spacing: inherit;
}

.blwa strong,
.blwa b {
	font-family: inherit;
	font-weight: 700;
}

.blwa h2,
.blwa h3,
.blwa h4 {
	color: var(--blwa-navy);
	font-weight: 700;
	line-height: 1.2;
	clear: none;
}

.blwa a {
	color: var(--blwa-navy);
}

.blwa svg {
	display: inline-block;
	vertical-align: middle;
}

.blwa [tabindex="-1"]:focus {
	outline: none;
}

.blwa-sr-only,
.blwa .blwa-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.blwa .blwa-icon {
	width: 20px;
	height: 20px;
	flex: none;
}

.blwa-noscript {
	padding: 16px 20px;
	border-radius: var(--blwa-radius);
	background: var(--blwa-warning-bg);
	color: var(--blwa-text);
}

/* ---------------------------------------------------------------------------
 * Shared components
 * ------------------------------------------------------------------------ */

/* Eyebrow (pink tagline above headings, as on the EVS hero). */
.blwa .blwa-eyebrow {
	margin-bottom: 10px;
	color: var(--blwa-pink-strong);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.blwa .blwa-eyebrow--light {
	color: var(--blwa-pink-deep);
}

/* Pill label (EVS navy-tint rounded tag). */
.blwa .blwa-pill {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 14px;
	padding: 6px 14px;
	border-radius: 1.5rem;
	background: var(--blwa-navy-tint-strong);
	color: var(--blwa-navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.blwa .blwa-pill--success {
	background: var(--blwa-success-bg);
	color: var(--blwa-success);
}

.blwa .blwa-highlight {
	color: var(--blwa-pink);
}

/* Card. */
.blwa .blwa-card {
	position: relative;
	padding: 24px 20px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius-lg);
	background: #fff;
	box-shadow: var(--blwa-shadow);
}

/* Icon badge (EVS icon style: soft circle, pink glyph). */
.blwa .blwa-icon-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	flex: none;
	border-radius: 50%;
	background: var(--blwa-navy-tint);
	color: var(--blwa-pink-strong);
}

.blwa .blwa-icon-badge .blwa-icon {
	width: 22px;
	height: 22px;
}

.blwa .blwa-icon-badge--pink {
	background: var(--blwa-pink-soft);
}

.blwa .blwa-icon-badge--light {
	background: #fff;
}

/* Buttons. */
.blwa .blwa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: auto;
	min-height: 52px;
	margin: 0;
	padding: 13px 26px;
	border: 2px solid transparent;
	border-radius: var(--blwa-radius-btn);
	background: transparent;
	box-shadow: none;
	color: var(--blwa-navy);
	font-family: var(--blwa-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	white-space: normal;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s var(--blwa-ease);
}

.blwa .blwa-btn .blwa-icon {
	width: 20px;
	height: 20px;
	transition: transform 0.25s var(--blwa-ease);
}

.blwa .blwa-btn--primary {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
	box-shadow: 0 12px 24px -12px rgba(224, 0, 111, 0.6);
	color: #fff;
}

.blwa .blwa-btn--primary:hover,
.blwa .blwa-btn--primary:focus-visible {
	border-color: var(--blwa-navy);
	background: var(--blwa-navy);
	box-shadow: 0 12px 24px -12px rgba(8, 37, 73, 0.55);
	color: #fff;
}

.blwa .blwa-btn--primary:hover .blwa-icon--arrow-right,
.blwa .blwa-btn--primary:hover .blwa-icon--arrow-circle {
	transform: translateX(3px);
}

.blwa .blwa-btn--primary:active {
	transform: translateY(1px);
}

.blwa .blwa-btn--ghost {
	border-color: var(--blwa-line-strong);
	background: #fff;
	color: var(--blwa-navy);
}

.blwa .blwa-btn--ghost:hover {
	border-color: var(--blwa-navy);
	background: var(--blwa-navy-tint);
	color: var(--blwa-navy);
}

.blwa .blwa-btn--outline-light {
	border-color: rgba(8, 37, 73, 0.45);
	background: transparent;
	color: var(--blwa-navy);
}

.blwa .blwa-btn--outline-light:hover {
	border-color: var(--blwa-navy);
	background: rgba(8, 37, 73, 0.06);
	color: var(--blwa-navy);
}

.blwa .blwa-btn--lg {
	min-height: 56px;
	padding: 15px 30px;
	font-size: 17px;
}

.blwa .blwa-btn--block {
	width: 100%;
}

.blwa .blwa-btn:focus-visible {
	outline: 3px solid var(--blwa-focus);
	outline-offset: 3px;
}

.blwa .blwa-btn[disabled],
.blwa .blwa-btn[aria-disabled="true"] {
	cursor: progress;
	opacity: 0.85;
}

/* Text link button. */
.blwa .blwa-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 6px 4px;
	border: 0;
	background: none;
	box-shadow: none;
	color: var(--blwa-navy);
	font-family: var(--blwa-font);
	font-size: 15px;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.blwa .blwa-link:hover {
	background: none;
	color: var(--blwa-pink-strong);
}

.blwa .blwa-link:focus-visible {
	border-radius: 4px;
	outline: 3px solid var(--blwa-focus);
	outline-offset: 2px;
}

.blwa .blwa-link .blwa-icon {
	width: 18px;
	height: 18px;
}

/* Spinner. */
.blwa .blwa-btn.is-loading::before,
.blwa .blwa-loading::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	flex: none;
	border: 2.5px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: blwa-spin 0.7s linear infinite;
}

.blwa .blwa-loading.is-error::before {
	display: none;
}

.blwa .blwa-btn.is-loading .blwa-icon {
	display: none;
}

/* Alerts. */
.blwa .blwa-alert {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid var(--blwa-error-border);
	border-left: 4px solid var(--blwa-error);
	border-radius: var(--blwa-radius-sm);
	background: var(--blwa-error-bg);
	color: var(--blwa-error);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
}

.blwa .blwa-alert .blwa-icon {
	width: 22px;
	height: 22px;
	margin-top: 1px;
}

.blwa .blwa-alert__body p {
	margin: 0;
}

.blwa .blwa-alert__body ul {
	margin: 6px 0 0;
}

.blwa .blwa-alert__body li {
	margin: 2px 0;
}

.blwa .blwa-alert a {
	color: var(--blwa-error);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.blwa .blwa-alert a:hover,
.blwa .blwa-alert a:focus {
	color: var(--blwa-navy);
}

/* Inline field error (icon + text: never colour alone). */
.blwa .blwa-field-error {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 8px 0 0;
	color: var(--blwa-error);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

.blwa .blwa-field-error .blwa-icon {
	width: 18px;
	height: 18px;
	margin-top: 1px;
}

/* Screen transitions. */
.blwa .blwa-screen.is-entering,
.blwa .blwa-section.is-entering {
	animation: blwa-enter 0.45s var(--blwa-ease) both;
}

@keyframes blwa-enter {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes blwa-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ---------------------------------------------------------------------------
 * Landing
 * ------------------------------------------------------------------------ */
.blwa .blwa-hero {
	position: relative;
	display: grid;
	gap: 28px;
	padding: 32px 20px;
	overflow: hidden;
	border: 1px solid #f3eaea;
	border-radius: var(--blwa-radius-xl);
	background: linear-gradient(160deg, #fff 0%, var(--blwa-blush-softer) 45%, var(--blwa-blush-soft) 100%);
	isolation: isolate;
}

/* Blush ring, echoing the EVS homepage hero (pseudo-element: nothing for HTML minifiers to strip). */
.blwa .blwa-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -170px;
	left: -190px;
	width: 480px;
	height: 480px;
	border: 12px solid var(--blwa-blush);
	border-radius: 50%;
	opacity: 0.38;
	pointer-events: none;
}

.blwa .blwa-hero__title {
	margin-bottom: 16px;
	color: var(--blwa-navy);
	font-size: clamp(30px, 7.4vw, 50px);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.blwa .blwa-hero__intro {
	max-width: 36em;
	margin-bottom: 22px;
	font-size: 17px;
	line-height: 1.65;
}

.blwa .blwa-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 26px;
}

.blwa .blwa-meta__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 6px;
	border: 1px solid var(--blwa-line);
	border-radius: 999px;
	background: #fff;
	color: var(--blwa-text);
	font-size: 14px;
	line-height: 1.3;
}

.blwa .blwa-meta__item strong {
	color: var(--blwa-navy);
	font-weight: 700;
}

.blwa .blwa-meta__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--blwa-pink-soft);
	color: var(--blwa-pink-strong);
}

.blwa .blwa-meta__icon .blwa-icon {
	width: 16px;
	height: 16px;
}

.blwa .blwa-hero__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
}

.blwa .blwa-hero__actions .blwa-btn {
	width: 100%;
}

.blwa .blwa-hero__trust {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--blwa-muted);
	font-size: 13px;
	line-height: 1.4;
}

.blwa .blwa-hero__trust .blwa-icon {
	width: 16px;
	height: 16px;
	color: var(--blwa-pink-strong);
}

/* Resume banner. */
.blwa .blwa-resume {
	margin-bottom: 18px;
	padding: 18px;
	border: 1px solid var(--blwa-pink-border);
	border-radius: var(--blwa-radius);
	background: #fff;
}

.blwa .blwa-resume__text {
	margin-bottom: 12px;
	color: var(--blwa-navy);
	font-weight: 600;
}

.blwa .blwa-resume__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* Ladder graphic. */
.blwa .blwa-ladder {
	position: relative;
	align-self: center;
	padding: 22px 18px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius-lg);
	background: #fff;
	box-shadow: var(--blwa-shadow);
}

.blwa .blwa-ladder__heading {
	margin-bottom: 14px;
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 700;
}

.blwa .blwa-ladder__list {
	position: relative;
	display: grid;
	gap: 8px;
}

/* The ladder rail connecting the rung numbers. */
.blwa .blwa-ladder__list::before {
	content: "";
	position: absolute;
	top: 20px;
	bottom: 20px;
	left: 19px;
	width: 2px;
	border-radius: 2px;
	background: linear-gradient(180deg, var(--blwa-pink) 0%, var(--blwa-blush) 100%);
}

.blwa .blwa-ladder__rung {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 6px 10px 6px 0;
	border-radius: var(--blwa-radius-sm);
}

.blwa .blwa-ladder__num {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border: 2px solid var(--blwa-blush);
	border-radius: 50%;
	background: #fff;
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 700;
}

.blwa .blwa-ladder__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.blwa .blwa-ladder__title {
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.blwa .blwa-ladder__range {
	color: var(--blwa-muted);
	font-size: 12.5px;
	line-height: 1.4;
	font-variant-numeric: tabular-nums;
}

.blwa .blwa-ladder__here {
	align-self: flex-start;
	margin: 0 0 4px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--blwa-pink-strong);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.blwa .blwa-ladder__rung.is-current {
	background: var(--blwa-pink-soft);
	box-shadow: inset 0 0 0 2px var(--blwa-pink-border);
}

.blwa .blwa-ladder__rung.is-current .blwa-ladder__num {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
	color: #fff;
}

/* Benefits. */
.blwa .blwa-benefits {
	display: grid;
	gap: 14px;
	margin-top: 18px;
}

.blwa .blwa-benefit {
	padding: 22px 20px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius-lg);
	background: #fff;
	box-shadow: var(--blwa-shadow-sm);
}

.blwa .blwa-benefit .blwa-icon-badge {
	margin-bottom: 14px;
}

.blwa .blwa-benefit__title {
	margin-bottom: 6px;
	font-size: 18px;
	font-weight: 600;
}

.blwa .blwa-benefit__text {
	color: var(--blwa-muted);
	font-size: 15px;
	line-height: 1.6;
}

/* ---------------------------------------------------------------------------
 * Progress
 * ------------------------------------------------------------------------ */
.blwa .blwa-screen--quiz,
.blwa .blwa-screen--lead {
	max-width: 880px;
	margin: 0 auto;
}

.blwa .blwa-progress {
	margin-bottom: 16px;
	padding: 16px 18px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius-lg);
	background: #fff;
	box-shadow: var(--blwa-shadow-sm);
}

.blwa .blwa-progress__top {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 12px;
	margin-bottom: 10px;
}

.blwa .blwa-progress__section {
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 700;
}

.blwa .blwa-progress__count {
	color: var(--blwa-muted);
	font-size: 14px;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
}

.blwa .blwa-progress__bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
}

.blwa .blwa-progress__seg {
	position: relative;
	height: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: #f1e7e9;
}

.blwa .blwa-progress__seg::after {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: var(--blwa-fill, 0%);
	border-radius: inherit;
	background: var(--blwa-pink);
	transition: width 0.4s var(--blwa-ease);
}

.blwa .blwa-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
	margin-top: 14px;
}

.blwa .blwa-steps__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	text-align: center;
}

.blwa .blwa-steps__dot {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 2px solid var(--blwa-line-strong);
	border-radius: 50%;
	background: #fff;
	color: var(--blwa-muted);
	font-size: 14px;
	font-weight: 700;
	transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease;
}

.blwa .blwa-steps__check {
	display: none;
}

.blwa .blwa-steps__label {
	display: none;
	color: var(--blwa-muted);
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.35;
}

.blwa .blwa-steps__item.is-current .blwa-steps__dot {
	border-color: var(--blwa-navy);
	background: var(--blwa-navy);
	box-shadow: 0 0 0 4px var(--blwa-navy-tint-strong);
	color: #fff;
}

.blwa .blwa-steps__item.is-current .blwa-steps__label {
	color: var(--blwa-navy);
	font-weight: 600;
}

.blwa .blwa-steps__item.is-done .blwa-steps__dot {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
	color: #fff;
}

.blwa .blwa-steps__item.is-done .blwa-steps__code {
	display: none;
}

.blwa .blwa-steps__item.is-done .blwa-steps__check {
	display: inline-block;
	width: 18px;
	height: 18px;
	stroke-width: 2.6;
}

/* ---------------------------------------------------------------------------
 * Section + questions
 * ------------------------------------------------------------------------ */
.blwa .blwa-section__header {
	margin-bottom: 8px;
}

.blwa .blwa-section__title {
	margin-bottom: 8px;
	font-size: clamp(24px, 5.6vw, 34px);
	letter-spacing: -0.01em;
}

.blwa .blwa-section__desc {
	margin-bottom: 14px;
	color: var(--blwa-muted);
	font-size: 16px;
}

.blwa .blwa-section__hint {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 10px 14px;
	border-radius: var(--blwa-radius-sm);
	background: var(--blwa-blush-soft);
	color: var(--blwa-text);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.blwa .blwa-section__hint .blwa-icon {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--blwa-pink-strong);
}

.blwa .blwa-questions {
	margin-top: 8px;
}

.blwa .blwa-q {
	min-width: 0;
	margin: 0;
	padding: 22px 0;
	border: 0;
	border-top: 1px solid var(--blwa-line);
	scroll-margin-top: 140px;
}

.blwa .blwa-q:first-child {
	border-top: 0;
}

.blwa .blwa-q__legend {
	display: flex;
	float: left;
	align-items: flex-start;
	gap: 12px;
	width: 100%;
	max-width: 100%;
	margin: 0 0 14px;
	padding: 0;
	color: var(--blwa-navy);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.5;
	white-space: normal;
}

/* Clear the floated legend (floating removes fieldset legend quirks). */
.blwa .blwa-q__legend + * {
	clear: both;
}

.blwa .blwa-q__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	flex: none;
	border-radius: 50%;
	background: var(--blwa-navy-tint-strong);
	color: var(--blwa-navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.blwa .blwa-q__text {
	padding-top: 2px;
}

.blwa .blwa-q__options {
	display: grid;
	gap: 8px;
}

/* Answer option: native radio (visually hidden, still focusable) + card. */
.blwa .blwa-opt {
	position: relative;
	display: block;
	margin: 0;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}

.blwa .blwa-opt__input {
	position: absolute;
	top: 0;
	left: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}

.blwa .blwa-opt__card {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 52px;
	padding: 9px 14px 9px 10px;
	border: 1.5px solid var(--blwa-line-strong);
	border-radius: var(--blwa-radius-sm);
	background: #fff;
	color: var(--blwa-text);
	transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s var(--blwa-ease);
}

.blwa .blwa-opt__value {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	flex: none;
	border: 1.5px solid var(--blwa-line-strong);
	border-radius: 50%;
	background: #fff;
	color: var(--blwa-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	transition: inherit;
}

.blwa .blwa-opt__label {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
}

.blwa .blwa-opt__check {
	display: inline-flex;
	margin-left: auto;
	opacity: 0;
	transform: scale(0.6);
	transition: opacity 0.18s ease, transform 0.18s var(--blwa-ease);
}

.blwa .blwa-opt__check .blwa-icon {
	width: 20px;
	height: 20px;
	stroke-width: 2.6;
}

.blwa .blwa-opt:hover .blwa-opt__card {
	border-color: var(--blwa-pink-border);
	background: var(--blwa-pink-soft);
}

.blwa .blwa-opt__input:checked + .blwa-opt__card {
	border-color: var(--blwa-navy);
	background: var(--blwa-navy);
	box-shadow: 0 10px 20px -12px rgba(8, 37, 73, 0.6);
	color: #fff;
}

.blwa .blwa-opt__input:checked + .blwa-opt__card .blwa-opt__value {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
	color: #fff;
}

.blwa .blwa-opt__input:checked + .blwa-opt__card .blwa-opt__label {
	font-weight: 700;
}

.blwa .blwa-opt__input:checked + .blwa-opt__card .blwa-opt__check {
	opacity: 1;
	transform: none;
}

.blwa .blwa-opt__input:focus-visible + .blwa-opt__card {
	outline: 3px solid var(--blwa-focus);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px rgba(255, 14, 128, 0.18);
}

.blwa .blwa-opt__input:checked:focus-visible + .blwa-opt__card {
	outline-color: var(--blwa-pink-strong);
}

/* Missing answer. */
.blwa .blwa-q.has-error .blwa-opt__card {
	border-color: var(--blwa-error-border);
}

.blwa .blwa-q.has-error .blwa-q__num {
	background: var(--blwa-error);
	color: #fff;
}

/* Section navigation. */
.blwa .blwa-nav {
	display: flex;
	gap: 10px;
	margin-top: 8px;
	padding-top: 20px;
	border-top: 1px solid var(--blwa-line);
}

.blwa .blwa-nav [data-blwa-action="next"] {
	flex: 1;
}

/* ---------------------------------------------------------------------------
 * Lead form
 * ------------------------------------------------------------------------ */
.blwa .blwa-lead {
	max-width: 760px;
	margin: 0 auto;
}

.blwa .blwa-lead__intro {
	margin-bottom: 22px;
	text-align: center;
}

.blwa .blwa-lead__badge {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 14px;
	border-radius: 50%;
	background: var(--blwa-pink-soft);
	box-shadow: 0 0 0 8px rgba(255, 14, 128, 0.06);
	color: var(--blwa-pink-strong);
}

.blwa .blwa-lead__badge .blwa-icon {
	width: 32px;
	height: 32px;
}

.blwa .blwa-lead__title {
	margin-bottom: 10px;
	font-size: clamp(28px, 6.4vw, 40px);
	letter-spacing: -0.015em;
}

.blwa .blwa-lead__text {
	max-width: 32em;
	margin: 0 auto;
	color: var(--blwa-muted);
	font-size: 16px;
}

.blwa .blwa-lead__required-note {
	margin-bottom: 14px;
	color: var(--blwa-muted);
	font-size: 13px;
}

.blwa .blwa-req {
	color: var(--blwa-pink-strong);
	font-weight: 700;
}

.blwa .blwa-fields {
	display: grid;
	gap: 16px;
}

.blwa .blwa-field__label {
	display: block;
	margin-bottom: 6px;
	color: var(--blwa-navy);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.blwa .blwa-field__optional {
	color: var(--blwa-muted);
	font-size: 13px;
	font-weight: 400;
}

.blwa .blwa-field__control {
	position: relative;
}

.blwa .blwa-field__icon {
	position: absolute;
	top: 50%;
	left: 15px;
	display: inline-flex;
	color: var(--blwa-muted);
	transform: translateY(-50%);
	pointer-events: none;
}

.blwa .blwa-field__icon .blwa-icon {
	width: 19px;
	height: 19px;
}

.blwa .blwa-input,
.blwa input.blwa-input[type="text"],
.blwa input.blwa-input[type="email"],
.blwa input.blwa-input[type="tel"],
.blwa input.blwa-input[type="date"] {
	display: block;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 12px 16px 12px 46px;
	border: 1.5px solid var(--blwa-line-strong);
	border-radius: var(--blwa-radius-sm);
	background: #fff;
	box-shadow: none;
	color: var(--blwa-navy);
	font-family: var(--blwa-font);
	font-size: 16px; /* 16px prevents iOS zoom on focus. */
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.blwa .blwa-input::placeholder {
	color: #8a8f90;
	opacity: 1;
}

.blwa .blwa-input:hover {
	border-color: #bfb2b5;
}

.blwa .blwa-input:focus,
.blwa input.blwa-input:focus {
	border-color: var(--blwa-navy);
	outline: none;
	box-shadow: 0 0 0 4px var(--blwa-navy-tint-strong);
	color: var(--blwa-navy);
}

.blwa .blwa-input[aria-invalid="true"],
.blwa input.blwa-input[aria-invalid="true"] {
	border-color: var(--blwa-error);
	background: #fffafb;
}

.blwa .blwa-input[aria-invalid="true"]:focus,
.blwa input.blwa-input[aria-invalid="true"]:focus {
	box-shadow: 0 0 0 4px rgba(179, 16, 42, 0.14);
}

/* Consent checkbox. */
.blwa .blwa-consent {
	position: relative;
	margin-top: 18px;
}

.blwa .blwa-consent__input {
	position: absolute;
	top: 2px;
	left: 0;
	width: 24px;
	height: 24px;
	margin: 0;
	opacity: 0;
}

.blwa .blwa-consent__label {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--blwa-text);
	font-size: 14px;
	line-height: 1.55;
	cursor: pointer;
}

.blwa .blwa-consent__box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex: none;
	margin-top: 1px;
	border: 2px solid var(--blwa-line-strong);
	border-radius: 6px;
	background: #fff;
	color: transparent;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}

.blwa .blwa-consent__box .blwa-icon {
	width: 16px;
	height: 16px;
	stroke-width: 3;
}

.blwa .blwa-consent__input:checked + .blwa-consent__label .blwa-consent__box {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
	color: #fff;
}

.blwa .blwa-consent__input:focus-visible + .blwa-consent__label .blwa-consent__box {
	outline: 3px solid var(--blwa-focus);
	outline-offset: 2px;
}

/* Honeypot: off-screen for people, present for bots. */
.blwa .blwa-hp {
	position: absolute !important;
	top: auto !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.blwa .blwa-lead__actions {
	margin-top: 22px;
}

.blwa [data-blwa-submit].is-loading {
	background: var(--blwa-navy);
	border-color: var(--blwa-navy);
}

.blwa .blwa-privacy {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 14px;
	color: var(--blwa-muted);
	font-size: 13px;
	line-height: 1.55;
}

.blwa .blwa-privacy .blwa-icon {
	width: 16px;
	height: 16px;
	margin-top: 2px;
	color: var(--blwa-pink-strong);
}

.blwa .blwa-privacy a,
.blwa .blwa-privacy a:visited {
	color: var(--blwa-navy);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.blwa .blwa-privacy a:hover,
.blwa .blwa-privacy a:focus {
	color: var(--blwa-pink-strong);
}

.blwa .blwa-lead__form > .blwa-link {
	margin-top: 10px;
}

/* ---------------------------------------------------------------------------
 * Result
 * ------------------------------------------------------------------------ */
.blwa .blwa-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 60px 20px;
	color: var(--blwa-navy);
	font-weight: 600;
}

/* The result sits on EVS Primary so the cards read as cards. The landing,
   questions and lead form stay on the theme's own background. Every block
   inside is white, near-white or navy, so no body copy lands on blush. */
.blwa .blwa-result {
	display: grid;
	gap: 20px;	
	padding: 0 !important;
	border-radius: var(--blwa-radius-lg);
}

/* Identity hero, on the EVS Primary surface. */
.blwa .blwa-result-hero {
	position: relative;
	display: grid;
	gap: 24px;
	padding: 30px 20px;
	overflow: hidden;
	border-radius: var(--blwa-radius-xl);
	background: var(--blwa-surface);
	color: var(--blwa-navy);
	isolation: isolate;
}

.blwa .blwa-result-hero::before,
.blwa .blwa-cta::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 460px;
	height: 460px;
	border: 12px solid #fff;
	border-radius: 50%;
	opacity: 0.55;
	pointer-events: none;
}

.blwa .blwa-result-hero::before {
	top: -200px;
	right: -160px;
}

.blwa .blwa-result-hero__intro {
	margin-bottom: 18px;
	color: var(--blwa-pink-deep);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.blwa .blwa-result-hero__title {
	margin-top: 26px;
	color: var(--blwa-navy);
}

.blwa .blwa-result-hero__label {
	display: block;
	margin-bottom: 4px;
	color: var(--blwa-text);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

.blwa .blwa-result-hero__name {
	display: block;
	color: var(--blwa-navy);
	font-size: clamp(32px, 7.4vw, 50px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.015em;
}

.blwa .blwa-result-hero__name::after {
	content: "";
	display: block;
	width: 64px;
	height: 5px;
	margin-top: 14px;
	border-radius: 5px;
	background: var(--blwa-pink);
}

.blwa .blwa-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.blwa .blwa-stat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 16px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius);
	background: #fff;
}

.blwa .blwa-stat__text {
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
	font-variant-numeric: tabular-nums;
}

.blwa .blwa-gauge {
	width: 84px;
	height: 84px;
}

.blwa .blwa-gauge circle {
	fill: none;
	stroke-width: 10;
}

.blwa .blwa-gauge__track {
	stroke: var(--blwa-navy-tint-strong);
}

.blwa .blwa-gauge__value {
	stroke: var(--blwa-pink);
	stroke-linecap: round;
	transition: stroke-dashoffset 1s var(--blwa-ease);
}

.blwa .blwa-gauge text {
	fill: var(--blwa-navy);
	font-family: var(--blwa-font);
}

.blwa .blwa-gauge__num {
	font-size: 34px;
	font-weight: 700;
}

.blwa .blwa-gauge__max {
	fill: var(--blwa-text);
	font-size: 15px;
	font-weight: 500;
}

.blwa .blwa-rungmeter {
	display: flex;
	align-items: flex-end;
	gap: 6px;
	height: 84px;
	padding-bottom: 4px;
}

.blwa .blwa-rungmeter__bar {
	width: 14px;
	border-radius: 4px;
	background: var(--blwa-navy-tint-strong);
}

.blwa .blwa-rungmeter__bar:nth-child(1) { height: 28%; }
.blwa .blwa-rungmeter__bar:nth-child(2) { height: 45%; }
.blwa .blwa-rungmeter__bar:nth-child(3) { height: 62%; }
.blwa .blwa-rungmeter__bar:nth-child(4) { height: 80%; }
.blwa .blwa-rungmeter__bar:nth-child(5) { height: 100%; }

.blwa .blwa-rungmeter__bar.is-on {
	background: var(--blwa-pink);
}

.blwa .blwa-result-key {
	margin-top: 16px;
	color: var(--blwa-text);
	font-size: 13px;
}

.blwa .blwa-result-key code {
	padding: 2px 8px;
	border-radius: 6px;
	background: #fff;
	color: var(--blwa-navy);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 12.5px;
}

/* Ladder on the surface: a white card. */
.blwa .blwa-ladder--result {
	border-color: var(--blwa-line);
	background: #fff;
	box-shadow: none;
}

.blwa .blwa-ladder--result .blwa-ladder__heading,
.blwa .blwa-ladder--result .blwa-ladder__title {
	color: var(--blwa-navy);
}

.blwa .blwa-ladder--result .blwa-ladder__range {
	color: var(--blwa-muted);
}

.blwa .blwa-ladder--result .blwa-ladder__num {
	border-color: var(--blwa-navy);
	background: var(--blwa-navy);
	color: #fff;
}

.blwa .blwa-ladder--result .blwa-ladder__list::before {
	background: linear-gradient(180deg, var(--blwa-pink) 0%, var(--blwa-blush) 100%);
}

.blwa .blwa-ladder--result .blwa-ladder__rung.is-current {
	background: var(--blwa-surface);
	box-shadow: none;
}

.blwa .blwa-ladder--result .blwa-ladder__rung.is-current .blwa-ladder__title {
	color: var(--blwa-navy);
}

.blwa .blwa-ladder--result .blwa-ladder__rung.is-current .blwa-ladder__range {
	color: var(--blwa-muted);
}

.blwa .blwa-ladder--result .blwa-ladder__rung.is-current .blwa-ladder__num {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
}

/* Result blocks. */
.blwa .blwa-result__grid {
	display: grid;
	gap: 20px;
}

.blwa .blwa-block__title {
	margin-bottom: 14px;
	font-size: clamp(20px, 4.6vw, 26px);
	line-height: 1.3;
}

.blwa .blwa-block__title--icon {
	display: flex;
	align-items: center;
	gap: 12px;
}

.blwa .blwa-block__text {
	font-size: 16px;
	line-height: 1.7;
}

.blwa .blwa-block__text--lg {
	color: var(--blwa-navy);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.6;
}

/* Bottleneck. */
.blwa .blwa-bottlenecks {
	display: grid;
	gap: 10px;
}

.blwa .blwa-bottleneck {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px;
	border: 1px solid var(--blwa-pink-border);
	border-left: 4px solid var(--blwa-pink);
	border-radius: var(--blwa-radius-sm);
	background: var(--blwa-pink-soft);
}

.blwa .blwa-bottleneck .blwa-icon-badge {
	background: #fff;
}

.blwa .blwa-bottleneck__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.blwa .blwa-bottleneck__label {
	color: var(--blwa-navy);
	font-size: 17px;
	font-weight: 700;
}

.blwa .blwa-bottleneck__text {
	font-size: 15px;
	line-height: 1.55;
}

.blwa .blwa-scores {
	margin-top: 22px;
	padding-top: 20px;
	border-top: 1px solid var(--blwa-line);
}

.blwa .blwa-scores__title {
	margin-bottom: 12px;
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 700;
}

.blwa .blwa-scores__list {
	display: grid;
	gap: 14px;
}

.blwa .blwa-score__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 6px;
	font-size: 14px;
	line-height: 1.4;
}

.blwa .blwa-score__name {
	color: var(--blwa-text);
	font-weight: 500;
}

.blwa .blwa-score__code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-right: 4px;
	border-radius: 6px;
	background: var(--blwa-navy-tint-strong);
	color: var(--blwa-navy);
	font-size: 12px;
	font-weight: 700;
}

.blwa .blwa-score__value {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex: none;
	color: var(--blwa-navy);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.blwa .blwa-tag {
	padding: 2px 8px;
	border-radius: 999px;
	background: var(--blwa-pink-strong);
	color: #fff;
	font-size: 11.5px;
	font-weight: 700;
	line-height: 1.5;
}

.blwa .blwa-score__track {
	display: block;
	height: 10px;
	overflow: hidden;
	border-radius: 4px;
	background: #f1e7e9;
}

.blwa .blwa-score__fill {
	display: block;
	height: 100%;
	border-radius: 0 4px 4px 0; /* Square at the baseline, rounded data end. */
	background: var(--blwa-navy);
}

.blwa .blwa-score.is-lowest .blwa-score__fill {
	background: repeating-linear-gradient(135deg, var(--blwa-pink) 0 8px, #ff4f9f 8px 14px);
}

/* Summary (EVS pink side border). */
.blwa .blwa-block--summary {
	padding: 4px 0 4px 20px;
	border-left: 4px solid var(--blwa-pink);
}

.blwa .blwa-summary {
	color: var(--blwa-navy);
	font-size: clamp(19px, 4.4vw, 24px);
	font-weight: 500;
	line-height: 1.5;
}

/* Signs. */
.blwa .blwa-signs {
	display: grid;
	gap: 12px;
}

.blwa .blwa-sign {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15.5px;
	line-height: 1.6;
}

.blwa .blwa-sign .blwa-icon {
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: var(--blwa-pink-strong);
}

/* Cost / risk. */
.blwa .blwa-block--cost {
	padding: 24px 20px;
	border: 1px solid #f0e1de;
	border-radius: var(--blwa-radius-lg);
	background: var(--blwa-blush-soft);
}

.blwa .blwa-block--cost .blwa-icon-badge {
	background: #fff;
}

/* Next shift. */
.blwa .blwa-block--shift {
	padding: 24px 20px;
	border: 1px solid var(--blwa-pink-border);
	border-radius: var(--blwa-radius-lg);
	background: linear-gradient(135deg, var(--blwa-pink-soft) 0%, #fff 100%);
}

/* Next 30 days. */
.blwa .blwa-timeline {
	position: relative;
	display: grid;
	gap: 18px;
}

.blwa .blwa-timeline::before {
	content: "";
	position: absolute;
	top: 18px;
	bottom: 18px;
	left: 17px;
	width: 2px;
	background: var(--blwa-line);
}

.blwa .blwa-timeline__item {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.blwa .blwa-timeline__num {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	flex: none;
	border-radius: 50%;
	background: var(--blwa-pink-strong);
	box-shadow: 0 0 0 5px #fff;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

.blwa .blwa-timeline__body {
	display: flex;
	flex-direction: column;
	padding-top: 4px;
}

.blwa .blwa-timeline__step {
	color: var(--blwa-muted);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.blwa .blwa-timeline__text {
	color: var(--blwa-text);
	font-size: 16px;
	line-height: 1.6;
}

/* Mistake / warning (icon + label: not colour alone). */
.blwa .blwa-mistake {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border: 1px solid var(--blwa-warning-border);
	border-left: 5px solid var(--blwa-warning);
	border-radius: var(--blwa-radius);
	background: var(--blwa-warning-bg);
}

.blwa .blwa-mistake__icon {
	display: inline-flex;
	color: var(--blwa-warning);
}

.blwa .blwa-mistake__icon .blwa-icon {
	width: 26px;
	height: 26px;
}

.blwa .blwa-mistake__text {
	font-size: 16px;
	line-height: 1.6;
}

.blwa .blwa-mistake__text strong {
	color: var(--blwa-warning);
	font-weight: 700;
}

/* ---------------------------------------------------------------------------
 * Result page extension (v1.1): Your 30 Day Bottleneck Shift, Move from
 * insight to action, About EVS. Built only from the existing tokens.
 * ------------------------------------------------------------------------ */
.blwa .blwa-eyebrow--caps {
	font-size: 13px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Worksheet card. */
.blwa .blwa-plan__head {
	max-width: 46em;
	margin-bottom: 22px;
}

.blwa .blwa-plan__title {
	margin-bottom: 10px;
}

.blwa .blwa-plan__intro {
	color: var(--blwa-muted);
	font-size: 16px;
	line-height: 1.65;
}

/* Marks the worksheet as optional, next to the heading. */
.blwa .blwa-plan__optional {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--blwa-navy-tint);
	color: var(--blwa-navy);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}

.blwa .blwa-plan__note {
	margin-top: 10px;
	color: var(--blwa-muted);
	font-size: 14.5px;
	line-height: 1.6;
}

/* Result indicators (read-only). */
.blwa .blwa-plan__indicators {
	display: grid;
	gap: 12px;
	margin-bottom: 26px;
}

.blwa .blwa-indicator {
	padding: 16px 18px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius);
	background: var(--blwa-blush-softer);
}

.blwa .blwa-indicator__label {
	margin-bottom: 12px;
	color: var(--blwa-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.blwa .blwa-indicator__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.blwa .blwa-indicator__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--blwa-line-strong);
	border-radius: 50%;
	background: #fff;
	color: var(--blwa-muted);
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
}

.blwa .blwa-indicator__item--section {
	border-radius: var(--blwa-radius-sm);
}

/* Current value: filled + ring + bold, plus caption and screen reader text (not colour alone). */
.blwa .blwa-indicator__item.is-active {
	border-color: var(--blwa-pink-strong);
	background: var(--blwa-pink-strong);
	box-shadow: 0 0 0 4px rgba(255, 14, 128, 0.16);
	color: #fff;
	font-weight: 700;
	transform: scale(1.08);
}

.blwa .blwa-indicator__caption {
	margin-top: 12px;
	color: var(--blwa-text);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

/* Fields. */
.blwa .blwa-plan__grid {
	display: grid;
	gap: 18px;
}

.blwa .blwa-plan__field {
	min-width: 0;
}

.blwa .blwa-plan__label,
.blwa legend.blwa-plan__label {
	display: flex;
	float: left;
	align-items: flex-start;
	gap: 10px;
	width: 100%;
	margin: 0 0 8px;
	padding: 0;
	color: var(--blwa-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.blwa .blwa-plan__label + * {
	clear: both;
}

.blwa .blwa-plan__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	flex: none;
	border-radius: 50%;
	background: var(--blwa-navy-tint-strong);
	color: var(--blwa-navy);
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

.blwa .blwa-plan__label-text {
	padding-top: 2px;
}

.blwa .blwa-textarea,
.blwa textarea.blwa-textarea {
	display: block;
	width: 100%;
	min-height: 132px;
	margin: 0;
	padding: 14px 16px;
	border: 1.5px solid var(--blwa-line-strong);
	border-radius: var(--blwa-radius-sm);
	background: #fff;
	box-shadow: none;
	color: var(--blwa-navy);
	font-family: var(--blwa-font);
	font-size: 16px; /* 16px prevents iOS zoom on focus. */
	line-height: 1.55;
	resize: vertical;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.blwa .blwa-textarea:hover {
	border-color: #bfb2b5;
}

.blwa .blwa-textarea:focus,
.blwa textarea.blwa-textarea:focus {
	border-color: var(--blwa-navy);
	outline: none;
	box-shadow: 0 0 0 4px var(--blwa-navy-tint-strong);
	color: var(--blwa-navy);
}

.blwa .blwa-textarea::placeholder,
.blwa .blwa-plan .blwa-input::placeholder {
	color: #767b7c;
	opacity: 1;
}

.blwa .blwa-input--plain,
.blwa input.blwa-input--plain[type="text"],
.blwa input.blwa-input--plain[type="date"] {
	padding-left: 16px;
}

.blwa input.blwa-input[type="date"]::-webkit-date-and-time-value {
	text-align: left;
}

/* Structured measures area. */
.blwa .blwa-plan__structured {
	display: grid;
	gap: 18px;
	margin-top: 22px;
	padding: 20px 18px;
	border: 1px solid #f0e1de;
	border-radius: var(--blwa-radius);
	background: var(--blwa-blush-soft);
}

.blwa .blwa-plan__dates {
	min-width: 0;
}

.blwa .blwa-plan__dates-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.blwa .blwa-plan__date {
	min-width: 0;
}

.blwa .blwa-plan__sublabel {
	display: block;
	margin-bottom: 6px;
	color: var(--blwa-muted);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
}

/* Autosave status. */
/* Status and the clear control share a row; the button wraps under on narrow screens. */
.blwa .blwa-plan__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.blwa .blwa-plan__clear {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
	padding: 8px 16px;
	border: 1px solid var(--blwa-line-strong);
	border-radius: var(--blwa-radius-btn);
	background: #fff;
	color: var(--blwa-text);
	font-family: var(--blwa-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: border-color 0.2s var(--blwa-ease), color 0.2s var(--blwa-ease);
}

.blwa .blwa-plan__clear:hover {
	border-color: var(--blwa-pink-strong);
	color: var(--blwa-pink-strong);
}

.blwa .blwa-plan__clear[hidden] {
	display: none;
}

/* Says plainly that the worksheet never leaves the device. */
.blwa .blwa-plan__privacy {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 12px;
	color: var(--blwa-muted);
	font-size: 13px;
	line-height: 1.5;
}

.blwa .blwa-plan__privacy .blwa-icon {
	width: 16px;
	height: 16px;
	margin-top: 2px;
	flex: 0 0 auto;
	color: var(--blwa-muted);
}

.blwa .blwa-plan__status {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--blwa-muted);
	font-size: 13.5px;
	line-height: 1.45;
	transition: opacity 0.2s ease;
}

.blwa .blwa-plan__status .blwa-icon {
	width: 18px;
	height: 18px;
	color: var(--blwa-success);
}

.blwa .blwa-plan__status.is-saving {
	opacity: 0.7;
}

.blwa .blwa-plan__status.is-error,
.blwa .blwa-plan__status.is-error .blwa-icon {
	color: var(--blwa-error);
}

/* Closing line (EVS pink side-border accent). */
.blwa .blwa-plan__closing {
	margin-top: 26px;
	padding: 4px 0 4px 18px;
	border-left: 4px solid var(--blwa-pink);
	color: var(--blwa-navy);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.55;
}

/* Move from insight to action: one surface panel continuing into the audit CTA. */
.blwa .blwa-action {
	overflow: hidden;
	border-radius: var(--blwa-radius-xl);
	background: var(--blwa-surface);
}

.blwa .blwa-insight {
	position: relative;
	padding: 36px 22px 32px;
	border-bottom: 1px solid var(--blwa-line-strong);
	color: var(--blwa-navy);
	isolation: isolate;
}

.blwa .blwa-insight::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -230px;
	right: -170px;
	width: 460px;
	height: 460px;
	border: 12px solid #fff;
	border-radius: 50%;
	opacity: 0.55;
	pointer-events: none;
}

.blwa .blwa-insight__intro {
	max-width: 680px;
	margin: 0 auto 28px;
	text-align: center;
}

.blwa .blwa-insight__title {
	margin-bottom: 14px;
	color: var(--blwa-navy);
	font-size: clamp(26px, 6vw, 38px);
	letter-spacing: -0.01em;
}

.blwa .blwa-insight__lead {
	margin-bottom: 12px;
	color: var(--blwa-navy);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.55;
}

.blwa .blwa-insight__text {
	color: var(--blwa-text);
	font-size: 16px;
	line-height: 1.65;
}

.blwa .blwa-insight__audit {
	display: grid;
	gap: 16px;
	max-width: 920px;
	margin: 0 auto;
}

.blwa .blwa-insight__review {
	padding: 22px 20px;
	border: 1px solid var(--blwa-line);
	border-radius: var(--blwa-radius-lg);
	background: #fff;
}

.blwa .blwa-insight__subtitle {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	color: var(--blwa-navy);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.35;
}

.blwa .blwa-icon-badge--dark {
	background: var(--blwa-pink-soft);
	color: var(--blwa-pink-strong);
}

.blwa .blwa-insight__list {
	display: grid;
	gap: 12px;
}

.blwa .blwa-insight__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--blwa-text);
	font-size: 15.5px;
	line-height: 1.6;
}

.blwa .blwa-insight__item .blwa-icon {
	width: 22px;
	height: 22px;
	margin-top: 1px;
	color: var(--blwa-pink-strong);
}

.blwa .blwa-insight__note {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 24px;
	border-left: 4px solid var(--blwa-pink);
	border-radius: 0 var(--blwa-radius) var(--blwa-radius) 0;
	background: #fff;
	color: var(--blwa-navy);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
}

.blwa .blwa-insight__note .blwa-icon {
	width: 22px;
	height: 22px;
	margin-top: 3px;
	color: var(--blwa-pink-strong);
}

/* About Empowering Virtual Solution. */
.blwa .blwa-about {
	display: grid;
	gap: 18px;
	align-items: start;
}

.blwa .blwa-about__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--blwa-blush);
	color: var(--blwa-navy);
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.blwa .blwa-about__title {
	margin-bottom: 10px;
	font-size: clamp(20px, 4.6vw, 24px);
	line-height: 1.3;
}

.blwa .blwa-about__text {
	margin-bottom: 12px;
	font-size: 15.5px;
	line-height: 1.7;
}

.blwa .blwa-about__closing {
	margin-top: 4px;
	color: var(--blwa-pink-strong);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.55;
}

/* Call to action. */
.blwa .blwa-cta {
	position: relative;
	padding: 36px 22px;
	overflow: hidden;
	border-radius: var(--blwa-radius-xl);
	background: var(--blwa-surface);
	color: var(--blwa-navy);
	text-align: center;
	isolation: isolate;
}

.blwa .blwa-cta::before {
	bottom: -260px;
	left: -140px;
}

.blwa .blwa-cta__content {
	max-width: 640px;
	margin: 0 auto;
}

.blwa .blwa-cta__title {
	margin-bottom: 12px;
	color: var(--blwa-navy);
	font-size: clamp(26px, 6vw, 38px);
	letter-spacing: -0.01em;
}

.blwa .blwa-cta__text {
	margin-bottom: 24px;
	color: var(--blwa-text);
	font-size: 16px;
	line-height: 1.65;
}

.blwa .blwa-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
}

.blwa .blwa-cta .blwa-btn--primary:hover,
.blwa .blwa-cta .blwa-btn--primary:focus-visible {
	border-color: var(--blwa-navy);
	background: var(--blwa-navy);
	color: #fff;
}

.blwa .blwa-cta .blwa-btn:focus-visible,
.blwa .blwa-result-hero .blwa-btn:focus-visible {
	outline-color: var(--blwa-navy);
}

.blwa .blwa-admin-note {
	padding: 12px 16px;
	border-radius: var(--blwa-radius-sm);
	background: #fff;
	font-size: 14px;
}

.blwa .blwa-result__footer {
	text-align: center;
}

/* This link sits on the blush surface, not on a card, so the standard pink
   hover (4.8:1 on white) would fall to 3.2:1. Use the deeper pink instead. */
.blwa .blwa-result__footer .blwa-link:hover {
	color: var(--blwa-pink-deep);
}

/* ---------------------------------------------------------------------------
 * Motion preferences
 * ------------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	.blwa *,
	.blwa *::before,
	.blwa *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}

	.blwa .blwa-btn.is-loading::before,
	.blwa .blwa-loading::before {
		animation-duration: 1.4s !important;
		animation-iteration-count: infinite !important;
	}
}

/* Windows high contrast / forced colours: keep selection and focus visible. */
@media (forced-colors: active) {
	.blwa .blwa-opt__input:checked + .blwa-opt__card {
		border: 3px solid Highlight;
	}

	.blwa .blwa-opt__input:focus-visible + .blwa-opt__card,
	.blwa .blwa-btn:focus-visible {
		outline: 3px solid Highlight;
	}

	.blwa .blwa-progress__seg::after,
	.blwa .blwa-score__fill {
		background: Highlight;
	}
}
