/* Reports archive and single-report presentation. */
.reports-archive,
.report-single { --report-red: #d91f2a; --report-red-dark: #a70f19; --report-ink: #18201c; --report-muted: #647069; --report-line: #dde4df; --report-paper: #f7f8f7; background: #ffffff; }

.reports-hero { position: relative; overflow: hidden; padding: clamp(34px, 5vw, 68px) 0 0; color: var(--report-ink); background: var(--report-paper); border-bottom: 1px solid var(--report-line); }
.reports-hero__grid { position: absolute; inset: 0; opacity: 0.7; background-image: linear-gradient(rgba(24, 32, 28, 0.045) 1px, transparent 1px), linear-gradient(90deg, rgba(24, 32, 28, 0.045) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, #000 0%, rgba(0, 0, 0, 0.5) 72%, transparent 100%); pointer-events: none; }
.reports-hero .breadcrumbs { margin-bottom: clamp(34px, 5vw, 58px); }
.reports-hero .breadcrumbs,
.reports-hero .breadcrumbs a,
.reports-hero .breadcrumb-item,
.reports-hero .breadcrumb-item + .breadcrumb-item::before { color: var(--report-muted); }
.reports-hero__eyebrow { display: flex; margin: 0 0 13px; gap: 9px; align-items: center; color: var(--report-red); font-weight: 700; }
.reports-hero__eyebrow .icon { width: 21px; height: 21px; }
.reports-hero h1 { max-width: 15ch; margin: 0; color: var(--report-ink); font-size: clamp(2.65rem, 5.5vw, 5.5rem); line-height: 1.04; }
.reports-hero__intro { max-width: 64ch; margin: 22px 0 0; color: var(--report-muted); font-size: clamp(1.02rem, 1.5vw, 1.22rem); line-height: 1.72; }
.reports-hero__folio { position: relative; display: grid; width: min(100%, 300px); min-height: 220px; padding: 30px; align-content: space-between; color: #ffffff; background: var(--report-red); box-shadow: 18px 18px 0 #ffffff, 19px 19px 0 var(--report-line); }
.reports-hero__folio::before { position: absolute; top: 0; right: 0; border-width: 0 0 48px 48px; border-style: solid; border-color: transparent transparent rgba(255, 255, 255, 0.26) transparent; content: ''; }
.reports-hero__folio span { font: 600 0.78rem/1 Poppins, Mukta, sans-serif; letter-spacing: 0.14em; }
.reports-hero__folio strong { overflow-wrap: anywhere; font-size: clamp(2rem, 3vw, 3.25rem); line-height: 1.08; }
.reports-hero__folio .icon { width: 68px; height: 68px; }

.report-filters { display: flex; overflow-x: auto; margin-top: clamp(36px, 6vw, 68px); gap: 0; border-top: 1px solid var(--report-line); scrollbar-width: thin; scrollbar-color: var(--report-red) transparent; }
.report-filters a { position: relative; display: flex; min-width: max-content; min-height: 68px; padding: 13px 22px; gap: 10px; align-items: center; border-right: 1px solid var(--report-line); color: var(--report-ink); background: rgba(255, 255, 255, 0.8); text-decoration: none; transition: color 200ms ease, background-color 200ms ease; }
.report-filters a:first-child { border-left: 1px solid var(--report-line); }
.report-filters a::after { position: absolute; right: 0; bottom: 0; left: 0; height: 4px; background: var(--report-red); content: ''; transform: scaleX(0); transform-origin: left; transition: transform 220ms ease; }
.report-filters a:hover,
.report-filters a[aria-current='page'] { color: #ffffff; background: var(--report-red); }
.report-filters a:hover::after,
.report-filters a[aria-current='page']::after { transform: scaleX(1); }
.report-filters span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: var(--report-red); background: #ffffff; }
.report-filters .icon { width: 17px; height: 17px; }

.report-library { background: #ffffff; }
.report-library__heading { display: grid; padding-bottom: 24px; margin-bottom: 36px; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr); gap: 30px; align-items: end; border-bottom: 1px solid var(--report-line); }
.report-library__heading h2,
.report-library__heading p { margin-bottom: 0; }
.report-library__heading h2 { color: var(--report-ink); }
.report-library__heading .section-kicker { color: var(--report-red); }
.report-library__heading > p { color: var(--report-muted); }
.report-library__grid > [class*='col-'] { display: flex; }
.report-card { display: grid; width: 100%; min-width: 0; overflow: hidden; grid-template-columns: 126px minmax(0, 1fr); border: 1px solid var(--report-line); border-radius: 14px; background: #ffffff; box-shadow: 0 10px 28px rgba(20, 31, 25, 0.075); transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease; }
.report-card:hover { border-color: rgba(217, 31, 42, 0.46); box-shadow: 0 18px 42px rgba(20, 31, 25, 0.12); transform: translateY(-3px); }
.report-card__cover { position: relative; display: flex; min-height: 260px; overflow: hidden; padding: 20px 16px; justify-content: space-between; flex-direction: column; color: #ffffff; background: linear-gradient(155deg, var(--report-red) 0 58%, var(--report-red-dark) 58% 100%); }
.report-card__cover::after { position: absolute; right: -34px; bottom: 46px; width: 100px; height: 100px; border: 18px solid rgba(255, 255, 255, 0.09); border-radius: 50%; content: ''; }
.report-card__cover > span { font: 600 0.72rem/1 Poppins, Mukta, sans-serif; letter-spacing: 0.14em; }
.report-card__cover .icon { width: 42px; height: 42px; }
.report-card__cover small { position: relative; z-index: 1; font-size: 0.88rem; font-weight: 700; line-height: 1.3; }
.report-card__body { display: flex; min-width: 0; padding: 24px; flex-direction: column; }
.report-card__meta { display: flex; min-height: 26px; margin-bottom: 14px; gap: 8px; align-items: center; flex-wrap: wrap; }
.report-card__meta a,
.report-card__meta span { display: inline-flex; min-height: 26px; padding: 3px 9px; gap: 5px; align-items: center; border-radius: 999px; color: var(--report-red-dark); background: #fff1f2; font-size: 0.76rem; font-weight: 700; text-decoration: none; }
.report-card__meta a:hover { color: #ffffff; background: var(--report-red); }
.report-card__meta .icon { width: 13px; height: 13px; }
.report-card h3 { margin: 0 0 9px; color: var(--report-ink); font-size: clamp(1.25rem, 2vw, 1.55rem); line-height: 1.35; }
.report-card h3 a { color: inherit; text-decoration: none; }
.report-card h3 a:hover { color: var(--report-red); }
.report-card__body > p { display: -webkit-box; overflow: hidden; margin: 0 0 18px; color: var(--report-muted); font-size: 0.92rem; line-height: 1.6; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.report-card__footer { display: flex; min-width: 0; margin-top: auto; gap: 12px; align-items: flex-end; justify-content: space-between; }
.report-card__published { display: inline-flex; min-width: 0; gap: 6px; align-items: center; color: var(--report-muted); font-size: 0.78rem; }
.report-card__published .icon { width: 15px; height: 15px; flex: 0 0 15px; }
.report-card__footer .btn { display: inline-grid; min-width: 142px; min-height: 48px; padding: 8px 13px; grid-template-columns: 18px minmax(0, 1fr); align-items: center; column-gap: 7px; text-align: left; }
.report-card__footer .btn .icon { width: 18px; height: 18px; grid-row: span 2; }
.report-card__footer .btn span,
.report-card__footer .btn small { display: block; }
.report-card__footer .btn small { font-size: 0.68rem; opacity: 0.82; }
.report-card__pending { display: inline-flex; min-height: 42px; padding: 7px 10px; gap: 7px; align-items: center; border: 1px dashed #cbd4ce; border-radius: 8px; color: var(--report-muted); background: var(--report-paper); font-size: 0.78rem; font-weight: 600; }
.report-card__pending .icon { width: 16px; height: 16px; }
.report-library__empty { border-color: var(--report-line); background: var(--report-paper); }
.report-library__empty > span { color: var(--report-red); }

.report-single__hero { padding-bottom: clamp(38px, 5vw, 64px); }
.report-single__hero h1 { max-width: 18ch; font-size: clamp(2.25rem, 4.3vw, 4.5rem); }
.report-single__meta { display: flex; margin-top: 22px; gap: 10px 18px; flex-wrap: wrap; color: var(--report-muted); }
.report-single__meta span { display: inline-flex; gap: 7px; align-items: center; }
.report-single__meta .icon { width: 17px; height: 17px; color: var(--report-red); }
.report-single__download { display: inline-grid; min-height: 62px; padding: 10px 18px; grid-template-columns: 22px minmax(0, 1fr); gap: 0 9px; align-items: center; text-align: left; }
.report-single__download .icon { width: 22px; height: 22px; grid-row: span 2; }
.report-single__download span,
.report-single__download small { display: block; }
.report-single__download small { font-size: 0.72rem; opacity: 0.8; }
.report-single__prose { max-width: 72ch; padding: 0 0 clamp(28px, 4vw, 48px); margin: 0 auto; }
.report-viewer { overflow: hidden; border: 1px solid var(--report-line); border-radius: 16px; background: #ffffff; box-shadow: 0 16px 42px rgba(20, 31, 25, 0.09); }
.report-viewer > header { display: flex; min-height: 88px; padding: 16px 20px; gap: 20px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--report-line); background: var(--report-paper); }
.report-viewer > header > div { display: flex; min-width: 0; gap: 13px; align-items: center; }
.report-viewer > header > div > span { display: grid; width: 46px; height: 46px; flex: 0 0 46px; place-items: center; border-radius: 10px; color: #ffffff; background: var(--report-red); }
.report-viewer > header .icon { width: 22px; height: 22px; }
.report-viewer p { margin: 0 0 2px; color: var(--report-red); font-size: 0.74rem; font-weight: 700; }
.report-viewer h2 { overflow: hidden; margin: 0; color: var(--report-ink); font-size: 1.18rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.report-viewer .btn { display: inline-flex; min-height: 46px; gap: 7px; align-items: center; white-space: nowrap; }
.report-viewer iframe { display: block; width: 100%; min-height: 760px; border: 0; background: #eef1ef; }
.report-single__empty { background: var(--report-paper); }
.report-single__navigation { margin-top: 40px; }

@media (max-width: 991.98px) {
  .report-library__heading { grid-template-columns: 1fr; gap: 10px; align-items: start; }
  .report-card__footer { align-items: stretch; flex-direction: column; }
  .report-card__footer .btn { width: 100%; }
}

@media (max-width: 767.98px) {
  .reports-hero { padding-top: 30px; }
  .reports-hero .breadcrumbs { margin-bottom: 26px; }
  .reports-hero h1 { font-size: clamp(2.4rem, 12vw, 3.7rem); }
  .report-filters { margin-top: 34px; margin-inline: calc(var(--bs-gutter-x, 1.5rem) * -0.5); padding-inline: calc(var(--bs-gutter-x, 1.5rem) * 0.5); }
  .report-filters a { min-height: 62px; padding-inline: 17px; }
  .report-viewer > header { align-items: stretch; flex-direction: column; }
  .report-viewer .btn { justify-content: center; white-space: normal; }
  .report-viewer iframe { min-height: 520px; }
}

@media (max-width: 479.98px) {
  .report-card { grid-template-columns: 1fr; }
  .report-card__cover { min-height: 104px; padding: 16px 18px; align-items: center; flex-direction: row; }
  .report-card__cover .icon { width: 36px; height: 36px; }
  .report-card__cover small { max-width: 45%; text-align: right; }
  .report-card__body { padding: 20px; }
  .report-card__footer { gap: 14px; }
  .report-card__footer .btn { min-width: 0; }
  .report-viewer h2 { white-space: normal; }
  .report-viewer iframe { min-height: 420px; }
}

@media (prefers-reduced-motion: reduce) {
  .report-card,
  .report-filters a,
  .report-filters a::after { transition: none; }
  .report-card:hover { transform: none; }
}
