.mg-guide { color: #20251f; font-size: 1rem; line-height: 1.65; overflow-wrap: anywhere; container-type: inline-size; }
.mg-guide *, .mg-guide *::before, .mg-guide *::after { box-sizing: border-box; }
.mg-guide h1, .mg-guide h2, .mg-guide h3 { color: inherit; margin: 0 0 1rem; }
.mg-guide h2 { font-size: clamp(1.5rem, 2.5vw, 2.1rem); margin-top: 2.5rem; line-height: 1.2; }
.mg-guide h3 { font-size: 1.45rem; line-height: 1.25; }
.mg-guide p { margin: 0 0 1rem; }
.mg-guide a { color: #244e36; text-decoration: underline; text-underline-offset: .2em; }
.mg-guide a:hover { color: #152f20; text-decoration-thickness: 2px; }
.mg-guide :focus-visible { outline: 3px solid #265ec4; outline-offset: 4px; }
.mg-guide ul { list-style: disc; padding-left: 1.3rem; margin: 0 0 1rem; }
.mg-guide li { margin-bottom: .65rem; }
.mg-guide .mg-kicker { text-transform: uppercase; font-size: .76rem; font-weight: 750; letter-spacing: .13em; margin-bottom: .85rem; }
.mg-guide .mg-deck { font-size: clamp(1.15rem, 2vw, 1.45rem); line-height: 1.5; max-width: 65ch; margin-bottom: 2rem; }
.mg-notice { padding: 1.2rem; border: 1px solid #837035; border-left: 5px solid #837035; background: #fff4cb; color: #342e1d; margin: 0 0 1.5rem; }
.mg-breadcrumbs { font-size: .9rem; margin: 1.5rem 0; }
.mg-breadcrumbs a { display: inline-block; padding: .65rem .15rem; }
.mg-grid, .mg-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin-bottom: 2rem; }
.mg-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; margin: 2rem 0; }
.mg-card { min-width: 0; padding: 1.5rem; border: 1px solid #b5bbae; border-top: 4px solid #20251f; background: #fff; }
.mg-card[hidden] { display: none !important; }
.mg-recommendation { min-width: 0; margin: 0 0 2rem; padding: 2rem; border: 3px solid #244e36; border-left-width: .75rem; background: #f1f6ed; color: #18251b; }
.mg-recommendation h2 { margin-top: 0; font-size: clamp(1.7rem, 3vw, 2.5rem); }
.mg-recommendation-kicker { margin: 0 0 .75rem; color: #244e36; font-size: .86rem; font-weight: 800; letter-spacing: .12em; text-transform: none; }
.mg-guide .mg-recommendation-disclosure { font-size: max(16px, 1rem); margin-top: 1.5rem; padding: 1rem; border: 2px solid #244e36; background: #fff; }
.mg-recommendation > p:last-child { margin-bottom: 0; }
.mg-recommendation > p:last-child a { display: inline-block; max-width: 100%; padding: .75rem 1rem; border: 2px solid #244e36; background: #244e36; color: #fff; font-weight: 750; white-space: normal; }
.mg-recommendation > p:last-child a:hover { background: #152f20; color: #fff; }
.mg-evidence { color: #3e4e42; font-size: .9rem; padding: .75rem 0; border-block: 1px solid #d3d8cd; }
.mg-citation, .mg-date { font-size: .83rem; line-height: 1.6; }
.mg-citation { margin-top: .4rem; }
.mg-guide .mg-facts li { margin-bottom: 1.15rem; }
.mg-dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin: 1.25rem 0; font-size: .85rem; }
.mg-dates dt { font-weight: 700; }
.mg-dates dd { margin: .15rem 0 0; }
.mg-guide details { border-top: 1px solid #c2c5b6; border-bottom: 1px solid #c2c5b6; margin: 1.25rem 0; }
.mg-guide summary { min-height: 44px; padding: .7rem 0; cursor: pointer; font-weight: 700; }
.mg-filters { display: flex; align-items: end; gap: 1rem; flex-wrap: wrap; padding: 1.5rem; background: #edf0e6; border: 1px solid #a3ad9e; margin: 1.5rem 0; }
.mg-filters > div { flex: 1 1 14rem; }
.mg-filters label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .4rem; }
.mg-filters input, .mg-filters select { width: 100%; min-height: 48px; padding: .65rem; border: 1px solid #63735e; color: #20251f; background: #fff; font: inherit; border-radius: 0; }
/* Zeen parent selectors outrank the base filter rule, so restore the search field here. */
.mg-owned-page .mg-guide .mg-filters input[type="search"] { border: 1px solid #63735e; background: #fff; color: #20251f; appearance: none; }
.mg-owned-page main .mg-mobile-guide-nav summary::after { content: " — Expand menu ↓"; display: inline-block; margin-left: .35rem; }
.mg-owned-page main .mg-mobile-guide-nav[open] summary::after { content: " — Collapse menu ↑"; }
.mg-filters button { min-height: 48px; padding: .7rem 1.1rem; background: #244e36; color: #fff; border: 2px solid #244e36; font: inherit; font-weight: 700; cursor: pointer; }
.mg-filters a { padding: .7rem .25rem; }
.mg-link-list a, .mg-trust a, .mg-category-grid a { display: inline-block; padding: .65rem .1rem; }
.mg-table-scroll { max-width: 100%; overflow-x: auto; margin: 2rem 0; border: 1px solid #8f998a; }
.mg-table-scroll table { border-collapse: collapse; width: 100%; min-width: 720px; margin: 0; table-layout: fixed; text-align: left; }
.mg-table-scroll caption { text-align: left; padding: 1rem; font-weight: 700; }
.mg-table-scroll th, .mg-table-scroll td { padding: 1.2rem; border: 1px solid #c2c5b6; vertical-align: top; }
.mg-table-scroll thead { background: #e6ebe4; }
.mg-table-scroll th:first-child { width: 20%; }
.mg-table-scroll .mg-dates { grid-template-columns: 1fr; }
.mg-table-hint { font-size: .9rem; }
.mg-prose { max-width: 78ch; }
.mg-trust ul { display: flex; flex-wrap: wrap; gap: .25rem 1.5rem; padding: 0; list-style: none; }
.mg-footer-attribution { margin: 1.5rem 0 0; font-weight: 700; }
@media (max-width: 767px) {
	.mg-grid, .mg-feature-grid { grid-template-columns: 1fr; }
	.mg-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mg-card, .mg-filters, .mg-recommendation { padding: 1rem; }
	.mg-filters { display: block; }
	.mg-filters > div { margin-bottom: 1rem; }
	.mg-filters button { width: 100%; }
	.mg-filters a { display: block; text-align: center; margin-top: .5rem; }
	.mg-guide .mg-citation a { display: inline-block; padding-block: .55rem; }
}
@container (max-width: 20rem) {
	.mg-guide .mg-filters button {
		padding-inline: .2rem;
		overflow-wrap: normal;
		word-break: normal;
		white-space: normal;
	}
	.mg-guide .mg-recommendation {
		margin-inline: -1.25rem;
		padding: .25rem;
		border-left-width: .4rem;
		overflow-wrap: normal;
		word-break: normal;
		line-height: 1.45;
	}
	.mg-guide .mg-recommendation h2 {
		font-size: 1.25rem;
		line-height: 1.2;
		margin-bottom: .65rem;
	}
	.mg-guide .mg-recommendation h3 { font-size: 1.125rem; margin-bottom: .65rem; }
	.mg-guide .mg-recommendation-kicker {
		font-size: .72rem;
		line-height: 1.35;
		letter-spacing: .06em;
	}
	.mg-guide .mg-recommendation > p:not(:last-child) { margin-bottom: .65rem; }
	.mg-guide .mg-recommendation-disclosure {
		margin-top: .75rem;
		padding: .2rem;
		line-height: 1.45;
	}
	.mg-guide .mg-recommendation ul {
		padding-left: 0;
		list-style-position: inside;
		margin-bottom: .65rem;
	}
	.mg-guide .mg-recommendation li { margin-bottom: .35rem; }
	.mg-guide .mg-recommendation .mg-facts li { margin-bottom: .5rem; }
	.mg-guide .mg-recommendation .mg-citation { line-height: 1.4; }
	.mg-guide .mg-recommendation .mg-citation a { padding-block: .25rem; }
	.mg-guide .mg-recommendation .mg-dates {
		grid-template-columns: 1fr;
		gap: .55rem;
		margin: .75rem 0;
		line-height: 1.45;
	}
	.mg-guide .mg-recommendation > p:last-child a { padding: .45rem .6rem; }
}
@media (prefers-reduced-motion: reduce) {
	.mg-owned-page *, .mg-owned-page *::before, .mg-owned-page *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}
