/* Small additions to the existing Row Tech visual system. */
.editorial-invitation {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: start;
}
.editorial-invitation p:not(.eyebrow) { max-width: 40rem; }
.editorial-invitation h2 span { color: var(--primary, #6255ff); }
.editorial-empty .button-row { justify-content: center; margin-top: 1.5rem; }
.resource-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}
.resource-card {
  padding: 1.75rem;
  border: 1px solid #e4e4ee;
  border-radius: 1.5rem;
}
.resource-card .text-link { display: flex; width: fit-content; margin-top: 1rem; }
.resource-collection { margin-bottom: 3rem; }
.case-contribution {
  padding: 1.75rem 2rem;
  margin: 1.5rem 0;
  background: #f5f3ff;
  border-radius: 1.25rem;
}
.case-contribution h2 { font-size: 1.35rem; margin-bottom: .75rem; }
.case-contribution p { max-width: 75ch; }
.case-facts dl { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.research-question { font-weight: 500; color: #293449; }
.research-status { display: inline-block; margin-top: 1rem; font-size: .875rem; color: #536176; }
.architecture-figure {
  margin: 2rem 0;
  padding: 2rem;
  border: 1px solid #e3defc;
  border-radius: 1.5rem;
}
.architecture-sources { display: flex; justify-content: center; gap: 1rem; }
.architecture-sources span {
  flex: 1;
  padding: 1rem;
  text-align: center;
  border-radius: .75rem;
  background: #f5f3ff;
  color: #293449;
  font-weight: 600;
}
.architecture-core { display: grid; gap: .5rem; text-align: center; padding: 1.25rem; background: #eeeaff; border-radius: .75rem; }
.architecture-arrow { text-align: center; font-size: 1.75rem; margin: .5rem 0; color: #6255ff; }
.architecture-figure figcaption, .project-screenshot figcaption { font-size: .875rem; line-height: 1.6; margin-top: 1rem; color: #536176; }
.project-screenshot { margin: 2rem 0; }
.project-screenshot img { width: 100%; height: auto; border: 1px solid #e3defc; border-radius: 1rem; }
.source-note { font-size: .875rem; }
[hidden] { display: none !important; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid #6255ff; outline-offset: 4px; }
@media (max-width: 700px) {
  .hero { padding-top: 7.5rem; }
  .hero h1 { font-size: clamp(3.75rem, 18vw, 5rem); }
  .hero-manifesto { margin-top: 1.25rem; }
  .hero-description { margin-top: 1.25rem; }
  .hero .button-row { margin-top: 1.5rem; }
  .page-intro { padding-top: 8rem; padding-bottom: 1.5rem; }
  .page-intro h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .section--first { padding-top: 1rem; }
  .editorial-invitation, .resource-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .case-contribution { padding: 1.5rem; }
  .case-facts dl { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-index a, .filter-reset { min-height: 44px; display: inline-flex; align-items: center; }
  .eyebrow, .hero-subtitle, .hero-affiliation, .source-note, .case-facts dt, .case-facts dd, .project-meta { font-size: .8125rem; }
  .architecture-figure { padding: 1.25rem; }
  .architecture-sources { flex-direction: column; gap: .5rem; }
}
