/* WordPress-specific styles on top of the design system components. */
html, body { margin: 0; }
body.mg { background: var(--surface); color: var(--text); min-height: 100vh; display: flex; flex-direction: column; }
.mg-main { flex: 1; }
.mg-skip { position: absolute; left: -9999px; top: 8px; background: var(--action); color: var(--on-action); padding: 8px 16px; border-radius: var(--radius-sm); z-index: 100; }
.mg-skip:focus { left: 8px; }
.mg-visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
img { max-width: 100%; height: auto; }
.mg-crisis__in, .mg-header__in, .mg-hero__in, .mg-footer__in, .mg-footer__base, .mg-container { padding-left: max(24px, env(safe-area-inset-left, 0px)); padding-right: max(24px, env(safe-area-inset-right, 0px)); }

/* header */
.mg-header { position: sticky; top: 0; z-index: 40; }
.mg-header__logo img { width: 210px; }
.mg-nav { gap: var(--space-4); }
.mg-nav a { white-space: nowrap; }
.mg-header__in { gap: var(--space-5); }
@media (max-width: 1100px) { .mg-nav a[href$="/give/"] { display: none; } .mg-header__logo img { width: 180px; } }
.mg-nav a.mg-btn { border-bottom: 0; }
.mg-nav__mobile-actions { display: none; }
.mg-toggle { width: 48px; height: 48px; border: 1px solid var(--control-border); border-radius: var(--radius-sm); background: transparent; color: var(--text); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; flex: none; }
.mg-toggle svg { width: 22px; height: 22px; }
.mg-toggle__moon { display: none; }
[data-theme="dark"] .mg-toggle__sun { display: none; }
[data-theme="dark"] .mg-toggle__moon { display: inline-flex; }
.mg-toggle:hover { background: var(--surface-alt); }
.mg-menu-btn__close { display: none; }
.mg-header--open .mg-menu-btn__open { display: none; }
.mg-header--open .mg-menu-btn__close { display: inline-flex; }
.mg-menu-btn__open { display: inline-flex; } /* only the open icon by default; ".mg-menu-btn span" used to outrank the close icon's hide rule */
.mg-footer__cols--4 { grid-template-columns: repeat(4, 1fr); }
.mg-section--newsletter { padding: var(--space-7) 0; }
.mg-newsletter__form { display: flex; gap: var(--space-3); }

/* hero */
.mg-hero__in { min-height: 620px; }
.mg-hero__copy { max-width: 38rem; }

/* home sections */
.mg-mission__text { font-weight: 400; }
.mg-mission__text strong { font-weight: 700; }
.mg-doer li::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--brand-teal); flex: none; }
.mg-video { margin: 0; aspect-ratio: 16 / 9; background: var(--canyon); border-radius: var(--radius-md); overflow: hidden; }
.mg-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.mg-video + .mg-video, .entry-content .mg-video { margin-top: var(--space-5); }
.mg-video-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); }
.mg-video-grid p { margin: var(--space-3) 0 0; color: var(--text-muted); }

/* content (block editor output + converted Tithely pages) */
.entry-content { font-size: 17px; line-height: 1.6; }
.entry-content > * { max-width: var(--measure); }
.entry-content > .alignwide, .entry-content > .alignfull, .entry-content > .mg-orders, .entry-content > .mg-scripture, .entry-content > .mg-beliefs-toc, .entry-content > .mg-video, .entry-content > .mg-video-grid, .entry-content > details, .entry-content > .mg-downloads, .entry-content > ul, .entry-content > ol, .entry-content > hr, .entry-content > table { max-width: none; }
.entry-content p { margin: 0 0 var(--space-4); }
.entry-content h2 { font-family: var(--font-display); font-weight: 500; font-size: 34px; line-height: 1.15; margin: var(--space-7) 0 var(--space-4); }
.entry-content h3 { font-family: var(--font-display); font-weight: 500; font-size: 26px; line-height: 1.2; margin: var(--space-6) 0 var(--space-3); }
.entry-content h4 { font-family: var(--font-body); font-weight: 700; font-size: 20px; line-height: 1.3; margin: var(--space-5) 0 var(--space-2); }
.entry-content h5 { font-family: var(--font-body); font-weight: 700; font-size: 17px; margin: var(--space-4) 0 var(--space-2); }
.entry-content h2:first-child, .entry-content h3:first-child { margin-top: 0; }
.entry-content ul, .entry-content ol { margin: 0 0 var(--space-4); padding-left: var(--space-5); }
.entry-content li { margin-bottom: var(--space-2); }
.entry-content a { color: var(--link); text-decoration: underline; text-underline-offset: 3px; }
.entry-content a:hover { text-decoration-thickness: 2px; }
.entry-content hr { border: 0; border-top: 1px solid var(--line); margin: var(--space-6) 0; }
.entry-content blockquote { margin: 0 0 var(--space-4); border-left: 4px solid var(--rule-accent); background: var(--surface-warm); padding: var(--space-4) var(--space-5); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.entry-content blockquote p { font-family: var(--font-scripture); font-style: italic; font-size: 19px; line-height: 1.55; margin: 0 0 var(--space-2); }
.entry-content blockquote p:last-child { margin: 0; font-family: var(--font-body); font-style: normal; font-weight: 700; font-size: 14px; }
.entry-content blockquote em { font-style: italic; }
.entry-content img { border-radius: var(--radius-md); }
.entry-content figure { margin: 0 0 var(--space-5); }
.entry-content figcaption { font-size: 14px; color: var(--text-muted); margin-top: var(--space-2); }
.entry-content .mg-lead { font-size: 20px; line-height: 1.5; color: var(--text-muted); }
.entry-content .mg-lead--strong { color: var(--text); font-weight: 700; }
.entry-content .wp-block-buttons .wp-block-button__link, .entry-content .wp-element-button { background: var(--action); color: var(--on-action); border-radius: var(--radius-sm); font-weight: 700; padding: 0 var(--space-5); height: var(--button-height); display: inline-flex; align-items: center; text-decoration: none; }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content td, .entry-content th { border-bottom: 1px solid var(--line); padding: var(--space-3); text-align: left; vertical-align: top; }

/* folding sections (Armor of God, General Orders imported accordions) */
details.mg-fold { border-top: 1px solid var(--line); }
details.mg-fold:last-of-type { border-bottom: 1px solid var(--line); }
details.mg-fold summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-4) 0; font-family: var(--font-display); font-weight: 500; font-size: 22px; line-height: 1.25; color: var(--text); }
details.mg-fold summary::-webkit-details-marker { display: none; }
details.mg-fold summary::after { content: ""; width: 10px; height: 10px; border-right: 2px solid var(--link); border-bottom: 2px solid var(--link); transform: rotate(45deg); transition: transform .2s ease; flex: none; margin-right: 6px; }
details.mg-fold[open] summary::after { transform: rotate(-135deg); }
details.mg-fold summary:hover { color: var(--link); }
details.mg-fold .mg-fold__body { padding: 0 0 var(--space-5); }
details.mg-fold .mg-fold__body > :first-child { margin-top: 0; }

/* downloads list */
.mg-downloads-list { list-style: none; padding: 0; margin: 0 0 var(--space-5); border-top: 1px solid var(--line); }
.mg-downloads-list li { padding: var(--space-3) 0; border-bottom: 1px solid var(--line); margin: 0; }
.mg-downloads-list a { font-weight: 700; text-decoration: none; }
.mg-downloads-list a::before { content: "↓ "; color: var(--eyebrow); }

/* doc layout with sidebar */
.mg-doc { padding-top: var(--space-7); padding-bottom: var(--space-8); } /* top/bottom only: the shorthand wiped the container's side gutter on phones */
.mg-doc__side { order: -1; }
.mg-subnav h2 { margin: 0 0 var(--space-3); }
.mg-subnav ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.mg-subnav li a { display: block; padding: 10px 12px; border-bottom: 1px solid var(--line); color: var(--text); text-decoration: none; font-weight: 700; font-size: 15px; }
.mg-subnav li li a { padding-left: 28px; font-weight: 400; }
.mg-subnav a:hover { color: var(--link); background: var(--surface-alt); }
.mg-subnav a[aria-current="page"] { background: var(--surface-wash); color: var(--link); border-left: 3px solid var(--brand-teal); }
.mg-doc__art { border-radius: var(--radius-md); margin-bottom: var(--space-5); display: block; }
.mg-doc .mg-sidebar { position: sticky; top: calc(var(--space-5) + 88px); }
.mg-doc .mg-doc__main { min-width: 0; }
.mg-doc { grid-template-columns: 280px 1fr; }

/* prose page */
.mg-prose-page { padding-top: var(--space-7); padding-bottom: var(--space-8); } /* top/bottom only: keeps the container side gutter */
.mg-tabs { margin-bottom: var(--space-6); flex-wrap: wrap; }

/* hub cards */
.mg-hub__intro { padding-top: var(--space-7); padding-bottom: var(--space-5); }
.mg-card__img--empty { background: var(--surface-wash); }
.mg-card h3 a { color: var(--text); text-decoration: none; }
.mg-card h3 a:hover { color: var(--link); }
.mg-card__more { color: var(--link); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.mg-card__more svg { width: 18px; height: 18px; }

/* news */
.mg-post-row h3 { margin: 0 0 var(--space-2); }
.mg-post-row h3 a { color: var(--text); text-decoration: none; }
.mg-post-row h3 a:hover { color: var(--link); }
.mg-post-row p { margin: 0 0 var(--space-2); color: var(--text-muted); }
.mg-post__img { max-height: 480px; }
.mg-post .entry-content > * { max-width: none; }
.mg-pagination { display: flex; gap: var(--space-3); justify-content: center; padding: var(--space-6) 0 0; }
.mg-pagination a, .mg-pagination span { padding: 8px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); text-decoration: none; font-weight: 700; }
.mg-pagination .current { background: var(--action); color: var(--on-action); border-color: var(--action); }

/* give */
.mg-give-hero { background: var(--surface-wash); padding: var(--space-8) 0; }
.mg-give-hero .mg-display { color: var(--text); font-size: 48px; }
.mg-give-hero .mg-lead { font-size: 22px; line-height: 1.5; margin: var(--space-4) 0 var(--space-5); max-width: 40rem; }
.mg-give-hero .entry-content { max-width: 40rem; }
.mg-give-text { background: var(--surface-card); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-6); }
.mg-give-text .mg-h2 { margin-bottom: var(--space-2); }
.mg-give-text .mg-h4 { color: var(--link); margin-bottom: var(--space-3); }

/* events */
.mg-events-cards .mg-card__body { gap: var(--space-3); }
.mg-events-cards .mg-card__body p { color: var(--text); }

/* podcast */
.mg-podcast-embed { aspect-ratio: auto; height: 1200px; }

/* get help */
.mg-callnum__item b { font-size: 18px; }

/* 404 / search */
.mg-404 { padding: var(--space-9) 0; text-align: center; }

@media (max-width: 960px) {
  .mg-footer__cols--4 { grid-template-columns: 1fr 1fr; }
  .mg-doc { grid-template-columns: 1fr; }
  .mg-doc .mg-sidebar { position: static; }
  .mg-video-grid { grid-template-columns: 1fr; }
}
/* tablets (iPad mini and up to 1023px): the full menu does not fit, so use the menu button */
@media (max-width: 1023px) {
  .mg-nav { display: none; }
  .mg-header--open .mg-nav { display: flex; flex-direction: column; position: absolute; left: 0; right: 0; top: 100%; background: var(--surface); border-bottom: 1px solid var(--line); padding: var(--space-4) var(--space-4) var(--space-5); gap: 0; margin: 0; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
  .mg-header--open .mg-nav a { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 18px; }
  .mg-header--open .mg-nav a[aria-current="page"] { color: var(--link); }
  .mg-nav__mobile-actions { display: flex; gap: var(--space-3); padding-top: var(--space-4); }
  .mg-nav__mobile-actions .mg-btn { flex: 1; border-bottom: 2px solid transparent; }
  .mg-nav__mobile-actions .mg-btn--secondary { border-color: var(--secondary); }
  .mg-header__actions .mg-btn--primary { display: none; }
  .mg-header__actions { margin-left: auto; }
  .mg-menu-btn { display: inline-flex; }
}
@media (max-width: 720px) {
  .mg-header__logo img { width: 120px; }
  .mg-post-row .mg-photo-ph { display: none; }
  .mg-nav { display: none; }
  .mg-header--open .mg-nav { display: flex; flex-direction: column; position: absolute; left: 0; right: 0; top: 100%; background: var(--surface); border-bottom: 1px solid var(--line); padding: var(--space-4) var(--space-4) var(--space-5); gap: 0; margin: 0; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
  .mg-header--open .mg-nav a { padding: 14px 4px; border-bottom: 1px solid var(--line); font-size: 18px; }
  .mg-header--open .mg-nav a[aria-current="page"] { color: var(--link); }
  .mg-nav__mobile-actions { display: flex; gap: var(--space-3); padding-top: var(--space-4); }
  .mg-nav__mobile-actions .mg-btn { flex: 1; border-bottom: 2px solid transparent; }
  .mg-nav__mobile-actions .mg-btn--secondary { border-color: var(--secondary); }
  .mg-header__actions .mg-btn--primary { display: none; }
  .mg-hero__in { min-height: 520px; }
  .mg-newsletter__form { flex-direction: column; }
  .mg-give-hero .mg-display { font-size: 36px; }
  .mg-podcast-embed { height: 900px; }
  .entry-content h2 { font-size: 28px; }
  .entry-content h3 { font-size: 22px; }
  details.mg-fold summary { font-size: 19px; }
}
@media print {
  .mg-crisis, .mg-header, .mg-section--newsletter, .mg-footer__cols, .mg-toggle { display: none !important; }
}

/* General Orders accordion inside page content */
.entry-content .mg-orders { max-width: 880px; margin: var(--space-5) 0 var(--space-6); }
.entry-content .mg-order summary { padding: var(--space-5) 0; }
.entry-content .mg-order__text { font-family: var(--font-body); }
.entry-content .mg-scripture { margin: 0 0 var(--space-4); }
.entry-content .mg-scripture + .mg-scripture { margin-top: var(--space-3); }
.entry-content .mg-scripture p { font-family: var(--font-scripture); font-style: italic; font-size: 19px; }
.entry-content .mg-scripture cite { font-style: normal; font-family: var(--font-body); font-weight: 700; font-size: 14px; display: block; }
.mg-beliefs-toc { columns: 2; column-gap: var(--space-6); list-style: none; padding: 0; margin: 0 0 var(--space-6); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: var(--space-4) 0; }
.mg-beliefs-toc li { break-inside: avoid; margin: 0; }
.mg-beliefs-toc a { display: block; padding: 6px 0; text-decoration: none; font-weight: 700; font-size: 15px; }
.mg-beliefs-toc a:hover { text-decoration: underline; }
.entry-content .mg-belief { padding-top: var(--space-5); }
.entry-content .mg-belief h2 { display: flex; gap: var(--space-3); align-items: baseline; margin-top: var(--space-5); }
.entry-content .mg-belief h2 .mg-numeral { font-size: 28px; }
@media (max-width: 720px) { .mg-beliefs-toc { columns: 1; } }

/* coffee card: no photo yet, teal wash with a mug */
.mg-card__img--coffee { display: flex; align-items: center; justify-content: center; background: var(--surface-wash); color: var(--heading-accent); }
.mg-card__img--coffee svg { width: 72px; height: 72px; }
.entry-content .mg-steps { max-width: 40rem; margin: var(--space-4) 0 var(--space-5); }
.entry-content .mg-steps li { margin: 0; }
.entry-content .mg-steps li div { font-size: 17px; }

/* book recommendations */
.entry-content > .mg-book { max-width: 44rem; }
.entry-content .mg-book-topic { margin: var(--space-7, 48px) 0 var(--space-2); padding-top: var(--space-4); border-top: 1px solid var(--line); scroll-margin-top: 96px; }
.entry-content .mg-book-jump { font-weight: 700; line-height: 1.9; }
.entry-content .mg-book-jump a { text-decoration: none; }
.entry-content .mg-book-jump a:hover { text-decoration: underline; }
.entry-content .mg-book { grid-template-columns: 112px 1fr; gap: var(--space-5); padding: var(--space-5) 0; }
.entry-content .mg-book img { width: 112px; height: auto; border-radius: var(--radius-sm); box-shadow: 0 2px 8px rgba(43,33,26,.18); }
.entry-content .mg-book__ph { width: 112px; height: 168px; border-radius: var(--radius-sm); background: var(--surface-wash); color: var(--text-muted); display: flex; align-items: center; justify-content: center; text-align: center; padding: 8px; font: 500 13px/1.3 var(--font-display); letter-spacing: .04em; text-transform: uppercase; }
.entry-content .mg-book__title { margin: 0 0 6px; font-size: 24px; }
.entry-content .mg-book__meta { margin: 0 0 10px; color: var(--text-muted); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.entry-content .mg-book p { margin: 0 0 var(--space-3); }
.entry-content .mg-book__links { font-weight: 700; }
.entry-content .mg-book__links a { text-decoration: none; }
.entry-content .mg-book__links a:hover { text-decoration: underline; }
.entry-content .mg-book__sep { margin: 0 6px; color: var(--text-muted); }
.entry-content .mg-book p.mg-book__links { margin: 0 0 6px; }
.entry-content .mg-book__get { margin: 0; }
.entry-content .mg-book__get summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; color: var(--link); font: 500 14px/1.2 var(--font-display); letter-spacing: .08em; text-transform: uppercase; padding: 6px 0; }
.entry-content .mg-book__get summary::-webkit-details-marker { display: none; }
.entry-content .mg-book__get summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .15s ease; }
.entry-content .mg-book__get[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.entry-content .mg-book__get summary:hover { text-decoration: underline; text-underline-offset: 3px; }
.entry-content .mg-book__get summary:focus-visible { outline: 2px solid var(--link); outline-offset: 2px; border-radius: 2px; }
.entry-content .mg-book__stores { margin-top: 8px; padding: var(--space-3) var(--space-4); border-left: 3px solid var(--line); background: var(--surface-alt); border-radius: var(--radius-sm); }
.entry-content .mg-book__stores p.mg-book__links:last-child { margin-bottom: 0; }
@media (prefers-reduced-motion: reduce) { .entry-content .mg-book__get summary::after { transition: none; } }
.entry-content .mg-book__lbl { display: inline-block; min-width: 4.75rem; color: var(--text-muted); font: 500 12px/1.3 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 720px) { .entry-content .mg-book__lbl { display: block; min-width: 0; margin-bottom: 2px; } }
@media (max-width: 720px) { .entry-content .mg-book { grid-template-columns: 88px 1fr; gap: var(--space-4); } .entry-content .mg-book img, .entry-content .mg-book__ph { width: 88px; } .entry-content .mg-book__ph { height: 132px; } }

/* site forms (inc/forms.php) */
.mg-form:not(.mg-newsletter__form) { display: grid; gap: var(--space-4); max-width: 36rem; margin: var(--space-5) 0; }
.mg-form .mg-textarea { height: auto; min-height: 8rem; padding-block: var(--space-3); line-height: 1.5; }
.mg-form .mg-field label { font-weight: 700; }
.mg-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mg-form-status { max-width: 36rem; margin: var(--space-4) 0; }
.mg-form-status > span { font-weight: 700; color: var(--link); }
.mg-newsletter .mg-form-status { margin: 0; }
.mg-newsletter__form > div { display: flex; }

/* placeholder form (Swordcraft Q&A until the real form exists) */
.entry-content .mg-form-ph { display: grid; gap: var(--space-4); max-width: 36rem; margin: var(--space-5) 0; padding: var(--space-5); border: 1px dashed var(--control-border); border-radius: var(--radius-md); }
.entry-content .mg-form-ph .mg-eyebrow { margin: 0; }
.entry-content .mg-form-ph .mg-textarea { height: auto; min-height: 7rem; padding-block: var(--space-3); }
.entry-content .mg-form-ph :disabled { opacity: .6; cursor: not-allowed; }

/* websites & links (.mg-link is taken by the design system) */
.entry-content .mg-sites__lede { max-width: 44rem; }
.entry-content .mg-sites__alert { max-width: 44rem; padding: var(--space-3) var(--space-4); border-left: 4px solid var(--brand-teal); background: var(--surface-warm); border-radius: var(--radius-sm); }
.entry-content > .mg-site { max-width: 44rem; }
.entry-content .mg-site { display: grid; grid-template-columns: 88px 1fr; gap: var(--space-5); padding: var(--space-5) 0; border-bottom: 1px solid var(--line); }
.entry-content .mg-site__logo { width: 88px; height: 88px; border-radius: var(--radius-md); overflow: hidden; background: #fff; box-shadow: 0 2px 8px rgba(43,33,26,.18); }
.entry-content .mg-site__logo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.entry-content .mg-site__logo--pad img { object-fit: contain; padding: 12px; }
.entry-content .mg-site__logo--dark { background: var(--canyon); border: 1px solid var(--line); }
.entry-content .mg-site__title { margin: 0 0 4px; font-size: 24px; }
.entry-content .mg-site__title a { color: inherit; text-decoration: none; }
.entry-content .mg-site__title a:hover { color: var(--link); text-decoration: underline; }
.entry-content .mg-site__meta { margin: 0 0 10px; color: var(--text-muted); font: 500 13px/1.3 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.entry-content .mg-site p { margin: 0 0 var(--space-3); }
.entry-content .mg-site__links { font-weight: 700; }
.entry-content .mg-site__links a { text-decoration: none; }
.entry-content .mg-site__links a:hover { text-decoration: underline; }
.entry-content .mg-site__sep { margin: 0 10px; color: var(--text-muted); }
@media (max-width: 720px) { .entry-content .mg-site { grid-template-columns: 64px 1fr; gap: var(--space-4); } .entry-content .mg-site__logo { width: 64px; height: 64px; } .entry-content .mg-site__logo--pad img { padding: 8px; } }

/* home: who/where line, struggling band, "Who I am" (2026-10-22) */
.mg-hero__kicker { margin: 0 0 var(--space-3); font: 500 15px/1.3 var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.9); }
.mg-struggling { padding-block: var(--space-6); }
.mg-struggling__box { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; justify-content: space-between; padding: var(--space-5) var(--space-6); border-left: 4px solid var(--brand-teal); background: var(--surface-warm); border-radius: var(--radius-md); }
.mg-struggling__box > div:first-child { flex: 1 1 26rem; min-width: 0; }
.mg-struggling__box p { margin: 6px 0 0; max-width: 40rem; }
.mg-struggling__box .mg-h3 { margin: 6px 0 0; }
.mg-meet { display: grid; grid-template-columns: 200px 1fr; gap: var(--space-6); align-items: center; }
.mg-meet__photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; box-shadow: 0 2px 12px rgba(43,33,26,.2); }
.mg-meet p { max-width: 40rem; }
@media (max-width: 720px) {
  .mg-struggling__box { padding: var(--space-5); }
  .mg-meet { grid-template-columns: 1fr; gap: var(--space-4); }
  .mg-meet__photo { width: 140px; height: 140px; }
}

/* quieter Give button in the header: outlined, gold edge */
.mg-btn--give-quiet { background: transparent; border-color: var(--give); color: var(--text) !important; }
.mg-btn--give-quiet:hover { background: var(--surface-warm); }

/* serve form checkboxes */
.mg-checks { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; }
.mg-checks legend { font-weight: 700; margin-bottom: 6px; padding: 0; }
.mg-check { display: flex; gap: 10px; align-items: center; font-weight: 400; }
.mg-check input { width: 18px; height: 18px; accent-color: var(--brand-teal); }
.mg-serve-list { columns: 2 16rem; column-gap: var(--space-6); padding-left: 1.2em; }
.mg-form .mg-check { font-weight: 400; }

/* hero: keep the words clear of the white cross in the photo (cross sits at about 70% across, 39-54% down) */
@media (min-width: 721px) and (max-width: 1023px) { .mg-hero__copy { max-width: 26rem; } }
@media (max-width: 720px) { .mg-hero { background-position: 30% 40%; } } /* phones: slide the photo so the cross sits just off the right edge instead of half behind the words */

/* "Why we exist": bigger label, tagline on its own line (Chuck, 2026-10-22) */
/* section labels everywhere match it; small labels inside cards and tiles stay small */
.mg-eyebrow { font-size: 17px; }
.mg-card .mg-eyebrow, .mg-way .mg-eyebrow, .mg-site .mg-eyebrow, .mg-book .mg-eyebrow { font-size: 13px; }
.mg-mission__text { margin-bottom: var(--space-3); }
.mg-mission__tagline { font-weight: 700; font-size: 22px; line-height: 1.4; max-width: 44rem; margin: 0 0 var(--space-5); color: var(--text); }

/* open menu: the Serve / Get help buttons are links inside the nav, so the nav's divider line and padding were landing on them (gray bottom edge) */
.mg-header--open .mg-nav .mg-nav__mobile-actions .mg-btn { padding: 0 var(--space-4); font-size: 16px; border: 2px solid transparent; }
.mg-header--open .mg-nav .mg-nav__mobile-actions .mg-btn--secondary { border-color: var(--secondary); }

/* Serve page (template-serve.php) */
.mg-ways { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.mg-way { display: grid; grid-template-columns: 48px 1fr; gap: var(--space-4); align-items: start; padding: var(--space-5); background: var(--surface-card); border: 1px solid var(--line); border-radius: var(--radius-md); }
.mg-way__icon { width: 48px; height: 48px; border-radius: 50%; background: var(--surface-wash); color: var(--link); display: inline-flex; align-items: center; justify-content: center; }
.mg-way__icon svg { width: 24px; height: 24px; }
.mg-way__title { margin: 0 0 4px; font: 500 20px/1.2 var(--font-display); }
.mg-way p { margin: 0; color: var(--text-muted); font-size: 16px; line-height: 1.45; }
.mg-serve-note { margin: var(--space-6) 0 0; font-size: 20px; font-weight: 700; max-width: 44rem; }
.mg-serve-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: start; }
.mg-serve-who p { margin: 0 0 var(--space-3); }
.mg-serve-who p:last-child { margin-bottom: 0; }
.mg-form-card { background: var(--surface-card); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-6); box-shadow: 0 2px 12px rgba(43,33,26,.08); }
.mg-form-card .mg-form { margin-bottom: 0; max-width: none; }
@media (max-width: 960px) { .mg-ways { grid-template-columns: repeat(2, minmax(0, 1fr)); } .mg-serve-split { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .mg-ways { grid-template-columns: 1fr; } .mg-way { padding: var(--space-4); } .mg-form-card { padding: var(--space-5); } }

/* About page (template-about.php, 2026-10-22) */
.mg-about-tabs { padding-top: var(--space-5); }
.mg-about-tabs .mg-tabs { margin-bottom: 0; }
.mg-about-story { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-7); align-items: start; }
.mg-about-story__photo { margin: 0; text-align: center; }
.mg-about-story__photo img { width: 240px; height: 240px; border-radius: 50%; object-fit: cover; box-shadow: 0 2px 12px rgba(43,33,26,.2); }
.mg-about-story__photo figcaption { margin-top: var(--space-3); display: grid; gap: 2px; }
.mg-about-story__photo figcaption span { color: var(--text-muted); font-size: 15px; }
.mg-about-story p { max-width: 44rem; }
.mg-about-quote { margin: var(--space-5) 0; padding: var(--space-4) var(--space-5); border-left: 4px solid var(--brand-teal); background: var(--surface-wash); border-radius: var(--radius-sm); font-size: 19px; line-height: 1.5; max-width: 44rem; }
.mg-ways--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mg-way .mg-card__more { margin-top: var(--space-3); display: inline-flex; }
.mg-about-cta { display: flex; flex-wrap: wrap; gap: var(--space-5); align-items: center; justify-content: space-between; }
@media (max-width: 960px) { .mg-ways--3 { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  .mg-about-story { grid-template-columns: 1fr; gap: var(--space-5); }
  .mg-about-story__photo { text-align: left; display: flex; gap: var(--space-4); align-items: center; }
  .mg-about-story__photo img { width: 112px; height: 112px; }
  .mg-about-story__photo figcaption { margin: 0; text-align: left; }
  .mg-about-cta .mg-row { width: 100%; }
}

/* Our Beliefs: the statement leads, the verses support it (Chuck, 2026-10-22) */
.entry-content .mg-belief > p { font-size: 20px; font-weight: 700; line-height: 1.45; margin: var(--space-3) 0 var(--space-4); max-width: 44rem; }
@media (max-width: 720px) { .entry-content .mg-belief > p { font-size: 18px; } }

/* ---- Long On Watch pages: cards built by theme.js (2026-10-23, "looks like a Word doc") ---- */
/* numbered steps (Sharing the Gospel) */
.entry-content .mg-step { background: var(--surface-card); border: 1px solid var(--line); border-top: 4px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-5); margin: var(--space-5) 0; box-shadow: var(--shadow-hover); }
.entry-content .mg-step > h3 { display: flex; align-items: center; gap: var(--space-3); margin: 0 0 var(--space-3); }
.entry-content .mg-step__num { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--action); color: var(--on-action); display: inline-flex; align-items: center; justify-content: center; font: 500 20px/1 var(--font-display); }
.entry-content .mg-step__orders { border-left: 3px solid var(--sunrise-gold); background: var(--surface-warm); padding: var(--space-2) var(--space-3); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; font-size: 15px; }
.entry-content .mg-step ul { background: var(--surface-wash); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4) var(--space-3) var(--space-7); }
.entry-content .mg-step li::marker { color: var(--brand-teal); }
.entry-content .mg-step > :last-child { margin-bottom: 0; }
/* summary with the Law > Conscience > Grace flow */
.entry-content .mg-summary { background: var(--surface-wash); border: 1px solid var(--line); border-left: 4px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-5); margin: var(--space-6) 0; }
.entry-content .mg-summary > h3 { margin-top: 0; color: var(--link); }
.entry-content .mg-flow { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: var(--space-4) 0; }
.entry-content .mg-flow__step { background: var(--action); color: var(--on-action); padding: 6px 14px; border-radius: 999px; font: 500 15px/1.2 var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
.entry-content .mg-flow__arrow { color: var(--text-muted); font-weight: 700; }
.entry-content .mg-summary > :last-child { margin-bottom: 0; }
/* Armor of God dropdowns: an open piece becomes a tinted panel of section cards */
.entry-content details.mg-fold[open] { background: var(--surface-alt); border-radius: var(--radius-md); padding: 0 var(--space-5) var(--space-4); margin: var(--space-3) 0; box-shadow: inset 4px 0 0 var(--brand-teal); }
.entry-content details.mg-fold[open] > summary { color: var(--link); }
.entry-content details.mg-fold > div > h3 { color: var(--link); margin-top: 0; }
.entry-content .mg-fold-sec { background: var(--surface-card); border: 1px solid var(--line); border-left: 4px solid var(--dusk); border-radius: var(--radius-md); padding: var(--space-4) var(--space-5); margin: var(--space-4) 0; }
.entry-content .mg-fold-sec > h4 { margin: 0 0 var(--space-2); font: 500 15px/1.3 var(--font-display); letter-spacing: .08em; text-transform: uppercase; color: var(--eyebrow); }
.entry-content .mg-fold-sec > :last-child { margin-bottom: 0; }
.entry-content .mg-fold-sec ul { list-style: none; padding-left: 0; }
.entry-content .mg-fold-sec li { position: relative; padding-left: 28px; margin: 6px 0; }
.entry-content .mg-fold-sec li::before { content: "\2022"; position: absolute; left: 8px; top: 0; color: var(--text-muted); font-weight: 700; }
.entry-content .mg-fold-sec--protects { border-left-color: var(--brand-teal); }
.entry-content .mg-fold-sec--protects > h4 { color: var(--link); }
.entry-content .mg-fold-sec--protects li::before { content: "\2713"; left: 4px; color: var(--brand-teal); }
.entry-content .mg-fold-sec--fails { border-left-color: var(--crisis); }
.entry-content .mg-fold-sec--fails > h4 { color: var(--crisis); }
.entry-content .mg-fold-sec--fails li::before { content: "\2715"; left: 4px; color: var(--crisis); }
.entry-content .mg-fold-sec--standard { border-left-color: var(--sunrise-gold); }
.entry-content .mg-fold-sec--standard li::before { content: "\279C"; left: 4px; color: var(--sunrise-gold); }
.entry-content .mg-fold-sec--orders { border-left-color: var(--sandstone); background: var(--surface-warm); }
[data-theme="dark"] .entry-content .mg-fold-sec--fails > h4,
[data-theme="dark"] .entry-content .mg-fold-sec--fails li::before { color: #f2a19b; }
/* offline copies */
.entry-content .mg-downloads { background: var(--surface-alt); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-5); margin: var(--space-6) 0; }
.entry-content .mg-downloads > :first-child { margin-top: 0; }
.entry-content .mg-downloads h2, .entry-content .mg-downloads h3, .entry-content .mg-downloads h4, .entry-content .mg-downloads h5 { font-size: 18px; margin: var(--space-3) 0 var(--space-2); }
.entry-content .mg-downloads ul { list-style: none; padding-left: 0; margin-bottom: 0; }
.entry-content .mg-downloads li { margin: 8px 0; }
.entry-content .mg-downloads li a::before { display: inline-block; min-width: 44px; margin-right: 10px; padding: 2px 6px; border-radius: var(--radius-sm); background: var(--action); color: var(--on-action); font: 500 12px/1.4 var(--font-display); letter-spacing: .08em; text-align: center; text-decoration: none; }
.entry-content .mg-downloads li a[href$=".pdf"]::before { content: "PDF"; }
.entry-content .mg-downloads li a[href$=".docx"]::before { content: "WORD"; }
.entry-content .mg-downloads li a[href$=".epub"]::before { content: "EPUB"; }
@media (max-width: 600px) {
  .entry-content .mg-step, .entry-content .mg-summary, .entry-content .mg-downloads { padding: var(--space-4); }
  .entry-content details.mg-fold[open] { padding: 0 var(--space-3) var(--space-3); }
  .entry-content .mg-fold-sec { padding: var(--space-3) var(--space-4); }
}

/* ---- Equipping the Saints hub (2026-10-23): short story, callout, three quick links; the alert sits below the cards ---- */
.mg-equip { max-width: 48rem; }
.entry-content .mg-equip__story { font-size: 18px; line-height: 1.6; color: var(--text-muted); margin: 0 0 var(--space-5); }
.entry-content .mg-equip__callout { background: var(--surface-wash); border-left: 4px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-5) var(--space-6); margin: 0 0 var(--space-5); }
.entry-content .mg-equip__callout p { margin: 0; }
.entry-content .mg-equip__big { font: 500 clamp(26px, 3.4vw, 34px)/1.15 var(--font-display); color: var(--link); margin-bottom: var(--space-3) !important; }
.entry-content .mg-equip__three { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.entry-content .mg-equip__three a { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: var(--space-4); border: 1px solid var(--line); border-top: 3px solid var(--sunrise-gold); border-radius: var(--radius-md); background: var(--surface-card); text-decoration: none; color: var(--text-muted); font-size: 15px; transition: box-shadow .15s ease, transform .15s ease; }
.entry-content .mg-equip__three a:hover { box-shadow: var(--shadow-hover); transform: translateY(-1px); }
.entry-content .mg-equip__label { font: 500 18px/1.2 var(--font-display); letter-spacing: .04em; text-transform: uppercase; color: var(--text); }
.mg-hub__after { padding-top: var(--space-7); padding-bottom: var(--space-7); }
.entry-content .mg-equip__alert { max-width: 48rem; background: var(--surface-warm); border: 1px solid var(--line); border-top: 4px solid var(--crisis); border-radius: var(--radius-md); padding: var(--space-6); }
.entry-content .mg-equip__alert h2 { margin-top: 0; }
.entry-content .mg-equip__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin: var(--space-5) 0 0; }
.entry-content .mg-equip__actions .mg-btn { text-decoration: none; }
@media (max-width: 700px) {
  .entry-content .mg-equip__three { grid-template-columns: 1fr; }
  .entry-content .mg-equip__callout, .entry-content .mg-equip__alert { padding: var(--space-4); }
}

/* ---- Logos section (2026-10-23 cleanup): hero, tiles, link cards, courses. Built by tools/build-logos-pages.py ---- */
.entry-content > [class^="mg-lx-"], .entry-content > .mg-step { max-width: none; }
.entry-content .mg-lx-hero { background: var(--surface-wash); border-left: 4px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-5) var(--space-6); margin: 0 0 var(--space-6); }
.entry-content .mg-lx-hero--warm { background: var(--surface-warm); border-left-color: var(--sunrise-gold); margin-top: var(--space-6); }
.entry-content .mg-lx-hero p { margin: 0 0 var(--space-3); }
.entry-content .mg-lx-hero > :last-child { margin-bottom: 0; }
.entry-content .mg-lx-hero__lead { font: 500 clamp(21px, 2.4vw, 26px)/1.25 var(--font-display); color: var(--link); }
.entry-content .mg-lx-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-4) !important; }
.entry-content .mg-lx-actions .mg-btn, .entry-content .mg-step .mg-btn { text-decoration: none; }
.entry-content .mg-lx-small { font-size: 14px; color: var(--text-muted); }
.entry-content .mg-lx-intro { font-size: 18px; line-height: 1.6; }
.entry-content .mg-lx-note { background: var(--surface-alt); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); font-size: 15px; color: var(--text-muted); }
.entry-content .mg-lx-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: var(--space-4); margin: var(--space-4) 0 var(--space-6); }
.entry-content .mg-lx-tile { background: var(--surface-card); border: 1px solid var(--line); border-top: 3px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-4) var(--space-5); }
.entry-content .mg-lx-tile h3 { margin: 0 0 var(--space-2); font-size: 19px; }
.entry-content .mg-lx-tile p { margin: 0; font-size: 16px; }
.entry-content .mg-lx-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: var(--space-3); margin: var(--space-3) 0 var(--space-6); }
.entry-content .mg-step .mg-lx-links { margin-bottom: 0; }
.entry-content a.mg-lx-link { position: relative; display: flex; flex-direction: column; gap: 2px; padding: var(--space-3) var(--space-6) var(--space-3) var(--space-4); background: var(--surface-card); border: 1px solid var(--line); border-radius: var(--radius-md); text-decoration: none; color: var(--text); transition: border-color .15s ease, box-shadow .15s ease; }
.entry-content a.mg-lx-link::after { content: "\2192"; position: absolute; right: var(--space-4); top: 50%; transform: translateY(-50%); color: var(--link); font-weight: 700; }
.entry-content a.mg-lx-link:hover { border-color: var(--brand-teal); box-shadow: var(--shadow-hover); }
.entry-content a.mg-lx-link strong { color: var(--link); font-size: 16px; }
.entry-content a.mg-lx-link span { font-size: 14px; color: var(--text-muted); line-height: 1.4; }
.entry-content .mg-lx-contact { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); background: var(--surface-warm); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }
.entry-content .mg-lx-contact p { margin: 0; }
.entry-content .mg-lx-courses { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--space-4); margin: var(--space-4) 0 var(--space-6); }
.entry-content .mg-lx-course { background: var(--surface-card); border: 1px solid var(--line); border-radius: var(--radius-md); padding: var(--space-4) var(--space-5); }
.entry-content .mg-lx-course h3 { margin: var(--space-2) 0; font-size: 20px; }
.entry-content .mg-lx-course h3 a { text-decoration: none; }
.entry-content .mg-lx-course p { margin: 0; font-size: 15px; }
.entry-content .mg-lx-price { display: inline-block; background: var(--sunrise-tint); color: var(--sandstone-dark); border-radius: 999px; padding: 2px 10px; font: 500 13px/1.5 var(--font-display) !important; letter-spacing: .06em; text-transform: uppercase; }
[data-theme="dark"] .entry-content .mg-lx-price { background: var(--canyon-raised); color: var(--sunrise-gold); }
.entry-content .mg-lx-videos { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: var(--space-4); margin: var(--space-4) 0 var(--space-6); }
.entry-content .mg-lx-videos .mg-video { margin: 0; }
.entry-content .mg-lx-howto { counter-reset: how; list-style: none; padding: 0; margin: var(--space-3) 0 var(--space-6); display: grid; gap: var(--space-2); }
.entry-content .mg-lx-howto li { counter-increment: how; position: relative; padding: var(--space-3) var(--space-4) var(--space-3) 56px; background: var(--surface-alt); border-radius: var(--radius-md); }
.entry-content .mg-lx-howto li::before { content: counter(how); position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--action); color: var(--on-action); display: flex; align-items: center; justify-content: center; font: 500 15px/1 var(--font-display); }
.entry-content .mg-lx-formcard { margin: var(--space-4) 0 var(--space-5); }
@media (max-width: 600px) {
  .entry-content .mg-lx-hero { padding: var(--space-4); }
}

/* ---- Home: "Explore the site" buttons, phones and upright iPads only (2026-10-23). Many visitors never find the menu button. ---- */
.mg-explore { display: none; }
@media (max-width: 1023px) {
  .mg-explore { display: block; padding: var(--space-2) 0 var(--space-7); }
  .mg-explore .mg-h3 { margin: 6px 0 0; }
  .mg-explore__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: var(--space-4) 0; }
  .mg-explore__grid a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: var(--space-2) 10px; background: var(--surface-card); border: 1px solid var(--line); border-top: 3px solid var(--brand-teal); border-radius: var(--radius-md); color: var(--link); text-decoration: none; text-align: center; font: 500 16px/1.15 var(--font-display); letter-spacing: .06em; text-transform: uppercase; }
  .mg-explore__grid a:active { background: var(--surface-wash); }
  .mg-explore__hint { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--text-muted); font-size: 15px; }
  .mg-explore__hint svg { flex: none; width: 34px; height: 34px; padding: 6px; border: 1px solid var(--control-border); border-radius: 6px; color: var(--text); }
}

/* ---- Armor of God closing sections from the Google Doc (2026-10-23) ---- */
.entry-content .mg-aog-close { margin-top: var(--space-7); }
.entry-content .mg-aog-close__summary { background: var(--surface-wash); border-left: 4px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-4) var(--space-5); font-size: 18px; }
.entry-content .mg-aog-close__summary p { margin: 0; }
.entry-content .mg-aog-close__commission { background: var(--surface-card); border: 1px solid var(--line); border-top: 4px solid var(--sunrise-gold); border-radius: var(--radius-md); padding: var(--space-5); margin: var(--space-6) 0; box-shadow: var(--shadow-hover); }
.entry-content .mg-aog-close__commission h2, .entry-content .mg-aog-close__glance h2 { margin-top: 0; }
.entry-content .mg-aog-close__commission > :last-child { margin-bottom: 0; }
.entry-content .mg-aog-close__glance ul { list-style: none; padding: 0; display: grid; gap: var(--space-2); }
.entry-content .mg-aog-close__glance li { background: var(--surface-alt); border-left: 4px solid var(--brand-teal); border-radius: var(--radius-sm); padding: var(--space-3) var(--space-4); margin: 0; }
.entry-content .mg-aog-close__glance li strong { display: block; font: 500 16px/1.3 var(--font-display); letter-spacing: .06em; text-transform: uppercase; color: var(--link); }
.entry-content .mg-aog-close__end { font: 500 22px/1.3 var(--font-display); color: var(--text); margin-top: var(--space-5); }

/* ---- Podcasts page (2026-10-23) ---- */
.mg-shows { display: grid; gap: var(--space-5); max-width: 44rem; padding-bottom: var(--space-7); }
.mg-show { background: var(--surface-card); border: 1px solid var(--line); border-top: 4px solid var(--brand-teal); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-hover); }
.mg-show--soon { border-top-color: var(--sunrise-gold); background: var(--surface-alt); box-shadow: none; }
.mg-show__status { display: inline-block; margin: 0 0 var(--space-2); padding: 3px 10px; border-radius: 999px; background: var(--surface-wash); color: var(--link); font: 500 13px/1.4 var(--font-display); letter-spacing: .08em; text-transform: uppercase; }
.mg-show--soon .mg-show__status { background: var(--surface-warm); color: var(--eyebrow-on-tint); }
.mg-show__name { margin: 0 0 var(--space-3); }
.mg-show .mg-btn { margin-top: var(--space-2); }
.mg-show .mg-btn svg { width: 18px; height: 18px; }

/* Sharpen the Sword workshop page (0.1.46) */
.mg-sharpen-facts { list-style: none; margin: 0 0 var(--space-5); padding: 0; display: grid; gap: var(--space-2); font-size: 19px; line-height: 1.45; }
.mg-sharpen-facts li { padding-left: 14px; border-left: 4px solid var(--link); }

/* ---- 404 and search (2026-10-23) ---- */
.mg-404 .mg-404__lead { margin: 16px auto 24px; max-width: 38rem; }
.mg-404 .mg-404__help { max-width: 40rem; margin: 0 auto var(--space-6); text-align: left; }
.mg-404__search { display: flex; gap: var(--space-2); max-width: 32rem; margin: 0 auto var(--space-6); }
.mg-404__search .mg-input { flex: 1; }
.mg-404__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: var(--space-3); max-width: 60rem; margin: 0 auto; text-align: left; }
.mg-404__card { display: flex; flex-direction: column; gap: 4px; padding: var(--space-4); background: var(--surface-card); border: 1px solid var(--line); border-top: 3px solid var(--brand-teal); border-radius: var(--radius-md); text-decoration: none; color: var(--text-muted); font-size: 15px; transition: box-shadow .15s ease, transform .15s ease; }
.mg-404__card strong { font: 500 18px/1.25 var(--font-display); color: var(--text); letter-spacing: .02em; }
.mg-404__card:hover { box-shadow: var(--shadow-hover); transform: translateY(-1px); }
.mg-404__card--help { border-top-color: var(--crisis); }
.mg-404__home { margin-top: var(--space-6); }
.mg-search-row { padding: var(--space-4) 0; border-bottom: 1px solid var(--line); }
.mg-search-row p { margin: 0; }
.mg-search-row h2 { margin: 4px 0 6px; }
.mg-form-privacy { margin: var(--space-3) 0 0; font-size: 13px; color: var(--text-muted); }
/* Get Help numbers: four cards now (Copline added 2026-10-23), so let them wrap evenly */
.mg-callnum { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
