.ccrcc-page-modules {
  margin-block: clamp(2rem, 5vw, 5rem);
}

.ccrcc-internal-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    linear-gradient(132deg, color-mix(in srgb, var(--ccrcc-art-deep) 95%, transparent), color-mix(in srgb, var(--ccrcc-art-primary) 78%, #111)),
    var(--ccrcc-art-pattern),
    var(--ccrcc-art-deep);
  color: var(--ccrcc-art-on-primary);
}

.ccrcc-internal-hero :where(.ccrcc-breadcrumb, .ccrcc-breadcrumb a, .ccrcc-eyebrow) {
  color: var(--ccrcc-art-on-primary);
}

.ccrcc-internal-hero::after {
  position: absolute;
  z-index: -1;
  inset: auto -8rem -10rem auto;
  width: clamp(18rem, 42vw, 38rem);
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--ccrcc-art-highlight) 38%, transparent);
  border-radius: 50%;
  background: radial-gradient(circle, color-mix(in srgb, var(--ccrcc-art-highlight) 15%, transparent), transparent 68%);
  content: "";
  pointer-events: none;
}

.ccrcc-internal-hero__inner {
  display: grid;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  max-width: 72rem;
  margin-inline: auto;
  padding: clamp(2rem, 6vw, 5rem) clamp(1rem, 4vw, 2.5rem);
}

.ccrcc-internal-hero__copy {
  align-content: center;
  display: grid;
  gap: 1rem;
}

.ccrcc-internal-hero__identity img {
  display: block;
  width: auto;
  max-width: min(14rem, 58vw);
  height: auto;
  max-height: 8rem;
  object-fit: contain;
}

.ccrcc-internal-hero--circular .ccrcc-internal-hero__identity img {
  width: 6.75rem;
  height: 6.75rem;
  border-radius: 50%;
}

.ccrcc-internal-hero--compact .ccrcc-internal-hero__identity img { max-width: 11rem; }
.ccrcc-internal-hero--wide .ccrcc-internal-hero__identity img { max-width: 16rem; }
.ccrcc-internal-hero--typographic .ccrcc-internal-hero__wordmark { font-weight: 800; }

.ccrcc-internal-hero__title {
  max-width: 18ch;
  margin: 0;
  color: inherit;
  font-size: clamp(2.25rem, 7vw, 5.5rem);
  line-height: 0.98;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.ccrcc-internal-hero__summary {
  max-width: 58ch;
  margin: 0;
  font-size: clamp(1rem, 2vw, 1.25rem);
}

.ccrcc-internal-hero__media {
  overflow: hidden;
  min-height: 15rem;
  margin: 0;
  border-radius: var(--ccrcc-art-radius);
}

.ccrcc-internal-hero__media img {
  width: 100%;
  height: 100%;
  filter: var(--ccrcc-photo-treatment);
  object-fit: cover;
  object-position: var(--ccrcc-hero-media-position, center);
}

.ccrcc-internal-hero--composition-typographic .ccrcc-internal-hero__inner {
  max-width: 68rem;
  min-height: clamp(24rem, 55vw, 38rem);
}

.ccrcc-internal-hero--composition-typographic .ccrcc-internal-hero__copy {
  max-width: 60rem;
}

.ccrcc-internal-hero--composition-panoramic .ccrcc-internal-hero__media {
  min-height: clamp(20rem, 52vw, 38rem);
}

.ccrcc-internal-hero--composition-documentary .ccrcc-internal-hero__media {
  border: 1px solid color-mix(in srgb, var(--ccrcc-art-highlight) 34%, transparent);
  box-shadow: var(--ccrcc-shadow);
}

/*
 * Premium editorial canvas for legacy page content.
 * The rules intentionally target direct children only so block-based modules,
 * forms and dynamic listings retain their own layouts.
 */
.ccrcc-page-body {
  position: relative;
  isolation: isolate;
  width: min(100% - 2rem, 72rem);
  margin-block: clamp(2.5rem, 6vw, 5.5rem);
}

.ccrcc-page-body::before {
  position: absolute;
  z-index: -1;
  inset: -1.1rem -0.75rem auto auto;
  width: clamp(7rem, 15vw, 11rem);
  aspect-ratio: 1;
  border: 1px solid color-mix(in srgb, var(--ccrcc-art-highlight) 28%, transparent);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    color-mix(in srgb, var(--ccrcc-art-highlight) 13%, transparent),
    transparent 68%
  );
  content: "";
  pointer-events: none;
}

@media (max-width: 40rem) {
  .ccrcc-page-body::before {
    inset-inline-end: 0;
  }

  .ccrcc-internal-hero::after {
    inset-inline-end: 0;
    width: min(24rem, 100%);
  }
}

.ccrcc-page-body > .entry-content {
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 3.75rem);
  border: 1px solid color-mix(in srgb, var(--ccrcc-art-primary) 16%, transparent);
  border-radius: clamp(1.15rem, 2.4vw, 2rem);
  background:
    linear-gradient(
      145deg,
      rgb(255 255 255 / 98%) 0 72%,
      color-mix(in srgb, var(--ccrcc-art-warm, #fff3dd) 62%, #fff) 72% 100%
    ),
    var(--ccrcc-art-pattern);
  box-shadow: 0 1.4rem 3.5rem color-mix(in srgb, var(--ccrcc-art-deep, #12243a) 13%, transparent);
}

.ccrcc-page-body > .entry-content > p:first-child {
  position: relative;
  max-width: 58ch;
  margin-block: 0 clamp(2rem, 4vw, 3.25rem);
  padding: clamp(1.2rem, 2.5vw, 1.75rem) clamp(1.2rem, 3vw, 2rem);
  border-inline-start: 0.35rem solid var(--ccrcc-art-highlight, var(--ccrcc-art-primary));
  border-radius: 0.25rem 1rem 1rem 0.25rem;
  background: color-mix(in srgb, var(--ccrcc-art-primary) 7%, #fff);
  color: var(--ccrcc-art-deep, #12243a);
  font-size: clamp(1.08rem, 1.9vw, 1.32rem);
  font-weight: 620;
  line-height: 1.6;
}

.ccrcc-page-body > .entry-content > h2 {
  display: grid;
  grid-template-columns: auto minmax(2rem, 1fr);
  gap: 0.8rem;
  align-items: center;
  margin-block: clamp(2rem, 4vw, 3.25rem) 1rem;
  color: var(--ccrcc-art-deep, #12243a);
  font-size: clamp(1.45rem, 2.8vw, 2.2rem);
  line-height: 1.15;
  text-wrap: balance;
}

.ccrcc-page-body > .entry-content > h2::after {
  height: 1px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--ccrcc-art-highlight) 72%, transparent),
    transparent
  );
  content: "";
}

.ccrcc-page-body > .entry-content > :is(ul, ol) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: 0.9rem;
  margin-block: 1.25rem 0;
  padding: 0;
  list-style: none;
}

.ccrcc-page-body > .entry-content > :is(ul, ol) > li {
  position: relative;
  min-height: 100%;
  margin: 0;
  padding: 1rem 1rem 1rem 2.65rem;
  border: 1px solid color-mix(in srgb, var(--ccrcc-art-primary) 16%, transparent);
  border-radius: 0.9rem;
  background: rgb(255 255 255 / 88%);
  box-shadow: 0 0.6rem 1.5rem color-mix(in srgb, var(--ccrcc-art-deep, #12243a) 7%, transparent);
}

.ccrcc-page-body > .entry-content > :is(ul, ol) > li::before {
  position: absolute;
  inset: 1.05rem auto auto 1rem;
  display: grid;
  width: 1.15rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: var(--ccrcc-art-highlight, var(--ccrcc-art-primary));
  color: var(--ccrcc-art-deep, #12243a);
  content: "";
  box-shadow: 0 0 0 0.25rem color-mix(in srgb, var(--ccrcc-art-highlight) 18%, transparent);
}

.ccrcc-page-body > .entry-content > :is(figure, .wp-block-image) {
  overflow: hidden;
  border-radius: var(--ccrcc-art-radius, 1.25rem);
  box-shadow: var(--ccrcc-shadow);
}

@media (max-width: 40rem) {
  .ccrcc-page-body {
    width: min(100% - 1rem, 72rem);
  }

  .ccrcc-page-body > .entry-content {
    padding: 1.25rem;
    border-radius: 1.1rem;
  }

  .ccrcc-page-body > .entry-content > h2 {
    grid-template-columns: 1fr;
  }

  .ccrcc-page-body > .entry-content > h2::after {
    width: 4rem;
  }
}

@media (min-width: 48rem) {
  .ccrcc-internal-hero--composition-editorial-split .ccrcc-internal-hero__inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(18rem, 0.9fr);
  }

  .ccrcc-internal-hero--composition-documentary .ccrcc-internal-hero__inner {
    grid-template-columns: minmax(0, 0.85fr) minmax(22rem, 1.15fr);
  }

  .ccrcc-internal-hero--composition-panoramic .ccrcc-internal-hero__inner {
    grid-template-columns: minmax(16rem, 0.68fr) minmax(0, 1.32fr);
    max-width: 80rem;
  }

  .ccrcc-internal-hero--composition-panoramic .ccrcc-internal-hero__media {
    margin-block: -2rem;
    border-radius: 0 0 0 var(--ccrcc-art-radius);
  }
}

.ccrcc-page-modules:empty {
  display: none;
}

.ccrcc-page-module {
  min-width: 0;
  scroll-margin-top: 6rem;
}

.ccrcc-page-module:empty {
  display: none;
}

.ccrcc-page-module + .ccrcc-page-module {
  margin-block-start: clamp(2rem, 5vw, 4rem);
}

.ccrcc-page-module--hero,
.ccrcc-page-module--cta {
  grid-column: 1 / -1;
}

.ccrcc-family-layout {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
}

.ccrcc-family-layout:empty,
.ccrcc-module:empty,
.ccrcc-module article:empty {
  display: none;
}

.ccrcc-module--warm-cards,
.ccrcc-module--history-preview {
  background: var(--ccrcc-art-warm, #fff3dd);
}

.ccrcc-module--milestone-rail {
  border-inline-start: 0.35rem solid var(--ccrcc-art-secondary, #8b4c20);
}

.ccrcc-module--portrait-grid {
  background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ccrcc-art-primary) 7%, #fff));
}

.ccrcc-module--document-shelf {
  border-top: 0.35rem solid var(--ccrcc-art-primary);
  box-shadow: none;
}

.ccrcc-module--contact-panel {
  background: linear-gradient(135deg, var(--ccrcc-art-primary), color-mix(in srgb, var(--ccrcc-art-primary) 74%, #111));
  color: var(--ccrcc-art-on-primary);
}

.ccrcc-module--territory-directory,
.ccrcc-module--network-directory {
  grid-column: 1 / -1;
  border: 0;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--ccrcc-art-primary) 7%, #fff), #fff),
    var(--ccrcc-art-pattern);
  box-shadow: var(--ccrcc-shadow);
}

.ccrcc-module--editorial-grid {
  border-top: 0.35rem solid var(--ccrcc-art-secondary, var(--ccrcc-art-primary));
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--ccrcc-art-warm, #fff3dd) 82%, transparent) 0 7rem, transparent 7.1rem),
    #fff;
}

.ccrcc-module--blog-stream {
  border-top: 0.4rem solid var(--ccrcc-art-primary);
  background:
    linear-gradient(145deg, #fff 0 78%, color-mix(in srgb, var(--ccrcc-art-warm, #fff3dd) 72%, #fff) 78% 100%);
}

.ccrcc-module--blog-stream .ccrcc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ccrcc-module--program-pathway {
  border: 0;
  background: color-mix(in srgb, var(--ccrcc-art-primary) 8%, #fff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ccrcc-art-primary) 18%, transparent);
}

.ccrcc-module--program-pathway .ccrcc-module-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}

.ccrcc-module--editorial-grid .ccrcc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ccrcc-module--memory-mosaic {
  border: 0;
  background: linear-gradient(145deg, var(--ccrcc-art-primary), color-mix(in srgb, var(--ccrcc-art-primary) 72%, #111));
  color: var(--ccrcc-art-on-primary, #fff);
}

.ccrcc-module--gallery-mosaic {
  border: 0;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--ccrcc-art-deep) 94%, transparent), color-mix(in srgb, var(--ccrcc-art-primary) 75%, #111)),
    var(--ccrcc-art-pattern);
  color: var(--ccrcc-art-on-primary, #fff);
}

.ccrcc-module--gallery-mosaic :is(h2, h3, p, a) {
  color: inherit;
}

.ccrcc-module--gallery-mosaic .ccrcc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.75rem;
}

.ccrcc-module--event-calendar {
  border: 0;
  background:
    linear-gradient(90deg, var(--ccrcc-art-highlight) 0 0.45rem, transparent 0.45rem),
    color-mix(in srgb, var(--ccrcc-art-warm) 78%, #fff);
}

.ccrcc-module--event-calendar .ccrcc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ccrcc-module--metric-proof-band {
  border: 0;
  background: color-mix(in srgb, var(--ccrcc-art-primary) 8%, #fff);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ccrcc-art-primary) 18%, transparent);
}

.ccrcc-module--partner-constellation {
  border: 1px solid color-mix(in srgb, var(--ccrcc-art-highlight) 32%, transparent);
  background:
    radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--ccrcc-art-highlight) 16%, transparent) 0 5rem, transparent 5.1rem),
    #fff;
}

.ccrcc-module--contact-panel {
  border: 0;
  background:
    linear-gradient(135deg, var(--ccrcc-art-deep), color-mix(in srgb, var(--ccrcc-art-primary) 78%, #111)),
    var(--ccrcc-art-pattern);
  color: var(--ccrcc-art-on-primary);
  box-shadow: var(--ccrcc-shadow);
}

.ccrcc-module--memory-mosaic :is(h2, h3, p, a) {
  color: inherit;
}

.ccrcc-module--memory-mosaic .ccrcc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: 0.75rem;
}

.ccrcc-family--history .ccrcc-module,
.ccrcc-family--institutional .ccrcc-module {
  background:
    linear-gradient(145deg, #fff 0 72%, color-mix(in srgb, var(--ccrcc-local-accent) 8%, #fff) 72% 100%);
}

.ccrcc-family--governance .ccrcc-module,
.ccrcc-family--team .ccrcc-module {
  border-top: 0.3rem solid var(--ccrcc-local-accent, #003b73);
}

.ccrcc-module {
  border: 1px solid rgb(0 59 115 / 12%);
  border-radius: var(--ccrcc-radius-card, 1rem);
  background: #fff;
  box-shadow: var(--ccrcc-shadow-card, 0 0.75rem 2rem rgb(16 24 40 / 8%));
  padding: clamp(1.25rem, 3vw, 2.5rem);
}

.ccrcc-module:nth-child(even) {
  background: var(--ccrcc-surface-warm, #fff8ed);
}

.ccrcc-module > :first-child {
  margin-top: 0;
}

.ccrcc-module > :last-child {
  margin-bottom: 0;
}

.ccrcc-module-grid,
.ccrcc-person-grid,
.ccrcc-partner-grid,
.ccrcc-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: clamp(1rem, 2.5vw, 1.75rem);
}

.ccrcc-module-grid > :only-child {
  max-width: min(100%, 36rem);
}

.ccrcc-module-grid > :last-child:nth-child(odd) {
  grid-column: auto / span 1;
}

.ccrcc-person-card,
.ccrcc-program-card,
.ccrcc-partner-card,
.ccrcc-metric-card {
  overflow: hidden;
  border: 1px solid rgb(0 59 115 / 12%);
  border-radius: 0.85rem;
  background: #fff;
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.ccrcc-person-card:hover,
.ccrcc-program-card:hover,
.ccrcc-partner-card:hover {
  transform: translateY(-0.2rem);
  box-shadow: 0 0.75rem 1.75rem rgb(16 24 40 / 12%);
}

.ccrcc-person-card img,
.ccrcc-program-card img,
.ccrcc-partner-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.ccrcc-person-card__body,
.ccrcc-program-card__body,
.ccrcc-partner-card__body,
.ccrcc-metric-card {
  padding: 1.1rem;
}

.ccrcc-timeline,
.ccrcc-document-list {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.ccrcc-timeline li {
  position: relative;
  border-inline-start: 0.2rem solid var(--ccrcc-local-accent, #0077b6);
  padding: 0 0 1.5rem 1.25rem;
}

.ccrcc-timeline li::before {
  position: absolute;
  top: 0.35rem;
  left: -0.55rem;
  width: 0.9rem;
  height: 0.9rem;
  border: 0.2rem solid #fff;
  border-radius: 50%;
  background: var(--ccrcc-local-accent, #0077b6);
  box-shadow: 0 0 0 0.1rem var(--ccrcc-local-accent, #0077b6);
  content: '';
}

.ccrcc-document-list li + li {
  border-top: 1px solid rgb(16 24 40 / 12%);
}

.ccrcc-document-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-block: 1rem;
  color: #003b73;
  font-weight: 700;
}

.ccrcc-metric-card strong {
  display: block;
  color: #003b73;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1;
}

.ccrcc-contextual-cta {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1.5rem;
  border-radius: var(--ccrcc-radius-card, 1rem);
  background: #003b73;
  color: #fff;
  padding: clamp(1.5rem, 4vw, 3rem);
}

.ccrcc-contextual-cta .ccrcc-eyebrow {
  color: #fff;
}

.ccrcc-network-directory,
.ccrcc-network-directory__resources,
.ccrcc-network-directory__grid,
.ccrcc-network-directory__filters,
.ccrcc-directory-resource,
.ccrcc-directory-card,
.ccrcc-directory-card__body {
  min-inline-size: 0;
  max-inline-size: 100%;
  box-sizing: border-box;
}

.ccrcc-network-directory :where(h2, p, a, span) {
  overflow-wrap: anywhere;
}

.ccrcc-network-directory__filters :where(label, select, button) {
  min-inline-size: 0;
  max-inline-size: 100%;
}

.ccrcc-family-layout > .ccrcc-contextual-cta:only-child {
  margin-top: 0;
}

.ccrcc-contextual-cta a {
  border-radius: 0.65rem;
  background: #f7c948;
  color: #101828;
  padding: 0.8rem 1.1rem;
  font-weight: 800;
  text-decoration: none;
}

.ccrcc-social-presence__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: 1rem;
}

.ccrcc-social-card {
  display: grid;
  align-content: start;
  gap: 0.85rem;
  border: 1px solid color-mix(in srgb, var(--ccrcc-local-accent, #003b73) 22%, #fff);
  border-radius: 0.9rem;
  background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--ccrcc-local-accent, #003b73) 6%, #fff));
  padding: 1.1rem;
}

.ccrcc-social-card__platform {
  margin: 0;
  color: #344054;
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ccrcc-social-card h3,
.ccrcc-social-card a {
  margin: 0;
}

.ccrcc-social-card a {
  color: #003b73;
  font-weight: 750;
}

.ccrcc-social-embed {
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 0.7rem;
  background: #f2f4f7;
  min-height: 12rem;
  padding: 1rem;
  text-align: center;
}

.ccrcc-social-embed.is-loaded {
  aspect-ratio: 4 / 3;
  padding: 0;
}

.ccrcc-social-embed__consent {
  display: grid;
  justify-items: center;
  gap: 0.75rem;
  max-width: 30rem;
}

.ccrcc-social-embed__consent p {
  margin: 0;
  color: #344054;
  font-size: 0.92rem;
}

.ccrcc-social-embed__consent button {
  border: 0;
  border-radius: 999px;
  background: var(--ccrcc-local-accent, #003b73);
  color: #fff;
  cursor: pointer;
  padding: 0.7rem 1rem;
  font: inherit;
  font-weight: 800;
}

.ccrcc-social-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.ccrcc-page-modules :focus-visible {
  outline: 0.2rem solid #ce1126;
  outline-offset: 0.2rem;
}

@media (max-width: 640px) {
  .ccrcc-contextual-cta {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ccrcc-page-modules *,
  .ccrcc-page-modules *::before,
  .ccrcc-page-modules *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01s !important;
    animation-duration: 0.01s !important;
    animation-iteration-count: 1 !important;
  }
}
/* Shared premium feature band: content remains supplied by verified modules. */
.ccrcc-module--feature-band {
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--ccrcc-art-highlight) 18%, transparent) 0 5rem, transparent 5.1rem),
    linear-gradient(135deg, color-mix(in srgb, var(--ccrcc-art-surface-warm) 82%, #fff), #fff 72%);
  border-block-start: 0.3rem solid var(--ccrcc-art-highlight);
  overflow: clip;
}

.ccrcc-module--feature-band .ccrcc-module-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

@media (max-width: 48rem) {
  .ccrcc-module--feature-band .ccrcc-module-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
