.maq-catalog {
	--maq-blue: var(--mc-blue, #1e40af);
	--maq-orange: var(--mc-orange, #ff7900);
	--maq-ink: var(--mc-ink, #2a3547);
	--maq-heading: var(--mc-heading, #1c2d55);
	--maq-muted: var(--mc-muted, #526176);
	--maq-line: var(--mc-line, #dce4f0);
	--maq-surface: var(--mc-surface, #f3f6fc);
	--maq-radius: var(--mc-radius, 20px);
	--maq-shadow: var(--mc-shadow, 0 22px 54px rgb(24 43 77 / 10%));
	color: var(--maq-ink);
}

.maq-catalog *,
.maq-catalog *::before,
.maq-catalog *::after { box-sizing: border-box; }

.maq-catalog__hero,
.maq-program__hero {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #e8edf6;
	background: radial-gradient(circle at 92% 10%, #fff1e6 0, transparent 34%), linear-gradient(125deg, #f6f9ff 0%, #fff 72%);
}

.maq-catalog__hero::after,
.maq-program__hero::after {
	position: absolute;
	top: -220px;
	right: -190px;
	width: 390px;
	height: 390px;
	border: 1px solid #dce5f7;
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.maq-catalog__hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
	align-items: center;
	gap: clamp(32px, 6vw, 86px);
	padding-block: clamp(64px, 7vw, 102px);
}

.maq-catalog__hero-copy { max-width: 780px; }
.maq-catalog__hero-copy h1 { margin-bottom: 22px; }
.maq-catalog__hero-copy .lead { margin-bottom: 0; }

.maq-catalog__hero-proof {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 12px;
	padding: clamp(24px, 3vw, 36px);
	border-radius: 24px;
	background: linear-gradient(145deg, #1d3a83 0%, #142b50 78%);
	box-shadow: 0 30px 68px rgb(19 43 89 / 17%);
}

.maq-catalog__hero-proof span {
	display: flex;
	align-items: center;
	min-height: 52px;
	gap: 13px;
	padding: 10px 14px;
	border: 1px solid rgb(255 255 255 / 17%);
	border-radius: 11px;
	background: rgb(255 255 255 / 9%);
	color: #fff;
	font-weight: 700;
}

.maq-catalog__hero-proof span::before { color: #ffb371; content: "✓"; font-weight: 850; }
.maq-catalog__listing { background: #fff; }

.maq-program-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.maq-program-card {
	display: grid;
	grid-template-columns: minmax(180px, .38fr) minmax(0, .62fr);
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--maq-line);
	border-top: 3px solid var(--maq-blue);
	border-radius: var(--maq-radius);
	background: #fff;
	box-shadow: 0 10px 30px rgb(24 43 77 / 5%);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.maq-program-card:hover,
.maq-program-card:focus-within { border-color: #a9bde6; box-shadow: var(--maq-shadow); transform: translateY(-3px); }

.maq-program-card__visual {
	display: grid;
	min-height: 100%;
	place-items: center;
	padding: 26px;
	border-right: 1px solid var(--maq-line);
	background: radial-gradient(circle at 88% 0, #ffe7d2 0, transparent 30%), linear-gradient(145deg, #eaf1fd, #f8faff);
	text-decoration: none;
}

.maq-program-card__logo { width: 126px; max-height: 126px; object-fit: contain; }
.maq-program-card__monogram,
.maq-program__monogram { color: var(--maq-blue); font-size: clamp(1.35rem, 2.5vw, 2rem); font-weight: 850; letter-spacing: -.045em; }
.maq-program-card__body { display: flex; flex-direction: column; min-width: 0; padding: clamp(24px, 3vw, 34px); }
.maq-program-card__reference { margin-bottom: 8px; color: var(--maq-blue); font-size: .73rem; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
.maq-program-card h3 { margin-bottom: 12px; font-size: clamp(1.28rem, 2vw, 1.55rem); }
.maq-program-card h3 a { color: var(--maq-heading); text-decoration: none; }
.maq-program-card__excerpt { color: var(--maq-muted); }

.maq-program-card__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	padding: 0;
	margin: auto 0 22px;
	list-style: none;
}

.maq-program-card__metrics li { min-width: 0; padding: 10px; margin: 0; border-radius: 10px; background: var(--maq-surface); }
.maq-program-card__metrics strong { display: block; color: var(--maq-heading); font-size: 1.08rem; }
.maq-program-card__metrics span { display: block; color: var(--maq-muted); font-size: .72rem; line-height: 1.3; }

.maq-catalog__button {
	display: inline-flex;
	width: fit-content;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 12px 21px;
	border: 2px solid var(--maq-orange);
	border-radius: 9px;
	background: var(--maq-orange);
	color: #202a3b;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

.maq-catalog__button:hover { border-color: #e86c00; background: #e86c00; color: #18243b; transform: translateY(-1px); }
.maq-catalog__button--outline { border-color: var(--maq-blue); background: transparent; color: var(--maq-blue); }
.maq-catalog__button--outline:hover { border-color: var(--maq-blue); background: var(--maq-blue); color: #fff; }
.maq-catalog__pagination { margin-top: 34px; }
.maq-catalog__empty { padding: 38px; border: 1px solid var(--maq-line); border-radius: var(--maq-radius); background: var(--maq-surface); text-align: center; }

.maq-catalog__assurance-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.maq-catalog__assurance-grid ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0; list-style: none; }
.maq-catalog__assurance-grid li { padding: 16px 18px; margin: 0; border: 1px solid var(--maq-line); border-radius: 12px; background: #fff; color: var(--maq-heading); font-weight: 700; }
.maq-catalog__assurance-grid li::before { margin-right: 9px; color: var(--maq-orange); content: "✓"; }

.maq-program__hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); align-items: center; gap: clamp(36px, 6vw, 90px); padding-block: clamp(58px, 7vw, 94px); }
.maq-program__hero-copy { position: relative; z-index: 1; }
.maq-program__back { display: flex; width: fit-content; margin-bottom: 28px; color: var(--maq-blue); font-size: .9rem; font-weight: 750; text-decoration: none; }
.maq-program__back + .eyebrow { display: block; clear: both; }
.maq-program__reference { color: var(--maq-blue); font-weight: 750; }
.maq-program__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.maq-program__content-link { display: inline-flex; margin-top: 18px; color: var(--maq-blue); font-size: .9rem; font-weight: 750; text-decoration: none; }

.maq-program__identity {
	position: relative;
	z-index: 1;
	display: grid;
	min-height: 360px;
	place-items: center;
	align-content: center;
	gap: 20px;
	padding: 38px;
	border-radius: 26px;
	background: linear-gradient(145deg, #1d3a83 0%, #142b50 78%);
	box-shadow: 0 30px 68px rgb(19 43 89 / 17%);
}

.maq-program__identity::before { position: absolute; inset: 20px; border: 1px solid rgb(255 255 255 / 15%); border-radius: 18px; content: ""; }
.maq-program__identity p { position: relative; margin: 0; color: #dbe7ff; font-weight: 700; }
.maq-program__logo { position: relative; width: min(190px, 65%); max-height: 190px; padding: 18px; border-radius: 22px; background: #fff; object-fit: contain; }
.maq-program__identity .maq-program__monogram { position: relative; display: grid; width: 170px; height: 170px; place-items: center; border-radius: 22px; background: #fff; }
.maq-program__metrics { border-block: 1px solid var(--maq-line); background: #fff; }
.maq-program__metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.maq-program__metrics-grid > div { padding: 28px 24px; border-right: 1px solid var(--maq-line); text-align: center; }
.maq-program__metrics-grid > div:last-child { border-right: 0; }
.maq-program__metrics strong { display: block; color: var(--maq-heading); font-size: clamp(1.55rem, 3vw, 2.1rem); line-height: 1; }
.maq-program__metrics span { display: block; margin-top: 7px; color: var(--maq-muted); font-size: .85rem; }
.maq-program__content-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: clamp(38px, 7vw, 96px); align-items: start; }
.maq-program__content { font-size: 1.06rem; }
.maq-program__content > :first-child { margin-top: 0; }
.maq-program__content h2,
.maq-program__content h3 { margin-top: 1.6em; }
.maq-program__included { padding: clamp(26px, 4vw, 38px); border-left: 4px solid var(--maq-orange); border-radius: 0 18px 18px 0; background: var(--maq-surface); }
.maq-program__included h2 { font-size: clamp(1.4rem, 2vw, 1.8rem); }
.maq-program__included ul { padding: 0; margin: 22px 0 0; list-style: none; }
.maq-program__included li { position: relative; padding-left: 28px; color: var(--maq-heading); font-weight: 650; }
.maq-program__included li::before { position: absolute; left: 0; color: var(--maq-blue); content: "✓"; font-weight: 850; }
.maq-domain-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 0; margin: 0; list-style: none; counter-reset: none; }
.maq-domain-list li { display: grid; grid-template-columns: 70px 1fr; align-items: center; min-height: 74px; gap: 16px; padding: 14px 18px; margin: 0; border: 1px solid var(--maq-line); border-radius: 13px; background: #fff; }
.maq-domain-list span { color: var(--maq-blue); font-size: .78rem; font-weight: 850; letter-spacing: .04em; overflow-wrap: anywhere; }
.maq-domain-list strong { color: var(--maq-heading); line-height: 1.35; }
.maq-program__cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding: clamp(30px, 5vw, 54px); border-radius: var(--maq-radius); background: var(--maq-heading); color: #fff; }
.maq-program__cta-panel h2 { color: #fff; }
.maq-program__cta-panel p:not(.eyebrow) { max-width: 680px; margin-bottom: 0; color: #e2e9f6; }
.maq-program__cta-panel .eyebrow { color: #ffb371; }
.maq-program__cta-panel .maq-catalog__button { flex: 0 0 auto; }
.maq-program__cta-actions { display: grid; flex: 0 0 auto; justify-items: center; gap: 12px; }
.maq-program__existing-access { color: #fff; font-size: .88rem; font-weight: 700; }

.maq-preview__header { border-bottom: 1px solid var(--maq-line); background: linear-gradient(125deg, #f6f9ff 0%, #fff 72%); }
.maq-preview__header-inner { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding-block: clamp(42px, 5vw, 68px); }
.maq-preview__header h1 { margin-bottom: 10px; font-size: clamp(2rem, 3.3vw, 3rem); }
.maq-preview__header p:last-child { max-width: 760px; margin-bottom: 0; color: var(--maq-muted); }
.maq-preview__summary { display: grid; flex: 0 0 128px; min-height: 104px; place-content: center; border-radius: 18px; background: var(--maq-heading); color: #fff; text-align: center; }
.maq-preview__summary { min-width: 128px; row-gap: 2px; }
.maq-preview__summary strong { font-size: 1.55rem; }
.maq-preview__summary span { color: #dce7fa; font-size: .78rem; }
.maq-preview__section { background: var(--maq-surface); }
.maq-preview__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 24px; align-items: start; }
.maq-preview__panel { min-width: 0; padding: clamp(24px, 4vw, 44px); border: 1px solid var(--maq-line); border-radius: var(--maq-radius); background: #fff; box-shadow: 0 14px 38px rgb(24 43 77 / 6%); }
.maq-preview__panel > h2 { max-width: 920px; margin-bottom: 28px; font-size: clamp(1.45rem, 2.6vw, 2rem); }
.maq-preview__progress { width: 100%; height: 8px; margin-bottom: 28px; overflow: hidden; border-radius: 999px; background: #e5ebf5; }
.maq-preview__progress span { display: block; height: 100%; border-radius: inherit; background: var(--maq-orange); transition: width .25s ease; }
.maq-preview__domain { margin-bottom: 12px; color: var(--maq-blue); font-size: .75rem; font-weight: 800; letter-spacing: .065em; text-transform: uppercase; }
.maq-preview__form fieldset { display: grid; gap: 12px; padding: 0; margin: 0 0 24px; border: 0; }
.maq-preview__answer { display: flex; width: 100%; min-height: 60px; align-items: center; gap: 13px; padding: 15px 17px; margin: 0; border: 1px solid #bac6d8; border-radius: 12px; background: #fff; color: var(--maq-heading); font-weight: 650; cursor: pointer; }
.maq-preview__answer:hover { border-color: var(--maq-blue); background: #f6f9ff; }
.maq-preview__answer input { flex: 0 0 auto; width: 20px; height: 20px; accent-color: var(--maq-blue); }
.maq-preview__answer span { flex: 1 1 auto; }
.maq-preview__answer em { flex: 0 0 auto; font-size: .77rem; font-style: normal; font-weight: 800; }
.maq-preview__answer.is-correct { border-color: #24855c; background: #edf8f2; color: #0b5e3b; cursor: default; }
.maq-preview__answer.is-wrong { border-color: #c64d49; background: #fff1f0; color: #982e2b; cursor: default; }
.maq-preview__answers { display: grid; gap: 12px; margin-bottom: 20px; }
.maq-preview__feedback { padding: 22px 24px; margin: 20px 0 24px; border-left: 5px solid #24855c; border-radius: 0 14px 14px 0; background: #edf8f2; }
.maq-preview__feedback.is-wrong { border-left-color: #c64d49; background: #fff1f0; }
.maq-preview__feedback h3 { margin-bottom: 12px; }
.maq-preview__feedback p { margin-bottom: 8px; }
.maq-preview__feedback p:last-child { margin-bottom: 0; }
.maq-preview__aside { padding: 28px; border-top: 3px solid var(--maq-blue); border-radius: 16px; background: #fff; box-shadow: 0 12px 32px rgb(24 43 77 / 5%); }
.maq-preview__aside h2 { margin-bottom: 18px; }
.maq-preview__aside ul { padding: 0; margin: 0; list-style: none; }
.maq-preview__aside li { position: relative; padding-left: 25px; color: var(--maq-heading); font-size: .92rem; font-weight: 650; }
.maq-preview__aside li::before { position: absolute; left: 0; color: var(--maq-orange); content: "✓"; font-weight: 850; }
.maq-preview__result { grid-column: 1 / -1; max-width: 880px; margin-inline: auto; text-align: center; }
.maq-preview__score { display: grid; margin: 26px auto; place-items: center; }
.maq-preview__score > span { position: relative; display: grid; width: 154px; height: 154px; place-items: center; border-radius: 50%; background: conic-gradient(var(--maq-blue) var(--maq-score), #e6ebf4 0); }
.maq-preview__score > span::before { position: absolute; width: 122px; height: 122px; border-radius: 50%; background: #fff; content: ""; }
.maq-preview__score strong { position: relative; z-index: 1; color: var(--maq-heading); font-size: 1.7rem; }
.maq-preview__result > p:not(.eyebrow) { max-width: 680px; margin-inline: auto; color: var(--maq-muted); }
.maq-preview__result-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 28px; }
.maq-preview__empty { grid-column: 1 / -1; text-align: center; }

@media (max-width: 980px) {
	.maq-program-grid { grid-template-columns: 1fr; }
	.maq-catalog__hero-inner,
	.maq-program__hero-grid,
	.maq-program__content-grid { grid-template-columns: 1fr; }
	.maq-catalog__hero-proof { max-width: 620px; }
	.maq-program__identity { min-height: 310px; }
	.maq-preview__layout { grid-template-columns: 1fr; }
	.maq-preview__aside { order: -1; }
}

@media (max-width: 720px) {
	.maq-catalog__hero-inner { padding-block: 50px 58px; }
	.maq-program-card { grid-template-columns: 1fr; }
	.maq-program-card__visual { min-height: 190px; border-right: 0; border-bottom: 1px solid var(--maq-line); }
	.maq-program-card__metrics,
	.maq-program__metrics-grid,
	.maq-domain-list,
	.maq-catalog__assurance-grid,
	.maq-catalog__assurance-grid ul { grid-template-columns: 1fr; }
	.maq-program__metrics-grid > div { padding: 18px; border-right: 0; border-bottom: 1px solid var(--maq-line); }
	.maq-program__metrics-grid > div:last-child { border-bottom: 0; }
	.maq-program__cta-panel { align-items: flex-start; flex-direction: column; }
	.maq-program__cta-actions { width: 100%; justify-items: stretch; }
	.maq-program__actions .maq-catalog__button,
	.maq-program__cta-panel .maq-catalog__button { width: 100%; }
	.maq-preview__header-inner { align-items: flex-start; flex-direction: column; }
	.maq-preview__summary { min-height: 82px; }
	.maq-preview__summary { grid-template-columns: auto auto; width: 100%; min-width: 0; align-items: baseline; column-gap: 6px; }
	.maq-preview__answer { align-items: flex-start; }
	.maq-preview__answer em { display: block; }
	.maq-preview__result-actions { flex-direction: column; }
	.maq-preview__result-actions .maq-catalog__button { width: 100%; }
}

@media (max-width: 480px) {
	.maq-program-card__metrics { grid-template-columns: 1fr 1fr; }
	.maq-domain-list li { grid-template-columns: 1fr; gap: 4px; }
	.maq-program__identity { min-height: 260px; padding: 28px; }
}

@media (prefers-reduced-motion: reduce) {
	.maq-program-card,
	.maq-catalog__button { transition: none; }
	.maq-program-card:hover,
	.maq-program-card:focus-within,
	.maq-catalog__button:hover { transform: none; }
}
