.mmc-admin-launcher, .mmc-admin-launcher * { box-sizing: border-box; }
body.mmc-admin-launcher-page { margin: 0; min-height: 100vh; color: #18344a; background: #f7f4ed; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.mmc-admin-launcher { width: min(100% - 40px, 1220px); margin: 0 auto; padding: 52px 0 64px; }
.mmc-public-launcher { color: #18344a; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.mmc-ap-hero { margin: 0 0 34px; text-align: center; }
.mmc-ap-hero h1, .mmc-ap-hero h2 { max-width: 900px; margin: 0 auto; color: #142f45; font-size: clamp(32px, 4.2vw, 52px); font-weight: 780; line-height: 1.08; letter-spacing: -.035em; }
.mmc-ap-script { margin: 14px 0 0; color: #267aa7; font-family: "Segoe Print", "Bradley Hand", cursive; font-size: clamp(19px, 2.1vw, 25px); line-height: 1.35; }
.mmc-ap-section { margin-top: 24px; }
.mmc-ap-primary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.mmc-ap-tile, .mmc-ap-unknown { position: relative; display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid #dce7e8; border-radius: 20px; background: #fffefa; color: inherit; text-decoration: none; box-shadow: 0 8px 28px rgba(24, 52, 74, .055); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.mmc-ap-tile:hover, .mmc-ap-unknown:hover { transform: translateY(-3px); border-color: #9bcce3; box-shadow: 0 14px 34px rgba(24, 52, 74, .10); color: inherit; }
.mmc-ap-tile:focus-visible, .mmc-ap-unknown:focus-visible { outline: 3px solid #2488b6; outline-offset: 3px; }
.mmc-ap-art { display: flex; height: 180px; flex: 0 0 auto; align-items: center; justify-content: center; overflow: hidden; background: #eef4f4; }
.mmc-ap-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.mmc-ap-tile--secondary .mmc-ap-art img { object-fit: contain; }
.mmc-ap-copy { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; padding: 19px 20px 22px; }
.mmc-ap-copy strong { color: #18364d; font-size: 18px; font-weight: 760; line-height: 1.28; }
.mmc-ap-copy > span { color: #607583; font-size: 14px; line-height: 1.5; }
.mmc-ap-arrow { position: absolute; right: 18px; bottom: 16px; color: #2587b4; font-size: 22px; line-height: 1; }
.mmc-ap-unknown { min-height: 112px; flex-direction: row; align-items: center; gap: 22px; margin-top: 18px; padding: 20px 28px; border-color: #acd7e9; background: linear-gradient(100deg, #e8f5fb, #fffefa 80%); }
.mmc-ap-unknown-mark { display: grid; width: 62px; height: 62px; flex: 0 0 62px; place-items: center; border: 1px solid #b2d6e6; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #fff, #eaf6fb); box-shadow: 0 0 0 6px rgba(39, 133, 176, .08); color: #2785b0; font-size: 36px; font-weight: 650; }
.mmc-ap-unknown-copy { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding-right: 34px; }
.mmc-ap-unknown-copy strong { color: #173a52; font-size: 21px; line-height: 1.25; }
.mmc-ap-unknown-copy > span { color: #607583; font-size: 15px; line-height: 1.45; }
.mmc-ap-unknown .mmc-ap-arrow { right: 24px; bottom: auto; font-size: 27px; }
.mmc-ap-section--secondary { margin-top: 32px; }
.mmc-ap-section--secondary h2, .mmc-ap-section--secondary h3 { margin: 0 0 15px; color: #28485b; font-size: 17px; font-weight: 650; }
.mmc-ap-secondary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mmc-ap-tile--secondary { min-height: 0; }
.mmc-ap-tile--secondary .mmc-ap-art { height: 168px; }
.mmc-ap-tile--secondary .mmc-ap-copy { padding: 16px 30px 20px 18px; }
.mmc-ap-tile--secondary .mmc-ap-copy strong { font-size: 16px; }
.mmc-ap-tile--secondary .mmc-ap-copy > span { font-size: 13px; }
.mmc-ap-tile--secondary .mmc-ap-arrow { right: 12px; bottom: 12px; font-size: 18px; }
@media (max-width: 1050px) {
	.mmc-ap-primary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mmc-ap-secondary-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.mmc-admin-launcher { width: min(100% - 28px, 480px); padding: 30px 0 40px; }
	.mmc-ap-hero { margin-bottom: 23px; text-align: left; }
	.mmc-ap-hero h1, .mmc-ap-hero h2 { font-size: clamp(30px, 9vw, 38px); }
	.mmc-ap-script { margin-top: 10px; font-size: 19px; }
	.mmc-ap-section { margin-top: 17px; }
	.mmc-ap-primary-grid { grid-template-columns: 1fr; gap: 12px; }
	.mmc-ap-tile--primary { min-height: 0; }
	.mmc-ap-tile--primary .mmc-ap-art { height: 176px; }
	.mmc-ap-tile--primary .mmc-ap-copy { padding: 16px 28px 20px 18px; }
	.mmc-ap-tile--primary .mmc-ap-copy strong { font-size: 16px; }
	.mmc-ap-tile--primary .mmc-ap-copy > span { font-size: 13px; }
	.mmc-ap-tile--primary .mmc-ap-arrow { right: 10px; bottom: 10px; font-size: 17px; }
	.mmc-ap-unknown { min-height: 104px; gap: 14px; margin-top: 13px; padding: 16px; border-radius: 17px; }
	.mmc-ap-unknown-mark { width: 48px; height: 48px; flex-basis: 48px; font-size: 29px; }
	.mmc-ap-unknown-copy { gap: 5px; padding-right: 18px; }
	.mmc-ap-unknown-copy strong { font-size: 17px; }
	.mmc-ap-unknown-copy > span { font-size: 13px; }
	.mmc-ap-unknown .mmc-ap-arrow { right: 12px; font-size: 20px; }
	.mmc-ap-section--secondary { margin-top: 26px; }
	.mmc-ap-section--secondary h2, .mmc-ap-section--secondary h3 { font-size: 15px; line-height: 1.4; }
	.mmc-ap-secondary-grid { gap: 10px; }
	.mmc-ap-tile--secondary .mmc-ap-art { height: 160px; }
	.mmc-ap-tile--secondary .mmc-ap-copy { padding: 14px 26px 18px 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.mmc-ap-tile, .mmc-ap-unknown { transition: none; }
}

/* Public catalog route sits between the existing homepage hero and the chooser. */
.mmc-public-catalog-entry {
	box-sizing: border-box;
	width: min(100% - 48px, 1220px);
	margin: 28px auto 0;
	padding: 23px 28px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	background: #f3f9fb;
	border: 1px solid #d7e9ef;
	border-radius: 20px;
}
.mmc-public-catalog-copy { min-width: 0; }
.mmc-public-catalog-copy h2 { margin: 0 0 5px; color: #163d55; font-size: clamp(21px, 2.2vw, 27px); line-height: 1.2; }
.mmc-public-catalog-copy p { margin: 0; color: #47657a; font-size: 15px; line-height: 1.5; }
.mmc-public-catalog-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 52px;
	padding: 12px 22px;
	flex: 0 0 auto;
	color: #fff;
	background: #087fba;
	box-shadow: 0 8px 20px rgba(8, 127, 186, .22);
	font-size: 16px;
	font-weight: 750;
	line-height: 1.25;
	text-decoration: none;
	border: 1px solid #087fba;
	border-radius: 999px;
	transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.mmc-public-catalog-link:hover { color: #fff; background: #066c9e; border-color: #066c9e; box-shadow: 0 10px 24px rgba(8, 127, 186, .30); transform: translateY(-1px); text-decoration: none; }
.mmc-public-catalog-link:focus-visible { color: #fff; background: #066c9e; border-color: #066c9e; outline: 3px solid #8fd4f2; outline-offset: 3px; text-decoration: none; }
@media (max-width: 600px) {
	.mmc-public-catalog-entry { width: min(100% - 28px, 480px); margin-top: 19px; padding: 20px; display: block; }
	.mmc-public-catalog-link { box-sizing: border-box; width: 100%; margin-top: 14px; max-width: 100%; white-space: normal; text-align: center; }
}
