/* ==========================================================================
   MCOGL — Vision / Mission / Values + Commitment
   ========================================================================== */

.mc-editorial-kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: var(--mc-blue-300);
  margin-bottom: var(--space-3);
}
.mc-editorial-kicker--dark { color: var(--mc-blue-600); }

.mc-editorial__hero .mc-phero__lede { max-width: 42ch; }
.mc-editorial__hero--compact.mc-phero {
  padding-block: clamp(5.5rem, 12vh, 7.5rem) clamp(2.5rem, 5vh, 3.5rem);
}

/* --------------------------------------------------------------------------
   Vision / Mission / Values
   Direction = open editorial rail (spacious, serif)
   Core values = dense bone plate (compact cards)
   Contrast is intentional: do not make Direction look like values cards.
   -------------------------------------------------------------------------- */
.mc-vmv--compact {
  padding-block: clamp(2.75rem, 5vw, 4rem) clamp(3.25rem, 6vw, 5rem);
  background: var(--mc-white);
}

.mc-vmv__layout {
  display: grid;
  gap: var(--space-8);
  align-items: start;
}
@media (min-width: 960px) {
  .mc-vmv__layout {
    grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 0.85fr);
    gap: var(--space-9) var(--space-10);
  }
}

.mc-vmv__eyebrow {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.7rem;
  color: var(--mc-blue-600);
  margin: 0 0 var(--space-3);
  font-variation-settings: 'wght' 600;
}

/* ---- Direction: open, no card chrome ------------------------------------ */
.mc-vmv__direction {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  max-width: 40rem;
}
.mc-vmv__direction-head {
  margin: 0 0 var(--space-7);
  padding: 0 0 var(--space-6);
  border-bottom: 1px solid var(--mc-rule);
}
.mc-vmv__direction-lede {
  margin: 0;
  font-family: var(--ff-serif);
  font-style: italic;
  font-size: clamp(1.2rem, 2vw, 1.45rem);
  line-height: 1.35;
  letter-spacing: -0.015em;
  color: var(--mc-ink-900);
  max-width: 28ch;
}

/* Vertical custody-style rail */
.mc-vmv__rail {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.mc-vmv__rail-item {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-4) var(--space-5);
  margin: 0;
  padding: 0 0 var(--space-7);
  position: relative;
}
.mc-vmv__rail-item:last-child {
  padding-bottom: 0;
}
/* Blue rail line through markers */
.mc-vmv__rail-item:not(:last-child) .mc-vmv__rail-marker::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 1.65rem;
  bottom: calc(-1 * var(--space-7));
  width: 2px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, var(--mc-blue-600), rgba(0, 74, 173, 0.15));
}
.mc-vmv__rail-marker {
  position: relative;
  display: flex;
  justify-content: center;
  padding-top: 0.15rem;
}
.mc-vmv__rail-n {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  background: var(--mc-white);
  border: 1.5px solid var(--mc-blue-600);
  color: var(--mc-blue-600);
  letter-spacing: 0.08em;
  font-size: 0.68rem;
  box-shadow: 0 0 0 4px var(--mc-white);
}
.mc-vmv__rail-item:first-child .mc-vmv__rail-n {
  border-color: var(--mc-red-500);
  color: var(--mc-red-500);
}
.mc-vmv__rail-copy {
  min-width: 0;
  padding-top: 0.2rem;
}
.mc-vmv__rail-label {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.68rem;
  color: var(--mc-blue-600);
  margin: 0 0 var(--space-3);
  font-variation-settings: 'wght' 600;
}
.mc-vmv__rail-lead {
  margin: 0 0 var(--space-3);
  font-family: var(--ff-serif);
  font-style: italic;
  font-size: clamp(1.25rem, 2.1vw, 1.55rem);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--mc-ink-900);
  max-width: 22ch;
}
.mc-vmv__rail-body {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--mc-slate);
  max-width: 42ch;
}

/* ---- Core values: dense plate (deliberate contrast) --------------------- */
.mc-vmv__values {
  margin: 0;
  padding: var(--space-6);
  background: var(--mc-bone);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  border-top: 3px solid var(--mc-red-500);
}
@media (min-width: 960px) {
  .mc-vmv__values {
    position: sticky;
    top: calc(68px + 1.25rem);
  }
}
.mc-vmv__values-head {
  margin: 0 0 var(--space-5);
  padding: 0 0 var(--space-4);
  border-bottom: 1px solid var(--mc-rule);
}
.mc-vmv__values-lede {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--mc-slate);
  max-width: 28ch;
}
.mc-vmv__value-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-3);
}
.mc-vmv__value {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: var(--space-3);
  margin: 0;
  padding: var(--space-4);
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  border-left: 3px solid var(--mc-blue-600);
}
.mc-vmv__value:first-child {
  border-left-color: var(--mc-red-500);
}
.mc-vmv__value-n {
  color: var(--mc-blue-600);
  letter-spacing: 0.1em;
  font-size: 0.65rem;
  padding-top: 0.2rem;
}
.mc-vmv__value:first-child .mc-vmv__value-n {
  color: var(--mc-red-500);
}
.mc-vmv__value h3 {
  margin: 0 0 0.35rem;
  font-size: 0.98rem;
  letter-spacing: -0.01em;
}
.mc-vmv__value p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.5;
  color: var(--mc-slate);
  max-width: 30ch;
}

/* Commitment page still uses .mc-editorial__value* */
.mc-editorial__value-grid {
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 640px) {
  .mc-editorial__value-grid { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
}
.mc-editorial__value {
  padding: var(--space-4) var(--space-4) var(--space-5);
  background: var(--mc-bone);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  border-top: 2px solid var(--mc-blue-600);
  min-height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.mc-editorial__value:first-child { border-top-color: var(--mc-red-500); }
.mc-editorial__value-n {
  color: var(--mc-blue-600);
  letter-spacing: 0.12em;
  font-size: 0.65rem;
}
.mc-editorial__value:first-child .mc-editorial__value-n { color: var(--mc-red-500); }
.mc-editorial__value h3 {
  font-size: 1rem;
  letter-spacing: -0.01em;
  margin: 0;
}
.mc-editorial__value p {
  margin: 0;
  font-size: 0.85rem;
  color: var(--mc-slate);
  line-height: 1.5;
  max-width: 32ch;
}

/* ==========================================================================
   Our Commitment — statement → meaning → four measures → sign-off
   ========================================================================== */

/* Open: quote + measure chips (balances empty right) */
.mc-commitment__open {
  padding-block: clamp(3rem, 6vw, 4.5rem);
}
.mc-commitment__open-grid {
  display: grid;
  gap: var(--space-7);
  align-items: end;
}
@media (min-width: 900px) {
  .mc-commitment__open-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(14rem, 0.75fr);
    gap: var(--space-9);
  }
}
.mc-commitment__quote {
  margin: 0;
  padding: 0;
  border: 0;
}
.mc-commitment__quote p {
  margin: 0;
  font-family: var(--ff-serif);
  font-style: italic;
  font-size: clamp(1.75rem, 3.4vw, 2.55rem);
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--mc-ink-900);
  max-width: 18ch;
}
.mc-commitment__measures {
  padding: var(--space-5) var(--space-6);
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  border-top: 3px solid var(--mc-red-500);
}
.mc-commitment__measures-label {
  display: block;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.65rem;
  color: var(--mc-blue-600);
  margin: 0 0 var(--space-4);
}
.mc-commitment__measure-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.mc-commitment__measure-list li {
  margin: 0;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--mc-rule);
  font-variation-settings: 'wght' 600;
  font-size: 0.95rem;
  color: var(--mc-ink-900);
}
.mc-commitment__measure-list li:last-child { border-bottom: 0; padding-bottom: 0; }
.mc-commitment__measure-list li:first-child { padding-top: 0; }

/* Meaning: prose + media */
.mc-commitment__meaning {
  padding-block: clamp(3rem, 6vw, 4.5rem);
}
.mc-commitment__meaning-grid {
  display: grid;
  gap: var(--space-7);
  align-items: center;
}
@media (min-width: 900px) {
  .mc-commitment__meaning-grid {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: var(--space-9);
  }
}
.mc-commitment__meaning-lead {
  margin: 0 0 var(--space-5);
  font-size: clamp(1.1rem, 1.8vw, 1.25rem);
  line-height: 1.5;
  color: var(--mc-ink-900);
  max-width: 38ch;
}
.mc-commitment__meaning-copy p {
  margin: 0 0 var(--space-4);
  color: var(--mc-slate);
  font-size: 1rem;
  line-height: 1.65;
  max-width: 48ch;
}
.mc-commitment__meaning-copy p:last-child { margin-bottom: 0; }
.mc-commitment__meaning-media {
  margin: 0;
}
.mc-commitment__well {
  border-bottom-left-radius: var(--radius-arc);
}
.mc-commitment__media-cap {
  margin: var(--space-3) 0 0;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--mc-blue-600);
}

/* Four commitments — large measured rows, not tiny value cards */
.mc-commitment__pillars-section {
  padding-block: clamp(3rem, 6vw, 4.75rem);
}
.mc-commitment__pillars-head {
  margin: 0 0 var(--space-7);
  max-width: 40rem;
}
.mc-commitment__pillars-head h2 {
  max-width: 16ch;
  margin: 0 0 var(--space-4);
}
.mc-commitment__pillars-lede {
  margin: 0;
  color: var(--mc-slate);
  line-height: 1.6;
  max-width: 46ch;
  font-size: 1rem;
}
.mc-commitment__pillars {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-4);
}
@media (min-width: 800px) {
  .mc-commitment__pillars {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
  }
}
.mc-commitment__pillar {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-4) var(--space-5);
  margin: 0;
  padding: var(--space-6) var(--space-5);
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  border-top: 3px solid var(--mc-blue-600);
  min-height: 100%;
  align-items: start;
}
.mc-commitment__pillar:first-child,
.mc-commitment__pillar:nth-child(4n+1) {
  border-top-color: var(--mc-red-500);
}
.mc-commitment__pillar-n {
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  letter-spacing: 0.04em;
  color: var(--mc-blue-600);
  line-height: 1;
  padding-top: 0.1rem;
}
.mc-commitment__pillar:first-child .mc-commitment__pillar-n,
.mc-commitment__pillar:nth-child(4n+1) .mc-commitment__pillar-n {
  color: var(--mc-red-500);
}
.mc-commitment__pillar-copy h3 {
  margin: 0 0 var(--space-3);
  font-size: clamp(1.15rem, 1.8vw, 1.35rem);
  letter-spacing: -0.015em;
}
.mc-commitment__pillar-copy p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--mc-slate);
  max-width: 28ch;
}

/* Dark sign-off */
.mc-commitment__close {
  padding-block: clamp(3.5rem, 7vw, 5.5rem);
}
.mc-commitment__close-inner {
  display: grid;
  gap: var(--space-8);
  align-items: end;
}
@media (min-width: 900px) {
  .mc-commitment__close-inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(14rem, 0.8fr);
    gap: var(--space-9);
  }
}
.mc-commitment__close-kicker {
  display: block;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--mc-blue-300);
  margin: 0 0 var(--space-4);
}
.mc-commitment__close-line {
  margin: 0 0 var(--space-5);
  font-family: var(--ff-serif);
  font-style: italic;
  font-size: clamp(1.5rem, 2.8vw, 2rem);
  color: #fff;
  max-width: 16ch;
  line-height: 1.25;
  letter-spacing: -0.02em;
}
.mc-commitment__close-tag {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  color: var(--mc-on-dark-2);
  max-width: 36ch;
  line-height: 1.5;
}
.mc-commitment__close-links {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-6);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--mc-ink-700);
  border-radius: var(--radius);
  border-top: 2px solid var(--mc-red-500);
}
.mc-commitment__close-links-label {
  display: block;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.65rem;
  color: var(--mc-blue-300);
  margin-bottom: var(--space-1);
}
.mc-commitment__close-links .mc-link-arrow { color: var(--mc-blue-300); }

@media (max-width: 699px) {
  .mc-vmv__rail-lead { max-width: 20ch; }
  .mc-vmv__rail-item {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: var(--space-3) var(--space-4);
  }
}
