/* Shared public-card system: aligned surfaces, consistent rhythm and restrained motion. */
:root {
  --card-radius: 14px;
  --card-border: rgba(17, 24, 39, .09);
  --card-shadow: 0 3px 14px rgba(17, 24, 39, .07);
  --card-shadow-hover: 0 10px 26px rgba(17, 24, 39, .12);
}

html {
  scroll-padding-top: calc(var(--header-h, 76px) + 16px);
}

main :is(.card, .dm-card, .news-df-card, .event-full-card, .event-card,
  .member-card, .goal-card, .p-card, .pl-card, .project-card, .doc-card,
  .gallery-album, .value-card, .pillar-card, .current-gestao-card,
  .org-chart-card, .summary-item) {
  min-width: 0;
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
  transition: box-shadow .22s ease, border-color .22s ease, transform .22s ease;
}

main :is(.card, .dm-card, .news-df-card, .event-full-card, .event-card,
  .member-card, .goal-card, .p-card, .pl-card, .project-card, .doc-card,
  .gallery-album, .value-card, .pillar-card, .current-gestao-card,
  .org-chart-card, .summary-item):hover {
  border-color: rgba(200, 169, 110, .4);
  box-shadow: var(--card-shadow-hover);
  transform: translateY(-3px);
}

main :is(.card, .dm-card, .news-df-card, .event-full-card, .event-card,
  .member-card, .goal-card, .p-card, .project-card, .doc-card,
  .gallery-album, .value-card, .pillar-card, .current-gestao-card,
  .org-chart-card) {
  overflow: hidden;
}

main :is(.dm-card, .news-df-card, .event-full-card, .member-card, .goal-card,
  .p-card, .project-card, .doc-card, .gallery-album, .value-card, .pillar-card,
  .org-chart-card, .summary-item) {
  height: 100%;
}

main :is(.dm-card, .news-df-card, .event-full-card, .member-card, .goal-card,
  .p-card, .project-card, .doc-card, .gallery-album) {
  display: flex;
  flex-direction: column;
}

main :is(.dm-card, .news-df-card, .event-full-card, .member-card, .goal-card,
  .p-card, .project-card, .doc-card, .gallery-album) :is(h3, h4, p) {
  min-width: 0;
  overflow-wrap: anywhere;
}

main :is(.dm-card-img-wrap, .news-df-img, .event-full-img) {
  aspect-ratio: 16 / 9;
  flex: none;
  background: linear-gradient(135deg, #eef2ee, #f8f8f5);
}

main .dm-card-img-wrap {
  overflow: visible;
}

main .dm-card-img-wrap > img {
  transition: none;
}

main .dm-card:hover .dm-card-img-wrap > img {
  transform: none;
}

main :is(.dm-card-img-wrap, .news-df-img, .event-full-img) > img:not(.shield-placeholder) {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 8px;
}

main :is(.dm-card, .news-df-card, .event-full-card, .member-card, .goal-card,
  .project-card, .doc-card, .gallery-album) :is(.dm-card-content, .news-df-body,
  .event-full-body, .member-info, .goal-card-body, .project-card-body,
  .doc-card-content, .gallery-album-info) {
  flex: 1;
}

main :is(.dm-card, .news-df-card, .event-full-card, .member-card, .goal-card,
  .project-card, .doc-card, .gallery-album) :is(.dm-card-link, .news-df-read,
  .doc-download, .pc-more) {
  margin-top: auto;
}

main :is(.dm-card:hover, .news-df-card:hover, .event-full-card:hover,
  .member-card:hover, .goal-card:hover, .p-card:hover, .project-card:hover,
  .gallery-album:hover) {
  transform: translateY(-3px);
}

main .member-avatar {
  aspect-ratio: 4 / 3;
  overflow: visible;
}

main .member-avatar img:not(.member-photo-fallback) {
  object-fit: contain;
  object-position: center;
}

main .member-info,
main .gallery-album-info,
main .doc-card-content,
main .event-full-body,
main .project-card-body,
main .goal-card-body {
  padding: 20px;
}

main .member-info,
main .gallery-album-info,
main .doc-card-content,
main .event-full-body,
main .project-card-body,
main .goal-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 9px;
}

main .member-info h4,
main .gallery-album-info h4,
main .doc-card-content h4 {
  margin: 0;
  line-height: 1.4;
}

main .member-role,
main .gallery-album-category,
main .doc-card-category,
main .event-type {
  letter-spacing: .07em;
}

main .event-details {
  gap: 8px;
  padding: 14px 20px;
  background: #fafaf8;
}

main .event-full-body > p,
main .project-card-body > p,
main .goal-card-body > p,
main .doc-card-content > p {
  line-height: 1.65;
}

main .pc-cover {
  min-height: 104px;
}

main .pc-cover img,
main .doc-card-cover img,
main .gallery-album-thumb img:not(.gallery-album-seal),
main .gallery-item > img {
  object-fit: contain;
  object-position: center;
}

main .project-card-cover {
  height: 82px;
  position: relative;
  background: linear-gradient(135deg, #0f4528, #2d5c3a);
}

main .project-card-cover.has-cover {
  height: auto;
  aspect-ratio: 16 / 9;
  background: #edf0ed;
}

main .project-cover-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
}

main .project-card-cover.has-cover .project-card-seal {
  display: none;
}

main .goal-card-cover.has-cover {
  background: #edf0ed;
}

main .goal-cover-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 8px;
  object-fit: contain;
}

main .goal-card-cover.has-cover .goal-card-seal {
  display: none;
}

main .project-card-seal {
  left: auto;
  right: 18px;
  bottom: 16px;
}

main .gallery-album-thumb .gallery-album-seal {
  bottom: 12px;
}

main .current-gestao-card,
main .org-chart-card {
  overflow: visible;
}

main .pc-shield {
  display: none;
}

main .news-df-img img.news-image-fallback {
  padding: 20px;
  object-fit: contain;
  background: linear-gradient(135deg, #eef2ee, #f8f8f5);
}

main .pl-card {
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

main .pl-card:hover {
  transform: translateY(-2px);
}

main .pl-icon {
  overflow: hidden;
}

main .doc-download,
main .dm-card-link,
main .news-df-read,
main .pc-more {
  font-weight: 700;
  transition: color .2s ease, border-color .2s ease, background-color .2s ease;
}

main .gallery-item {
  border-radius: var(--card-radius);
  box-shadow: var(--card-shadow);
}

main .journey-grid {
  gap: 18px;
}

main .journey-item {
  min-height: 100%;
  border: 1px solid rgba(200, 169, 110, .24);
  border-radius: var(--card-radius);
  box-shadow: 0 4px 14px rgba(0, 0, 0, .12);
  transition: box-shadow .22s ease, transform .22s ease, background-color .22s ease;
}

main .journey-item:hover {
  box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
  transform: translateY(-3px);
}

main .current-gestao-card p,
main .org-chart-card h3,
main .member-info,
main .member-info p {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

main .current-gestao-card .card-body {
  min-width: 0;
  max-width: 100%;
}

main .pillar-card,
main .value-card,
main .org-chart-card,
main .summary-item {
  padding: 24px;
}

main .pillar-card,
main .value-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

main .pillar-card .pillar-icon,
main .value-card .value-icon {
  margin-bottom: 16px;
}

main .impact-grid {
  gap: 12px;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

main .impact-item {
  border: 1px solid rgba(200, 169, 110, .2);
  border-radius: var(--card-radius);
  background: rgba(255, 255, 255, .035);
  transition: background-color .2s ease, border-color .2s ease;
}

main .impact-item:hover {
  border-color: rgba(200, 169, 110, .38);
  background: rgba(200, 169, 110, .07);
}

main :is(.btn-ver-mais, .doc-download) {
  transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
}

main .news-df-img,
main .event-full-img,
main .dm-card-img-wrap {
  background: #edf0ed;
}

#eventos-h,
#events-container,
.event-full-card[id] {
  scroll-margin-top: calc(var(--header-h, 70px) + 24px);
}

.management-message-section .leadership-message {
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .22);
  border-left-color: var(--gold);
}

.management-message-section .leadership-message p {
  color: #fff !important;
  text-align: left;
  font-size: clamp(1rem, 1.8vw, 1.125rem);
  line-height: 1.8;
}

@media (max-width: 768px) {
  main .impact-grid {
    gap: 8px;
  }

  main .impact-item {
    padding: 26px 14px;
  }
}

@media (max-width: 580px) {
  main :is(.dm-card-content, .news-df-body, .event-full-body, .member-info,
    .goal-card-body, .project-card-body, .doc-card-content, .gallery-album-info) {
    padding: 18px;
  }

  main .event-full-img {
    aspect-ratio: 16 / 10;
  }

  main .impact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  main :is(.card, .dm-card, .news-df-card, .event-full-card, .event-card,
    .member-card, .goal-card, .p-card, .pl-card, .project-card, .doc-card,
    .gallery-album, .value-card, .pillar-card, .journey-item, .org-chart-card) {
    transition: none;
  }

  main :is(.card, .dm-card, .news-df-card, .event-full-card, .event-card,
    .member-card, .goal-card, .p-card, .pl-card, .project-card, .doc-card,
    .gallery-album, .value-card, .pillar-card, .journey-item, .org-chart-card):hover {
    transform: none;
  }
}
