/* Mr. Good Container Homes partner page */
.mg-hero { margin: 8px 0 0; }
.mg-hero img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line, rgba(22,20,15,.16)); }
.mg-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 16px; }
.mg-specs { grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); }
.mg-list { margin: .5rem 0 0; padding-left: 1.1rem; display: grid; gap: .35rem; }
.mg-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.mg-person { display: grid; align-content: start; gap: 8px; }
.mg-person picture, .mg-person img { display: block; width: 100%; height: auto; border-radius: 10px; aspect-ratio: 4 / 5; object-fit: cover; background: var(--line, rgba(22,20,15,.08)); }
.mg-person h3 { margin: 0; font-family: "Instrument Serif", "Times New Roman", serif; font-weight: 400; font-size: 1.7rem; line-height: 1.1; }
.mg-person p { margin: 0; }
.mg-role { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--signal, #E4572E); margin-top: 6px !important; }
.mg-quote { margin: 6px 0 0; padding: 0 0 0 14px; border-left: 2px solid var(--signal, #E4572E); font-style: italic; color: var(--ink-2, #4A463D); }
.mg-quote p { margin: 0; }
.mg-cta { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 16px; margin-bottom: 20px; }
.mg-cta-card { display: grid; gap: 6px; padding: 18px 20px; border-radius: 10px; background: #16140F; color: #EDE8DF; text-decoration: none; transition: transform .2s ease; }
.mg-cta-card:hover, .mg-cta-card:focus-visible { transform: translateY(-2px); }
.mg-cta-card:focus-visible { outline: 2px solid #E4572E; outline-offset: 3px; }
.mg-cta-card .mono { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #CFC8BB; }
.mg-cta-card b { font-family: "Instrument Serif", "Times New Roman", serif; font-weight: 400; font-size: 1.6rem; line-height: 1.1; color: #EDE8DF; }
.mg-cta-card span:not(.mono) { color: #CFC8BB; }
.mg-cta-card .mg-go { color: #E4572E; margin-top: 4px; }
:root[data-theme="dark"] .mg-cta-card { background: #2A241C; border: 1px solid #E4572E; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .mg-cta-card { background: #2A241C; border: 1px solid #E4572E; } }
@media (prefers-reduced-motion: reduce) { .mg-cta-card { transition: none; } }
@media (max-width: 900px) { .mg-people { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .mg-people { grid-template-columns: 1fr; } .mg-person { max-width: 26rem; } }
/* /partners index */
.pt-person { margin: 0; }
.pt-person figcaption { display: grid; gap: 2px; margin-top: 4px; }
.pt-person figcaption b { font-family: "Instrument Serif", "Times New Roman", serif; font-weight: 400; font-size: 1.5rem; line-height: 1.1; }
.pt-page .mg-people { margin: 18px 0 8px; }
/* build gallery and team photo */
.mg-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.mg-shot, .mg-team { margin: 0; display: grid; gap: 6px; align-content: start; }
.mg-shot a, .mg-team a { display: block; border-radius: 10px; overflow: hidden; }
.mg-shot a:focus-visible, .mg-team a:focus-visible { outline: 2px solid var(--signal, #E4572E); outline-offset: 3px; }
.mg-shot img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; background: var(--line, rgba(22,20,15,.08)); }
.mg-team { max-width: 34rem; margin-bottom: 24px; }
.mg-team img { display: block; width: 100%; height: auto; }
.mg-shot figcaption, .mg-team figcaption { font-size: .88rem; color: var(--ink-2, #4A463D); }
@media (max-width: 900px) { .mg-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mg-wide img { aspect-ratio: 4 / 3; }
.mg-finished { margin-top: 20px; }

/* Park owner intake call-out, below the Trailhead card */
.mg-park { border: 2px solid #E4572E; border-radius: 12px; padding: 20px 22px; margin: 0 0 20px; display: grid; gap: 8px; }
.mg-park-k { font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--signal-text, #B23A17); margin: 0; }
.mg-park h3 { font-family: "Instrument Serif", "Times New Roman", serif; font-weight: 400; font-size: 1.7rem; line-height: 1.1; margin: 0; text-wrap: balance; }
.mg-park p { margin: 0; max-width: 46rem; }
.mg-park-go { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
