/* SCC typography: clear contrast against photographs and muted brand panels. */
body.page .p-page-header__title,
body.page .p-page-header__desc {
  color: #fff !important;
  text-shadow: 0 2px 12px rgba(3, 13, 8, .96), 0 0 30px rgba(3, 13, 8, .84);
}
:is(.scc-home .sh-slide h1, .scc-home .sh-slide h2,
    .scc-athlete .sa-hero h1, .scc-executive .se-hero h1,
    .scc-personal .sp-hero h1, .scc-corporate .sc-hero h1,
    .scc-team .st-hero h1, .scc-community .co-hero h1,
    .scc-academy .ac-hero h1) {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(4, 16, 10, .52);
}
:is(.scc-home .sh-slide__content, .scc-pco .pco-hero__copy,
    .scc-athlete .sa-hero__content, .scc-executive .se-hero__content,
    .scc-personal .sp-hero__content, .scc-corporate .sc-hero__content,
    .scc-team .st-hero__content, .scc-community .co-hero__inner,
    .scc-academy .ac-hero__inner) :is(p, small) {
  color: #f3f5ef !important;
  opacity: 1 !important;
  text-shadow: 0 1px 12px rgba(4, 16, 10, .52);
}

:is(.scc-athlete .sa-hero__shade, .scc-executive .se-hero__shade,
    .scc-personal .sp-hero__shade, .scc-corporate .sc-hero__shade,
    .scc-team .st-hero__shade) {
  background: linear-gradient(90deg,
    rgba(7, 21, 15, .98) 0%, rgba(7, 21, 15, .95) 36%,
    rgba(7, 21, 15, .76) 63%, rgba(7, 21, 15, .40) 100%),
    linear-gradient(0deg, rgba(7, 21, 15, .42), transparent 45%) !important;
}
.scc-home .sh-slide::after,
.scc-community .co-hero::after,
.scc-academy .ac-hero::after {
  background: linear-gradient(90deg,
    rgba(8, 22, 16, .98) 0%, rgba(8, 22, 16, .94) 38%,
    rgba(8, 22, 16, .72) 68%, rgba(8, 22, 16, .37) 100%),
    linear-gradient(0deg, rgba(8, 22, 16, .45), transparent 45%) !important;
}

/* Quiet labels stay quiet through size and spacing, while remaining readable. */
:is(.scc-home .sh-label, .scc-pco .pco-label,
    .scc-athlete .sa-eyebrow, .scc-executive .se-eyebrow,
    .scc-personal .sp-eyebrow, .scc-corporate .sc-eyebrow,
    .scc-team .st-eyebrow, .scc-community .co-eyebrow,
    .scc-academy .ac-label):not([class*="--light"]) {
  color: #385644 !important;
  opacity: 1 !important;
}
:is(.scc-home .sh-label--light, .scc-pco .pco-label--light,
    .scc-athlete .sa-eyebrow--light, .scc-executive .se-eyebrow--light,
    .scc-personal .sp-eyebrow--light, .scc-corporate .sc-eyebrow--light,
    .scc-team .st-eyebrow--light, .scc-community .co-eyebrow--light,
    .scc-academy .ac-label--light) {
  color: #f3dcaa !important;
  opacity: 1 !important;
}
:is(.scc-home .sh-label, .scc-pco .pco-label,
    .scc-athlete .sa-eyebrow, .scc-executive .se-eyebrow,
    .scc-personal .sp-eyebrow, .scc-corporate .sc-eyebrow,
    .scc-team .st-eyebrow, .scc-community .co-eyebrow,
    .scc-academy .ac-label) span { color: inherit !important; }
:is(.scc-home, .scc-pco, .scc-athlete, .scc-executive,
    .scc-personal, .scc-corporate, .scc-team,
    .scc-community, .scc-academy) figcaption {
  color: #3c5745 !important;
  opacity: 1 !important;
}
:is(.scc-home .sh-slide, .scc-home .sh-method, .scc-home .sh-beyond,
    .scc-home .sh-capital, .scc-home .sh-final,
    .scc-athlete .sa-process, .scc-athlete .sa-challenge, .scc-athlete .sa-final,
    .scc-executive .se-process, .scc-executive .se-challenge,
    .scc-executive .se-decade, .scc-executive .se-final,
    .scc-personal .sp-process, .scc-personal .sp-final,
    .scc-corporate .sc-capital, .scc-corporate .sc-model,
    .scc-corporate .sc-culture, .scc-corporate .sc-final,
    .scc-team .st-cycle, .scc-team .st-final,
    .scc-pco .pco-total, .scc-pco .pco-final,
    .scc-community .co-how, .scc-community .co-hope,
    .scc-community .co-culture, .scc-community .co-final,
    .scc-academy .ac-method, .scc-academy .ac-depth,
    .scc-academy .ac-final) :is(p, li, small, figcaption) {
  color: #f0f4ee !important;
  opacity: 1 !important;
}
:is(.scc-home, .scc-pco, .scc-athlete, .scc-executive,
    .scc-personal, .scc-corporate, .scc-team,
    .scc-community, .scc-academy) :is(a, button):focus-visible {
  outline: 3px solid #e0ba76;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  /* Mobile photos sit in their own panel; keep the content panel opaque. */
  :is(.scc-athlete .sa-hero__shade, .scc-executive .se-hero__shade,
      .scc-personal .sp-hero__shade, .scc-corporate .sc-hero__shade,
      .scc-team .st-hero__shade) { display: none !important; }
  .scc-home .sh-slide::after,
  .scc-community .co-hero::after,
  .scc-academy .ac-hero::after { display: none !important; }

  :is(.scc-home, .scc-pco, .scc-athlete, .scc-executive,
      .scc-personal, .scc-corporate, .scc-team,
      .scc-community, .scc-academy) figure img {
    display: block;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  /* Definition lists are semantic tables. Avoid 105px-wide Japanese columns. */
  :is(.scc-community .co-membership dl > div,
      .scc-academy .ac-outline dl > div) {
    display: block !important;
    padding: 18px 0 !important;
  }
  :is(.scc-community .co-membership dt,
      .scc-academy .ac-outline dt) {
    display: block !important;
    width: 100% !important;
    margin: 0 0 6px !important;
    color: #263f2e !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  :is(.scc-community .co-membership dd,
      .scc-academy .ac-outline dd) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.75 !important;
    overflow-wrap: break-word !important;
  }
  .scc-home .sh-steps li {
    grid-template-columns: 32px 88px minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .scc-home .sh-steps li small { font-size: 12px !important; line-height: 1.6 !important; }
  .scc-corporate .sc-compare td { word-break: normal !important; overflow-wrap: break-word !important; }
}
