/* C02 Feature Panel — staging prototype. Scoped component styles, no dependencies. */
@layer components {
  .c02 {
    box-sizing: border-box;
    min-inline-size: 0;
    margin-block: 2rem;
    padding: clamp(1.25rem, 3vw, 2.5rem);
    scroll-margin-block-start: var(--c02-anchor-offset, 6rem);
    border-radius: 0.35rem;
  }
  .c02--theme-light {
    color: var(--c02-light-text, #15293b);
    background: var(--c02-light-background, #f0f4f7);
  }
  .c02--theme-dark {
    color: var(--c02-dark-text, #fff);
    background: var(--c02-dark-background, #133550);
  }
  .c02__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    align-items: center;
    gap: clamp(1.25rem, 3vw, 2.5rem);
  }
  .c02__grid > *, .c02__content { min-inline-size: 0; }
  .c02__figure { margin: 0; }
  .c02__image {
    display: block;
    inline-size: 100%;
    block-size: auto;
    max-block-size: 32rem;
    object-fit: contain;
  }
  .c02__caption { margin-block-start: 0.5rem; font-size: 0.875em; line-height: 1.5; }
  .c02__eyebrow { margin-block: 0 0.6rem; font-size: 0.875em; font-weight: 700; letter-spacing: 0.055em; text-transform: uppercase; }
  .c02__heading { margin-block: 0 1rem; font-size: clamp(1.5rem, 2.6vw, 2.3rem); line-height: 1.2; }
  .c02__body { overflow-wrap: anywhere; line-height: 1.6; }
  .c02__body > :first-child { margin-block-start: 0; }
  .c02__body > :last-child { margin-block-end: 0; }
  .c02__cta { margin-block: 1.25rem 0; }
  .c02 :where(a) { color: inherit; text-decoration: underline; text-underline-offset: 0.2em; }
  .c02 :where(a, [tabindex]):focus-visible { outline: 0.1875rem solid currentColor; outline-offset: 0.1875rem; }
  .c02__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
    gap: clamp(1rem, 2.5vw, 2rem);
    margin-block: 1.75rem 0;
    padding-block: 1.5rem 0;
    border-block-start: 1px solid currentColor;
  }
  .c02__fact { min-inline-size: 0; }
  .c02__fact-label { font-weight: 600; line-height: 1.45; }
  .c02__fact-detail { margin: 0; }
  .c02__fact-value { display: block; margin-block-start: 0.35rem; font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.25; font-weight: 700; overflow-wrap: anywhere; }
  .c02__fact-source { display: block; margin-block-start: 0.45rem; font-size: 0.8em; opacity: 0.9; }
  .c02__validation { border: 2px solid currentColor; padding: 1rem; }
}

/*
 * C02-only compatibility rules. The staging shell has legacy unlayered
 * typography; normal unlayered declarations outrank layered ones.
 * Remove these when the shell is consistently layered.
 */
.c02 .c02__body,
.c02 .c02__body p,
.c02 .c02__body li {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}
.c02 .c02__caption {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}
.c02 .c02__fact-label {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}
.c02 .c02__fact-source {
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.45;
}
.c02 .c02__fact-value { font-weight: 700; }
.c02 .c02__cta {
  font-size: 1rem;
  font-weight: 600;
}
@media (max-width: 40rem) {
  .c02 .c02__facts { row-gap: 0.875rem; }
  .c02 .c02__fact-source { margin-block-start: 0.25rem; }
}

/* First Generation Students staging fixture: photo, overlapping copy, and facts. */
.c02#pioneers[data-content-id="8426180"] {
  padding: 0;
  background: transparent;
}
.c02#pioneers[data-content-id="8426180"] .c02__grid,
.c02#pioneers[data-content-id="8426180"] .c02__facts {
  grid-template-columns: minmax(0, 1fr);
}
.c02#pioneers[data-content-id="8426180"] .c02__content {
  padding: clamp(1.25rem, 3vw, 2.5rem);
  background: var(--c02-light-background, #f0f4f7);
}
.c02#pioneers[data-content-id="8426180"] .c02__facts {
  margin: 0;
  padding: 0;
  border: 0;
  gap: 1.25rem;
}
.c02#pioneers[data-content-id="8426180"] .c02__fact {
  display: flex;
  flex-direction: column;
  gap: .35rem;
  padding: .7rem 0 .7rem 1rem;
  border-inline-start: 1px solid currentColor;
}
.c02#pioneers[data-content-id="8426180"] .c02__fact-label {
  font-weight: 400;
  line-height: 1.55;
}
.c02#pioneers[data-content-id="8426180"] .c02__fact-detail {
  order: -1;
}
.c02#pioneers[data-content-id="8426180"] .c02__fact-value {
  margin-block-start: 0;
}
@media (min-width: 52rem) {
  .c02#pioneers[data-content-id="8426180"] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    align-items: start;
    gap: clamp(1.5rem, 4vw, 4rem);
  }
  .c02#pioneers[data-content-id="8426180"] .c02__grid {
    gap: 0;
    align-items: end;
    padding-block-end: 1.75rem;
  }
  .c02#pioneers[data-content-id="8426180"] .c02__figure,
  .c02#pioneers[data-content-id="8426180"] .c02__content {
    grid-area: 1 / 1;
  }
  .c02#pioneers[data-content-id="8426180"] .c02__image {
    max-block-size: none;
  }
  .c02#pioneers[data-content-id="8426180"] .c02__content {
    position: relative;
    inline-size: min(100%, 23rem);
    box-sizing: border-box;
    justify-self: end;
    margin-block-end: -1.75rem;
  }
}

/* Statistics layout selected on the parent feature. */
.c02__facts--statistics .c02__fact {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.c02__facts--statistics .c02__fact-detail {
  display: contents;
}
.c02__facts--statistics .c02__fact-value {
  order: -1;
  margin-block-start: 0;
}
.c02__facts--statistics .c02__fact-source {
  order: 1;
}
