/* Public entity articles: communities, projects, events, workshops */
.pe-hero {
  position: relative;
  min-height: 280px;
  display: flex;
  align-items: flex-end;
  color: #fff;
  overflow: hidden;
  border-radius: 0 0 28px 28px;
  margin-bottom: 2rem;
}
.pe-hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
}
.pe-hero-bg::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(16,12,36,.15) 0%, rgba(16,12,36,.78) 100%);
}
.pe-hero .container { position: relative; z-index: 1; padding-bottom: 2.2rem; padding-top: 7rem; }
.pe-kicker {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2);
  padding: .25rem .7rem; border-radius: 999px; margin-bottom: .75rem;
}
.pe-hero h1 { color: #fff; font-weight: 800; letter-spacing: -.03em; }
.pe-hero .lead { color: rgba(255,255,255,.88); max-width: 40rem; }
.pe-article {
  background: #fff;
  border: 1px solid rgba(93,87,158,.1);
  border-radius: 20px;
  padding: 1.75rem 1.85rem;
  box-shadow: 0 12px 40px rgba(28,24,48,.05);
}
.pe-article h2, .pe-article h3, .pe-article h4 {
  color: #241f38; letter-spacing: -.02em; margin-top: 1.4rem;
}
.pe-article p { color: #3c3854; font-size: 1.05rem; line-height: 1.8; }
.pe-article a { color: #5D579E; }
.pe-side {
  background: #fff;
  border: 1px solid rgba(93,87,158,.1);
  border-radius: 20px;
  padding: 1.25rem 1.35rem;
}
.pe-related a {
  display: block; text-decoration: none; color: inherit;
  padding: .75rem 0; border-bottom: 1px solid #f0eef6;
}
.pe-related a:last-child { border-bottom: 0; }
.pe-links a {
  display: flex; align-items: center; gap: .5rem;
  padding: .45rem 0; color: #5D579E; text-decoration: none; font-weight: 600;
}
.pe-video {
  position: relative; border-radius: 16px; overflow: hidden;
  aspect-ratio: 16/9; background: #111; margin: 1rem 0;
}
.pe-video iframe, .pe-video video { width: 100%; height: 100%; border: 0; }
.public-entity-card .public-cover-card {
  min-height: 168px;
  background-size: cover;
  background-position: center;
}
.public-entity-card {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(28,24,48,.07);
  overflow: hidden;
}
.public-entity-card h5 { font-weight: 750; letter-spacing: -.02em; }
.in-hero {
  background: linear-gradient(135deg, #5D579E 0%, #01696f 100%);
  color: #fff;
}
.in-hero h1, .in-hero .lead, .in-hero p { color: #fff; }
.in-hero a { color: #fff; }
.in-touch-hero { padding: 110px 0 72px; }
.in-touch-kicker {
  letter-spacing: .16em; text-transform: uppercase; font-size: .78rem;
  opacity: .82; margin-bottom: .6rem; font-weight: 650;
}
.in-touch-team { padding: 4rem 0 2rem; }
.in-touch-card {
  background: #fff; border: 1px solid rgba(28,24,48,.08); border-radius: 18px;
  padding: 1.5rem 1.4rem 1.35rem; box-shadow: 0 10px 30px rgba(28,24,48,.06);
  height: 100%; display: flex; flex-direction: column;
}
.in-touch-avatar {
  width: 56px; height: 56px; border-radius: 50%;
  display: grid; place-items: center; font-weight: 750; letter-spacing: .04em;
  background: color-mix(in srgb, var(--in-primary, #5D579E) 16%, #fff);
  color: var(--in-primary, #5D579E); margin-bottom: .75rem;
}
.in-touch-role {
  font-size: .78rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--in-accent, #01696f); font-weight: 650; margin-bottom: .25rem;
}
.in-touch-card h3 { font-size: 1.35rem; font-weight: 750; letter-spacing: -.02em; margin-bottom: .5rem; }
.in-touch-card p { color: #5c5870; flex: 1; }
.in-touch-actions { display: flex; flex-direction: column; align-items: flex-start; gap: .35rem; margin-top: .75rem; }
.in-touch-link { font-size: .9rem; color: var(--in-primary, #5D579E); text-decoration: none; word-break: break-all; }
.in-touch-link:hover { text-decoration: underline; }
.in-touch-form-card, .in-touch-inbox-card {
  background: #fff; border: 1px solid rgba(28,24,48,.08); border-radius: 18px;
  padding: 1.6rem 1.5rem; box-shadow: 0 10px 30px rgba(28,24,48,.06);
}
.in-touch-inbox-card h2 { font-size: 1.25rem; font-weight: 750; margin-bottom: 1rem; }
.in-touch-inbox-links { display: flex; flex-direction: column; gap: .65rem; }
.in-touch-inbox-links a {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .5rem;
  color: inherit; text-decoration: none; padding: .65rem .8rem;
  border-radius: 12px; background: #f6f5fb;
}
.in-touch-inbox-links a:hover { background: color-mix(in srgb, var(--in-primary, #5D579E) 10%, #fff); }
.in-touch-inbox-links i { color: var(--in-primary, #5D579E); }
