/* Phase 1: blog-only styles. Shared site and navigation assets remain unchanged. */
.em-blog-page { margin: 0; padding: 0; background: #fff; }
.em-blog { --blog-navy: #243642; --blog-green: #49765a; --blog-pale: #f4f7f6; --blog-cream: #faf9f6; --blog-text: #42545d; --blog-border: #d5dcd8; color: var(--blog-text); font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.65; padding-top: 72px; }
.em-blog, .em-blog *, .em-blog *::before, .em-blog *::after { box-sizing: border-box; }
.em-blog [hidden] { display: none !important; }
.em-blog h1, .em-blog h2, .em-blog h3 { font-family: Didot, "Bodoni 72", "Bodoni MT", Georgia, serif; color: var(--blog-navy); font-weight: 500; line-height: 1.2; letter-spacing: -.018em; text-transform: none; margin: 0; padding: 0; background: none; border: 0; }
.em-blog h1 { font-size: clamp(2.25rem, 4vw, 3.15rem); text-wrap: balance; }
.em-blog h2 { font-size: clamp(1.7rem, 2.6vw, 2.3rem); text-wrap: balance; }
.em-blog h3 { font-size: 1.4rem; }
.em-blog p { margin: 0; }
.em-blog a { color: var(--blog-green); text-underline-offset: .22em; text-decoration-thickness: 1px; }
.em-blog a:hover { color: var(--blog-navy); }
.em-blog a:focus-visible, .em-blog button:focus-visible, .em-blog input:focus-visible, .em-blog select:focus-visible, .em-blog summary:focus-visible { outline: 3px solid #49765a; outline-offset: 5px; }
.em-blog input, .em-blog select, .em-blog button { font: inherit; }
.em-blog button, .em-blog summary { cursor: pointer; }
.em-blog input, .em-blog select { font-size: 1rem; }
.em-blog-container { width: min(100% - 64px, 1200px); margin: 0 auto; }
.em-blog-section { padding: 64px 0; border-bottom: 1px solid #e4e8e5; scroll-margin-top: 92px; }
.em-blog-section-head { max-width: 740px; margin-bottom: 30px; }
.em-blog-eyebrow { display: block; color: var(--blog-green); font-family: system-ui, sans-serif; font-size: .72rem; line-height: 1.5; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.em-blog-section-head h2 { margin-top: 8px; }
.em-blog-section-head > p { margin-top: 13px; max-width: 630px; }
.em-blog-breadcrumb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: .78rem; line-height: 1.6; margin-bottom: 28px; }
.em-blog-breadcrumb a { text-decoration: none; }
.em-blog-staging { background: #f4f7f6; color: #4c6255; font-size: .7rem; letter-spacing: .04em; padding: 9px 0; border-bottom: 1px solid #e1e6e2; }
.em-blog-staging span { margin: 0 6px; }
.em-blog-hub-hero { padding: 28px 0 45px; background: var(--blog-navy); color: #e5eae6; border-bottom: 3px solid #86bf96; }
.em-blog-hub-hero h1 { color: #fff; margin: 11px 0 16px; }
.em-blog-hub-hero .em-blog-eyebrow { color: #aecfb7; }
.em-blog-hub-hero .em-blog-breadcrumb { color: #d4ded9; }
.em-blog-hub-hero a { color: #d4e8db; }
.em-blog-hub-hero > div > p { max-width: 650px; font-size: 1.05rem; }
.em-blog-hub-hero .em-blog-text-link { margin-top: 23px; display: inline-flex; align-items: center; min-height: 44px; gap: 22px; font-size: .85rem; font-weight: 650; text-decoration: none; border-bottom: 1px solid #71937d; }
.em-blog-hub-hero a:focus-visible { outline-color: #aecfb7; }
.em-blog-featured { background: var(--blog-cream); }
.em-blog-featured-grid, .em-blog-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
.em-blog-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: #fff; padding: 25px; border: 1px solid var(--blog-border); border-radius: 14px; box-shadow: 0 7px 20px rgba(36,54,66,.035); transition: border-color .18s ease, box-shadow .18s ease; }
.em-blog-card:hover, .em-blog-card:focus-within { border-color: #7c9b87; box-shadow: 0 9px 24px rgba(36,54,66,.075); }
.em-blog-card-top { display: flex; flex-wrap: wrap; align-items: start; gap: 8px; margin-bottom: 17px; min-height: 32px; }
.em-blog-card-top .em-blog-eyebrow { flex: 1; font-size: .66rem; letter-spacing: .06em; }
.em-blog-number { font-family: Georgia, serif; font-size: 1rem; line-height: 1.1; color: #64786b; }
.em-blog-featured-card { border-top: 3px solid #86bf96; }
.em-blog-card h3 { font-size: 1.37rem; line-height: 1.27; margin: 0 0 13px; }
.em-blog-card h3 a { color: var(--blog-navy); text-decoration: none; }
.em-blog-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.em-blog-card h3 a:focus-visible { outline: none; }
.em-blog-card:has(h3 a:focus-visible) { outline: 3px solid var(--blog-green); outline-offset: 4px; }
.em-blog-card > p { font-size: .86rem; line-height: 1.65; margin: 0 0 24px; }
.em-blog-card-foot { display: flex; gap: 12px; justify-content: space-between; align-items: center; padding-top: 14px; margin-top: auto; border-top: 1px solid #e5e9e6; font-size: .77rem; color: #4c6255; font-weight: 600; }
.em-blog-archive-label { display: inline-block; font-family: system-ui, sans-serif; font-size: .65rem; color: #59645d; background: #f1f3f0; border: 1px solid #d4dad3; padding: 2px 7px; border-radius: 4px; letter-spacing: .05em; line-height: 1.5; }
.em-blog-browse { padding: 58px 0 20px; scroll-margin-top: 85px; }
.em-blog-browse .em-blog-section-head { margin-bottom: 24px; }
.em-blog-filters { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: 18px; align-items: end; padding: 24px; background: var(--blog-pale); border: 1px solid var(--blog-border); border-radius: 12px; }
.em-blog-field { min-width: 0; }
.em-blog-field label { display: block; margin-bottom: 8px; font-size: .79rem; color: var(--blog-navy); font-weight: 650; }
.em-blog-field input, .em-blog-field select { display: block; width: 100%; min-height: 48px; padding: 10px 12px; color: var(--blog-navy); background: white; border: 1px solid #809286; border-radius: 6px; }
.em-blog-field input::placeholder { color: #66736c; opacity: 1; }
.em-blog-status { font-size: .79rem; padding: 16px 1px 0; color: #596a62; }
.em-blog-button { display: inline-flex; min-height: 48px; padding: 11px 18px; border-radius: 7px; border: 1px solid transparent; justify-content: center; align-items: center; gap: 14px; font-size: .83rem; font-weight: 650; text-decoration: none; line-height: 1.5; }
.em-blog .em-blog-button-outline { color: var(--blog-navy); background: #fff; border-color: #829589; }
.em-blog .em-blog-button-outline:hover { background: #edf2ed; }
.em-blog-current { padding-top: 20px; }
.em-blog-list-heading { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 22px; }
.em-blog-list-heading h2 { font-size: 1.75rem; }
.em-blog-list-heading > span { font-size: .8rem; }
.em-blog-more { display: flex; justify-content: center; margin-top: 28px; }
.em-blog-more:has(button[hidden]) { margin-top: 0; }
.em-blog-empty { padding: 28px; margin: 24px 0 0; background: #faf9f6; border: 1px solid var(--blog-border); border-radius: 12px; }
.em-blog-empty p { margin: 12px 0 20px; }
.em-blog-contributors { background: var(--blog-pale); }
.em-blog-contributor-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 26px; }
.em-blog-contributor { min-width: 0; }
.em-blog-contributor img { width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; object-position: center 22%; border-radius: 12px; display: block; background: #e1e8e3; margin-bottom: 20px; }
.em-blog-contributor h3 { font-size: 1.3rem; margin-bottom: 8px; }
.em-blog-contributor p { min-height: 42px; font-size: .78rem; line-height: 1.55; }
.em-blog-contributor a { display: inline-flex; gap: 10px; min-height: 44px; align-items: center; font-size: .79rem; font-weight: 600; margin-top: 5px; }
.em-blog-media-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 36px; }
.em-blog-media-card { padding: 24px 0; border-top: 1px solid var(--blog-border); }
.em-blog-media-card h3 { font-size: 1.28rem; margin: 10px 0; }
.em-blog-media-card h3 a { color: var(--blog-navy); text-decoration: none; }
.em-blog-media-card > p { font-size: .83rem; }
.em-blog-external-note { display: block; color: #5d6d63; font-size: .74rem; margin-top: 13px; }
.em-blog-archive { background: var(--blog-cream); }
.em-blog-archive .em-blog-section-head { margin-bottom: 16px; }
.em-blog-archive-intro { max-width: 760px; font-size: .85rem; margin-bottom: 26px !important; }
.em-blog-archive-item { display: grid; grid-template-columns: 1fr 290px; gap: 35px; align-items: center; padding: 23px 0; border-top: 1px solid var(--blog-border); }
.em-blog-archive-item h3 { font-size: 1.35rem; margin: 8px 0; }
.em-blog-archive-item h3 a { text-decoration: none; color: var(--blog-navy); }
.em-blog-archive-item p { font-size: .83rem; }
.em-blog-archive-item .em-blog-archive-meta { color: #596a62; font-size: .74rem; margin: 8px 0; }
.em-blog-archive-item summary { font-size: .78rem; color: #49765a; padding: 10px 0; }
.em-blog-archive-item details p { font-size: .77rem; line-height: 1.65; }
.em-blog-cta { background: var(--blog-navy); padding: 48px 0; }
.em-blog-cta-inner { display: flex; justify-content: space-between; align-items: center; gap: 38px; }
.em-blog-cta h2 { color: #fff; font-size: clamp(1.65rem,2.4vw,2.15rem); margin: 9px 0 13px; }
.em-blog-cta p { color: #dee7e0; font-size: .88rem; max-width: 570px; }
.em-blog-cta .em-blog-eyebrow { color: #aecfb7; }
.em-blog .em-blog-button-light { color: #243642; background: #faf9f6; flex-shrink: 0; }
.em-blog-cta a:focus-visible { outline-color: #aecfb7; }
.em-blog-footer { font-family: system-ui,sans-serif; font-size: .75rem; background: #faf9f6; color: #4c6255; padding: 24px 0; }
.em-blog-footer > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.em-blog-footer a { color: #49765a; text-underline-offset: .2em; }
.em-blog-skip { position: fixed; z-index: 10001; top: -100px; left: 16px; padding: 12px 20px; color: #fff; background: #243642; border: 3px solid #86bf96; border-radius: 4px; font-family: system-ui,sans-serif; }
.em-blog-skip:focus { top: 12px; }
.em-blog-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.em-blog-article-hero { padding: 27px 0 42px; background: var(--blog-cream); border-bottom: 1px solid var(--blog-border); }
.em-blog-article-heading { max-width: 1200px; }
.em-blog-article-heading h1 { max-width: 900px; font-size: clamp(2rem,3.6vw,2.9rem); margin: 14px 0 25px; }
.em-blog-byline { display: flex; gap: 14px; align-items: center; }
.em-blog-byline img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: center 20%; }
.em-blog-byline a { text-decoration: none; color: var(--blog-navy); font-size: .88rem; font-weight: 650; }
.em-blog-byline span { display: block; font-size: .77rem; }
.em-blog-dates { margin-top: 20px !important; font-size: .76rem; color: #596a62; }
.em-blog-dates > span { margin: 0 9px; }
.em-blog-reading-layout { display: grid; grid-template-columns: 240px minmax(0,760px); gap: 64px; align-items: start; padding-top: 45px; padding-bottom: 55px; }
.em-blog-on-this-page { position: sticky; top: 104px; font-size: .8rem; padding-right: 22px; }
.em-blog-on-this-page details { border-top: 2px solid #86bf96; padding-top: 12px; }
.em-blog-on-this-page summary { color: var(--blog-navy); font-weight: 650; padding: 9px 0; }
.em-blog-on-this-page ol { list-style: none; padding: 0; margin: 13px 0 23px; }
.em-blog-on-this-page li { margin: 0 0 13px; line-height: 1.45; }
.em-blog-on-this-page a { text-decoration: none; }
.em-blog-on-this-page a:hover { text-decoration: underline; }
.em-blog-back-link { display: inline-flex; padding: 10px 0; font-size: .86rem; min-height: 44px; text-decoration: none; }
.em-blog-reading-main { min-width: 0; }
.em-blog-article-body { font-size: 1.02rem; line-height: 1.85; }
.em-blog-article-body p { margin: 0 0 22px; }
.em-blog-article-body .em-blog-lead { padding-bottom: 24px; margin-bottom: 32px; border-bottom: 1px solid var(--blog-border); color: var(--blog-navy); font-size: 1.15rem; line-height: 1.75; }
.em-blog-lead p { margin: 0; font-style: normal; }
.em-blog-article-body h2 { margin: 40px 0 17px; font-size: 1.8rem; scroll-margin-top: 106px; }
.em-blog-article-body ul, .em-blog-article-body ol { padding-left: 24px; margin: 0 0 25px; }
.em-blog-article-body li { margin: 0 0 10px; padding-left: 4px; }
.em-blog-article-body .feature-checklist { display: block; list-style: disc; }
.em-blog-article-body .feature-checklist li { display: list-item; }
.em-blog-article-body .feature-checklist li::before { content: none; }
.em-blog-article-body .accent { color: inherit; font-size: inherit; font-style: normal; }
.em-blog-assessment-note { padding: 28px; border: 1px solid #c7d8cb; border-left: 3px solid #86bf96; border-radius: 10px; background: #f4f7f6; margin: 36px 0; scroll-margin-top: 104px; }
.em-blog-assessment-note h2 { margin-top: 0; font-size: 1.55rem; }
.em-blog-assessment-note p { font-size: .9rem; line-height: 1.75; }
.em-blog-assessment-links { display: flex; flex-wrap: wrap; gap: 22px; font-size: .82rem; font-weight: 650; }
.em-blog-article-body section[aria-labelledby="article-references"] { margin-top: 42px; font-size: .84rem; line-height: 1.75; }
.em-blog-article-body section[aria-labelledby="article-references"] h2 { font-size: 1.55rem; }
.em-blog-information-note { border-top: 1px solid var(--blog-border); border-bottom: 1px solid var(--blog-border); padding: 22px 0 0; font-size: .8rem; color: #596a62; margin-top: 28px; }
.em-blog-information-note strong { display: block; margin-bottom: 8px; }
.em-blog-author-panel { display: grid; grid-template-columns: 110px 1fr; gap: 24px; margin-top: 40px; padding: 26px; border: 1px solid var(--blog-border); border-radius: 12px; }
.em-blog-author-panel > img { width: 110px; height: 110px; object-fit: cover; object-position: center 20%; border-radius: 9px; }
.em-blog-author-panel h2 { font-size: 1.6rem; margin: 7px 0; }
.em-blog-author-panel p { font-size: .85rem; margin-top: 12px; }
.em-blog-author-panel .em-blog-role { margin-top: 0; font-size: .78rem; color: #49765a; font-weight: 600; }
.em-blog-author-panel a { display: inline-block; margin-top: 14px; font-size: .82rem; }
.em-blog-related { background: var(--blog-cream); }
.em-blog-contributor-hero { background: var(--blog-cream); padding: 28px 0 50px; border-bottom: 1px solid var(--blog-border); }
.em-blog-profile { display: grid; grid-template-columns: 1fr 270px; gap: 70px; align-items: center; }
.em-blog-profile h1 { margin: 12px 0 9px; }
.em-blog-profile-role { font-size: 1.05rem; color: var(--blog-green); }
.em-blog-profile-bio { margin: 22px 0 15px !important; max-width: 740px; font-size: .98rem; line-height: 1.85; }
.em-blog-profile .em-blog-text-link { display: inline-flex; align-items: center; min-height: 44px; font-size: .86rem; gap: 20px; }
.em-blog-profile > img { width: 270px; height: 310px; object-fit: cover; object-position: center 15%; border-radius: 14px; background: #e1e8e3; }
.em-blog-future-note { padding: 23px 0; border-top: 1px solid var(--blog-border); border-bottom: 1px solid var(--blog-border); margin: 38px 0 17px; }
.em-blog-future-note h2 { font-size: 1.35rem; margin-bottom: 8px; }
.em-blog-future-note p { font-size: .86rem; }
.em-blog-note { padding: 18px; border: 1px solid var(--blog-border); border-radius: 8px; font-size: .84rem; }
@media (max-width: 1000px) {
  .em-blog-featured-grid, .em-blog-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .em-blog-contributor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
  .em-blog-contributor { display: grid; grid-template-columns: 105px 1fr; gap: 20px; align-items: center; }
  .em-blog-contributor img { margin: 0; }
  .em-blog-contributor p { min-height: 0; }
  .em-blog-filters { grid-template-columns: 1fr 1fr; }
  .em-blog-filters > button { grid-column: 1/-1; justify-self: start; }
  .em-blog-reading-layout { grid-template-columns: 180px minmax(0,1fr); gap: 35px; }
  .em-blog-profile { grid-template-columns: 1fr 220px; gap: 38px; }
  .em-blog-profile > img { width: 220px; height: 275px; }
  .em-blog-cta-inner { align-items: start; flex-direction: column; gap: 25px; }
}
/* The supplied navigation becomes a 58px flow header on phones. */
@media (max-width: 760px) { .em-blog { padding-top: 0; } }
@media (max-width: 700px) {
  .em-blog-container { width: calc(100% - 36px); }
  .em-blog-section { padding: 42px 0; }
  .em-blog-hub-hero { padding-bottom: 33px; }
  .em-blog-hub-hero > div > p { font-size: .98rem; }
  .em-blog-breadcrumb { margin-bottom: 24px; font-size: .75rem; }
  .em-blog-featured-grid, .em-blog-card-grid { grid-template-columns: 1fr; gap: 15px; }
  .em-blog-card { padding: 22px; }
  .em-blog-card-top { min-height: 0; margin-bottom: 13px; }
  .em-blog-card > p { margin-bottom: 18px; }
  .em-blog-browse { padding-top: 42px; }
  .em-blog-filters { grid-template-columns: 1fr; padding: 18px; gap: 16px; }
  .em-blog-filters > button { grid-column: auto; }
  .em-blog-current { padding-top: 18px; }
  .em-blog-contributor-grid { grid-template-columns: 1fr; gap: 26px; }
  .em-blog-contributor { grid-template-columns: 86px 1fr; gap: 17px; }
  .em-blog-contributor img { border-radius: 9px; }
  .em-blog-media-grid { grid-template-columns: 1fr; }
  .em-blog-archive-item { grid-template-columns: 1fr; gap: 6px; }
  .em-blog-archive-item summary { min-height: 44px; }
  .em-blog-article-heading h1 { font-size: 2.15rem; }
  .em-blog-reading-layout { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; }
  .em-blog-on-this-page { position: static; padding: 0; }
  .em-blog-on-this-page .em-blog-back-link { display: none; }
  .em-blog-on-this-page ol { columns: 2; column-gap: 20px; }
  .em-blog-on-this-page li { break-inside: avoid; }
  .em-blog-article-body { font-size: 1.07rem; }
  .em-blog-article-body .em-blog-lead { font-size: 1.16rem; padding-bottom: 23px; }
  .em-blog-article-body h2 { font-size: 1.8rem; }
  .em-blog-author-panel { grid-template-columns: 72px 1fr; gap: 17px; padding: 20px; }
  .em-blog-author-panel > img { width: 72px; height: 84px; }
  .em-blog-author-panel h2 { font-size: 1.45rem; }
  .em-blog-assessment-note { padding: 20px; }
  .em-blog-profile { grid-template-columns: 1fr; gap: 28px; }
  .em-blog-profile > img { width: 150px; height: 168px; grid-row: 1; }
  .em-blog-profile-bio { font-size: 1.03rem; }
}
@media (prefers-reduced-motion: reduce) {
  .em-blog *, .em-blog *::before, .em-blog *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  html:has(.em-blog) { scroll-behavior: auto; }
}

/* Full-length submission lists: use semantic markers within the approved article layout. */
.em-blog-article-body ul.em-blog-source-list { list-style: disc; }
.em-blog-article-body ol.em-blog-source-list { list-style: decimal; }
.em-blog-article-body a { overflow-wrap: anywhere; }
/* Scoped final refinements; shared navigation and site CSS remain unchanged. */
.em-blog-feature-image { display: block; margin: 0 0 32px; }
.em-blog-feature-image img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 630; border-radius: 12px; background: #f7f6f2; }
.em-blog img.em-blog-georgia-portrait { object-position: center 34%; }
.em-blog-article-body h3 { margin: 28px 0 15px; font-size: 1.35rem; }
html:has(.em-blog-article-body) { scroll-padding-top: 0; scroll-behavior: auto; }
.em-blog-article-body [id] { scroll-margin-top: var(--blog-anchor-offset, 106px); }
.em-blog-fragment-alias { display: block; height: 0; }
.em-blog-context-link { border-top: 1px solid var(--blog-border); padding-top: 20px; font-size: .9rem; }
.em-blog-article-body [tabindex="-1"]:focus-visible { outline: 2px solid #49765a; outline-offset: 6px; }

/* Small hub author portraits; the full card remains the existing article link. */
.em-blog-card-author { display: flex; gap: 9px; align-items: center; min-width: 0; }
.em-blog-card-author-photo { display: block; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; object-position: center 22%; background: #e1e8e3; }
.em-blog-card-author-photo.em-blog-card-author-georgia { object-position: center 34%; }
.em-blog-card-author > span { min-width: 0; }
