/**
 * Registration & Membership page (Figma 442:1261 / 442:1979).
 * Global content width (--aibm-container) and site font (Spoof).
 * Tab bar comes from aibm-board.css (shared with the board pages).
 *  - Banner 570: gradients rgba(16,13,70,.949) → .533 @60% → rgba(9,20,36,.188)
 *    over rgba(9,20,36,.64) + top shade; eyebrow 13 / 1.2px; title 52/60;
 *    lead 18/29 #E8EAF7 (700 wide)
 *  - Panels #F8FAFC, padding 88 / 112; header title 36/46, lead 17/29
 *  - Registration: overview column 350 (navy card, journey, support note),
 *    gap 52; steps rail 64 (56 circle + 2px connector), cards white,
 *    radius 16, padding 28 32 30; final step #151052
 *  - Membership: navy overview card, boxes #F2F5FB radius 16 padding 28,
 *    inner blocks white radius 16 padding 20; renewal box #151052
 *
 * @package AIBM
 * @author  Sameer Ali N
 */

.aibm-reg-page {
	--aibm-reg-navy: #1B1464;
	--aibm-reg-deep: #151052;
	--aibm-reg-ink: #0F172A;
	--aibm-reg-muted: #475569;
	--aibm-reg-slate: #64748B;
	--aibm-reg-line: #DCE4EE;
	--aibm-reg-soft: #F8FAFC;
	--aibm-reg-soft-2: #F2F5FB;
	--aibm-reg-lilac: #ECEBFF;
	--aibm-reg-shadow: 0 8px 24px 0 rgba(15, 23, 42, .05);
}

.aibm-reg-page .aibm-reg__inner {
	width: 100%;
	max-width: calc(var(--aibm-container, 1340px) + var(--aibm-gutter, 40px) * 2);
	margin: 0 auto;
	padding: 0 var(--aibm-gutter, 40px);
}

.aibm-reg-page p,
.aibm-reg-page h1,
.aibm-reg-page h2,
.aibm-reg-page h3,
.aibm-reg-page h4,
.aibm-reg-page ul,
.aibm-reg-page ol {
	margin: 0;
	padding: 0;
	font-family: var(--aibm-font-body);
	text-transform: none;
}

.aibm-reg-page ul,
.aibm-reg-page ol {
	list-style: none;
}

.aibm-reg-page li {
	margin: 0;
}

.aibm-reg-page li::before {
	content: none;
}

.aibm-reg-page .aibm-reg__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--aibm-reg-navy);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.aibm-reg-page .aibm-reg__eyebrow span {
	flex: 0 0 24px;
	width: 24px;
	height: 2px;
	background: currentColor;
}

/* ---------------------------------------------------------------
   Banner
--------------------------------------------------------------- */
.aibm-reg-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 570px;
	padding: 96px 0;
	overflow: hidden;
	background: #100D46;
	color: #fff;
	isolation: isolate;
}

.aibm-reg-hero__media {
	position: absolute;
	inset: 0;
	z-index: -1;
}

.aibm-reg-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(9, 20, 36, .5) 0, rgba(9, 20, 36, 0) 180px),
		linear-gradient(90deg, rgba(16, 13, 70, .949) 0%, rgba(16, 13, 70, .533) 60%, rgba(9, 20, 36, .188) 100%),
		rgba(9, 20, 36, .64);
}

.aibm-reg-hero .aibm-reg-hero__img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.aibm-reg-hero__content {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 760px;
}

.aibm-reg-page .aibm-reg-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.aibm-reg-page .aibm-reg-hero__eyebrow span {
	flex: 0 0 24px;
	width: 24px;
	height: 2px;
	background: #fff;
}

.aibm-reg-page .aibm-reg-hero__title {
	color: #fff;
	font-size: 52px;
	font-weight: 700;
	line-height: 60px;
	letter-spacing: -.7px;
}

.aibm-reg-page .aibm-reg-hero__lead {
	max-width: 700px;
	color: #E8EAF7;
	font-size: 18px;
	line-height: 29px;
}

/* ---------------------------------------------------------------
   Tabs (two columns) + panels
--------------------------------------------------------------- */
.aibm-reg-tabs .aibm-board-tabs__bar {
	padding: 32px 0;
}

.aibm-reg-page .aibm-reg-tabs__list {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.aibm-reg-page .aibm-reg-panel {
	padding: 88px 0 112px;
	background: var(--aibm-reg-soft);
}

.aibm-reg-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 52px;
}

.aibm-reg-page .aibm-reg-head__title {
	max-width: 940px;
	color: var(--aibm-reg-ink);
	font-size: 36px;
	font-weight: 700;
	line-height: 46px;
	letter-spacing: -.4px;
}

.aibm-reg-page .aibm-reg-head__lead {
	max-width: 820px;
	color: var(--aibm-reg-muted);
	font-size: 17px;
	line-height: 29px;
}

/* Bullet lists (shared) */
.aibm-reg-page .aibm-reg-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.aibm-reg-page .aibm-reg-list > li {
	position: relative;
	padding-left: 34px;
	color: var(--aibm-reg-muted);
	font-size: 16px;
	line-height: 26px;
}

.aibm-reg-page .aibm-reg-list > li::before {
	content: "";
	position: absolute;
	top: 9.5px;
	left: 7.5px;
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: var(--aibm-reg-navy);
}

.aibm-reg-page .aibm-reg-list--sub {
	gap: 7px;
	margin-top: 9px;
}

.aibm-reg-page .aibm-reg-list--sub > li {
	padding-left: 30px;
	font-size: 15px;
	line-height: 24px;
}

.aibm-reg-page .aibm-reg-list--sub > li::before {
	top: 9.5px;
	left: 6.5px;
	width: 5px;
	height: 5px;
	background: var(--aibm-reg-slate);
}

.aibm-reg-page .aibm-reg-list a {
	color: var(--aibm-reg-navy);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Navy overview card (both tabs) */
.aibm-reg-card {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 28px;
	border-radius: 24px;
	background: var(--aibm-reg-navy);
	box-shadow: var(--aibm-reg-shadow);
	color: #fff;
}

.aibm-reg-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border-radius: 10px;
	background: rgba(255, 255, 255, .09);
	color: #fff;
}

.aibm-reg-card__icon svg {
	display: block;
}

.aibm-reg-card__copy {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.aibm-reg-page .aibm-reg-card__eyebrow {
	color: #C7C4FF;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.aibm-reg-page .aibm-reg-card__title,
.aibm-reg-page .aibm-reg-card__levels li {
	color: #fff;
	font-size: 28px;
	font-weight: 700;
	line-height: 35px;
}

.aibm-reg-page .aibm-reg-card__levels {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
}

/* ---------------------------------------------------------------
   Registration tab
--------------------------------------------------------------- */
.aibm-reg-process {
	display: grid;
	grid-template-columns: minmax(0, 350px) minmax(0, 1fr);
	gap: 52px;
	align-items: start;
}

.aibm-reg-overview {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

@media (min-width: 1100px) {
	.aibm-reg-overview {
		position: sticky;
		top: calc(var(--aibm-header-h, 110px) + 24px);
	}
}

.aibm-reg-journey {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 28px;
	border: 1px solid var(--aibm-reg-line);
	border-radius: 16px;
	background: var(--aibm-reg-soft-2);
}

.aibm-reg-page .aibm-reg-journey__title {
	color: var(--aibm-reg-navy);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.aibm-reg-page .aibm-reg-journey__list {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.aibm-reg-page .aibm-reg-journey__list li {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--aibm-reg-ink);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.aibm-reg-journey__num {
	display: inline-flex;
	flex: 0 0 28px;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 999px;
	background: #fff;
	color: var(--aibm-reg-navy);
	font-size: 12px;
	font-weight: 700;
}

.aibm-reg-support {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	border-radius: 16px;
	background: var(--aibm-reg-lilac);
	color: var(--aibm-reg-navy);
}

.aibm-reg-page .aibm-reg-support__title {
	color: var(--aibm-reg-navy);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .9px;
	text-transform: uppercase;
}

.aibm-reg-page .aibm-reg-support__text {
	color: var(--aibm-reg-navy);
	font-size: 14px;
	line-height: 22px;
}

/* Steps */
.aibm-reg-page .aibm-reg-steps {
	display: flex;
	flex-direction: column;
}

.aibm-reg-page .aibm-reg-step {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

.aibm-reg-step__rail {
	display: flex;
	flex: 0 0 64px;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

.aibm-reg-step__rail::after {
	content: "";
	flex: 1 1 auto;
	width: 2px;
	min-height: 42px;
	margin-bottom: 10px;
	background: var(--aibm-reg-line);
}

.aibm-reg-step--final .aibm-reg-step__rail::after {
	content: none;
}

.aibm-reg-step__num {
	display: inline-flex;
	flex: 0 0 56px;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border: 2px solid var(--aibm-reg-navy);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 23, 42, .03);
	color: var(--aibm-reg-navy);
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
}

.aibm-reg-step--final .aibm-reg-step__num {
	background: var(--aibm-reg-navy);
	color: #fff;
}

.aibm-reg-step__card {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 18px;
	min-width: 0;
	margin-bottom: 16px;
	padding: 28px 32px 30px;
	border: 1px solid var(--aibm-reg-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 23, 42, .03);
}

.aibm-reg-step--final .aibm-reg-step__card {
	margin-bottom: 0;
}

.aibm-reg-step__head {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding-bottom: 18px;
	border-bottom: 1px solid #E8EDF5;
}

.aibm-reg-page .aibm-reg-step__count {
	color: var(--aibm-reg-navy);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.aibm-reg-page .aibm-reg-step__title {
	color: var(--aibm-reg-ink);
	font-size: 21px;
	font-weight: 700;
	line-height: 29px;
}

.aibm-reg-page .aibm-reg-step--final .aibm-reg-step__card {
	border-color: var(--aibm-reg-deep);
	background: var(--aibm-reg-deep);
}

.aibm-reg-page .aibm-reg-step--final .aibm-reg-step__head {
	border-bottom-color: rgba(255, 255, 255, .13);
}

.aibm-reg-page .aibm-reg-step--final .aibm-reg-step__count {
	color: #C7C4FF;
}

.aibm-reg-page .aibm-reg-step--final .aibm-reg-step__title {
	color: #fff;
}

.aibm-reg-page .aibm-reg-step--final .aibm-reg-list > li {
	color: #E8EAF7;
}

.aibm-reg-page .aibm-reg-step--final .aibm-reg-list > li::before {
	background: #C7C4FF;
}

/* ---------------------------------------------------------------
   Membership tab
--------------------------------------------------------------- */
.aibm-mem {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.aibm-mem-box {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 28px;
	border: 1px solid var(--aibm-reg-line);
	border-radius: 16px;
	background: var(--aibm-reg-soft-2);
}

.aibm-reg-page .aibm-mem-box__title {
	color: var(--aibm-reg-ink);
	font-size: 24px;
	font-weight: 700;
	line-height: 32px;
}

.aibm-mem-box__grid {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.aibm-mem-block {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--aibm-reg-line);
	border-radius: 16px;
	background: #fff;
}

.aibm-reg-page .aibm-mem-block__title {
	color: var(--aibm-reg-navy);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
}

.aibm-reg-page .aibm-mem-block__intro {
	color: var(--aibm-reg-muted);
	font-size: 16px;
	line-height: 26px;
}

.aibm-mem-box .aibm-reg-list {
	gap: 10px;
}

.aibm-mem-box > .aibm-reg-list {
	gap: 14px;
}

.aibm-reg-page .aibm-mem-box--dark {
	border-color: var(--aibm-reg-deep);
	background: var(--aibm-reg-deep);
}

.aibm-reg-page .aibm-mem-box--dark .aibm-mem-box__title {
	color: #fff;
}

.aibm-reg-page .aibm-mem-box--dark .aibm-reg-list > li {
	color: #E8EAF7;
}

.aibm-reg-page .aibm-mem-box--dark .aibm-reg-list > li::before {
	background: #C7C4FF;
}

/* ---------------------------------------------------------------
   Responsive
--------------------------------------------------------------- */
@media (max-width: 1099px) {
	.aibm-reg-hero {
		min-height: 460px;
	}

	.aibm-reg-page .aibm-reg-hero__title {
		font-size: 44px;
		line-height: 52px;
	}

	.aibm-reg-page .aibm-reg-panel {
		padding: 64px 0 88px;
	}

	.aibm-reg-head {
		margin-bottom: 40px;
	}

	.aibm-reg-process {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.aibm-reg-overview {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		align-items: start;
	}

	.aibm-reg-overview .aibm-reg-card {
		grid-column: 1 / -1;
	}

	.aibm-reg-page .aibm-reg-card__title,
	.aibm-reg-page .aibm-reg-card__levels li {
		font-size: 24px;
		line-height: 31px;
	}
}

@media (max-width: 767px) {
	.aibm-reg-hero {
		min-height: 380px;
		padding: 56px 0;
	}

	.aibm-reg-hero__media::after {
		background:
			linear-gradient(180deg, rgba(9, 20, 36, .5) 0, rgba(9, 20, 36, 0) 140px),
			linear-gradient(90deg, rgba(16, 13, 70, .95) 0%, rgba(16, 13, 70, .72) 100%),
			rgba(9, 20, 36, .5);
	}

	.aibm-reg-hero__content {
		gap: 14px;
	}

	.aibm-reg-page .aibm-reg-hero__eyebrow,
	.aibm-reg-page .aibm-reg__eyebrow {
		font-size: 12px;
		letter-spacing: 1px;
	}

	.aibm-reg-page .aibm-reg-hero__title {
		font-size: 34px;
		line-height: 1.2;
		letter-spacing: -.4px;
	}

	.aibm-reg-page .aibm-reg-hero__lead {
		font-size: 16px;
		line-height: 25px;
	}

	/* Two short tabs stay side by side on phones. */
	.aibm-reg-tabs .aibm-board-tabs__bar {
		padding: 20px 0;
	}

	.aibm-reg-page .aibm-reg-tabs__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.aibm-reg-page .aibm-reg-tabs__list .aibm-board-tabs__tab {
		justify-content: center;
		text-align: center;
	}

	.aibm-reg-page .aibm-reg-panel {
		padding: 44px 0 64px;
	}

	.aibm-reg-head {
		gap: 12px;
		margin-bottom: 28px;
	}

	.aibm-reg-page .aibm-reg-head__title {
		font-size: 26px;
		line-height: 33px;
	}

	.aibm-reg-page .aibm-reg-head__lead {
		font-size: 15px;
		line-height: 25px;
	}

	.aibm-reg-overview {
		display: flex;
		gap: 16px;
	}

	.aibm-reg-card,
	.aibm-mem-box {
		padding: 22px 20px;
	}

	.aibm-reg-card {
		gap: 18px;
		border-radius: 18px;
	}

	.aibm-reg-card__icon {
		width: 46px;
		height: 46px;
	}

	.aibm-reg-page .aibm-reg-card__title,
	.aibm-reg-page .aibm-reg-card__levels li {
		font-size: 21px;
		line-height: 28px;
	}

	.aibm-reg-journey,
	.aibm-reg-support {
		padding: 20px;
	}

	.aibm-reg-page .aibm-reg-step {
		gap: 12px;
	}

	.aibm-reg-step__rail {
		flex-basis: 40px;
		gap: 8px;
	}

	.aibm-reg-step__rail::after {
		min-height: 24px;
		margin-bottom: 8px;
	}

	.aibm-reg-step__num {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
		font-size: 14px;
	}

	.aibm-reg-step__card {
		gap: 14px;
		margin-bottom: 12px;
		padding: 18px 18px 20px;
	}

	.aibm-reg-step__head {
		gap: 6px;
		padding-bottom: 14px;
	}

	.aibm-reg-page .aibm-reg-step__title {
		font-size: 18px;
		line-height: 25px;
	}

	.aibm-reg-page .aibm-reg-list > li {
		padding-left: 26px;
		font-size: 15px;
		line-height: 24px;
	}

	.aibm-reg-page .aibm-reg-list > li::before {
		top: 8.5px;
		left: 4px;
	}

	.aibm-reg-page .aibm-reg-list--sub > li {
		padding-left: 22px;
		font-size: 14px;
		line-height: 22px;
	}

	.aibm-reg-page .aibm-reg-list--sub > li::before {
		top: 8.5px;
		left: 4px;
	}

	.aibm-reg-page .aibm-mem-box__title {
		font-size: 20px;
		line-height: 27px;
	}

	.aibm-mem-block {
		padding: 18px 16px;
	}

	.aibm-mem {
		gap: 16px;
	}
}
