/* ==========================================================================
   MCOGL — Components
   Elevation is declared once: cards carry a border, never a border + shadow.
   Shadow is reserved for things that genuinely float (header, mega-menu).
   ========================================================================== */

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.mc-btn {
  display: inline-flex; align-items: center; gap: var(--space-3);
  min-height: 50px; padding: 0 var(--space-6);
  border: 1.5px solid transparent; border-radius: var(--radius);
  font-family: var(--ff-sans); font-size: 0.9375rem;
  font-variation-settings: 'wdth' var(--wd-normal), 'wght' 600;
  letter-spacing: .005em; text-decoration: none; cursor: pointer;
  white-space: nowrap;
  transition: background var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.mc-btn:active { transform: translateY(1px); }

.mc-btn--primary { background: var(--mc-red-500); color: #fff; }
.mc-btn--primary:hover { background: var(--mc-red-600); color: #fff; transform: translateY(-1px); }

.mc-btn--secondary { background: transparent; border-color: var(--mc-blue-600); color: var(--mc-blue-600); }
.mc-btn--secondary:hover { background: var(--mc-blue-600); color: #fff; }

.mc-btn--ghost { background: transparent; border-color: rgba(255,255,255,.42); color: #fff; }
.mc-btn--ghost:hover { background: #fff; border-color: #fff; color: var(--mc-ink-900); }

.mc-btn__chev { width: 16px; height: 16px; flex: none; transition: transform var(--dur-fast) var(--ease); }
.mc-btn:hover .mc-btn__chev { transform: translateX(3px); }

/* Text link with arrow */
.mc-link-arrow {
  display: inline-flex; align-items: center; gap: var(--space-2);
  font-size: 0.9375rem; font-variation-settings: 'wght' 600;
  color: var(--mc-blue-600); text-decoration: none;
}
.mc-link-arrow svg { width: 15px; height: 15px; transition: transform var(--dur-fast) var(--ease); }
.mc-link-arrow:hover svg { transform: translateX(4px); }
.mc-dark .mc-link-arrow { color: var(--mc-blue-300); }

/* --------------------------------------------------------------------------
   Eyebrow — rationed to one per three sections
   -------------------------------------------------------------------------- */
.mc-eyebrow {
  display: inline-flex; align-items: center; gap: var(--space-3);
  font-size: var(--fs-eyebrow); text-transform: uppercase;
  letter-spacing: .17em;
  font-variation-settings: 'wdth' var(--wd-normal), 'wght' 600;
  color: var(--mc-blue-600);
  margin-bottom: var(--space-4);
}
.mc-eyebrow::before {
  content: ''; width: 18px; height: 2px; background: var(--mc-red-500); flex: none;
}
.mc-dark .mc-eyebrow { color: var(--mc-blue-300); }

/* --------------------------------------------------------------------------
   SPEC PLATE — the "this is verified" signal. Mono is used here because the
   content is measurement, not because it looks technical.
   -------------------------------------------------------------------------- */
.mc-spec {
  background: var(--mc-bone);
  border-left: 3px solid var(--mc-red-500);
  padding: var(--space-5) var(--space-5) var(--space-6) var(--space-6);
  border-radius: 0 var(--radius) var(--radius) 0;
}
.mc-spec__label {
  font-size: var(--fs-eyebrow); text-transform: uppercase; letter-spacing: .15em;
  font-variation-settings: 'wght' 600; color: var(--mc-blue-600);
  margin-bottom: var(--space-3);
}
.mc-spec__value {
  font-family: var(--ff-mono); font-size: 0.9rem; line-height: 1.55;
  color: var(--mc-ink-900); font-weight: 500;
}
.mc-spec__note { margin-top: var(--space-3); font-size: var(--fs-small); color: var(--mc-slate); }
.mc-dark .mc-spec { background: var(--mc-ink-800); }
.mc-dark .mc-spec__value { color: #fff; }
.mc-dark .mc-spec__label { color: var(--mc-blue-300); }
.mc-dark .mc-spec__note { color: var(--mc-on-dark-2); }

/* Definition rows (specification page) */
.mc-deflist { display: grid; gap: 0; }
.mc-deflist__row {
  display: grid; gap: var(--space-3) var(--space-6);
  padding: var(--space-5) 0;
  border-bottom: 1px solid var(--mc-rule);
}
.mc-deflist__row:last-child { border-bottom: 0; }
@media (min-width: 900px) { .mc-deflist__row { grid-template-columns: 4fr 8fr; } }
.mc-deflist__term {
  font-variation-settings: 'wght' 600; color: var(--mc-ink-900);
}
.mc-deflist__desc { color: var(--mc-slate); margin: 0; }

/* --------------------------------------------------------------------------
   CUSTODY RAIL — the signature. A blue line with red verified nodes.
   Vertical by default; horizontal variant on the home page.
   -------------------------------------------------------------------------- */
.mc-rail { position: relative; }

/* Vertical */
.mc-rail--v { padding-left: 46px; }
.mc-rail--v::before {
  content: ''; position: absolute; left: 12px; top: 8px; bottom: 8px; width: 2px;
  background: var(--mc-blue-600); opacity: .22;
  transform-origin: top; transform: scaleY(var(--mc-rail-scale, 1));
  transition: transform var(--dur-slow) var(--ease);
}
.mc-rail--v .mc-rail__step { position: relative; padding-bottom: var(--space-7); }
.mc-rail--v .mc-rail__step:last-child { padding-bottom: 0; }
.mc-rail--v .mc-rail__step::before {
  content: ''; position: absolute; left: -40px; top: 7px;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--mc-red-500);
  box-shadow: 0 0 0 4px var(--mc-white), 0 0 0 5.5px var(--mc-blue-600);
}
.mc-dark .mc-rail--v .mc-rail__step::before {
  box-shadow: 0 0 0 4px var(--mc-ink-900), 0 0 0 5.5px var(--mc-blue-500);
}
.mc-rail__n {
  font-family: var(--ff-mono); font-size: var(--fs-mono);
  color: var(--mc-blue-600); letter-spacing: .1em; display: block;
  margin-bottom: var(--space-2);
}
.mc-dark .mc-rail__n { color: var(--mc-blue-300); }
.mc-rail__step h3 { margin-bottom: var(--space-3); }
.mc-rail__step p { color: var(--mc-slate); max-width: 56ch; margin: 0; }
.mc-dark .mc-rail__step p { color: var(--mc-on-dark-2); }

/* Horizontal (home) */
.mc-rail--h { display: grid; gap: var(--space-6); }
@media (min-width: 900px) {
  .mc-rail--h { grid-template-columns: repeat(5, 1fr); gap: var(--space-5); }
  .mc-rail--h::before {
    content: ''; position: absolute; left: 4px; right: 4px; top: 5px; height: 2px;
    background: var(--mc-blue-500); opacity: .28;
    transform-origin: left; transform: scaleX(var(--mc-rail-scale, 1));
    transition: transform var(--dur-slow) var(--ease);
  }
}
.mc-rail--h .mc-rail__step { position: relative; padding-top: var(--space-6); }
.mc-rail--h .mc-rail__step::before {
  content: ''; position: absolute; left: 0; top: 0;
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--mc-red-500);
  box-shadow: 0 0 0 4px var(--mc-ink-900);
}
@media (max-width: 899px) {
  .mc-rail--h .mc-rail__step { padding-top: 0; padding-left: var(--space-6); }
  .mc-rail--h .mc-rail__step::before { top: 6px; }
}

/* --------------------------------------------------------------------------
   Cards — border only, never border + shadow
   -------------------------------------------------------------------------- */
.mc-card {
  display: flex; flex-direction: column;
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  padding: var(--space-6);
  transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
a.mc-card, .mc-card--link { text-decoration: none; color: inherit; }
a.mc-card:hover, .mc-card--link:hover { border-color: var(--mc-blue-600); transform: translateY(-2px); }
.mc-card h3 { margin-bottom: var(--space-3); }
.mc-card p { color: var(--mc-slate); font-size: 0.9375rem; margin: 0; }
.mc-card__icon { width: 26px; height: 26px; color: var(--mc-blue-600); margin-bottom: var(--space-5); }
.mc-dark .mc-card { background: var(--mc-ink-800); border-color: var(--mc-ink-700); }
.mc-dark .mc-card p { color: var(--mc-on-dark-2); }
.mc-dark a.mc-card:hover { border-color: var(--mc-blue-500); }

/* Product card */
.mc-product {
  display: flex; flex-direction: column; text-decoration: none; color: inherit;
  border: 1px solid var(--mc-rule); border-radius: var(--radius);
  overflow: hidden; background: var(--mc-white);
  transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.mc-product:hover { border-color: var(--mc-blue-600); transform: translateY(-2px); }
.mc-product__media { position: relative; overflow: hidden; aspect-ratio: 3/2; background: var(--mc-ink-850); }
.mc-product__media::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(8, 12, 17, 0.55) 100%);
  pointer-events: none;
}
.mc-product__media img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform var(--dur-med) var(--ease);
}
.mc-product:hover .mc-product__media img { transform: scale(1.05); }
.mc-product__tag {
  position: absolute; left: 0; bottom: 0; z-index: 1;
  background: var(--mc-ink-900); color: #fff;
  font-family: var(--ff-mono); font-size: 0.7rem; letter-spacing: .14em;
  padding: var(--space-2) var(--space-4);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.mc-product__body { padding: var(--space-5) var(--space-5) var(--space-6); display: flex; flex-direction: column; flex: 1; }
.mc-product__body h3 { margin-bottom: var(--space-3); }
.mc-product__body p { font-size: 0.9375rem; color: var(--mc-slate); margin-bottom: var(--space-5); }
.mc-product__body .mc-link-arrow { margin-top: auto; }

/* --------------------------------------------------------------------------
   Quiet list — replaces bulleted dumps
   -------------------------------------------------------------------------- */
.mc-qlist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-1); }
.mc-qlist li {
  display: flex; gap: var(--space-4); align-items: baseline;
  padding: var(--space-3) 0; margin: 0;
  border-bottom: 1px solid var(--mc-rule);
  font-size: 0.9375rem;
}
.mc-qlist li:last-child { border-bottom: 0; }
.mc-qlist li::before {
  content: ''; width: 5px; height: 5px; flex: none;
  background: var(--mc-blue-600); transform: rotate(45deg); position: relative; top: -2px;
}
.mc-dark .mc-qlist li { border-color: var(--mc-ink-700); }
.mc-dark .mc-qlist li::before { background: var(--mc-red-500); }

/* Two-column quiet list */
@media (min-width: 768px) { .mc-qlist--2 { grid-template-columns: 1fr 1fr; column-gap: var(--space-8); } }

/* --------------------------------------------------------------------------
   Pull quote
   -------------------------------------------------------------------------- */
.mc-pull { max-width: 30ch; }
.mc-pull p {
  font-family: var(--ff-serif); font-style: italic;
  font-size: var(--fs-quote); line-height: 1.42; color: var(--mc-ink-900);
  max-width: none; margin: 0;
}
.mc-dark .mc-pull p { color: #fff; }
.mc-pull cite {
  display: block; margin-top: var(--space-5);
  font-family: var(--ff-sans); font-style: normal; font-size: var(--fs-eyebrow);
  text-transform: uppercase; letter-spacing: .15em; color: var(--mc-blue-600);
  font-variation-settings: 'wght' 600;
}
.mc-dark .mc-pull cite { color: var(--mc-blue-300); }

/* --------------------------------------------------------------------------
   Stat plate (only used where the number and its label are both true)
   -------------------------------------------------------------------------- */
.mc-figure { border-top: 2px solid var(--mc-red-500); padding-top: var(--space-4); }
.mc-figure__n {
  font-size: clamp(2.1rem, 3.6vw, 3rem);
  font-variation-settings: 'wdth' var(--wd-expanded), 'wght' 700;
  line-height: 1; letter-spacing: -.03em; color: var(--mc-ink-900);
}
.mc-dark .mc-figure__n { color: #fff; }
.mc-figure__l {
  margin-top: var(--space-3); font-size: var(--fs-eyebrow); text-transform: uppercase;
  letter-spacing: .15em; color: var(--mc-blue-600); font-variation-settings: 'wght' 600;
}
.mc-dark .mc-figure__l { color: var(--mc-blue-300); }
.mc-figure__s { margin-top: var(--space-2); font-size: var(--fs-small); color: var(--mc-slate); }
.mc-dark .mc-figure__s { color: var(--mc-on-dark-2); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.mc-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: var(--z-header);
  transition: background var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease),
              border-color var(--dur-med) var(--ease);
  border-bottom: 1px solid transparent;
}
.mc-header__inner {
  width: var(--container-wide); margin-inline: auto;
  display: flex; align-items: center; justify-content: space-between;
  gap: var(--space-6); height: 78px;
  transition: min-height var(--dur-med) var(--ease);
  min-height: 78px;
}
.mc-header.is-solid {
  background: rgba(17, 24, 32, 0.94);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: var(--shadow-header);
  border-bottom-color: rgba(255, 255, 255, 0.06);
}
.mc-header.is-solid .mc-header__inner { min-height: 68px; height: auto; }
body.mc-has-fixed-header { padding-top: 0; }
body:not(.home) .mc-header { background: var(--mc-ink-900); }

.mc-brand { display: flex; align-items: center; gap: var(--space-3); text-decoration: none; flex: none; }
.mc-brand img {
  height: 42px; width: auto;
  transition: transform var(--dur-med) var(--ease);
  transform-origin: left center;
}
.mc-header.is-solid .mc-brand img { transform: scale(0.9); }
.mc-brand__txt { display: none; }
@media (min-width: 1160px) {
  .mc-brand__txt { display: block; line-height: 1.1; }
  .mc-brand__txt b {
    display: block; color: #fff; font-size: 0.95rem; letter-spacing: .01em;
    font-variation-settings: 'wdth' 108, 'wght' 700;
  }
  .mc-brand__txt span {
    display: block; color: var(--mc-blue-300); font-size: 0.6rem;
    text-transform: uppercase; letter-spacing: .19em; margin-top: 2px;
  }
}

/* Primary nav */
.mc-nav { display: none; }
@media (min-width: 1024px) { .mc-nav { display: block; } }
.mc-nav ul { list-style: none; display: flex; align-items: center; gap: var(--space-6); margin: 0; padding: 0; }
.mc-nav li { margin: 0; position: relative; }
.mc-nav > ul > li > a {
  display: flex; align-items: center; gap: 6px;
  color: rgba(255,255,255,.86); text-decoration: none;
  font-size: 0.9rem; font-variation-settings: 'wght' 500;
  padding-block: var(--space-4); position: relative;
  transition: color var(--dur-fast) var(--ease);
}
.mc-nav > ul > li > a::after {
  content: ''; position: absolute; left: 0; right: 100%; bottom: 12px;
  height: 2px; background: var(--mc-red-500);
  transition: right var(--dur-med) var(--ease);
}
.mc-nav > ul > li:hover > a, .mc-nav > ul > li.current-menu-item > a,
.mc-nav > ul > li.current-menu-ancestor > a { color: #fff; }
.mc-nav > ul > li:hover > a::after,
.mc-nav > ul > li.current-menu-item > a::after,
.mc-nav > ul > li.current-menu-ancestor > a::after { right: 0; }
.mc-nav .mc-caret { width: 9px; height: 9px; opacity: .6; transition: transform var(--dur-fast) var(--ease); }
.mc-nav li:hover > a .mc-caret { transform: rotate(180deg); }

/* Mega menu */
.mc-nav .sub-menu {
  position: absolute; top: 100%; left: -24px;
  min-width: 300px; padding: var(--space-5) 0;
  background: var(--mc-ink-850); border-top: 2px solid var(--mc-red-500);
  border-radius: 0 0 var(--radius) var(--radius);
  box-shadow: var(--shadow-menu);
  display: block; flex-direction: column; gap: 0;
  opacity: 0; visibility: hidden; transform: translateY(-6px);
  transition: opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease), visibility var(--dur-fast);
  z-index: var(--z-menu);
}
.mc-nav li:hover > .sub-menu,
.mc-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.mc-nav .sub-menu li { width: 100%; }
.mc-nav .sub-menu a {
  display: block; padding: var(--space-3) var(--space-6);
  color: var(--mc-on-dark-2); text-decoration: none; font-size: 0.9rem;
  border-left: 2px solid transparent;
  transition: color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease),
              border-color var(--dur-fast) var(--ease);
}
.mc-nav .sub-menu a:hover,
.mc-nav .sub-menu .current-menu-item > a {
  color: #fff; background: rgba(255,255,255,.04); border-left-color: var(--mc-red-500);
}

.mc-header__cta { display: none; }
@media (min-width: 1024px) { .mc-header__cta { display: inline-flex; min-height: 44px; padding: 0 var(--space-5); font-size: 0.875rem; } }

/* Burger */
.mc-burger {
  display: inline-flex; flex-direction: column; justify-content: center; gap: 5px;
  width: 46px; height: 46px; padding: 0 11px;
  background: transparent; border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius);
  cursor: pointer;
}
@media (min-width: 1024px) { .mc-burger { display: none; } }
.mc-burger span {
  display: block; height: 2px; background: #fff; width: 100%;
  transition: transform var(--dur-fast) var(--ease), opacity var(--dur-fast) var(--ease);
}
.mc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.mc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.mc-drawer {
  position: fixed; inset: 0; z-index: var(--z-menu);
  background: var(--mc-ink-900);
  padding: 96px var(--gutter) var(--space-8);
  overflow-y: auto;
  opacity: 0; visibility: hidden;
  transition: opacity var(--dur-med) var(--ease), visibility var(--dur-med);
}
.mc-drawer.is-open { opacity: 1; visibility: visible; }
.mc-drawer ul { list-style: none; margin: 0; padding: 0; }
.mc-drawer > ul > li { border-bottom: 1px solid var(--mc-ink-700); }
.mc-drawer > ul > li > a {
  display: block; padding: var(--space-5) 0; color: #fff; text-decoration: none;
  font-size: 1.2rem; font-variation-settings: 'wdth' 106, 'wght' 600;
}
.mc-drawer .sub-menu { padding: 0 0 var(--space-5) var(--space-4); }
.mc-drawer .sub-menu a {
  display: block; padding: var(--space-2) 0; color: var(--mc-on-dark-2);
  text-decoration: none; font-size: 0.95rem;
}
.mc-drawer .sub-menu a:hover { color: #fff; }
.mc-drawer__foot { margin-top: var(--space-7); display: grid; gap: var(--space-4); }

/* --------------------------------------------------------------------------
   Footer — trading-house close (site-wide)
   -------------------------------------------------------------------------- */
.mc-footer {
  background: var(--mc-ink-950);
  color: var(--mc-on-dark-2);
  position: relative;
  margin-top: 0;
}
.mc-footer::before {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(
    90deg,
    var(--mc-blue-600) 0%,
    var(--mc-blue-600) 62%,
    var(--mc-red-500) 62%,
    var(--mc-red-500) 100%
  );
}

/* Compact enquiry strip under the counterflow rule */
.mc-footer__cta {
  border-bottom: 1px solid var(--mc-ink-700);
  background: linear-gradient(180deg, rgba(0, 74, 173, 0.12) 0%, transparent 100%);
}
.mc-footer__cta-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5) var(--space-7);
  padding-block: var(--space-6);
}
.mc-footer__cta-kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.68rem;
  color: var(--mc-blue-300);
  margin-bottom: var(--space-2);
}
.mc-footer__cta-title {
  margin: 0;
  color: #fff;
  font-size: clamp(1.15rem, 1.8vw, 1.4rem);
  font-variation-settings: 'wdth' 106, 'wght' 600;
  letter-spacing: -0.015em;
  max-width: 28ch;
}
.mc-footer__cta-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4) var(--space-5);
}
.mc-footer__cta-actions .mc-btn { min-height: 46px; }
.mc-footer__cta-tel {
  color: var(--mc-on-dark);
  text-decoration: none;
  letter-spacing: 0.04em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 2px;
}
.mc-footer__cta-tel:hover {
  color: #fff;
  border-bottom-color: var(--mc-blue-300);
}

/* Main multi-column body */
.mc-footer__main {
  padding-block: clamp(3.5rem, 7vw, 5.5rem) var(--space-8);
}
.mc-footer__grid {
  display: grid;
  gap: var(--space-8) var(--space-6);
}
@media (min-width: 640px) {
  .mc-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1100px) {
  .mc-footer__grid {
    grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 0.85fr)) minmax(0, 1.05fr);
    gap: var(--space-8) var(--space-6);
    align-items: start;
  }
}

.mc-footer__logo {
  display: inline-block;
  margin-bottom: var(--space-5);
  text-decoration: none;
}
.mc-footer__logo img {
  height: 48px;
  width: auto;
  display: block;
}
.mc-footer__positioning {
  margin: 0 0 var(--space-4);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--mc-blue-300);
  max-width: 36ch;
  line-height: 1.55;
}
.mc-footer__tag {
  margin: 0 0 var(--space-6);
  font-family: var(--ff-serif);
  font-style: italic;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  line-height: 1.4;
  max-width: 22ch;
}
.mc-footer__ops {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.mc-footer__ops li {
  margin: 0;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--mc-ink-700);
  border-radius: var(--radius);
  font-family: var(--ff-mono);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
}

.mc-footer__heading {
  margin: 0 0 var(--space-5);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--mc-blue-300);
  font-variation-settings: 'wght' 600;
  font-family: var(--ff-sans);
  font-weight: 600;
}
.mc-footer__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}
.mc-footer__list li { margin: 0; }
.mc-footer__list a,
.mc-footer__desk a {
  color: var(--mc-on-dark-2);
  text-decoration: none;
  font-size: 0.9rem;
  line-height: 1.4;
  transition: color var(--dur-fast) var(--ease);
}
.mc-footer__list a:hover,
.mc-footer__desk a:hover { color: #fff; }

/* Desk column — mono lines, no street dump */
.mc-footer__desk {
  padding: var(--space-5);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid var(--mc-ink-700);
  border-radius: var(--radius);
  border-top: 2px solid var(--mc-red-500);
}
.mc-footer__desk-list {
  list-style: none;
  margin: 0 0 var(--space-5);
  padding: 0;
  display: grid;
  gap: var(--space-4);
}
.mc-footer__desk-list li {
  margin: 0;
  display: grid;
  gap: 0.25rem;
}
.mc-footer__desk-city {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--mc-muted);
}
.mc-footer__desk .mc-mono {
  color: #fff;
  letter-spacing: 0.03em;
  font-size: 0.88rem;
}
.mc-footer__desk-mail a {
  color: var(--mc-blue-300);
  word-break: break-word;
  font-size: 0.875rem;
}
.mc-footer__desk-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: #fff !important;
  font-size: 0.875rem;
  font-variation-settings: 'wght' 600;
  border-top: 1px solid var(--mc-ink-700);
  padding-top: var(--space-4);
}
.mc-footer__desk-link svg {
  width: 14px;
  height: 14px;
  transition: transform var(--dur-fast) var(--ease);
}
.mc-footer__desk-link:hover svg { transform: translateX(3px); }

/* Legal bar */
.mc-footer__bar {
  border-top: 1px solid var(--mc-ink-700);
  padding-block: var(--space-5);
  background: rgba(0, 0, 0, 0.25);
}
.mc-footer__bar-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4) var(--space-6);
}
.mc-footer__copy {
  margin: 0;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  font-size: 0.8125rem;
  color: var(--mc-muted);
  max-width: 52ch;
}
.mc-footer__copy-mark {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--mc-red-500);
  box-shadow: 0 0 0 2px rgba(0, 74, 173, 0.45);
  flex: none;
}
.mc-footer__legal {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3) var(--space-5);
  font-size: 0.8125rem;
}
.mc-footer__legal li { margin: 0; }
.mc-footer__legal a {
  color: var(--mc-on-dark-2);
  text-decoration: none;
}
.mc-footer__legal a:hover { color: #fff; }
.mc-footer__legal .mc-mono {
  color: var(--mc-muted);
  font-size: 0.75rem;
  letter-spacing: 0.04em;
}

@media (max-width: 639px) {
  .mc-footer__desk { grid-column: 1 / -1; }
}

/* --------------------------------------------------------------------------
   Next steps — editorial page close (not commercial enquiry)
   -------------------------------------------------------------------------- */
.mc-nextsteps__head { margin-bottom: var(--space-7); }
.mc-nextsteps__kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.7rem;
  color: var(--mc-blue-600);
  margin-bottom: var(--space-3);
}
.mc-nextsteps__grid {
  display: grid;
  gap: var(--space-5);
}
@media (min-width: 768px) {
  .mc-nextsteps__grid { grid-template-columns: repeat(3, 1fr); gap: var(--space-5); }
}
.mc-nextsteps__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  text-decoration: none;
  color: inherit;
  min-height: 100%;
  transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.mc-nextsteps__card:hover {
  border-color: var(--mc-blue-600);
  transform: translateY(-2px);
}
.mc-nextsteps__card-kicker {
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.68rem;
  color: var(--mc-blue-600);
}
.mc-nextsteps__card-title {
  color: var(--mc-ink-900);
  font-size: 1.1rem;
  letter-spacing: -0.015em;
  font-variation-settings: 'wght' 600;
  max-width: 16ch;
}
.mc-nextsteps__card p {
  margin: 0;
  flex: 1;
  font-size: 0.9rem;
  color: var(--mc-slate);
  max-width: 32ch;
}
.mc-nextsteps__card .mc-link-arrow { margin-top: var(--space-2); }

/* Product detail + products hub helpers */
.mc-product-page__kicker,
.mc-trade-hub__kicker,
.mc-reach-page__kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.7rem;
  color: var(--mc-blue-600);
  margin-bottom: var(--space-3);
}
.mc-product-page__kicker--dark,
.mc-trade-hub__kicker--dark { color: var(--mc-blue-600); }
.mc-product-page__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  margin-top: var(--space-7);
  margin-bottom: 0;
}
.mc-product-page__exec {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--space-4);
  max-width: 40rem;
}
.mc-product-page__exec li {
  margin: 0;
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--mc-rule);
}
.mc-product-page__exec li:first-child { border-top: 1px solid var(--mc-rule); }

.mc-products-hub__grid {
  grid-template-columns: 1fr;
}
@media (min-width: 640px) {
  .mc-products-hub__grid {
    grid-template-columns: 1fr 1fr;
  }
  .mc-products-hub__grid > *:nth-child(even) { margin-top: 0; }
}
@media (min-width: 1024px) {
  .mc-products-hub__grid { grid-template-columns: repeat(3, 1fr); }
  .mc-products-hub__grid > *:last-child:nth-child(odd) { grid-column: auto; }
  .mc-products-hub__grid > *:last-child:nth-child(odd) .mc-product__media { aspect-ratio: 3 / 2; }
}
.mc-products-hub__note {
  margin-top: var(--space-8);
  padding-top: var(--space-7);
  border-top: 1px solid var(--mc-rule);
  max-width: 62ch;
}
.mc-products-hub__note p {
  color: var(--mc-slate);
  margin-bottom: var(--space-5);
}

.mc-trade-hub__more { margin-top: var(--space-7); margin-bottom: 0; }
/* Dual producers/buyers styles live in pages/trade.css (light band). */

.mc-about__lede {
  max-width: 62ch;
  font-size: var(--fs-lede);
  color: var(--mc-ink-900);
  font-variation-settings: 'wght' 500;
}
.mc-about__split { margin-top: var(--space-9); }

/* Corridor styles shared (home + reach page) */
.mc-corridor {
  display: grid;
  gap: var(--space-6);
  align-items: stretch;
}
@media (min-width: 1024px) {
  .mc-corridor {
    grid-template-columns: minmax(0, 0.95fr) auto minmax(0, 1.25fr);
    gap: var(--space-6) var(--space-5);
  }
}
.mc-corridor__hub {
  background: var(--mc-ink-900);
  color: var(--mc-on-dark-2);
  border-radius: var(--radius);
  border-top: 3px solid var(--mc-red-500);
  padding: var(--space-7) var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-7);
  min-height: 100%;
  position: relative;
  overflow: hidden;
}
.mc-corridor__hub::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(145deg, rgba(0, 74, 173, 0.22) 0%, transparent 48%);
  clip-path: polygon(0 0, 52% 0, 28% 100%, 0 100%);
}
.mc-corridor__hub > * { position: relative; z-index: 1; }
.mc-corridor__kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.7rem;
  color: var(--mc-blue-300);
  margin-bottom: var(--space-4);
}
.mc-corridor__dest .mc-corridor__kicker {
  color: var(--mc-blue-600);
  margin-bottom: var(--space-5);
}
.mc-corridor__hub-main {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--space-5);
  align-items: start;
  flex: 1;
}
.mc-corridor__hub h3 {
  color: #fff;
  font-size: clamp(1.75rem, 2.4vw, 2.25rem);
  margin-bottom: var(--space-4);
  letter-spacing: -0.02em;
}
.mc-corridor__hub p {
  margin: 0;
  max-width: 32ch;
  color: var(--mc-on-dark-2);
  font-size: 0.98rem;
  line-height: 1.6;
}
.mc-corridor__node {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--mc-blue-500);
  box-shadow: 0 0 0 4px rgba(0, 74, 173, 0.25);
  margin-top: 0.55rem;
  flex: none;
}
.mc-corridor__node--hub {
  background: var(--mc-red-500);
  box-shadow: 0 0 0 4px rgba(237, 27, 36, 0.22), 0 0 0 6px rgba(0, 74, 173, 0.35);
}
.mc-corridor__ops {
  border-top: 1px solid var(--mc-ink-700);
  padding-top: var(--space-5);
}
.mc-corridor__ops-label {
  display: block;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--mc-muted);
  margin-bottom: var(--space-3);
}
.mc-corridor__ops-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}
.mc-corridor__ops-list li {
  margin: 0;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--mc-ink-700);
  border-radius: var(--radius);
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-family: var(--ff-mono);
}
.mc-corridor__bridge { display: none; }
@media (min-width: 1024px) {
  .mc-corridor__bridge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    min-width: 56px;
    padding-block: var(--space-4);
  }
  .mc-corridor__bridge-line {
    flex: 1;
    width: 2px;
    min-height: 80px;
    background: linear-gradient(180deg, var(--mc-red-500), var(--mc-blue-600) 55%, var(--mc-blue-500));
    opacity: 0.85;
    border-radius: 2px;
  }
  .mc-corridor__bridge-label {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-size: 0.65rem;
    color: var(--mc-slate);
    white-space: nowrap;
  }
}
.mc-corridor__dest {
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
  padding: var(--space-6) var(--space-6) var(--space-5);
  min-height: 100%;
}
.mc-corridor__markets {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}
.mc-corridor__markets li {
  display: grid;
  grid-template-columns: 2.25rem 1fr;
  gap: var(--space-4);
  align-items: start;
  margin: 0;
  padding: var(--space-5) 0;
  border-top: 1px solid var(--mc-rule);
}
.mc-corridor__markets li:first-child { border-top: 0; padding-top: var(--space-2); }
.mc-corridor__ix {
  color: var(--mc-blue-600);
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  padding-top: 0.2rem;
}
.mc-corridor__market-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  margin-bottom: var(--space-2);
}
.mc-corridor__market-title strong {
  color: var(--mc-ink-900);
  font-size: 1.05rem;
  font-variation-settings: 'wdth' 106, 'wght' 600;
}
.mc-corridor__role {
  color: var(--mc-slate);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.mc-corridor__markets p {
  margin: 0;
  font-size: 0.9rem;
  color: var(--mc-slate);
  max-width: 42ch;
  line-height: 1.55;
}

/* --------------------------------------------------------------------------
   Forms (Contact Form 7 skinned; no plugin defaults survive)
   -------------------------------------------------------------------------- */
.mc-form { display: grid; gap: var(--space-5); }
.mc-form .wpcf7-form { display: grid; gap: var(--space-5); margin: 0; }
.mc-form .wpcf7-form > p { margin: 0; max-width: none; }
.mc-form .wpcf7-form-control-wrap { display: block; }
@media (min-width: 700px) {
  .mc-form__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
  }
}
.mc-form label,
.mc-form .mc-label {
  display: block;
  margin-bottom: var(--space-2);
  font-size: 0.8125rem;
  font-variation-settings: 'wght' 600;
  letter-spacing: 0.02em;
  color: var(--mc-ink-900);
}
.mc-form input[type="text"],
.mc-form input[type="email"],
.mc-form input[type="tel"],
.mc-form select,
.mc-form textarea {
  width: 100%;
  min-height: 52px;
  padding: 0.85rem 1rem;
  background: var(--mc-white);
  color: var(--mc-body);
  border: 1.5px solid var(--mc-rule);
  border-radius: var(--radius);
  font-family: var(--ff-sans);
  font-size: 0.9375rem;
  line-height: 1.4;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  transition:
    border-color var(--dur-fast) var(--ease),
    box-shadow var(--dur-fast) var(--ease),
    background var(--dur-fast) var(--ease);
}
.mc-form select {
  padding-right: 2.5rem;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--mc-blue-600) 50%),
    linear-gradient(135deg, var(--mc-blue-600) 50%, transparent 50%);
  background-position:
    calc(100% - 1.15rem) calc(50% - 0.15rem),
    calc(100% - 0.75rem) calc(50% - 0.15rem);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}
.mc-form textarea {
  min-height: 160px;
  padding-top: 0.95rem;
  resize: vertical;
}
.mc-form input:hover,
.mc-form select:hover,
.mc-form textarea:hover {
  border-color: color-mix(in srgb, var(--mc-blue-600) 45%, var(--mc-rule));
}
.mc-form input:focus,
.mc-form select:focus,
.mc-form textarea:focus {
  outline: none;
  border-color: var(--mc-blue-600);
  box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.12);
}
.mc-form input.wpcf7-not-valid,
.mc-form select.wpcf7-not-valid,
.mc-form textarea.wpcf7-not-valid {
  border-color: var(--mc-red-500);
  box-shadow: 0 0 0 3px rgba(237, 27, 36, 0.1);
}
.mc-form ::placeholder { color: var(--mc-muted); opacity: 1; }

/* Submit — brand primary action (kills native browser button chrome) */
.mc-form .wpcf7-submit,
.mc-form input[type="submit"],
.mc-form button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-3);
  width: 100%;
  min-height: 54px;
  margin: 0;
  padding: 0.9rem 1.75rem;
  border: 1.5px solid transparent;
  border-radius: var(--radius);
  background: var(--mc-red-500);
  color: #fff;
  font-family: var(--ff-sans);
  font-size: 0.9375rem;
  font-variation-settings: 'wdth' var(--wd-normal), 'wght' 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  transition:
    background var(--dur-fast) var(--ease),
    border-color var(--dur-fast) var(--ease),
    color var(--dur-fast) var(--ease),
    transform var(--dur-fast) var(--ease),
    box-shadow var(--dur-fast) var(--ease);
}
.mc-form .wpcf7-submit:hover,
.mc-form input[type="submit"]:hover,
.mc-form button[type="submit"]:hover {
  background: var(--mc-red-600);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(237, 27, 36, 0.22);
}
.mc-form .wpcf7-submit:active,
.mc-form input[type="submit"]:active,
.mc-form button[type="submit"]:active {
  transform: translateY(1px);
  box-shadow: none;
}
.mc-form .wpcf7-submit:focus-visible,
.mc-form input[type="submit"]:focus-visible,
.mc-form button[type="submit"]:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(0, 74, 173, 0.2), 0 8px 20px rgba(237, 27, 36, 0.18);
}
.mc-form .wpcf7-submit:disabled,
.mc-form input[type="submit"]:disabled,
.mc-form .wpcf7-form.submitting .wpcf7-submit {
  opacity: 0.72;
  cursor: wait;
  transform: none;
  box-shadow: none;
}
@media (min-width: 700px) {
  .mc-form .wpcf7-submit,
  .mc-form input[type="submit"],
  .mc-form button[type="submit"] {
    width: auto;
    min-width: 14rem;
    padding-inline: 2rem;
  }
}

/* Submit row: actions wrap (preferred) or CF7 <p> with submit */
.mc-form .mc-form__actions,
.mc-form .wpcf7-form > p:has(.wpcf7-submit) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-2);
  padding-top: var(--space-5);
  border-top: 1px solid var(--mc-rule);
}
.mc-form .wpcf7-spinner {
  margin: 0;
  position: relative;
  top: 0;
  background-color: var(--mc-blue-600);
  opacity: 0.85;
}

.mc-form .wpcf7-not-valid-tip {
  color: var(--mc-red-600);
  font-size: var(--fs-small);
  margin-top: var(--space-2);
  font-variation-settings: 'wght' 500;
}
.mc-form .wpcf7-response-output {
  margin: 0 !important;
  border: 1px solid var(--mc-rule) !important;
  border-left: 3px solid var(--mc-blue-600) !important;
  padding: var(--space-4) var(--space-5) !important;
  border-radius: var(--radius);
  font-size: 0.9375rem;
  background: var(--mc-bone);
}
.mc-form .wpcf7-form.sent .wpcf7-response-output {
  border-left-color: #1B7F4B !important;
  background: rgba(27, 127, 75, 0.06);
}
.mc-form .wpcf7-form.invalid .wpcf7-response-output,
.mc-form .wpcf7-form.failed .wpcf7-response-output {
  border-left-color: var(--mc-red-500) !important;
  background: rgba(237, 27, 36, 0.05);
}
.mc-req { color: var(--mc-red-500); }

/* --------------------------------------------------------------------------
   Breadcrumbs
   -------------------------------------------------------------------------- */
.mc-crumbs { font-size: var(--fs-small); color: var(--mc-on-dark-2); margin-bottom: var(--space-5); }
.mc-crumbs a { color: var(--mc-on-dark-2); text-decoration: none; }
.mc-crumbs a:hover { color: #fff; }
.mc-crumbs span { opacity: .5; margin-inline: var(--space-2); }

/* --------------------------------------------------------------------------
   Office card
   -------------------------------------------------------------------------- */
.mc-office { border: 1px solid var(--mc-rule); border-radius: var(--radius); padding: var(--space-6); }
.mc-office__label {
  font-size: var(--fs-eyebrow); text-transform: uppercase; letter-spacing: .15em;
  color: var(--mc-blue-600); font-variation-settings: 'wght' 600; margin-bottom: var(--space-3);
}
.mc-office h3 { margin-bottom: var(--space-4); }
.mc-office address { font-style: normal; color: var(--mc-slate); font-size: 0.9375rem; line-height: 1.7; }
.mc-office a { display: inline-block; margin-top: var(--space-3); font-family: var(--ff-mono);
  font-size: var(--fs-mono); color: var(--mc-blue-600); text-decoration: none; }
.mc-office a:hover { text-decoration: underline; }

/* --------------------------------------------------------------------------
   Leadership medallion
   -------------------------------------------------------------------------- */
.mc-leader { display: grid; gap: var(--space-5); align-items: start; }
@media (min-width: 700px) { .mc-leader { grid-template-columns: 96px 1fr; gap: var(--space-6); } }
.mc-leader__mark {
  width: 96px; height: 96px; border-radius: 50%;
  background: var(--mc-ink-900); color: #fff;
  display: grid; place-items: center;
  font-variation-settings: 'wdth' 108, 'wght' 700; font-size: 1.5rem; letter-spacing: .02em;
  border: 1px solid var(--mc-ink-700);
}
.mc-leader__role {
  font-size: var(--fs-eyebrow); text-transform: uppercase; letter-spacing: .14em;
  color: var(--mc-blue-600); font-variation-settings: 'wght' 600;
  margin: var(--space-2) 0 var(--space-4);
}
.mc-leader h3 { font-size: 1.25rem; }
.mc-leader p { color: var(--mc-slate); margin: 0; }

/* --------------------------------------------------------------------------
   Counterflow band + enquiry desk
   Shared across Home and every interior page that closes with enquiry-band.
   (Must live in components, not pages/home.css.)
   -------------------------------------------------------------------------- */
.mc-band {
  padding-block: clamp(4.5rem, 9vw, 8rem);
}
.mc-band__inner { max-width: 64ch; position: relative; }
.mc-band .mc-quote {
  color: #fff;
  max-width: 28ch;
  margin-bottom: var(--space-6);
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
}
.mc-band p:not(.mc-quote):not(.mc-enquiry__lede):not(.mc-enquiry__cta) {
  color: var(--mc-on-dark-2);
  max-width: 48ch;
  margin-bottom: var(--space-7);
  font-size: var(--fs-lede);
}

/* --------------------------------------------------------------------------
   Partner logos strip (home + Strategic Offtake Partnerships)
   -------------------------------------------------------------------------- */
.mc-partner-logos {
  padding-block: clamp(3rem, 6vw, 4.5rem);
}
.mc-partner-logos__kicker {
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.7rem;
  color: var(--mc-blue-600);
  margin-bottom: var(--space-3);
  font-variation-settings: 'wght' 600;
}
.mc-partner-logos__head {
  text-align: center;
  margin: 0 auto var(--space-7);
  max-width: min(100%, 56rem);
}
.mc-partner-logos__head h2 {
  margin: 0 0 var(--space-3);
  max-width: none;
  white-space: nowrap;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  letter-spacing: -0.02em;
}
.mc-partner-logos__lede {
  margin: 0 auto;
  max-width: none;
  color: var(--mc-slate);
  font-size: clamp(0.9rem, 1.4vw, 1.05rem);
  line-height: 1.4;
  white-space: nowrap;
}
@media (max-width: 639px) {
  .mc-partner-logos__head h2,
  .mc-partner-logos__lede {
    white-space: normal;
  }
}
.mc-partner-logos__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: stretch;
}
@media (min-width: 800px) {
  .mc-partner-logos__list {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-5);
  }
}
.mc-partner-logos__item {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 7.5rem;
  padding: var(--space-6) var(--space-5);
  background: var(--mc-white);
  border: 1px solid var(--mc-rule);
  border-radius: var(--radius);
}
.mc-partner-logos__item img {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 4.75rem;
  object-fit: contain;
}
@media (min-width: 800px) {
  .mc-partner-logos__item {
    min-height: 8.25rem;
  }
  .mc-partner-logos__item img {
    max-height: 5.25rem;
  }
}

.mc-enquiry__inner {
  display: grid;
  gap: var(--space-8);
  align-items: end;
}
@media (min-width: 1024px) {
  .mc-enquiry__inner { grid-template-columns: 7fr 5fr; gap: var(--space-9); }
}
.mc-enquiry h2 {
  color: #fff;
  max-width: 18ch;
  font-size: clamp(1.85rem, 3.2vw, 2.6rem);
}
.mc-enquiry__lede {
  margin-top: var(--space-5);
  margin-bottom: 0;
  color: var(--mc-on-dark-2);
  max-width: 42ch;
  font-size: var(--fs-lede);
}
.mc-enquiry__cta { margin-top: var(--space-7); margin-bottom: 0; }
.mc-enquiry__contact {
  display: grid;
  gap: var(--space-5);
  justify-items: start;
  padding: var(--space-6);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius);
  width: 100%;
}
@media (min-width: 1024px) {
  .mc-enquiry__contact { justify-items: stretch; }
}
.mc-enquiry__office {
  display: grid;
  gap: 0.35rem;
}
.mc-enquiry__city {
  font-size: var(--fs-eyebrow);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--mc-blue-300);
  font-variation-settings: 'wght' 600;
}
.mc-enquiry__contact a.mc-mono {
  color: #fff;
  text-decoration: none;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}
.mc-enquiry__contact a.mc-mono:hover { color: var(--mc-blue-300); }
.mc-enquiry__mail {
  padding-top: var(--space-3);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--mc-on-dark) !important;
  word-break: break-word;
}

@media (max-width: 640px) {
  .mc-enquiry__cta .mc-btn {
    width: 100%;
    justify-content: center;
  }
}
