/*
 * v4.37.0: controlled site-wide editorial consistency.
 * Applies only to CRMD's contemporary routes, leaving the GeoPatterns legacy
 * presentation untouched.
 */
:root {
  --gd-surface: #fff;
  --gd-surface-muted: #f7f7f7;
  --gd-border-subtle: rgba(0, 0, 0, 0.14);
  --gd-reading-measure: 78ch;
}

.gd-home-page,
.gd-members-page .gd-section--paper,
.gd-projects-page .gd-section--paper,
.gd-courses-page .gd-section--paper,
.gd-publications-page-shell .gd-section--paper,
.gd-research-main .gd-section--paper {
  background: var(--gd-surface-muted) !important;
}

.gd-members-page .gd-page-shell,
.gd-projects-page .gd-page-shell,
.gd-courses-page .gd-page-shell,
.gd-publications-page-shell .gd-page-shell,
.gd-research-main .gd-page-shell {
  width: min(100%, 1120px) !important;
}

.gd-projects-page .gd-project-list,
.gd-courses-page .gd-project-list {
  width: min(100%, 1080px);
}

.gd-projects-page .gd-project-item,
.gd-courses-page .gd-project-item {
  align-items: start;
  padding: clamp(1.5rem, 3.4vw, 2.5rem) !important;
  border: 1px solid var(--gd-border-subtle) !important;
  background: var(--gd-surface) !important;
  box-shadow: none !important;
}

.gd-projects-page .gd-project-item + .gd-project-item,
.gd-courses-page .gd-project-item + .gd-project-item {
  margin-top: clamp(0.9rem, 1.8vw, 1.35rem);
}

.gd-projects-page .gd-project-item__img,
.gd-courses-page .gd-project-item__img {
  background: #fff;
}

.gd-projects-page .gd-project-item__body > p,
.gd-courses-page .gd-project-item__body > p {
  max-width: var(--gd-reading-measure);
  line-height: 1.68;
}

.gd-projects-page .gd-project-item__body h2,
.gd-courses-page .gd-project-item__body h2 {
  max-width: 32ch;
  line-height: 1.2;
}

.gd-members-page .gd-member-group-label {
  border-left: 3px solid var(--gd-terracotta);
  background: #000;
}

/* The Romanian members route uses two source grids under one Members heading. */
.gd-members-page .gd-member-grid + .gd-member-grid {
  margin-top: calc(-1 * clamp(1.2rem, 2.2vw, 1.8rem));
}

.gd-members-page .gd-person-card {
  border-color: var(--gd-border-subtle) !important;
  background: var(--gd-surface) !important;
  box-shadow: none !important;
}

.gd-members-page .gd-person-card > div > p:not(.gd-role) {
  max-width: 64ch;
  line-height: 1.62;
}

.gd-members-page .gd-person-card img {
  border: 1px solid var(--gd-border-subtle);
}

.gd-research-main.gd-hub-directory .gd-section--paper,
.gd-srof-directory .gd-section--paper {
  padding-block: clamp(2rem, 4vw, 3.25rem) !important;
}

.gd-research-main .gd-hub-card.gd-hub-card--visual {
  overflow: hidden;
  border-color: var(--gd-border-subtle) !important;
  background: var(--gd-surface) !important;
  box-shadow: none !important;
}

.gd-research-main .gd-hub-card--visual .gd-hub-card__visual {
  object-fit: cover;
  object-position: center;
}

.gd-research-main .gd-hub-card--visual .gd-hub-card__copy {
  text-align: left !important;
}

.gd-publications-page-shell .gd-publication-book-grid figure {
  border: 1px solid var(--gd-border-subtle) !important;
  background: var(--gd-surface) !important;
  box-shadow: none !important;
}

.gd-publications-page-shell .gd-publication-book-grid img {
  object-fit: contain;
}

a:focus-visible,
summary:focus-visible,
button:focus-visible {
  outline: 3px solid var(--gd-terracotta) !important;
  outline-offset: 3px;
}

@media (hover: hover) {
  .gd-projects-page .gd-project-item,
  .gd-courses-page .gd-project-item,
  .gd-members-page .gd-person-card,
  .gd-research-main .gd-hub-card.gd-hub-card--visual {
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
  }

  .gd-projects-page .gd-project-item:hover,
  .gd-courses-page .gd-project-item:hover,
  .gd-members-page .gd-person-card:hover,
  .gd-research-main .gd-hub-card.gd-hub-card--visual:hover {
    border-color: rgba(0, 0, 0, 0.42) !important;
    box-shadow: 0 0.5rem 1.25rem rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px);
  }
}

@media (max-width: 760px) {
  .gd-projects-page .gd-project-item,
  .gd-courses-page .gd-project-item {
    padding: 1rem !important;
  }

  .gd-members-page .gd-member-grid + .gd-member-grid {
    margin-top: -1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gd-projects-page .gd-project-item,
  .gd-courses-page .gd-project-item,
  .gd-members-page .gd-person-card,
  .gd-research-main .gd-hub-card.gd-hub-card--visual {
    transition: none !important;
  }
}
