/* Editorial, company and policy pages. Extends the delivered 1520 / 1420 grid.
   All rules are scoped; shared navigation, forms and business logic retain their contracts. */
.editorial-page main { color: #0d0d0d; }
.editorial-page main :is(h1, h2, h3) { font-weight: 500; letter-spacing: -.035em; text-wrap: pretty; }
.editorial-page main h1 { max-inline-size: 1000px; font-size: clamp(32px, 2.65vw, 40px); line-height: 1.2; font-weight:600; }
.editorial-page main h2 { font-size: clamp(28px, 2.65vw, 40px); line-height: 1.2; }
.editorial-page main h3 { font-size: 24px; line-height: 1.3; }
.editorial-page main p { line-height: 1.65; }
.editorial-page main .eyebrow { display: block; margin-block-end: 16px; color: #666; font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.editorial-page main .section { padding-block: 80px; }
.editorial-page main .section--tight { padding-block: 24px 80px; }
.editorial-page main .section--surface { background: #f3f3f5; }
.editorial-page .editorial-hero { padding-block: 72px; border-block-end: 1px solid #d8d8d8; background: #f3f3f5; }
.editorial-page .editorial-hero > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .34fr); align-items: end; gap: 64px; }
.editorial-page .editorial-hero .dek { max-inline-size: 780px; margin-block-start: 24px; color: #666; font-size: 18px; line-height: 1.7; }
.editorial-hero-links { display: grid; align-content: end; }
.editorial-hero-links .editorial-link { display: block; padding-block: 18px; border-block-end: 1px solid #d8d8d8; font-size: 16px; }
.editorial-page .editorial-link { color: inherit; text-decoration: none; text-underline-offset: 5px; font-weight: 500; }
.editorial-page .editorial-link:hover { color: #bd0011; text-decoration: underline; }
.editorial-page main :is(a, button, summary, input, [tabindex]):focus-visible { outline: 2px solid #e60015; outline-offset: 4px; }
.editorial-page .section-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-block-end: 40px; }
.editorial-page .section-head p { max-inline-size: 780px; margin-block-start: 20px; color: #666; font-size: 18px; }
.editorial-page .link-more { flex-shrink: 0; font-size: 16px; }
.editorial-section-top { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-block-end: 32px; }
.editorial-result-count { margin: 0; color: #666; font-size: 14px; flex: none; }
.editorial-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; max-inline-size: 100%; }
.editorial-page .editorial-bridge { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 40px; margin-block-start: 56px; background: #f3f3f5; border-radius: 4px; }
.editorial-page .editorial-bridge h2 { max-inline-size: 700px; font-size: 28px; }
.editorial-page .editorial-bridge p { max-inline-size: 700px; color: #666; margin-block-start: 16px; font-size: 16px; }
.editorial-page .editorial-bridge .editorial-actions { flex: 0 0 auto; }

/* About: service areas, supplied network, team and credentials. */
.editorial-about .about-hero { color: #fff; background: #0d0d0d; border-color: #0d0d0d; }
.editorial-about .about-hero :is(.eyebrow, .dek) { color: #d8d8d8; }
.editorial-about .about-hero .editorial-link { border-color: #454545; }
.editorial-about .about-hero .editorial-link:hover { color: #fff; }
.editorial-about .cred-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 0; border: 0; background: transparent; }
.editorial-about .cred-strip .cred { display: flex; flex-direction: column; align-items: start; justify-content: start; gap: 16px; padding: 32px; background: #f3f3f5; border: 0; border-radius: 4px; text-align: start; }
.editorial-about .cred-strip b { color: #0d0d0d; font-family: var(--font-sans); font-size: clamp(36px, 3.5vw, 56px); font-weight: 500; line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.editorial-about .cred-strip span { color: #666; font-size: 14px; line-height: 1.5; }
.editorial-about .pillar-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.editorial-about .pillar-card { display: flex; flex-direction: column; min-inline-size: 0; overflow: hidden; background: #fff; border-radius: 4px; }
.editorial-about .pillar-card > img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 1.5; object-fit: cover; }
.editorial-about .pillar-body { display: flex; flex-direction: column; align-items: start; gap: 20px; padding: 32px; flex: 1; }
.editorial-about .pillar-body .no { color: #bd0011; font-size: 14px; }
.editorial-about .pillar-body h3 { margin: 0; }
.editorial-about .pillar-body p { color: #666; font-size: 16px; margin: 0 0 12px; }
.editorial-about .pillar-body > .editorial-link { margin-block-start: auto; font-size: 15px; }
.editorial-about .section:not(.section--surface) .pillar-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.editorial-about .section:not(.section--surface) .pillar-card { background: #f3f3f5; }
.editorial-about .section:not(.section--surface) .pillar-body { padding: 40px; }
.editorial-about .logo-wall { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 1px; padding: 1px; background: #d8d8d8; border-radius: 4px; overflow: hidden; }
.editorial-about .logo-cell { display: grid; place-items: center; padding: 24px; min-block-size: 112px; min-inline-size: 0; background: #fff; }
.editorial-about .logo-cell img { max-inline-size: 100%; inline-size: auto; block-size: auto; max-block-size: 52px; object-fit: contain; }
.editorial-about .team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.editorial-about .team-card { padding: 32px; background: #fff; border-radius: 4px; }
.editorial-about .team-card .photo { inline-size: 96px; block-size: 96px; margin-block-end: 32px; overflow: hidden; border-radius: 4px; background: #f3f3f5; }
.editorial-about .team-card .photo img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.editorial-about .team-card .photo.placeholder { display: grid; place-items: center; color: #666; font-size: 40px; font-weight: 500; }
.editorial-about .team-card .role { color: #666; font-size: 14px; margin-block-start: 8px; }
.editorial-about .cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 48px; padding: 56px; color: #fff; background: #0d0d0d; border-radius: 4px; }
.editorial-about .cta-panel h2 { max-inline-size: 760px; color: #fff; }
.editorial-about .cta-panel :is(.eyebrow, p) { color: #d8d8d8; }
.editorial-about .cta-panel p { max-inline-size: 680px; margin-block-start: 20px; font-size: 16px; }
.editorial-about .cta-panel > div:last-child { display: flex; flex-wrap: wrap; gap: 12px; flex: 0 0 auto; }

/* News: honest topic previews; disclosures work without JavaScript. */
.editorial-news .chip-filter-row { display: flex; flex-wrap: wrap; gap: 8px; margin-block-end: 32px; }
.editorial-news .chip-filter-row .chip { min-block-size: 44px; padding: 10px 18px; border: 1px solid #d8d8d8; border-radius: 4px; background: #fff; color: #0d0d0d; font-size: 14px; }
.editorial-news .chip-filter-row .chip[aria-pressed="true"] { color: #fff; background: #0d0d0d; border-color: #0d0d0d; }
.editorial-news .chip-filter-row .chip:hover { border-color: #0d0d0d; }
.editorial-news .news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 32px 20px; }
.editorial-page :is(.news-card, .article-card) { display: flex; flex-direction: column; min-inline-size: 0; overflow: hidden; background: #f3f3f5; border: 0; border-radius: 4px; }
.editorial-page :is(.news-card, .article-card) > img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 1.5; object-fit: cover; }
.editorial-page :is(.news-card-body, .article-card-body) { display: flex; flex-direction: column; align-items: start; gap: 20px; padding: 32px; flex: 1; }
.editorial-page :is(.news-card-body, .article-card-body) h3 { margin: 0; }
.editorial-page :is(.news-card-body, .article-card-body) .cat { color: #bd0011; font-size: 13px; font-weight: 500; }
.editorial-page :is(.news-card-body, .article-card-body) .meta { color: #666; font-size: 12px; line-height: 1.6; }
.editorial-news .editorial-topic--lead { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); grid-column: 1 / -1; }
.editorial-news .editorial-topic--lead > img { block-size: 100%; min-block-size: 340px; }
.editorial-news .editorial-topic--lead .news-card-body { padding: 48px; justify-content: center; }
.editorial-news .editorial-topic--lead h3 { font-size: clamp(28px, 2.6vw, 40px); }
.editorial-disclosure { inline-size: 100%; border-block-start: 1px solid #d8d8d8; }
.editorial-disclosure > summary { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding-block: 16px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 500; }
.editorial-disclosure > summary::-webkit-details-marker, .editorial-page .lesson-list summary::-webkit-details-marker { display: none; }
.editorial-disclosure > summary::after, .editorial-page .lesson-list summary::after { content: '+'; flex: none; color: #666; font-size: 22px; line-height: 1; font-weight: 400; }
.editorial-disclosure[open] > summary::after, .editorial-page .lesson-list details[open] > summary::after { content: '−'; }
.editorial-disclosure > div { padding-block: 0 12px; }
.editorial-disclosure p { margin: 0 0 16px; color: #666; font-size: 15px; }
.editorial-disclosure a { font-size: 14px; }
.editorial-page [hidden] { display: none !important; }

/* Academy: learning pathways, without unprovided video playback. */
.editorial-academy .academy-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.editorial-feature { min-inline-size: 0; background: #f3f3f5; border-radius: 4px; overflow: hidden; }
.editorial-feature > img { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 1.7; object-fit: cover; }
.editorial-feature-copy { padding: 40px; }
.editorial-feature-copy > p { color: #666; font-size: 16px; margin-block: 20px; }
.editorial-feature-copy > .editorial-availability { margin-block-end: 0; font-size: 12px; }
.editorial-academy .lesson-panel > h2 { margin-block-end: 24px; font-size: 28px; }
.editorial-academy .lesson-list { list-style: none; margin: 0; padding: 0; }
.editorial-academy .lesson-list li { border-block-start: 1px solid #d8d8d8; }
.editorial-academy .lesson-list li:last-child { border-block-end: 1px solid #d8d8d8; }
.editorial-academy .lesson-list summary { display: grid; grid-template-columns: 32px minmax(0, 1fr) 20px; align-items: start; gap: 16px; padding-block: 24px; cursor: pointer; list-style: none; font-size: 20px; line-height: 1.4; }
.editorial-academy .lesson-list .no { font-size: 14px; color: #bd0011; padding-block-start: 5px; }
.editorial-lesson-body { padding: 0 36px 24px 48px; }
.editorial-lesson-body p { color: #666; font-size: 15px; margin-block-end: 16px; }
.editorial-lesson-body a { font-size: 14px; }
.editorial-academy .article-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.editorial-academy .article-card { background: #fff; }
.editorial-academy .article-card-body { padding: 24px; }
.editorial-academy .article-card-body h3 { font-size: 22px; }
.editorial-academy .article-card-body a { margin-block-start: auto; font-size: 14px; }

/* Existing newsletter hooks and request behavior are unchanged. */
.editorial-page .newsletter-band { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); align-items: center; gap: 64px; padding: 56px; background: #0d0d0d; color: #fff; border-radius: 4px; }
.editorial-page .newsletter-band h2 { color: #fff; }
.editorial-page .newsletter-band :is(.eyebrow, p) { color: #d8d8d8; }
.editorial-page .newsletter-band p { margin-block-start: 20px; font-size: 16px; }
.editorial-page .newsletter-form { display: grid; gap: 16px; min-inline-size: 0; }
.editorial-page .newsletter-form .row { display: flex; flex-wrap: wrap; gap: 16px; }
.editorial-page .newsletter-form label { display: grid; gap: 8px; flex: 1 1 180px; min-inline-size: 0; font-size: 14px; }
.editorial-page .newsletter-form input { inline-size: 100%; min-inline-size: 0; block-size: 48px; padding: 12px; color: #0d0d0d; background: #fff; border: 1px solid #d8d8d8; border-radius: 4px; font-size: 16px; }
.editorial-page .newsletter-form input::placeholder { color: #666; }
.editorial-page .newsletter-form :is(.form-status, .editorial-form-note) { font-size: 12px; line-height: 1.6; margin: 0; }
.editorial-page .newsletter-form .form-status { min-block-size: 1.6em; }
.editorial-page .newsletter-form .editorial-link { text-decoration: underline; color: #fff; }

/* Policies: readable document widths, a real anchor index and preserved draft markers. */
.editorial-page .legal-hero > .wrap { display: block; }
.editorial-page .legal-hero .dek { max-inline-size: 960px; }
.editorial-legal-links { display: flex; flex-wrap: wrap; gap: 24px; margin-block: 24px; font-size: 14px; }
.editorial-page .meta-tag { display: inline-block; padding: 10px 14px; border: 1px solid #d8d8d8; border-radius: 4px; color: #666; font-size: 13px; line-height: 1.6; }
.editorial-page .legal-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); align-items: start; gap: 72px; padding-block: 72px 96px; }
.editorial-page .legal-toc { position: sticky; inset-block-start: 168px; max-block-size: calc(100vh - 192px); overflow: auto; padding: 24px; background: #f3f3f5; border-radius: 4px; }
.editorial-page .legal-toc h3 { font-size: 16px; margin-block-end: 16px; }
.editorial-page .legal-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.editorial-page .legal-toc a { display: block; padding-block: 10px; font-size: 14px; line-height: 1.5; color: #666; text-decoration: none; }
.editorial-page .legal-toc a:hover { color: #bd0011; text-decoration: underline; text-underline-offset: 4px; }
.editorial-page .legal-content { min-inline-size: 0; max-inline-size: 960px; }
.editorial-page .legal-article { padding-block: 40px; border-block-start: 1px solid #d8d8d8; display: grid; gap: 20px; }
.editorial-page .legal-article:first-child { padding-block-start: 0; border: 0; }
.editorial-page .legal-article h2 { display: flex; align-items: baseline; gap: 20px; font-size: 28px; }
.editorial-page .legal-article .sec-num { flex: none; color: #bd0011; font-size: 16px; letter-spacing: 0; }
.editorial-page .legal-article h3 { font-size: 20px; }
.editorial-page .legal-article :is(p, li) { color: #666; font-size: 16px; line-height: 1.85; overflow-wrap: anywhere; }
.editorial-page .legal-article strong { color: #0d0d0d; font-weight: 500; }
.editorial-page .legal-article :is(ul, ol) { padding-inline-start: 24px; margin: 0; display: grid; gap: 12px; }
.editorial-page .legal-callout, .editorial-page .legal-contact-card { padding: 24px; background: #f3f3f5; border-radius: 4px; }
.editorial-page .legal-callout { border-inline-start: 3px solid #e60015; }
.editorial-page .legal-callout--alert { background: #fff6e7; border-color: #a05220; }
.editorial-page .todo-legal { display: inline; background: #fff0cc; color: #854700; padding: 2px 4px; border: 1px dashed #a05220; border-radius: 2px; }
.editorial-page .legal-contact-card { display: grid; gap: 12px; font-size: 16px; }
.editorial-page .legal-contact-card a { overflow-wrap: anywhere; }
.editorial-table-scroll { max-inline-size: 100%; overflow-x: auto; border: 1px solid #d8d8d8; border-radius: 4px; }
.editorial-page .legal-table { inline-size: 100%; min-inline-size: 600px; border-collapse: collapse; font-size: 14px; line-height: 1.6; }
.editorial-page .legal-table :is(th, td) { padding: 16px; text-align: start; vertical-align: top; border-block-end: 1px solid #d8d8d8; }
.editorial-page .legal-table th { font-weight: 500; background: #f3f3f5; }
.editorial-page .legal-table td { color: #666; }
.editorial-page .legal-table tr:last-child td { border: 0; }

@media (max-width: 1100px) {
  .editorial-page .editorial-hero > .wrap { gap: 40px; grid-template-columns: minmax(0, 1fr) 220px; }
  .editorial-page .editorial-bridge, .editorial-about .cta-panel { align-items: start; flex-direction: column; }
  .editorial-about .logo-wall { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .editorial-about .team-grid, .editorial-academy .article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-about .pillar-body { padding: 24px; }
  .editorial-page .newsletter-band { gap: 40px; padding: 40px; }
  .editorial-page .legal-layout { grid-template-columns: 240px minmax(0, 1fr); gap: 40px; }
  .editorial-page .legal-toc { inset-block-start: 146px; }
}
@media (max-width: 850px) {
  .editorial-page .editorial-hero { padding-block: 48px; }
  .editorial-page .editorial-hero > .wrap { grid-template-columns: 1fr; gap: 28px; }
  .editorial-hero-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
  .editorial-about .editorial-hero-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editorial-page main .section { padding-block: 56px; }
  .editorial-about .cred-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-about .pillar-grid, .editorial-academy .academy-layout { grid-template-columns: 1fr; }
  .editorial-about #expertise .pillar-card { display: grid; grid-template-columns: 1fr 1.2fr; }
  .editorial-about #expertise .pillar-card > img { block-size: 100%; min-block-size: 260px; }
  .editorial-news .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .editorial-news .editorial-topic--lead .news-card-body { padding: 28px; }
  .editorial-page .newsletter-band { grid-template-columns: 1fr; }
  .editorial-page .legal-layout { grid-template-columns: 1fr; padding-block: 40px 64px; gap: 40px; }
  .editorial-page .legal-toc { position: static; max-block-size: none; }
  .editorial-page .legal-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
}
@media (max-width: 560px) {
  .editorial-page main h1 { font-size: 36px; }
  .editorial-page .editorial-hero .dek { font-size: 16px; margin-block-start: 20px; }
  .editorial-page .editorial-hero-links, .editorial-about .editorial-hero-links { grid-template-columns: 1fr; }
  .editorial-page .editorial-hero-links .editorial-link { padding-block: 12px; font-size: 14px; }
  .editorial-page main .section { padding-block: 40px; }
  .editorial-page main .section--tight { padding-block: 8px 48px; }
  .editorial-page .section-head { align-items: start; flex-direction: column; gap: 20px; margin-block-end: 28px; }
  .editorial-page .section-head p { font-size: 16px; }
  .editorial-about .cred-strip { gap: 12px; }
  .editorial-about .cred-strip .cred { padding: 24px 20px; }
  .editorial-about .cred-strip span { font-size: 12px; }
  .editorial-about #expertise .pillar-card { display: flex; }
  .editorial-about #expertise .pillar-card > img { block-size: auto; min-block-size: 0; }
  .editorial-about .section:not(.section--surface) .pillar-grid { grid-template-columns: 1fr; }
  .editorial-about .section:not(.section--surface) .pillar-body { padding: 28px; }
  .editorial-about .logo-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .editorial-about .logo-cell { min-block-size: 88px; padding: 16px; }
  .editorial-about .team-card { padding: 20px; }
  .editorial-about .team-card .photo { inline-size: 80px; block-size: 80px; margin-block-end: 24px; }
  .editorial-about .team-card h3 { font-size: 22px; }
  .editorial-page .editorial-bridge, .editorial-about .cta-panel, .editorial-page .newsletter-band { padding: 28px 24px; gap: 28px; }
  .editorial-page .editorial-bridge { margin-block-start: 32px; }
  .editorial-section-top { align-items: start; gap: 16px; }
  .editorial-section-top h2 { font-size: 26px; }
  .editorial-result-count { padding-block-start: 8px; font-size: 12px; }
  .editorial-news .chip-filter-row .chip { padding-inline: 12px; font-size: 13px; }
  .editorial-news .news-grid, .editorial-academy .article-grid { grid-template-columns: 1fr; gap: 24px; }
  .editorial-news .editorial-topic--lead { display: flex; }
  .editorial-news .editorial-topic--lead > img { min-block-size: 0; block-size: auto; }
  .editorial-page :is(.news-card-body, .article-card-body), .editorial-news .editorial-topic--lead .news-card-body { padding: 24px; }
  .editorial-news .editorial-topic--lead h3 { font-size: 28px; }
  .editorial-feature-copy { padding: 28px 24px; }
  .editorial-academy .lesson-list summary { gap: 12px; font-size: 18px; }
  .editorial-lesson-body { padding-inline: 44px 0; }
  .editorial-page .newsletter-form label { flex-basis: 100%; }
  .editorial-page .legal-toc ol { grid-template-columns: 1fr; }
  .editorial-page .legal-article { padding-block: 32px; }
  .editorial-page .legal-article h2 { font-size: 24px; gap: 14px; }
  .editorial-page .legal-article :is(p, li) { font-size: 15px; }
  .editorial-page .legal-callout, .editorial-page .legal-contact-card { padding: 20px; }
}
