/**
 * Affiliations page (Figma node 442:573).
 * Global content width (--aibm-container) and site font (Spoof).
 *  - Banner 570: gradients rgba(16,13,70,.949) → .533 @60% → rgba(9,20,36,.188)
 *    over rgba(9,20,36,.67) + top shade; eyebrow 13 / 1.2px; title 52/60
 *    (-0.7px); lead 18/29 #E8EAF7 (690 wide)
 *  - Section eyebrow 13 / 1.2px navy with 24px line; titles 36/44 (-0.4px);
 *    body 17/29 #475569; lines #DCE4EE; soft fills #F8FAFC / #F2F5FB / #ECEBFF
 *  - Opening (88), Why partner (#F8FAFC, 88), Student callout (#091424, 72),
 *    Institutions (80), Benefits (#F8FAFC, 96 / 104, 3 × 2 cards 280 high),
 *    How to apply (96), Once approved (navy, 80), Renewal (#F8FAFC, 88),
 *    FAQ (96 / 112), Affiliated institutions (80 / 96)
 *
 * @package AIBM
 * @author  Sameer Ali N
 */

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

	display: block;
	background: #fff;
	color: var(--aibm-aff-ink);
	font-family: var(--aibm-font-body);
}

.aibm-aff-page *,
.aibm-aff-page *::before,
.aibm-aff-page *::after {
	box-sizing: border-box;
}

.aibm-aff-page .aibm-aff__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-aff-page p,
.aibm-aff-page h1,
.aibm-aff-page h2,
.aibm-aff-page h3,
.aibm-aff-page ul,
.aibm-aff-page ol,
.aibm-aff-page address {
	margin: 0;
	padding: 0;
	font-family: var(--aibm-font-body);
	text-transform: none;
}

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

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

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

.aibm-aff-icon {
	display: block;
	flex: 0 0 auto;
}

/* Shared: eyebrow, intro, title, text */
.aibm-aff-page .aibm-aff__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--aibm-aff-navy);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

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

.aibm-aff-page .aibm-aff__eyebrow--light {
	color: #fff;
}

.aibm-aff__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.aibm-aff__intro--center {
	align-items: center;
	margin: 0 auto;
	max-width: 850px;
	text-align: center;
}

.aibm-aff-page .aibm-aff__title {
	color: var(--aibm-aff-ink);
	font-size: 36px;
	font-weight: 700;
	line-height: 44px;
	letter-spacing: -.4px;
}

.aibm-aff-page .aibm-aff__text {
	color: var(--aibm-aff-muted);
	font-size: 17px;
	line-height: 29px;
}

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

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

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

.aibm-aff-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, .67);
}

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

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

.aibm-aff-page .aibm-aff-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-aff-page .aibm-aff-hero__eyebrow span {
	flex: 0 0 24px;
	width: 24px;
	height: 2px;
	background: #fff;
}

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

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

/* ---------------------------------------------------------------
   Partner with AIBM
--------------------------------------------------------------- */
.aibm-aff-opening {
	padding: 88px 0;
	background: #fff;
}

.aibm-aff-opening__grid {
	display: grid;
	grid-template-columns: minmax(0, 760fr) minmax(0, 408fr);
	gap: 72px;
	align-items: center;
}

.aibm-aff-opening__copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.aibm-aff-page .aibm-aff-opening__title {
	color: var(--aibm-aff-ink);
	font-size: 40px;
	font-weight: 400;
	line-height: 48px;
	letter-spacing: -.6px;
}

.aibm-aff-page .aibm-aff-opening__text {
	color: var(--aibm-aff-navy);
	font-size: 22px;
	font-weight: 500;
	line-height: 34px;
}

.aibm-aff-opening__card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	min-height: 248px;
	padding: 32px;
	border-radius: 24px;
	background: var(--aibm-aff-navy);
	box-shadow: var(--aibm-aff-shadow);
}

.aibm-aff-page .aibm-aff-opening__card-eyebrow {
	color: #C7C4FF;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.aibm-aff-page .aibm-aff-opening__card-title {
	color: #fff;
	font-size: 27px;
	font-weight: 700;
	line-height: 34px;
}

/* ---------------------------------------------------------------
   Why partner
--------------------------------------------------------------- */
.aibm-aff-why {
	padding: 88px 0;
	background: var(--aibm-aff-soft);
}

.aibm-aff-why__grid {
	display: grid;
	grid-template-columns: minmax(0, 420fr) minmax(0, 748fr);
	gap: 72px;
	align-items: start;
}

.aibm-aff-why__head {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.aibm-aff-why__media {
	overflow: hidden;
	border-radius: 16px;
	aspect-ratio: 420 / 286;
	background: #E2E8F0;
}

.aibm-aff-why__media img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	object-fit: cover;
}

.aibm-aff-why__body {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding-top: 52px;
}

.aibm-aff-page .aibm-aff-why__divider {
	width: 100%;
	height: 1px;
	margin: 0;
	border: 0;
	background: #CBD5E1;
}

.aibm-aff-page .aibm-aff-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.aibm-aff-page .aibm-aff-tags li {
	padding: 9px 14px;
	border: 1px solid var(--aibm-aff-line);
	border-radius: 999px;
	background: #fff;
	color: var(--aibm-aff-navy);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
}

/* ---------------------------------------------------------------
   Checklist (student callout + once approved)
--------------------------------------------------------------- */
.aibm-aff-page .aibm-aff-check {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.aibm-aff-check__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}

.aibm-aff-check__icon {
	display: inline-flex;
	flex: 0 0 24px;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	margin-top: 1px;
	border-radius: 999px;
	background: var(--aibm-aff-lilac);
	color: var(--aibm-aff-navy);
}

.aibm-aff-check__text {
	flex: 1 1 auto;
	min-width: 0;
	color: var(--aibm-aff-muted);
	font-size: 16px;
	line-height: 25px;
}

/* ---------------------------------------------------------------
   Student verification
--------------------------------------------------------------- */
.aibm-aff-verify {
	padding: 72px 0;
	background: #091424;
	color: #fff;
}

.aibm-aff-verify__grid {
	display: grid;
	grid-template-columns: 148px minmax(0, 1fr) minmax(0, 480px);
	gap: 56px;
	align-items: center;
}

.aibm-aff-verify__symbol {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 148px;
	height: 148px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 24px;
	background: rgba(255, 255, 255, .05);
	color: #fff;
}

.aibm-aff-verify__content {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.aibm-aff-page .aibm-aff-verify__title {
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	line-height: 38px;
}

.aibm-aff-page .aibm-aff-verify__text {
	color: #E8EAF7;
	font-size: 16px;
	line-height: 26px;
}

.aibm-aff-verify__card {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 28px;
	border-radius: 16px;
	background: #fff;
}

.aibm-aff-page .aibm-aff-verify__card-title {
	color: var(--aibm-aff-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
}

/* ---------------------------------------------------------------
   For institutions
--------------------------------------------------------------- */
.aibm-aff-invite {
	padding: 80px 0;
	background: #fff;
}

.aibm-aff-invite__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
	gap: 64px;
	align-items: center;
}

.aibm-aff-invite__copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

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

.aibm-aff-page .aibm-aff-invite__card-title {
	color: var(--aibm-aff-navy);
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.aibm-aff-page .aibm-aff-invite__list {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

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

.aibm-aff-invite__list .aibm-aff-icon {
	color: var(--aibm-aff-navy);
}

/* ---------------------------------------------------------------
   Center benefits
--------------------------------------------------------------- */
.aibm-aff-benefits {
	padding: 96px 0 104px;
	background: var(--aibm-aff-soft);
}

.aibm-aff-benefits .aibm-aff__lead {
	max-width: 820px;
}

.aibm-aff-page .aibm-aff-benefits__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-top: 48px;
}

.aibm-aff-page .aibm-aff-benefit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	min-height: 280px;
	padding: 32px;
	border: 1px solid var(--aibm-aff-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--aibm-aff-shadow);
	transition: transform .3s ease, box-shadow .3s ease;
}

.aibm-aff-benefit__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	margin-bottom: 22px;
	border-radius: 12px;
	background: var(--aibm-aff-lilac);
	color: var(--aibm-aff-navy);
}

.aibm-aff-page .aibm-aff-benefit__title {
	margin-bottom: 12px;
	color: var(--aibm-aff-ink);
	font-size: 20px;
	font-weight: 700;
	line-height: 27px;
}

.aibm-aff-page .aibm-aff-benefit__text {
	color: var(--aibm-aff-muted);
	font-size: 15px;
	line-height: 24px;
}

.aibm-aff-page .aibm-aff-benefit--featured {
	border-color: var(--aibm-aff-navy);
	background: var(--aibm-aff-navy);
}

.aibm-aff-benefit--featured .aibm-aff-benefit__icon {
	background: rgba(255, 255, 255, .09);
	color: #fff;
}

.aibm-aff-page .aibm-aff-benefit--featured .aibm-aff-benefit__title {
	color: #fff;
}

.aibm-aff-page .aibm-aff-benefit--featured .aibm-aff-benefit__text {
	color: #E8EAF7;
}

.aibm-aff-page .aibm-aff-benefit--promise {
	justify-content: space-between;
	background: var(--aibm-aff-soft-2);
	box-shadow: none;
}

.aibm-aff-benefit__quote {
	color: var(--aibm-aff-navy);
	font-size: 48px;
	font-weight: 700;
	line-height: 40px;
}

.aibm-aff-page .aibm-aff-benefit__promise {
	color: var(--aibm-aff-ink);
	font-size: 21px;
	line-height: 29px;
}

.aibm-aff-page .aibm-aff-benefit__by {
	color: var(--aibm-aff-slate);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: .8px;
	text-transform: uppercase;
}

/* ---------------------------------------------------------------
   How to apply
--------------------------------------------------------------- */
.aibm-aff-apply {
	padding: 96px 0;
	background: #fff;
}

.aibm-aff-apply__grid {
	display: grid;
	grid-template-columns: minmax(0, 390px) minmax(0, 1fr);
	gap: 72px;
	align-items: start;
}

.aibm-aff-apply__intro {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

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

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

.aibm-aff-page .aibm-aff-steps {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.aibm-aff-page .aibm-aff-step {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 134px;
	padding: 28px;
	border: 1px solid var(--aibm-aff-line);
	border-radius: 16px;
	background: var(--aibm-aff-soft);
	transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease;
}

.aibm-aff-step__num {
	display: inline-flex;
	flex: 0 0 56px;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 999px;
	background: var(--aibm-aff-navy);
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
}

.aibm-aff-step__copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.aibm-aff-page .aibm-aff-step__title {
	color: var(--aibm-aff-navy);
	font-size: 21px;
	font-weight: 700;
	line-height: 28px;
}

.aibm-aff-page .aibm-aff-step__text {
	color: var(--aibm-aff-muted);
	font-size: 15px;
	line-height: 24px;
}

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

.aibm-aff-step__arrow {
	flex: 0 0 22px;
	color: #CBD5E1;
	transition: color .25s ease, transform .25s ease;
}

/* ---------------------------------------------------------------
   Once approved
--------------------------------------------------------------- */
.aibm-aff-approved {
	padding: 80px 0;
	background: var(--aibm-aff-navy);
	color: #fff;
}

.aibm-aff-approved__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 650px);
	gap: 64px;
	align-items: center;
}

.aibm-aff-approved__message {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.aibm-aff-page .aibm-aff-approved__title {
	color: #fff;
	font-size: 34px;
	font-weight: 700;
	line-height: 42px;
}

.aibm-aff-page .aibm-aff-approved__text {
	color: #E8EAF7;
	font-size: 16px;
	line-height: 26px;
}

.aibm-aff-page .aibm-aff-check--card {
	gap: 0;
	padding: 32px;
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--aibm-aff-shadow);
}

.aibm-aff-check--card .aibm-aff-check__item + .aibm-aff-check__item {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--aibm-aff-line);
}

/* ---------------------------------------------------------------
   Annual renewal
--------------------------------------------------------------- */
.aibm-aff-renewal {
	padding: 88px 0;
	background: var(--aibm-aff-soft);
}

.aibm-aff-renewal__grid {
	display: grid;
	grid-template-columns: minmax(0, 330px) minmax(0, 1fr);
	gap: 64px;
	align-items: center;
}

.aibm-aff-renewal__panel {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 260px;
	border-radius: 24px;
	background: linear-gradient(180deg, #ECEBFF 0%, #EAF2FF 100%);
}

.aibm-aff-renewal__cycle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 122px;
	height: 122px;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--aibm-aff-shadow);
	color: var(--aibm-aff-navy);
}

.aibm-aff-renewal__copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.aibm-aff-renewal__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.aibm-aff-renewal__fact {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 20px;
	border: 1px solid var(--aibm-aff-line);
	border-radius: 12px;
	background: #fff;
}

.aibm-aff-renewal__fact strong {
	color: var(--aibm-aff-navy);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.aibm-aff-renewal__fact span {
	color: var(--aibm-aff-slate);
	font-size: 13px;
	line-height: 1.3;
}

/* ---------------------------------------------------------------
   FAQ
--------------------------------------------------------------- */
.aibm-aff-faq {
	padding: 96px 0 112px;
	background: #fff;
}

.aibm-aff-faq .aibm-aff__lead {
	max-width: 820px;
}

.aibm-aff-faq__list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 44px;
}

.aibm-aff-faq__item {
	border: 1px solid var(--aibm-aff-line);
	border-radius: 8px;
	background: #fff;
	transition: border-color .25s ease, box-shadow .25s ease;
}

.aibm-aff-faq__item[open] {
	border-color: #CBD5E1;
	box-shadow: var(--aibm-aff-shadow);
}

.aibm-aff-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 76px;
	padding: 22px 24px;
	color: var(--aibm-aff-ink);
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	list-style: none;
	cursor: pointer;
}

.aibm-aff-faq__q::-webkit-details-marker,
.aibm-aff-faq__q::marker {
	display: none;
	content: "";
}

.aibm-aff-faq__q:focus {
	outline: none;
}

.aibm-aff-faq__q:focus-visible {
	outline: 3px solid rgba(56, 189, 248, .6);
	outline-offset: 2px;
	border-radius: 8px;
}

.aibm-aff-faq__toggle {
	display: inline-flex;
	flex: 0 0 30px;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 999px;
	background: var(--aibm-aff-soft-2);
	color: var(--aibm-aff-navy);
	transition: transform .25s ease, background-color .25s ease, color .25s ease;
}

.aibm-aff-faq__item[open] .aibm-aff-faq__toggle {
	background: var(--aibm-aff-navy);
	color: #fff;
	transform: rotate(45deg);
}

.aibm-aff-faq__a {
	padding: 0 78px 22px 24px;
}

.aibm-aff-page .aibm-aff-faq__a p {
	color: var(--aibm-aff-muted);
	font-size: 15px;
	line-height: 24px;
}

/* ---------------------------------------------------------------
   Affiliated institutions
--------------------------------------------------------------- */
.aibm-aff-partners {
	padding: 80px 0 96px;
	background: #fff;
	scroll-margin-top: 90px;
}

.aibm-aff-partners__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 48px;
}

.aibm-aff-partner {
	display: flex;
	align-items: center;
	gap: 40px;
	padding: 36px;
	border: 1px solid var(--aibm-aff-line);
	border-radius: 16px;
	background: var(--aibm-aff-soft);
	box-shadow: 0 4px 8px rgba(15, 23, 42, .03);
}

.aibm-aff-partner__logo {
	display: flex;
	flex: 0 0 300px;
	align-items: center;
	justify-content: center;
	width: 300px;
	height: 120px;
	overflow: hidden;
	border: 1px solid #E8EDF5;
	border-radius: 12px;
	background: #fff;
}

.aibm-aff-partner__logo a {
	display: block;
	width: 100%;
	height: 100%;
}

.aibm-aff-partner__logo img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
	object-fit: contain;
}

.aibm-aff-partner__divider {
	flex: 0 0 1px;
	width: 1px;
	height: 80px;
	background: var(--aibm-aff-line);
}

.aibm-aff-partner__details {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.aibm-aff-page .aibm-aff-partner__role {
	color: var(--aibm-aff-navy);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .8px;
	text-transform: uppercase;
}

.aibm-aff-page .aibm-aff-partner__name {
	color: var(--aibm-aff-ink);
	font-size: 18px;
	font-weight: 700;
	line-height: 26px;
}

.aibm-aff-page .aibm-aff-partner__address {
	display: flex;
	flex-direction: column;
	gap: 2px;
	color: var(--aibm-aff-slate);
	font-size: 14px;
	font-style: normal;
	line-height: 22px;
}

/* ---------------------------------------------------------------
   Hover (pointer devices)
--------------------------------------------------------------- */
@media (hover: hover) and (pointer: fine) {
	.aibm-aff-page .aibm-aff-benefit:not(.aibm-aff-benefit--promise):hover {
		box-shadow: 0 22px 44px -28px rgba(15, 19, 150, .4);
		transform: translateY(-4px);
	}

	.aibm-aff-page .aibm-aff-step:hover {
		border-color: #CBD5E1;
		background: #fff;
		box-shadow: var(--aibm-aff-shadow);
	}

	.aibm-aff-page .aibm-aff-step:hover .aibm-aff-step__arrow {
		color: var(--aibm-aff-navy);
		transform: translateX(3px);
	}

	.aibm-aff-faq__q:hover .aibm-aff-faq__toggle {
		background: var(--aibm-aff-lilac);
	}
}

/* ---------------------------------------------------------------
   Responsive
--------------------------------------------------------------- */
@media (max-width: 1199px) {
	.aibm-aff-verify__grid {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 32px 40px;
	}

	.aibm-aff-verify__symbol {
		width: 120px;
		height: 120px;
	}

	.aibm-aff-verify__symbol .aibm-aff-icon {
		width: 60px;
		height: 60px;
	}

	.aibm-aff-verify__card {
		grid-column: 1 / -1;
	}
}

@media (max-width: 1099px) {
	.aibm-aff-hero {
		min-height: 460px;
	}

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

	.aibm-aff-opening,
	.aibm-aff-why,
	.aibm-aff-renewal {
		padding: 72px 0;
	}

	.aibm-aff-invite,
	.aibm-aff-approved {
		padding: 64px 0;
	}

	.aibm-aff-benefits,
	.aibm-aff-apply,
	.aibm-aff-faq {
		padding: 80px 0;
	}

	.aibm-aff-opening__grid,
	.aibm-aff-why__grid,
	.aibm-aff-invite__grid,
	.aibm-aff-apply__grid,
	.aibm-aff-approved__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.aibm-aff-opening__card {
		min-height: 0;
	}

	.aibm-aff-why__head {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 32px;
		align-items: center;
	}

	.aibm-aff-why__body {
		padding-top: 0;
	}

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

	.aibm-aff-page .aibm-aff-benefit {
		min-height: 240px;
	}

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

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

	.aibm-aff-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-aff-hero__content {
		gap: 14px;
	}

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

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

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

	.aibm-aff-opening,
	.aibm-aff-why,
	.aibm-aff-invite,
	.aibm-aff-renewal {
		padding: 52px 0;
	}

	.aibm-aff-verify,
	.aibm-aff-approved {
		padding: 52px 0;
	}

	.aibm-aff-benefits,
	.aibm-aff-apply {
		padding: 56px 0 64px;
	}

	.aibm-aff-faq {
		padding: 56px 0 64px;
	}

	.aibm-aff-partners {
		padding: 48px 0 64px;
	}

	.aibm-aff-page .aibm-aff__title {
		font-size: 27px;
		line-height: 34px;
	}

	.aibm-aff-page .aibm-aff__text {
		font-size: 16px;
		line-height: 26px;
	}

	.aibm-aff-page .aibm-aff__lead {
		font-size: 15px;
		line-height: 24px;
	}

	.aibm-aff-opening__grid,
	.aibm-aff-why__grid,
	.aibm-aff-invite__grid,
	.aibm-aff-apply__grid,
	.aibm-aff-approved__grid {
		gap: 28px;
	}

	.aibm-aff-page .aibm-aff-opening__title {
		font-size: 28px;
		line-height: 36px;
		letter-spacing: -.3px;
	}

	.aibm-aff-page .aibm-aff-opening__text {
		font-size: 18px;
		line-height: 28px;
	}

	.aibm-aff-opening__card {
		padding: 26px 24px;
		border-radius: 18px;
	}

	.aibm-aff-page .aibm-aff-opening__card-title {
		font-size: 22px;
		line-height: 29px;
	}

	.aibm-aff-why__head {
		display: flex;
		align-items: stretch;
		gap: 24px;
	}

	.aibm-aff-why__body {
		gap: 18px;
	}

	.aibm-aff-verify__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.aibm-aff-verify__symbol {
		width: 84px;
		height: 84px;
		border-radius: 18px;
	}

	.aibm-aff-verify__symbol .aibm-aff-icon {
		width: 44px;
		height: 44px;
	}

	.aibm-aff-page .aibm-aff-verify__title {
		font-size: 24px;
		line-height: 31px;
	}

	.aibm-aff-verify__card,
	.aibm-aff-invite__card {
		padding: 22px 20px;
	}

	.aibm-aff-check__text {
		font-size: 15px;
		line-height: 24px;
	}

	.aibm-aff-page .aibm-aff-benefits__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		margin-top: 32px;
	}

	.aibm-aff-page .aibm-aff-benefit {
		min-height: 0;
		padding: 24px 22px;
	}

	.aibm-aff-benefit__icon {
		width: 46px;
		height: 46px;
		margin-bottom: 18px;
	}

	.aibm-aff-page .aibm-aff-benefit__title {
		font-size: 18px;
		line-height: 25px;
	}

	.aibm-aff-page .aibm-aff-benefit--promise {
		gap: 14px;
	}

	.aibm-aff-page .aibm-aff-benefit__promise {
		font-size: 19px;
		line-height: 27px;
	}

	.aibm-aff-page .aibm-aff-step {
		align-items: flex-start;
		gap: 16px;
		min-height: 0;
		padding: 20px 18px;
	}

	.aibm-aff-step__num {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		font-size: 16px;
	}

	.aibm-aff-page .aibm-aff-step__title {
		font-size: 17px;
		line-height: 24px;
	}

	.aibm-aff-step__copy {
		gap: 6px;
		align-self: center;
	}

	.aibm-aff-step__arrow {
		display: none;
	}

	.aibm-aff-page .aibm-aff-approved__title {
		font-size: 27px;
		line-height: 34px;
	}

	.aibm-aff-page .aibm-aff-check--card {
		padding: 22px 20px;
	}

	.aibm-aff-check--card .aibm-aff-check__item + .aibm-aff-check__item {
		margin-top: 16px;
		padding-top: 16px;
	}

	.aibm-aff-renewal__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.aibm-aff-renewal__panel {
		height: 170px;
		border-radius: 18px;
	}

	.aibm-aff-renewal__cycle {
		width: 92px;
		height: 92px;
	}

	.aibm-aff-renewal__cycle .aibm-aff-icon {
		width: 40px;
		height: 40px;
	}

	.aibm-aff-renewal__facts {
		gap: 12px;
	}

	.aibm-aff-renewal__fact {
		padding: 16px;
	}

	.aibm-aff-renewal__fact strong {
		font-size: 23px;
	}

	.aibm-aff-faq__list {
		margin-top: 32px;
	}

	.aibm-aff-faq__q {
		gap: 16px;
		min-height: 64px;
		padding: 18px;
		font-size: 15px;
		line-height: 22px;
	}

	.aibm-aff-faq__a {
		padding: 0 18px 18px;
	}

	.aibm-aff-partners__list {
		margin-top: 32px;
		gap: 16px;
	}

	.aibm-aff-partner {
		flex-direction: column;
		align-items: stretch;
		gap: 20px;
		padding: 20px;
	}

	.aibm-aff-partner__logo {
		flex: 0 0 auto;
		width: 100%;
		max-width: 300px;
		height: 110px;
	}

	.aibm-aff-partner__divider {
		width: 100%;
		height: 1px;
		flex-basis: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aibm-aff-page .aibm-aff-benefit,
	.aibm-aff-page .aibm-aff-benefit:hover,
	.aibm-aff-step__arrow {
		transform: none;
		transition: none;
	}

	.aibm-aff-faq__toggle {
		transition: none;
	}
}
