@layer page {
/* Shared participation components; domain files retain ownership of their content. */
.contour-experience {
  --contour-ink: #10213a;
  --contour-muted: #52647a;
  --contour-blue: #2455d6;
  --contour-line: #dce4ee;
  --contour-soft: #f4f7fb;
  --contour-radius: 0.75rem;
  --contour-section-space: clamp(3rem, 5vw, 5rem);
  --editorial-edge: clamp(1.25rem, 5vw, 5rem);
}

.contour-experience :focus-visible {
  outline: 3px solid #367bfa;
  outline-offset: 4px;
}

.contour-experience :target {
  scroll-margin-top: calc(var(--public-sticky-stack-offset, 9rem) + 1.5rem);
}

.contour-cover__caption { padding: 1.5rem 1.75rem; }
.contour-cover__caption > p { margin: 0 0 0.65rem; color: var(--contour-muted); }
.contour-cover__caption > strong { display: block; max-width: 24ch; font-size: 1.625rem; font-weight: 700; line-height: 1.3; }
.contour-cover__caption ol { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; margin: 1.25rem 0 0; border-top: 1px solid var(--contour-line); padding: 1rem 0 0; list-style: none; }
.contour-cover__caption li { display: flex; gap: 0.4rem; font-size: 0.875rem; }
.contour-cover__caption li > span { color: var(--contour-blue); font-variant-numeric: tabular-nums; }

.contour-journey { padding: 0 var(--editorial-edge) var(--contour-section-space); }
.contour-journey__heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: end; gap: 2rem; margin-bottom: 2rem; }
.contour-eyebrow { margin: 0 0 0.875rem; color: var(--contour-blue); text-transform: uppercase; }
.contour-journey__heading h2 { max-width: 24ch; margin: 0; }
.contour-journey__heading > p { max-width: 45ch; margin: 0; color: var(--contour-muted); }
.contour-journey__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.contour-journey-card { display: flex; min-width: 0; flex-direction: column; border: 1px solid var(--contour-line); border-radius: var(--contour-radius); padding: clamp(1.25rem, 2vw, 2rem); background: #fff; transition: border-color 160ms ease, box-shadow 160ms ease; }
.contour-journey-card:focus-within { border-color: var(--contour-blue); }
.contour-journey-card__meta { display: flex; justify-content: space-between; gap: 1rem; color: var(--contour-muted); font-size: 0.75rem; font-weight: 600; }
.contour-journey-card__meta > span:last-child { color: var(--contour-blue); font-variant-numeric: tabular-nums; }
.contour-journey-card h3 { margin: 1.75rem 0 0.75rem; color: var(--contour-ink); font-size: 1.375rem; font-weight: 750; line-height: 1.3; }
.contour-journey-card > p { margin: 0; color: var(--contour-muted); }
.contour-journey-card ol { display: grid; gap: 0.625rem; margin: 1.5rem 0; border-top: 1px solid var(--contour-line); padding: 1.25rem 0 0; list-style: none; counter-reset: journey-step; }
.contour-journey-card li { display: flex; gap: 0.625rem; color: var(--contour-ink); font-size: 0.875rem; line-height: 1.5; }
.contour-journey-card li::before { counter-increment: journey-step; content: counter(journey-step); display: inline-grid; flex: 0 0 1.375rem; height: 1.375rem; place-items: center; border-radius: 50%; background: #edf2ff; color: var(--contour-blue); font-size: 0.75rem; }
.contour-journey-card .contour-journey-card__outcome { margin-top: auto; padding-bottom: 1.5rem; color: var(--contour-muted); font-size: 0.875rem; line-height: 1.6; }
.contour-journey-card > a { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 0.75rem; border-top: 1px solid var(--contour-line); padding-top: 0.875rem; color: var(--contour-blue); font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.contour-journey-card > a:hover { color: #133590; }

.contour-form-section { min-width: 0; margin: 0; border: 0; padding: 0; }
.contour-form-section + .contour-form-section { border-top: 1px solid var(--contour-line); padding-top: 1.75rem; }
.contour-form-section legend { float: left; width: 100%; margin-bottom: 1.25rem; color: var(--contour-ink); font-size: 1.125rem; font-weight: 700; }
.contour-form-section legend + * { clear: both; }
.contour-form-section legend > span { margin-right: 0.625rem; color: var(--contour-blue); font-variant-numeric: tabular-nums; }
.contour-form-note { margin: 0; color: var(--contour-muted); }
.contour-form-context { margin-bottom: 1.25rem; border-left: 3px solid var(--contour-blue); border-radius: 0 0.5rem 0.5rem 0; padding: 1rem 1.25rem; background: var(--contour-soft); }
.contour-form-context > span { display: block; margin-bottom: 0.375rem; color: var(--contour-muted); font-size: 0.875rem; }
.contour-form-context > a { color: var(--contour-blue); font-weight: 700; }
.contour-form-complete { border: 1px solid #b5d9cf; border-radius: var(--contour-radius); padding: 1.5rem; background: #f3faf7; }
.contour-form-complete h3 { margin: 0 0 0.75rem; color: #155846; font-size: 1.375rem; }
.contour-form-complete p { margin: 0.75rem 0; }
.contour-form-complete__reference { overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.contour-form-complete a { display: inline-flex; min-height: 2.75rem; align-items: center; color: var(--contour-blue); font-weight: 700; }
.contour-form-complete__account { margin-top: 1.25rem; border-top: 1px solid #b5d9cf; padding-top: 0.75rem; }
.contour-form-complete__account > p { color: var(--contour-muted); font-size: 0.875rem; }


/* Each community has its own composition within the shared hero grid. */
.contour-community { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--contour-radius); background: #e5effc; color: var(--contour-ink); }
.contour-community__portrait { position: relative; flex: 1 1 0; min-height: 13rem; padding: 0; overflow: hidden; }
.contour-community__portrait img { width: 100%; height: 100%; min-height: 14rem; object-fit: cover; border-radius: 12rem 12rem 0 0; }
.contour-community__portrait > span { position: absolute; right: 1.25rem; bottom: 1.25rem; display: grid; place-content: center; width: 6rem; height: 6rem; border: 5px solid #152753; border-radius: 50%; background: #12379c; color: #fff; font-size: 0.75rem; line-height: 1.5; font-weight: 750; text-align: center; }
.contour-community .contour-cover__caption { position: relative; padding-inline: 0; background: transparent; color: #fff; }
.contour-community .contour-cover__caption > p { color: #becce3; }
.contour-community__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; border-top: 1px solid var(--contour-line); margin-top: 1.25rem; padding-top: 0.75rem; }
.contour-community__links a { display: inline-flex; align-items: center; gap: 0.65rem; min-height: 2.75rem; color: #75e7f3; font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.contour-project-board { container-type: inline-size; display: flex; flex-direction: column; overflow: hidden; border: 1px solid #7197d66b; border-radius: var(--contour-radius); background: #0b2249; color: #fff; }
.contour-project-board > header { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border-bottom: 1px solid #ffffff30; font-size: 0.75rem; font-weight: 700; color: #bdeafa; }
.contour-project-board > figure { flex: 1 1 0; min-height: 5rem; margin: 0; overflow: hidden; }
.contour-project-board > figure img { width: 100%; height: 100%; max-height: 12rem; object-fit: cover; object-position: center 40%; }
.contour-project-board .contour-cover__caption { padding-block: 1.25rem; }
.contour-project-board .contour-cover__caption > p { color: #b6c9e7; }
.contour-project-board__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid #ffffff30; padding: 0; list-style: none; }
.contour-project-board__stages li + li { border-left: 1px solid #ffffff30; }
.contour-project-board__stages a { min-width: 0; overflow-wrap: anywhere; display: grid; gap: 0.375rem; padding: 1rem; color: #fff; text-decoration: none; }
.contour-project-board__stages a:hover { background: #ffffff0d; }
.contour-project-board__stages span { margin-bottom: 0.375rem; color: #a5e6f6; font-size: 0.75rem; }
.contour-project-board__stages strong { font-size: 0.875rem; }
.contour-project-board__stages small { color: #b6c9e7; font-size: 0.75rem; line-height: 1.5; }

@container (max-width: 25rem) {
  .contour-project-board__stages a { padding: 0.75rem 0.625rem; }
  .contour-project-board__stages strong { font-size: 0.8125rem; }
  .contour-project-board__stages small { display: none; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .contour-journey-card:hover { border-color: #a8bbdb; box-shadow: 0 0.75rem 2rem #10213a0a; }
}
@media (max-width: 64rem) {
  .contour-journey__grid { grid-template-columns: 1fr; }
  .contour-journey-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 2rem; }
  .contour-journey-card__meta, .contour-journey-card > a { grid-column: 1 / -1; }
  .contour-journey-card h3 { margin-top: 1rem; }
  .contour-journey-card > p { grid-column: 1; }
  .contour-journey-card ol { grid-column: 2; grid-row: 2 / span 2; margin-top: 1rem; }
  .contour-journey-card .contour-journey-card__outcome { grid-column: 1 / -1; margin-top: 1rem; }
}
@media (max-width: 44rem) {
  .contour-journey__heading { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .contour-journey-card { display: flex; }
  .contour-journey-card h3 { margin-top: 1.25rem; }
  .contour-cover__caption { padding: 1.25rem; }
  .contour-cover__caption > strong { font-size: 1.375rem; }
}
}
