/* September customer sketches: content hierarchy within the established theme. */
/* Catalogue summaries share the same type, reference and sector hierarchy. */
.opportunity-card-top { align-items: flex-start; }
.opportunity-card-top .eyebrow { color: var(--navy); overflow-wrap: anywhere; }
.opportunity-sectors { margin: 0 0 18px; color: var(--muted); font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.opportunity-sectors > span { display: block; margin-bottom: 4px; color: var(--navy); font-size: 12px; font-weight: 600; letter-spacing: .055em; text-transform: uppercase; }
.opportunity-card h3, .opportunity-excerpt { overflow-wrap: anywhere; }
.opportunity-card-bottom .text-link { white-space: normal; }
.page-intelligence .page-content:only-child { max-width: none; width: 100%; }
.mn-network-overview > .mn-editorial-lead { max-width: 850px; }
.mn-network-overview > .mn-editorial-lead > .text-link { margin-top: 24px; }
.mn-network-overview .mn-personal-reach { margin-top: 50px; padding: 48px 40px; border-block: 1px solid var(--line); }
.mn-network-overview .mn-personal-reach > .container { width: 100%; max-width: none; }
.mn-network-overview .mn-reach-heading h2 { margin: 16px 0; }
.mn-network-overview .mn-reach-metrics dd { margin-left: 0; }
.mn-network-audiences { margin-top: 52px; }
.mn-network-pathways { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.mn-network-pathways article { min-width: 0; border-top: 1px solid var(--line); padding-top: 26px; }
.mn-network-pathways article h3 { margin: 18px 0; }
.mn-network-pathways article > p:not(.eyebrow) { color: var(--muted); }
.mn-network-pathways .text-link { margin-top: 24px; }
.mn-network-perspectives { margin-top: 60px; border-top: 1px solid var(--line); padding-top: 48px; }
.mn-network-graphic { margin: 48px 0 0; padding: 0; }
.mn-network-graphic-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 22px; }
.entry-content .mn-network-graphic-heading h2 { margin: 0; }
.mn-network-graphic-heading p { margin: 0; font-size: 14px; color: var(--muted); }
.mn-network-graphic-image { display: block; width: fit-content; max-width: 100%; }
.mn-network-graphic-image img { display: block; width: auto; max-width: 100%; height: auto; }
.mn-network-graphic figcaption { padding-top: 18px; font-size: 15px; color: var(--muted); }
.mn-network-graphic figcaption p { margin: 0 0 14px; overflow-wrap: anywhere; }
.mn-network-graphic a:focus-visible { outline: 2px solid var(--navy); outline-offset: 5px; }
/* Keep the two reach totals, three audience shares and network totals in balanced groups. */
.mn-personal-reach .mn-reach-metrics { grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)); gap: 32px 30px; }
.mn-personal-reach .mn-reach-metrics:has(> div:nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.mn-personal-reach .mn-reach-metrics:has(> div:nth-child(5):last-child) > div { grid-column: span 2; }
.mn-personal-reach .mn-reach-metrics:has(> div:nth-child(5):last-child) > div:nth-child(-n+2) { grid-column: span 3; }
.mn-personal-reach .mn-reach-metrics dd { font-size: 42px; white-space: normal; overflow-wrap: anywhere; }
.mn-personal-reach .mn-network-period { margin-top: 38px; }
.mn-personal-reach .mn-network-metrics { margin-top: 24px; }
@media (max-width: 900px) {
    .mn-personal-reach .mn-reach-metrics { gap: 28px 24px; }
    .mn-personal-reach .mn-reach-metrics dd { font-size: 36px; }
}
.mn-audience-next-step { margin-top: 34px; border-top: 1px solid var(--line); padding-top: 24px; }
.page-aside .mn-audience-next-step h3 { font-family: var(--serif); font-size: 25px; line-height: 1.3; margin: 0 0 14px; }
.mn-audience-next-step p { font-size: 15px; line-height: 1.65; color: var(--muted); margin: 0 0 20px; }
@media (max-width: 680px) {
    .mn-network-overview .mn-personal-reach { margin-top: 36px; padding: 32px 22px; }
    .mn-personal-reach .mn-reach-metrics,
    .mn-personal-reach .mn-reach-metrics:has(> div:nth-child(5):last-child) { grid-template-columns: 1fr; gap: 24px; }
    .mn-personal-reach .mn-reach-metrics:has(> div:nth-child(5):last-child) > div,
    .mn-personal-reach .mn-reach-metrics:has(> div:nth-child(5):last-child) > div:nth-child(-n+2) { grid-column: auto; }
    .mn-personal-reach .mn-reach-metrics > div { gap: 10px; padding-top: 20px; }
    .mn-personal-reach .mn-reach-metrics dd { font-size: 32px; }
    .mn-personal-reach .mn-reach-metrics dt { font-size: 14px; max-width: none; }
    .mn-network-pathways { grid-template-columns: 1fr; gap: 30px; }
    .mn-network-audiences { margin-top: 36px; }
    .mn-network-perspectives { margin-top: 40px; padding-top: 32px; }
    .mn-network-graphic { margin-top: 36px; }
}

/* Separate the opportunity filters from the introductory hero. */
.post-type-archive-mn_opportunity .catalogue-section { padding-top: 32px; }
.post-type-archive-mn_opportunity .catalogue-filters { margin-top: 0; }
.post-type-archive-mn_opportunity .catalogue-filters + .opportunities-grid { margin-top: 40px; }

/* Match the established section hierarchy: kicker, serif H2, then content. */
.mn-industry-focus { background: var(--navy-deep); color: #fff; }
.mn-industry-focus .eyebrow { color: var(--brass); }
.mn-industry-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 28px; list-style: none; padding: 0; margin: 0 0 24px; }
.mn-industry-list > li { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-width: 0; }
.mn-industry-list svg { display: block; width: 68px; height: 57px; flex-shrink: 0; color: var(--brass); }
.mn-industry-label { font-family: var(--sans); font-size: 16px; font-weight: 500; line-height: 1.5; }
.mn-industry-related { margin: 0; color: #afc0ce; font-size: 14px; line-height: 1.6; text-align: left; }
@media (max-width: 680px) {
    .mn-industry-list { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 16px; row-gap: 26px; margin: 0 0 23px; }
    .mn-industry-list svg { width: 58px; height: 49px; }
    .mn-industry-label { font-size: 13px; }
    .mn-industry-related { font-size: 14px; max-width: 32ch; }
}
