/* Estilos aislados para el apartado estático de sostenibilidad. */
body.sustainability-page { padding-top: 85px; }
.sustainability {
  margin-top: 38px;
  margin-bottom: 64px;
  color: #28343a;
}
.sustainability h1 { font-size: clamp(1.8rem, 5vw, 2.5rem); }
.sustainability h2 { font-size: 1.5rem; }
.sustainability p { line-height: 1.7; }
.funding-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 28px;
  padding: 24px 0;
  margin-top: 28px;
  background: #fff;
  border-top: 1px solid #dce3e6;
}
.funding-logos img { display: block; max-width: 100%; object-fit: contain; }
.funding-primary { display: flex; align-items: center; gap: 24px; width: 100%; }
.funding-secondary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 24px 32px;
  width: 100%;
}
.funding-logos .eu-logo { width: 300px; height: auto; }
.funding-logos .recovery-logo { width: 340px; height: auto; }
.funding-logos .ministry-logo { width: 400px; height: auto; }
.funding-logos .moves-logo { width: 90px; height: auto; }
.funding-logos .region-logo { width: 180px; height: auto; }
.project-details {
  padding: 24px;
  background: #f3f6f6;
  border-left: 4px solid #357983;
  margin: 28px 0;
}
.project-details dt { margin-top: 18px; font-weight: 700; }
.project-details dt:first-child { margin-top: 0; }
.project-details dd { margin: 6px 0 0; line-height: 1.6; }
.sustainability a { text-decoration: underline; }
.sustainability a:focus-visible { outline: 3px solid #357983; outline-offset: 4px; }
@media (max-width: 767px) {
  .sustainability { margin-top: 24px; }
  .funding-primary { flex-wrap: wrap; gap: 24px; }
  .funding-secondary { flex-direction: column; align-items: flex-start; gap: 16px; }
  .funding-logos .ministry-logo { width: 100%; max-width: 400px; }
  .project-details { padding: 20px; }
}
@media print {
  body { padding-top: 0; }
  .navbar, footer { display: none; }
  .sustainability { margin-top: 0; }
  .project-details { break-inside: avoid; }
}
