/* Sourcing editorial additions: keep the existing Sierra visual system. */
.sourcing-article .article-hero .page-hero-copy h1 { font-size: clamp(42px, 5.7vw, 82px); line-height: 1.12; }
.sourcing-article .article-body h2 { line-height: 1.18; }
.sourcing-article .article-body a { color: var(--garnet); text-decoration: underline; text-underline-offset: .2em; }
.editorial-note { margin: 32px 0; padding: 24px 28px; background: #edf0ec; border-left: 3px solid #687c6c; }
.editorial-note > strong { color: #294b32; font-size: 12px; line-height: 1.6; letter-spacing: .04em; }
.editorial-note p { margin: 10px 0 0; font-size: 15px; line-height: 1.7; }
.article-table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; margin: 32px 0; border: 1px solid #c8c4be; }
.article-table-wrap:focus-visible { outline: 3px solid var(--garnet); outline-offset: 3px; }
.article-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 15px; line-height: 1.65; color: #3f5268; }
.article-table caption { text-align: left; padding: 16px 20px; font-size: 12px; font-weight: 750; color: var(--ink); background: var(--paper); }
.article-table th, .article-table td { padding: 16px 20px; vertical-align: top; text-align: left; border-bottom: 1px solid #d8dbdd; }
.article-table thead th { background: var(--ink); color: #fff; font-size: 12px; }
.article-table tbody th { color: var(--ink); width: 30%; font-weight: 650; }
.article-table tr:last-child > * { border-bottom: 0; }
.article-checklist li { padding-left: 4px; margin-bottom: 16px; }
.article-service-note { margin: 48px 0 0; padding: 28px; border-top: 3px solid var(--garnet); background: var(--paper); }
.article-service-note h3 { margin-top: 0; }
.article-service-note p { font-size: 17px; }
.article-service-note a { font-size: 14px; font-weight: 750; }
.article-related { margin-top: 48px; padding-top: 4px; border-top: 1px solid #c8c4be; }
.article-related h3 { font-size: 26px; }
.article-related li { font-size: 16px; margin-bottom: 12px; }
.download-gate { margin: 48px 0 0; padding: 32px; background: #edf0ec; border-top: 3px solid #687c6c; min-width: 0; scroll-margin-top: 120px; }
.download-gate .resource-eyebrow { font-size: 12px; font-weight: 750; letter-spacing: .08em; color: #294b32; margin: 0 0 16px; }
.download-gate .resource-title { margin: 0 0 18px; font-size: clamp(28px, 3vw, 38px); line-height: 1.2; overflow-wrap: anywhere; }
.download-gate > p { font-size: 16px; line-height: 1.7; }
.resource-form-mount { min-width: 0; }
.resource-email-row { display: flex; gap: 12px; align-items: end; margin: 24px 0 20px; }
.resource-email-field { flex: 1; min-width: 0; }
.resource-email-field label { display: block; margin-bottom: 8px; font-size: 14px; color: var(--ink); font-weight: 650; }
.resource-email-field input { width: 100%; min-width: 0; padding: 14px 16px; min-height: 52px; border: 1px solid #8d9992; background: #fff; color: var(--ink); font: 16px/1.4 var(--sans); border-radius: 0; }
.resource-form button { min-height: 52px; padding: 14px 18px; border: 0; background: var(--garnet); color: #fff; font: 700 14px/1.4 var(--sans); cursor: pointer; }
.resource-form button:disabled { background: #66736c; cursor: not-allowed; }
.resource-form button:focus-visible, .resource-email-field input:focus-visible, .resource-acknowledgement input:focus-visible, .resource-success a:focus-visible { outline: 3px solid var(--garnet); outline-offset: 4px; }
.resource-acknowledgement { display: flex; align-items: start; gap: 10px; font-size: 14px; line-height: 1.65; color: #3f5268; cursor: pointer; }
.resource-acknowledgement input { width: 19px; height: 19px; flex: 0 0 19px; margin: 3px 0 0; accent-color: var(--garnet); }
.download-gate .resource-privacy-note { font-size: 13px; line-height: 1.7; margin: 14px 0; }
.download-gate .resource-status { font-size: 14px; line-height: 1.6; color: var(--garnet); margin: 12px 0 0; }
.resource-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.download-gate [hidden] { display: none !important; }
.resource-success { outline: none; }
.resource-success .resource-success-heading { font-size: 23px; font-weight: 650; color: #294b32; margin: 24px 0 8px; }
.resource-success > p { font-size: 16px; line-height: 1.7; }
.resource-file-links { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 22px; }
.resource-file-links a { min-height: 44px; display: inline-flex; align-items: center; font-size: 15px; font-weight: 750; }
.insights-section-heading { margin: 0 0 28px; }
.insights-section-heading h2 { font: 500 clamp(34px, 4vw, 54px)/1.16 var(--display); letter-spacing: -.025em; margin: 14px 0; }
.insights-section-heading p:not(.section-kicker) { max-width: 750px; color: var(--slate); font-size: 17px; line-height: 1.7; }
.sourcing-series-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sourcing-series-grid .article-card { min-width: 0; min-height: 440px; }
.sourcing-series-grid .article-card h2 { font-size: clamp(28px, 2.6vw, 42px); line-height: 1.18; margin: 36px 0 22px; overflow-wrap: anywhere; }
.sourcing-series-grid .article-card > span { letter-spacing: .04em; }
.sourcing-series-grid .article-card:hover > span { color: #f28f82; }
@media (max-width: 1050px) {
  .sourcing-series-grid { grid-template-columns: minmax(0, 1fr); }
  .sourcing-series-grid .article-card { min-height: 0; padding: 28px; }
}
@media (max-width: 600px) {
  .download-gate { padding: 24px 20px; }
  .resource-email-row { flex-direction: column; align-items: stretch; }
  .editorial-note, .article-service-note { padding: 20px; }
  .article-table-wrap::before { content: "Swipe horizontally to view the full table"; display: block; padding: 12px 16px; font-size: 12px; color: var(--slate); background: var(--paper); }
  .article-table { font-size: 14px; }
  .sourcing-article .article-nav { flex-wrap: wrap; }
}
@media print {
  .site-header, .page-footer, .article-service-note, .article-related, .article-nav, .download-gate { display: none; }
  .page-hero, .content-band { padding: 20px 0; }
  .article-table-wrap { overflow: visible; }
  .article-table { min-width: 0; font-size: 11px; }
  .article-table th, .article-table td { padding: 8px; }
  .article-table-wrap::before { display: none; }
  .editorial-note, .article-table-wrap { break-inside: avoid; }
}
