.sources-page { background: #f8f7f1; color: #123a35; }
.sources-page .nav-wrap { background: rgba(248,247,241,.96); }
.sources-hero { padding: 150px 0 82px; background: radial-gradient(circle at 82% 20%, rgba(188,239,91,.2), transparent 28%), #f8f7f1; }
.sources-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 270px; gap: 80px; align-items: end; }
.sources-hero h1 { max-width: 820px; margin: 16px 0 22px; font: 800 clamp(2.7rem,6vw,5.3rem)/.98 Manrope,sans-serif; letter-spacing: -.065em; }
.sources-hero h1 em { color: #087766; font-style: normal; }
.sources-hero p { max-width: 680px; margin: 0; color: #58706c; font-size: 1.16rem; line-height: 1.75; }
.latest-card { padding: 28px; border: 1px solid #cfe0da; border-radius: 20px; background: rgba(255,255,255,.78); box-shadow: 0 20px 55px rgba(16,58,52,.08); }
.latest-card span,.latest-card small { display: block; color: #657b77; }
.latest-card strong { display: block; margin: 9px 0; color: #123a35; font: 700 1.2rem/1.35 Manrope,sans-serif; }
.sources-content { padding-top: 0; padding-bottom: 100px; }
.trust-note { display: grid; grid-template-columns: 60px 1fr; gap: 22px; margin: -25px 0 40px; padding: 28px 32px; border: 1px solid #c9dfd6; border-radius: 22px; background: #fff; box-shadow: 0 18px 60px rgba(16,58,52,.09); }
.trust-seal { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 18px; color: #073f36; background: #bcef5b; font: 800 1.5rem Manrope,sans-serif; }
.trust-note strong { display: block; margin-bottom: 7px; font: 700 1.13rem Manrope,sans-serif; }
.trust-note p { margin: 0; color: #60746f; line-height: 1.65; }
.sources-summary { display: grid; grid-template-columns: repeat(4,1fr); overflow: hidden; margin: 28px 0 72px; border: 1px solid #d7e4df; border-radius: 20px; background: #fff; }
.sources-summary div { padding: 25px 28px; border-right: 1px solid #dce8e3; }
.sources-summary div:last-child { border: 0; }
.sources-summary span { display: block; margin-bottom: 7px; color: #6d7f7b; font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; }
.sources-summary strong { font: 800 2rem Manrope,sans-serif; }
.sources-heading { display: flex; justify-content: space-between; gap: 40px; align-items: end; margin-bottom: 24px; }
.sources-heading h2 { margin: 8px 0 0; font: 800 clamp(2rem,4vw,3.25rem)/1.05 Manrope,sans-serif; letter-spacing: -.045em; }
.sources-heading > p { max-width: 480px; margin: 0; color: #627772; line-height: 1.6; text-align: right; }
.sources-table { overflow: hidden; border: 1px solid #d6e4de; border-radius: 20px; background: #fff; box-shadow: 0 18px 55px rgba(16,58,52,.07); }
.sources-table-head,.source-row { display: grid; grid-template-columns: minmax(260px,1.7fr) 150px 190px 100px; align-items: center; gap: 18px; }
.sources-table-head { padding: 17px 22px; color: #315a53; background: #e7f3ee; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.source-row { min-height: 76px; padding: 15px 22px; border-top: 1px solid #e0e9e5; }
.source-row:first-child { border-top: 0; }
.source-name strong { display: block; color: #153d37; line-height: 1.35; }
.source-name small { display: block; margin-top: 5px; color: #7a8a87; }
.status-pill { display: inline-flex; width: max-content; padding: 7px 11px; border-radius: 999px; font-size: .76rem; font-weight: 800; }
.status-pill.verified { color: #075748; background: #dff4ea; }
.status-pill.review { color: #7a5000; background: #fff0c9; }
.status-pill.broken { color: #8b2d27; background: #fde5e2; }
.source-date { color: #546d68; font-size: .88rem; }
.source-open { color: #066c5c; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.source-loading { padding: 34px 22px; color: #657b77; }
.method-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin: 58px 0 24px; }
.method-grid article { padding: 28px; border: 1px solid #d8e5e0; border-radius: 20px; background: #fff; }
.method-grid article > span { color: #087766; font: 800 .82rem Manrope,sans-serif; letter-spacing: .1em; }
.method-grid h3 { margin: 16px 0 8px; font: 700 1.08rem Manrope,sans-serif; }
.method-grid p { margin: 0; color: #687b77; line-height: 1.6; }
.sources-disclaimer { margin: 0; padding: 20px 24px; border-left: 4px solid #bcef5b; color: #536c67; background: #eef5f1; line-height: 1.65; }
.sources-cta { padding: 65px 0; color: #fff; background: #0d3d35; }
.sources-cta .container { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.sources-cta h2 { max-width: 720px; margin: 9px 0 0; font: 700 clamp(1.75rem,3vw,2.65rem)/1.15 Manrope,sans-serif; letter-spacing: -.035em; }
.source-trust-callout { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 34px; padding: 26px 30px; border: 1px solid #cde0d8; border-radius: 20px; background: #f1f8f4; }
.source-trust-callout strong { display: block; margin-bottom: 6px; font: 700 1.05rem Manrope,sans-serif; }
.source-trust-callout p { margin: 0; color: #5e746f; }
.source-trust-callout a { flex: 0 0 auto; color: #075b4e; font-weight: 800; }
@media (max-width: 900px) {
  .sources-hero-grid { grid-template-columns: 1fr; gap: 32px; }
  .latest-card { max-width: 360px; }
  .sources-summary { grid-template-columns: repeat(2,1fr); }
  .sources-summary div:nth-child(2) { border-right: 0; }
  .sources-summary div:nth-child(-n+2) { border-bottom: 1px solid #dce8e3; }
  .sources-table { overflow-x: auto; }
  .sources-table-head,.source-row { min-width: 800px; }
  .method-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .sources-hero { padding-top: 115px; }
  .sources-hero h1 { font-size: 2.55rem; }
  .trust-note { grid-template-columns: 1fr; padding: 24px; }
  .sources-summary div { padding: 20px; }
  .sources-heading,.sources-cta .container,.source-trust-callout { align-items: flex-start; flex-direction: column; }
  .sources-heading { display: flex; }
  .sources-heading > p { text-align: left; }
}
