/* Evidence reviews — isolated styles. Loaded only by the review section. */

.evidence-hero {
  position: relative;
  overflow: hidden;
  padding: 88px 0 72px;
  background: #061f3f;
  color: #fff;
}

.evidence-hero::after {
  content: "";
  position: absolute;
  width: 340px;
  height: 340px;
  right: -170px;
  top: -110px;
  border: 1px solid rgba(101, 221, 216, .2);
  border-radius: 50%;
  box-shadow: 0 0 0 56px rgba(101, 221, 216, .06), 0 0 0 112px rgba(101, 221, 216, .035);
  pointer-events: none;
}

.evidence-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 64px;
  align-items: center;
}

.evidence-hero__eyebrow {
  margin: 0 0 14px;
  color: #65ddd8;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.evidence-hero h1 {
  max-width: 17ch;
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(2.25rem, 5vw, 4.35rem);
}

.evidence-hero__lead {
  max-width: 70ch;
  margin: 0;
  color: #dce8f5;
  font-size: 1.08rem;
}

.evidence-hero__facts {
  display: grid;
  gap: 1px;
  overflow: hidden;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .14);
}

.evidence-hero__facts div {
  padding: 16px 18px;
  background: rgba(10, 46, 91, .74);
}

.evidence-hero__facts dt {
  margin-bottom: 3px;
  color: #9cebe7;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.evidence-hero__facts dd {
  margin: 0;
  color: #fff;
  font-weight: 650;
}

.evidence-index-hero h1 { max-width: 15ch; }

.review-section {
  padding: 72px 0 96px;
}

.review-layout {
  display: grid;
  grid-template-columns: 250px minmax(0, 820px);
  justify-content: center;
  gap: 54px;
  align-items: start;
}

.review-toc {
  position: sticky;
  top: 90px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.review-toc__label {
  margin: 0 0 12px;
  color: var(--navy);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.review-toc ol {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.review-toc a {
  display: block;
  color: #425068;
  font-size: .88rem;
  line-height: 1.35;
}

.review-toc a:hover { color: var(--teal-dark); text-decoration: underline; }

.review-article { min-width: 0; }
.review-article > section { scroll-margin-top: 96px; }

.review-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-bottom: 28px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .9rem;
}

.review-byline strong { color: var(--navy); }

.review-answer {
  margin: 0 0 36px;
  padding: 28px;
  border: 1px solid #b9d8d6;
  border-left: 5px solid var(--teal-dark);
  border-radius: var(--radius-md);
  background: #f3fbfa;
}

.review-answer h2 { margin-top: 0; font-size: 1.35rem; }
.review-answer p:last-child { margin-bottom: 0; }

.review-key-points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 38px;
}

.review-key-point {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.review-key-point strong {
  display: block;
  margin-bottom: 6px;
  color: var(--navy);
}

.review-key-point p { margin: 0; color: #3e4b5d; font-size: .94rem; }

.review-article h2 {
  margin-top: 50px;
  padding-top: 6px;
  font-size: clamp(1.65rem, 3vw, 2.15rem);
}

.review-article h3 { margin-top: 30px; }
.review-article li { margin-bottom: 9px; }

.review-figure {
  margin: 28px 0 40px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #f7fafd;
}

.review-figure img { display: block; width: 100%; height: auto; border-radius: var(--radius-md); }
.review-figure figcaption { margin-top: 12px; color: var(--muted); font-size: .82rem; }

.review-article p a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.review-table-wrap {
  overflow-x: auto;
  margin: 24px 0 36px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  -webkit-overflow-scrolling: touch;
}

.review-table {
  width: 100%;
  min-width: 660px;
  border-collapse: collapse;
  font-size: .9rem;
}

.review-table th,
.review-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.review-table th {
  color: #fff;
  background: var(--navy);
  font-size: .82rem;
  letter-spacing: .02em;
}

.review-table tbody tr:nth-child(even) { background: #f6f8fb; }
.review-table tbody tr:last-child td { border-bottom: 0; }

.evidence-label {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
}

.evidence-label--context { color: #075a54; background: #dff6f3; }
.evidence-label--not-routine { color: #7a3f00; background: #fff0d5; }
.evidence-label--research { color: #6a2942; background: #f8e5ed; }

.review-note,
.review-warning {
  margin: 28px 0;
  padding: 22px 24px;
  border-radius: var(--radius-md);
}

.review-note { border: 1px solid #cbd8e6; background: #f5f9fd; }
.review-warning { border: 1px solid #efcf9a; background: #fff8ec; }
.review-note h3, .review-warning h3 { margin-top: 0; }
.review-note > :last-child, .review-warning > :last-child { margin-bottom: 0; }

.review-method {
  padding: 26px;
  border-radius: var(--radius-md);
  background: #f5f7fa;
}

.review-method h2 { margin-top: 0; }

.review-references {
  padding-left: 1.4rem;
  font-size: .9rem;
}

.review-references li {
  margin-bottom: 12px;
  padding-left: 5px;
}

.review-references a { overflow-wrap: anywhere; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }

.review-update {
  margin-top: 42px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .88rem;
}

.review-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-top: 34px;
}

.review-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-sm);
}

.review-card__meta { color: var(--teal-dark); font-size: .76rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.review-card h2 { margin: 10px 0 12px; font-size: 1.45rem; }
.review-card p { color: #465367; }
.review-card .btn { align-self: flex-start; margin-top: auto; }

.editorial-policy {
  margin-top: 48px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  background: #f5f7fa;
}

.editorial-policy h2 { font-size: 1.55rem; }

@media (max-width: 980px) {
  .evidence-hero__grid { grid-template-columns: 1fr; gap: 36px; }
  .evidence-hero__facts { grid-template-columns: repeat(3, 1fr); }
  .review-layout { grid-template-columns: 1fr; }
  .review-toc { position: static; }
  .review-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .evidence-hero { padding: 66px 0 54px; }
  .evidence-hero__facts { grid-template-columns: 1fr; }
  .review-section { padding: 48px 0 72px; }
  .review-key-points, .review-card-grid { grid-template-columns: 1fr; }
  .review-toc ol { grid-template-columns: 1fr; }
  .review-answer, .review-method, .editorial-policy { padding: 22px 20px; }
  .review-table { min-width: 620px; }
}

@media print {
  .nav, .review-toc, .section--cta, .footer, .breadcrumbs { display: none !important; }
  .evidence-hero { padding: 30px 0; background: #fff; color: #000; }
  .evidence-hero h1, .evidence-hero__lead, .evidence-hero__facts dd { color: #000; }
  .evidence-hero__eyebrow, .evidence-hero__facts dt { color: #0f6f6d; }
  .evidence-hero__facts div { background: #fff; }
  .review-layout { display: block; }
  .review-section { padding: 24px 0; }
  a { color: #000; text-decoration: underline; }
}
