/* MatAMet homepage 3.4 — Live Institute Showcase final polish.
   Header and approved institutional footer remain unchanged. The homepage
   body uses only the approved Graphite Mineral Bolder palette and real
   WordPress content, with measured proximity scrolling on fitting screens. */

body.home,
body.front-page {
  background: #F6F3EC;
}

body.home .site-main.matamet-home-v33,
body.front-page .site-main.matamet-home-v33 {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.matamet-home-v33 {
  --m33-paper: #F6F3EC;
  --m33-surface: #FEFDF9;
  --m33-ink: #151719;
  --m33-graphite: #33423A;
  --m33-muted: #696E6E;
  --m33-rule: #D8D1C7;
  --m33-teal: #123F46;
  --m33-teal-2: #2F6268;
  --m33-copper: #C7653B;
  --m33-oxide: #A54D2C;
  --m33-mineral: #DDE7E5;
  --m33-warm: #E8DDD2;
  --m33-frame: 1580px;
  --m33-gutter: clamp(22px, 3.1vw, 58px);
  --m33-vh: 100svh;
  --m33-header-offset: 0px;
  --m33-stage-height: calc(var(--m33-vh) - var(--m33-header-offset));
  --m33-hero-height: var(--m33-stage-height);

  /* Existing footer aliases. */
  --m27-paper: var(--m33-paper);
  --m27-surface: var(--m33-surface);
  --m27-ink: var(--m33-ink);
  --m27-graphite: var(--m33-graphite);
  --m27-muted: var(--m33-muted);
  --m27-rule: var(--m33-rule);
  --m27-teal: var(--m33-teal);
  --m27-teal-2: var(--m33-teal-2);
  --m27-copper: var(--m33-copper);
  --m27-oxide: var(--m33-oxide);
  --m27-mineral: var(--m33-mineral);
  --m27-warm: var(--m33-warm);
  --m27-frame: 1600px;
  --m27-gutter: clamp(18px, 3.2vw, 62px);
  --m27-header-offset: var(--m33-header-offset);

  color: var(--m33-ink);
  background: var(--m33-paper);
  font-family: var(--matamet-font-body, "Gabarito", sans-serif);
  font-size: 16px;
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  font-synthesis: none;
}

.matamet-home-v33 *,
.matamet-home-v33 *::before,
.matamet-home-v33 *::after {
  box-sizing: border-box;
}

.matamet-home-v33 :where(h1, h2, h3, p, dl, dd, ol, ul, figure) {
  margin-block-start: 0;
}

.matamet-home-v33 :where(a, button) {
  -webkit-tap-highlight-color: transparent;
}

.matamet-home-v33 :where(a, button):focus-visible {
  outline: 3px solid var(--m33-copper);
  outline-offset: 4px;
}

.m33-frame,
.m27-frame {
  width: min(var(--m33-frame), calc(100% - (2 * var(--m33-gutter))));
  margin-inline: auto;
}

.m33-kicker,
.m27-kicker {
  margin-block-end: 11px;
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .66rem;
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.m33-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}

.m33-button,
.m27-button {
  min-height: 46px;
  padding: 12px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border: 1px solid transparent;
  border-radius: 1px;
  font-size: .86rem;
  font-weight: 700;
  line-height: 1.15;
  text-decoration: none;
  transition: background-color .16s ease, border-color .16s ease, color .16s ease, transform .16s ease;
}

.m33-button:hover,
.m27-button:hover {
  transform: translateY(-1px);
}

.matamet-home-v33 a.m33-button--primary,
.matamet-home-v33 a.m33-button--primary:link,
.matamet-home-v33 a.m33-button--primary:visited {
  border-color: var(--m33-surface);
  background: var(--m33-surface);
  color: var(--m33-teal) !important;
  -webkit-text-fill-color: var(--m33-teal);
}

.matamet-home-v33 a.m33-button--primary:hover,
.matamet-home-v33 a.m33-button--primary:focus-visible {
  border-color: var(--m33-warm);
  background: var(--m33-warm);
}

.m33-text-link,
.m33-action {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--m33-teal);
  font-size: .86rem;
  font-weight: 700;
  text-decoration: none;
}

.matamet-home-v33 a.m33-text-link,
.matamet-home-v33 a.m33-text-link:link,
.matamet-home-v33 a.m33-text-link:visited,
.matamet-home-v33 a.m33-action,
.matamet-home-v33 a.m33-action:link,
.matamet-home-v33 a.m33-action:visited {
  color: var(--m33-teal) !important;
  -webkit-text-fill-color: var(--m33-teal);
}

.matamet-home-v33 a.m33-text-link:hover,
.matamet-home-v33 a.m33-text-link:focus-visible,
.matamet-home-v33 a.m33-action:hover,
.matamet-home-v33 a.m33-action:focus-visible {
  color: var(--m33-oxide) !important;
  -webkit-text-fill-color: var(--m33-oxide);
}

.matamet-home-v33 a.m33-text-link--light,
.matamet-home-v33 a.m33-text-link--light:link,
.matamet-home-v33 a.m33-text-link--light:visited {
  color: var(--m33-paper) !important;
  -webkit-text-fill-color: var(--m33-paper);
}

.matamet-home-v33 a.m33-text-link--light:hover,
.matamet-home-v33 a.m33-text-link--light:focus-visible {
  color: var(--m33-warm) !important;
  -webkit-text-fill-color: var(--m33-warm);
}

.m33-stage {
  min-height: max(540px, var(--m33-stage-height));
  position: relative;
  border-block-end: 1px solid var(--m33-rule);
  scroll-margin-top: var(--m33-header-offset);
}

.m33-stage[data-m33-fit="true"] {
  scroll-snap-align: start;
  scroll-snap-stop: normal;
}

.m33-hero__inner,
.m33-chapter__inner {
  min-height: inherit;
}

/* Minimal chapter progress. It never participates in layout. */
.m33-rail {
  width: 32px;
  padding: 8px 3px;
  position: fixed;
  left: 8px;
  top: calc(var(--m33-header-offset) + 50%);
  z-index: 50;
  transform: translateY(-50%);
  display: grid;
  gap: 1px;
  background: transparent;
  border: 0;
}

.m33-rail__track {
  width: 1px;
  position: absolute;
  inset: 15px auto 15px 15px;
  background: var(--m33-rule);
}

.m33-rail__track i {
  width: 1px;
  height: 0;
  display: block;
  background: var(--m33-copper);
  transition: height .14s linear;
}

.m33-rail a {
  width: 24px;
  height: 24px;
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  color: transparent;
  text-decoration: none;
}

.m33-rail a::before {
  content: "";
  width: 4px;
  height: 4px;
  border: 1px solid var(--m33-muted);
  border-radius: 50%;
  background: var(--m33-paper);
  transition: width .15s ease, height .15s ease, border-color .15s ease, background-color .15s ease;
}

.m33-rail a[aria-current="location"]::before {
  width: 8px;
  height: 8px;
  border-color: var(--m33-copper);
  background: var(--m33-copper);
}

.m33-rail a b,
.m33-rail a span {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.m33-rail a::after {
  content: attr(data-label);
  width: max-content;
  max-width: 170px;
  padding: 5px 8px;
  position: absolute;
  left: 31px;
  top: 50%;
  transform: translateY(-50%) translateX(-3px);
  opacity: 0;
  pointer-events: none;
  border: 1px solid var(--m33-rule);
  background: var(--m33-surface);
  color: var(--m33-graphite);
  font-size: .68rem;
  font-weight: 700;
  transition: opacity .14s ease, transform .14s ease;
}

.m33-rail a:hover::after,
.m33-rail a:focus-visible::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.m33-rail.is-over-footer {
  opacity: 0;
  pointer-events: none;
}

/* Hero: an institutional catalogue rather than a fabricated data graphic. */
.m33-hero {
  min-height: max(540px, var(--m33-hero-height));
  color: var(--m33-paper);
  background: var(--m33-ink);
  border-color: var(--m33-graphite);
  overflow: hidden;
}

.m33-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .16;
  background:
    linear-gradient(var(--m33-graphite) 1px, transparent 1px),
    linear-gradient(90deg, var(--m33-graphite) 1px, transparent 1px);
  background-size: 84px 84px;
}

.m33-hero__inner {
  padding-block: clamp(28px, 3.8vw, 58px);
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(500px, 1.14fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  gap: clamp(34px, 5vw, 88px);
}

.m33-hero__copy {
  max-width: 780px;
}

.m33-hero h1 {
  max-width: 800px;
  margin-block-end: 22px;
  color: var(--m33-paper);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(3.8rem, 5.25vw, 6.2rem);
  font-weight: 500;
  letter-spacing: -.057em;
  line-height: .92;
  text-wrap: balance;
}

.m33-lede {
  max-width: 640px;
  margin-block-end: 25px;
  color: var(--m33-mineral);
  font-size: clamp(1rem, 1.16vw, 1.14rem);
  line-height: 1.58;
}

.m33-catalogue {
  min-width: 0;
  border: 1px solid var(--m33-graphite);
  background: var(--m33-ink);
}

.m33-catalogue > header {
  min-height: 40px;
  padding-inline: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-block-end: 1px solid var(--m33-graphite);
  color: var(--m33-warm);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .62rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.m33-catalogue__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.m33-catalogue__grid > a,
.m33-catalogue__brand {
  min-width: 0;
  min-height: 88px;
  padding: 13px 14px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-inline-end: 1px solid var(--m33-graphite);
  border-block-end: 1px solid var(--m33-graphite);
}

.m33-catalogue__grid > a {
  color: var(--m33-paper);
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease;
}

.m33-catalogue__grid > a:nth-child(4n),
.m33-catalogue__grid > a:last-child {
  border-inline-end: 0;
}

.m33-catalogue__grid > a:nth-last-child(-n+4) {
  border-block-end: 0;
}

.m33-catalogue__grid > a span {
  position: absolute;
  top: 11px;
  right: 12px;
  color: var(--m33-copper);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .59rem;
}

.m33-catalogue__grid > a b,
.m33-catalogue__grid > a small {
  display: block;
}

.m33-catalogue__grid > a b {
  margin-block-end: 4px;
  color: var(--m33-paper);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.13rem;
  font-weight: 500;
  line-height: 1.05;
}

.m33-catalogue__grid > a small {
  color: var(--m33-mineral);
  font-size: .67rem;
  line-height: 1.3;
}

.m33-catalogue__grid > a:hover,
.m33-catalogue__grid > a:focus-visible {
  background: var(--m33-graphite);
}

.m33-catalogue__brand {
  grid-column: span 2;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: var(--m33-teal);
}

.m33-catalogue__brand strong {
  color: var(--m33-paper);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.65rem, 2.2vw, 2.5rem);
  font-weight: 500;
  letter-spacing: -.03em;
  line-height: 1;
}

.m33-catalogue__brand small {
  margin-block-start: 7px;
  color: var(--m33-mineral);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m33-hero__proof {
  grid-column: 1 / -1;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-graphite);
}

.m33-hero__proof div {
  min-width: 0;
  padding: 15px 0 0;
}

.m33-hero__proof div + div {
  padding-inline-start: clamp(20px, 3.2vw, 48px);
  border-inline-start: 1px solid var(--m33-graphite);
}

.m33-hero__proof dt {
  color: var(--m33-paper);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.65rem, 2.25vw, 2.45rem);
  line-height: 1;
}

.m33-hero__proof dd {
  margin: 5px 0 0;
  color: var(--m33-mineral);
  font-size: .72rem;
}

/* Shared chapter system: one calm editorial grid, varied by real content. */
.m33-chapter--paper { background: var(--m33-paper); }
.m33-chapter--surface { background: var(--m33-surface); }
.m33-chapter--mineral { background: var(--m33-mineral); }
.m33-chapter--warm { background: var(--m33-warm); }

.m33-chapter__inner {
  padding-block: clamp(34px, 4.4vw, 66px);
  display: grid;
  grid-template-columns: minmax(270px, .62fr) minmax(620px, 1.38fr);
  align-items: center;
  gap: clamp(44px, 6.5vw, 104px);
}

.m33-chapter__copy {
  max-width: 560px;
}

.m33-chapter__copy h2 {
  margin-block-end: 16px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(2.85rem, 4vw, 4.65rem);
  font-weight: 500;
  letter-spacing: -.052em;
  line-height: .94;
  text-wrap: balance;
}

.m33-chapter__copy > p:not(.m33-kicker) {
  max-width: 540px;
  margin-block-end: 18px;
  color: var(--m33-graphite);
  font-size: clamp(.96rem, 1.06vw, 1.06rem);
  line-height: 1.56;
}

/* Library register. */
.m33-ledger {
  min-width: 0;
  border-block-start: 1px solid var(--m33-rule);
}

.m33-ledger header,
.m33-ledger > a {
  display: grid;
  grid-template-columns: minmax(180px, .8fr) minmax(300px, 1.45fr) 92px;
  align-items: center;
  gap: 20px;
  border-block-end: 1px solid var(--m33-rule);
}

.m33-ledger header {
  min-height: 42px;
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m33-ledger > a {
  min-height: 67px;
  padding-block: 9px;
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-ledger strong {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.14rem;
  font-weight: 500;
  line-height: 1.08;
}

.m33-ledger small {
  color: var(--m33-muted);
  font-size: .72rem;
  line-height: 1.38;
}

.m33-ledger time {
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .6rem;
  text-align: right;
}

.m33-ledger > a:hover,
.m33-ledger > a:focus-visible {
  background: var(--m33-paper);
}

/* Metallurgy route. */
.m33-route {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-rule);
  border-inline-start: 1px solid var(--m33-rule);
  list-style: none;
}

.m33-route li {
  min-width: 0;
  min-height: 260px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
}

.m33-route li > span {
  color: var(--m33-copper);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .62rem;
}

.m33-route li > a {
  margin-block-start: auto;
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-route b,
.m33-route small {
  display: block;
}

.m33-route b {
  margin-block-end: 8px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.18rem, 1.55vw, 1.55rem);
  font-weight: 500;
  line-height: 1.05;
}

.m33-route small {
  color: var(--m33-muted);
  font-size: .71rem;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.m33-route li:hover,
.m33-route li:focus-within {
  background: var(--m33-surface);
}

/* Analysis: tool shelf and latest evidence. */
.m33-analysis {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  border-block-start: 1px solid var(--m33-rule);
  border-inline-start: 1px solid var(--m33-rule);
}

.m33-analysis__tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.m33-analysis__tools > a {
  min-height: 290px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-analysis__tools span,
.m33-analysis__latest > p {
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m33-analysis__tools b {
  margin-block: auto 10px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.18rem, 1.55vw, 1.55rem);
  font-weight: 500;
  line-height: 1.06;
}

.m33-analysis__tools small {
  color: var(--m33-muted);
  font-size: .71rem;
  line-height: 1.4;
}

.m33-analysis__tools > a:hover,
.m33-analysis__tools > a:focus-visible {
  background: var(--m33-paper);
}

.m33-analysis__latest {
  min-width: 0;
}

.m33-analysis__latest > p {
  min-height: 46px;
  margin: 0;
  padding: 15px 16px;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
}

.m33-analysis__latest > a {
  min-height: 81px;
  padding: 13px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-analysis__latest strong {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.08;
}

.m33-analysis__latest time {
  margin-block-start: 6px;
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
}

.m33-analysis__latest > a:hover,
.m33-analysis__latest > a:focus-visible {
  background: var(--m33-paper);
}

/* Sustainability scope. */
.m33-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-graphite);
  border-inline-start: 1px solid var(--m33-graphite);
}

.m33-scope > a {
  min-height: 170px;
  padding: 19px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-graphite);
  border-block-end: 1px solid var(--m33-graphite);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-scope span {
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .61rem;
}

.m33-scope b {
  margin-block: auto 7px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.28rem, 1.8vw, 1.8rem);
  font-weight: 500;
  line-height: 1.05;
}

.m33-scope small {
  color: var(--m33-graphite);
  font-size: .72rem;
  line-height: 1.4;
}

.m33-scope > a:hover,
.m33-scope > a:focus-visible {
  background: var(--m33-surface);
}

/* Atlas uses actual route media where available, otherwise an honest register. */
.m33-atlas {
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, .5fr);
  border: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m33-atlas__viewport {
  min-width: 0;
  min-height: 358px;
  position: relative;
  overflow: hidden;
  border-inline-end: 1px solid var(--m33-rule);
}

.m33-atlas__image {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: block;
  object-fit: cover;
}

.m33-atlas__empty {
  height: 100%;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(var(--m33-rule) 1px, transparent 1px),
    linear-gradient(90deg, var(--m33-rule) 1px, transparent 1px),
    var(--m33-paper);
  background-size: 48px 48px;
}

.m33-atlas__empty span {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 2rem;
}

.m33-atlas__empty small {
  max-width: 35ch;
  margin-block-start: 8px;
  color: var(--m33-muted);
}

.m33-atlas__layers {
  display: grid;
  grid-template-rows: repeat(4, minmax(0, 1fr));
}

.m33-atlas__layers a {
  min-height: 72px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-atlas__layers a:last-child {
  border-block-end: 0;
}

.m33-atlas__layers span {
  color: var(--m33-copper);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .59rem;
}

.m33-atlas__layers b {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.16rem;
  font-weight: 500;
}

.m33-atlas__layers a:hover,
.m33-atlas__layers a:focus-visible {
  background: var(--m33-paper);
}

/* Steel Lab workspaces. */
.m33-workspaces {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-graphite);
  border-inline-start: 1px solid var(--m33-graphite);
}

.m33-workspaces > a {
  min-width: 0;
  min-height: 300px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-graphite);
  border-block-end: 1px solid var(--m33-graphite);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-workspaces figure {
  height: 115px;
  margin: 0 0 16px;
  overflow: hidden;
  background: var(--m33-paper);
}

.m33-workspaces__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.m33-workspaces > a > span {
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .59rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m33-workspaces b {
  margin-block: auto 8px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.16rem, 1.55vw, 1.52rem);
  font-weight: 500;
  line-height: 1.06;
}

.m33-workspaces small {
  color: var(--m33-graphite);
  font-size: .7rem;
  line-height: 1.38;
}

.m33-workspaces > a:hover,
.m33-workspaces > a:focus-visible {
  background: var(--m33-surface);
}

/* Reports use actual covers; typographic covers are fallback only. */
.m33-reports {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.m33-reports article {
  min-width: 0;
}

.m33-reports__cover {
  height: 220px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  border: 1px solid var(--m33-rule);
  background: var(--m33-teal);
  color: var(--m33-paper);
  text-decoration: none;
}

.m33-reports__image {
  width: calc(100% + 36px);
  height: calc(100% + 36px);
  margin: -18px;
  display: block;
  object-fit: cover;
}

.m33-reports__cover > span {
  color: var(--m33-warm);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.m33-reports__cover > strong {
  color: var(--m33-paper);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.02;
}

.m33-reports article > p,
.m33-blog__feature p,
.m33-blog__more span {
  margin: 11px 0 5px;
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  text-transform: uppercase;
}

.m33-reports h3 {
  margin: 0;
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.08;
}

.m33-reports h3 a {
  color: var(--m33-ink);
  text-decoration: none;
}

/* Newsroom uses current media and a chronological list. */
.m33-newsroom {
  min-height: 340px;
  display: grid;
  grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
  border: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m33-newsroom__visual {
  min-height: 338px;
  position: relative;
  overflow: hidden;
  border-inline-end: 1px solid var(--m33-rule);
  color: var(--m33-paper);
  text-decoration: none;
}

.m33-newsroom__image {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: block;
  object-fit: cover;
}

.m33-newsroom__visual::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, var(--m33-ink));
}

.m33-newsroom__visual > span {
  padding: 22px;
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  color: var(--m33-paper);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.5rem;
  line-height: 1.06;
}

.m33-newsroom__list {
  min-width: 0;
}

.m33-newsroom__list > a {
  min-height: 84px;
  padding: 13px 18px;
  display: grid;
  grid-template-columns: 106px 1fr 22px;
  align-items: center;
  gap: 16px;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-newsroom__list > a:last-child {
  border-block-end: 0;
}

.m33-newsroom__list time {
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
}

.m33-newsroom__list strong {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.08;
}

.m33-newsroom__list > a > span {
  color: var(--m33-copper);
}

.m33-newsroom__list > a:hover,
.m33-newsroom__list > a:focus-visible {
  background: var(--m33-paper);
}

/* Markets only shows values found in current WordPress market records. */
.m33-market {
  border-block-start: 1px solid var(--m33-graphite);
}

.m33-market header,
.m33-market > a {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(130px, .55fr) minmax(110px, .45fr) 104px;
  align-items: center;
  gap: 16px;
  border-block-end: 1px solid var(--m33-graphite);
}

.m33-market header {
  min-height: 42px;
  color: var(--m33-graphite);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .59rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m33-market > a {
  min-height: 60px;
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-market strong {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.08;
}

.m33-market > a > span,
.m33-market time {
  color: var(--m33-graphite);
  font-size: .72rem;
}

.m33-market time {
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  text-align: right;
}

.m33-market > a:hover,
.m33-market > a:focus-visible {
  background: var(--m33-surface);
}

/* Blog feature and secondary reading list. */
.m33-blog {
  min-height: 340px;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr);
  border: 1px solid var(--m33-rule);
  background: var(--m33-paper);
}

.m33-blog__feature {
  min-width: 0;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(230px, .85fr) minmax(260px, 1.15fr);
  align-items: center;
  gap: 22px;
  border-inline-end: 1px solid var(--m33-rule);
}

.m33-blog__visual {
  min-height: 260px;
  position: relative;
  overflow: hidden;
  background: var(--m33-warm);
}

.m33-blog__image {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: block;
  object-fit: cover;
}

.m33-blog__feature h3 {
  margin: 0 0 11px;
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.6rem, 2.25vw, 2.35rem);
  font-weight: 500;
  line-height: 1.02;
}

.m33-blog__feature h3 a,
.m33-blog__more strong {
  color: var(--m33-ink);
  text-decoration: none;
}

.m33-blog__feature small {
  color: var(--m33-muted);
  font-size: .78rem;
  line-height: 1.45;
}

.m33-blog__more > a {
  min-height: 112px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m33-blog__more > a:last-child {
  border-block-end: 0;
}

.m33-blog__more span {
  margin: 0 0 6px;
}

.m33-blog__more strong {
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.12rem;
  font-weight: 500;
  line-height: 1.08;
}

.m33-blog__more > a:hover,
.m33-blog__more > a:focus-visible {
  background: var(--m33-surface);
}

/* Approved institutional footer — preserved from the current build. */
.m27-footer {
  color: #F6F3EC;
  background: #151719;
  border-block-start: 4px solid var(--m27-teal-2);
  scroll-margin-top: var(--m27-header-offset);
}

.m27-footer__mast {
  padding-block: clamp(50px, 6vw, 84px);
  display: grid;
  grid-template-columns: minmax(460px, 1.25fr) minmax(300px, .75fr);
  align-items: center;
  gap: clamp(48px, 8vw, 140px);
  border-block-end: 1px solid var(--m27-graphite);
}

.m27-footer__lockup {
  width: min(100%, 660px);
  min-height: 44px;
  display: block;
}

.m27-footer__lockup img {
  width: 100%;
  height: auto;
  display: block;
}

.m27-footer__briefing {
  padding-inline-start: clamp(24px, 3vw, 44px);
  border-inline-start: 1px solid var(--m27-graphite);
}

.m27-footer__briefing .m27-kicker {
  margin-block-end: 9px;
  color: var(--m27-copper);
}

.m27-footer__briefing > p:not(.m27-kicker) {
  max-width: 34ch;
  margin-block-end: 18px;
  color: var(--m27-mineral);
  font-size: .95rem;
  line-height: 1.5;
}

.matamet-home-v33 a.m27-button--light,
.matamet-home-v33 a.m27-button--light:link,
.matamet-home-v33 a.m27-button--light:visited {
  border-color: var(--m27-paper);
  background: var(--m27-paper);
  color: var(--m27-teal) !important;
  -webkit-text-fill-color: var(--m27-teal);
}

.matamet-home-v33 a.m27-button--light:hover,
.matamet-home-v33 a.m27-button--light:focus-visible {
  border-color: var(--m27-warm);
  background: var(--m27-warm);
}

.m27-footer__nav {
  padding-block: clamp(40px, 5vw, 68px);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(30px, 4vw, 70px);
  border-block-end: 1px solid var(--m27-graphite);
}

.m27-footer__nav h3 {
  margin: 0 0 15px;
  color: var(--m27-copper);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.m27-footer__nav ul { margin: 0; padding: 0; list-style: none; }
.m27-footer__nav li + li { margin-block-start: 6px; }

.m27-footer__nav a,
.m27-footer__nav a:link,
.m27-footer__nav a:visited,
.m27-footer__base a,
.m27-footer__base a:link,
.m27-footer__base a:visited {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  color: var(--m27-mineral) !important;
  -webkit-text-fill-color: var(--m27-mineral);
  font-size: .86rem;
  text-decoration: none;
}

.m27-footer__nav a:hover,
.m27-footer__nav a:focus-visible,
.m27-footer__base a:hover,
.m27-footer__base a:focus-visible {
  color: var(--m27-copper) !important;
  -webkit-text-fill-color: var(--m27-copper);
}

.m27-footer__base {
  min-height: 76px;
  padding-block: 17px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  color: var(--m27-muted);
  font-size: .74rem;
}

.m27-footer__base p { margin: 0; }
.m27-footer__base nav { display: flex; flex-wrap: wrap; gap: 18px; }

body.home #colophon,
body.front-page #colophon,
body.home .site-footer,
body.front-page .site-footer {
  display: none;
}

.screen-reader-text {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  position: absolute !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Standard laptop refinement, including a substantial installed header. */
@media (min-width: 1101px) and (max-height: 840px) {
  .m33-stage { min-height: max(510px, var(--m33-stage-height)); }
  .m33-hero { min-height: max(510px, var(--m33-hero-height)); }
  .m33-hero__inner { padding-block: 20px; gap: 36px; }
  .m33-hero h1 { margin-block-end: 14px; font-size: clamp(3.35rem, 4.55vw, 4.8rem); }
  .m33-lede { margin-block-end: 16px; font-size: .93rem; line-height: 1.45; }
  .m33-catalogue__grid > a,
  .m33-catalogue__brand { min-height: 74px; padding: 10px 12px; }
  .m33-catalogue__grid > a b { font-size: 1rem; }
  .m33-catalogue__grid > a small { font-size: .61rem; }
  .m33-catalogue__brand strong { font-size: 1.85rem; }
  .m33-hero__proof div { padding-block-start: 10px; }
  .m33-hero__proof dt { font-size: 1.72rem; }
  .m33-chapter__inner { padding-block: 24px; gap: 54px; }
  .m33-chapter__copy h2 { margin-block-end: 12px; font-size: clamp(2.4rem, 3.35vw, 3.45rem); }
  .m33-chapter__copy > p:not(.m33-kicker) { margin-block-end: 13px; font-size: .9rem; line-height: 1.42; }
  .m33-ledger > a { min-height: 58px; padding-block: 7px; }
  .m33-route li { min-height: 220px; padding: 14px; }
  .m33-analysis__tools > a { min-height: 238px; padding: 14px; }
  .m33-analysis__latest > a { min-height: 65px; padding: 10px 13px; }
  .m33-scope > a { min-height: 135px; padding: 15px; }
  .m33-atlas { min-height: 310px; }
  .m33-atlas__viewport { min-height: 308px; }
  .m33-workspaces > a { min-height: 245px; padding: 14px; }
  .m33-workspaces figure { height: 92px; margin-block-end: 12px; }
  .m33-reports__cover { height: 176px; }
  .m33-newsroom { min-height: 300px; }
  .m33-newsroom__visual { min-height: 298px; }
  .m33-newsroom__list > a { min-height: 74px; padding-block: 10px; }
  .m33-market > a { min-height: 51px; }
  .m33-blog { min-height: 300px; }
  .m33-blog__visual { min-height: 220px; }
  .m33-blog__more > a { min-height: 99px; }
}

@media (max-width: 1280px) {
  .m33-hero__inner { grid-template-columns: minmax(0, .8fr) minmax(470px, 1.2fr); }
  .m33-chapter__inner { grid-template-columns: minmax(250px, .58fr) minmax(560px, 1.42fr); gap: 42px; }
  .m33-route li { padding: 14px; }
  .m33-workspaces > a { padding: 14px; }
}

@media (max-width: 1100px) {
  .m33-rail { display: none; }
  .m33-stage,
  .m33-hero { min-height: 0; scroll-snap-align: none !important; }
  .m33-hero__inner,
  .m33-chapter__inner { grid-template-columns: 1fr; grid-template-rows: auto; gap: 40px; padding-block: 66px; }
  .m33-hero__proof { grid-column: 1; }
  .m33-hero__copy,
  .m33-chapter__copy { max-width: 760px; }
  .m33-catalogue { max-width: 900px; }
  .m33-route { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .m33-analysis { grid-template-columns: 1fr; }
  .m33-analysis__latest { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .m33-analysis__latest > p { grid-column: 1 / -1; }
  .m33-atlas { grid-template-columns: 1fr; }
  .m33-atlas__viewport { border-inline-end: 0; border-block-end: 1px solid var(--m33-rule); }
  .m33-atlas__layers { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto; }
  .m33-atlas__layers a { min-height: 78px; border-inline-end: 1px solid var(--m33-rule); border-block-end: 0; }
  .m33-workspaces { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .matamet-home-v33 { --m33-gutter: 16px; --m27-gutter: 16px; }
  .m33-hero__inner,
  .m33-chapter__inner { padding-block: 52px; gap: 30px; }
  .m33-hero h1 { font-size: clamp(3rem, 14vw, 4.8rem); }
  .m33-chapter__copy h2 { font-size: clamp(2.65rem, 12.5vw, 4.25rem); }
  .m33-actions { align-items: stretch; }
  .m33-button { width: 100%; }
  .m33-catalogue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m33-catalogue__grid > a:nth-child(4n),
  .m33-catalogue__grid > a:last-child { border-inline-end: 1px solid var(--m33-graphite); }
  .m33-catalogue__grid > a:nth-child(2n),
  .m33-catalogue__brand { border-inline-end: 0; }
  .m33-catalogue__grid > a:nth-last-child(-n+4) { border-block-end: 1px solid var(--m33-graphite); }
  .m33-catalogue__grid > a:nth-last-child(-n+2) { border-block-end: 0; }
  .m33-catalogue__brand { grid-column: 1 / -1; }
  .m33-hero__proof { grid-template-columns: repeat(2, 1fr); }
  .m33-hero__proof div { padding: 13px 0; }
  .m33-hero__proof div + div { padding-inline-start: 16px; }
  .m33-hero__proof div:nth-child(3) { padding-inline-start: 0; border-inline-start: 0; border-block-start: 1px solid var(--m33-graphite); }
  .m33-hero__proof div:nth-child(4) { border-block-start: 1px solid var(--m33-graphite); }
  .m33-ledger header { display: none; }
  .m33-ledger > a { grid-template-columns: 1fr auto; gap: 5px 14px; padding-block: 12px; }
  .m33-ledger strong,
  .m33-ledger small { grid-column: 1; }
  .m33-ledger time { grid-column: 2; grid-row: 1 / 3; }
  .m33-route { grid-template-columns: 1fr; }
  .m33-route li { min-height: 145px; }
  .m33-analysis__tools,
  .m33-analysis__latest { grid-template-columns: 1fr; }
  .m33-analysis__tools > a { min-height: 165px; }
  .m33-scope { grid-template-columns: 1fr; }
  .m33-scope > a { min-height: 145px; }
  .m33-atlas__layers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m33-atlas__layers a { border-block-end: 1px solid var(--m33-rule); }
  .m33-workspaces,
  .m33-reports { grid-template-columns: 1fr; }
  .m33-workspaces > a { min-height: 210px; }
  .m33-reports__cover { height: 260px; }
  .m33-newsroom { grid-template-columns: 1fr; }
  .m33-newsroom__visual { min-height: 260px; border-inline-end: 0; border-block-end: 1px solid var(--m33-rule); }
  .m33-newsroom__list > a { grid-template-columns: 1fr 22px; gap: 5px 14px; }
  .m33-newsroom__list time,
  .m33-newsroom__list strong { grid-column: 1; }
  .m33-newsroom__list > a > span { grid-column: 2; grid-row: 1 / 3; }
  .m33-market header { display: none; }
  .m33-market > a { grid-template-columns: 1fr auto; gap: 5px 12px; padding-block: 12px; }
  .m33-market strong { grid-column: 1; }
  .m33-market > a > span { grid-column: 1; }
  .m33-market time { grid-column: 2; grid-row: 1 / 3; }
  .m33-blog { grid-template-columns: 1fr; }
  .m33-blog__feature { grid-template-columns: 1fr; border-inline-end: 0; border-block-end: 1px solid var(--m33-rule); }
  .m33-blog__visual { min-height: 240px; }
  .m27-button { width: 100%; }
}

@media (max-width: 420px) {
  .m33-hero h1,
  .m33-chapter__copy h2,
  .m33-route b,
  .m33-workspaces b,
  .m33-reports h3,
  .m33-blog h3 { overflow-wrap: anywhere; }
  .m33-catalogue__grid > a { min-height: 82px; }
  .m33-hero__proof { grid-template-columns: 1fr; }
  .m33-hero__proof div + div,
  .m33-hero__proof div:nth-child(3),
  .m33-hero__proof div:nth-child(4) { padding-inline-start: 0; border-inline-start: 0; border-block-start: 1px solid var(--m33-graphite); }
  .m33-atlas__layers { grid-template-columns: 1fr; }
}

@media (max-width: 960px) {
  .m27-footer__mast { grid-template-columns: 1fr; }
  .m27-footer__briefing { padding: 28px 0 0; border-inline-start: 0; border-block-start: 1px solid var(--m27-graphite); }
  .m27-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .m27-footer__nav { grid-template-columns: 1fr; }
  .m27-footer__base { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  .matamet-home-v33 *,
  .matamet-home-v33 *::before,
  .matamet-home-v33 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

@media (prefers-contrast: more) {
  .matamet-home-v33 { --m33-muted: var(--m33-graphite); }
  .m33-rail { background: var(--m33-surface); }
}

@media (forced-colors: active) {
  .m33-button,
  .m33-catalogue,
  .m33-ledger,
  .m33-route,
  .m33-analysis,
  .m33-scope,
  .m33-atlas,
  .m33-workspaces,
  .m33-reports__cover,
  .m33-newsroom,
  .m33-market,
  .m33-blog,
  .m27-button { border: 1px solid CanvasText; }
}

html.m33-snap-enabled {
  scroll-snap-type: y proximity;
  scroll-padding-top: var(--m33-scroll-offset, 0px);
}

/* --- 3.2 live section showcase and assisted scrolling --- */
.m33-scroll-assist {
  width: 214px;
  min-height: 62px;
  padding: 8px;
  position: fixed;
  right: clamp(12px, 1.6vw, 28px);
  bottom: 20px;
  z-index: 55;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
  border: 1px solid var(--m33-rule);
  background: var(--m33-surface);
  box-shadow: 0 8px 30px var(--m33-rule);
  transition: opacity .16s ease, transform .16s ease;
}

.m33-scroll-assist.is-over-footer,
.m33-scroll-assist.is-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
}

.m33-scroll-assist__status {
  min-width: 0;
  padding: 4px 8px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.m33-scroll-assist__status span,
.m33-scroll-assist__status small {
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .57rem;
  line-height: 1.35;
}

.m33-scroll-assist__status strong {
  overflow: hidden;
  color: var(--m33-ink);
  font-size: .82rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m33-scroll-assist__buttons {
  display: grid;
  grid-template-columns: repeat(2, 44px);
}

.m33-scroll-assist__buttons button {
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid var(--m33-rule);
  background: var(--m33-paper);
  color: var(--m33-teal);
  font: inherit;
  cursor: pointer;
}

.m33-scroll-assist__buttons button + button { border-inline-start: 0; }
.m33-scroll-assist__buttons button:hover,
.m33-scroll-assist__buttons button:focus-visible { background: var(--m33-mineral); }
.m33-scroll-assist__buttons button:disabled { color: var(--m33-muted); cursor: default; }

/* Industrial Atlas: real installed atlas records rendered as a compact map. */
.m33-atlas {
  min-height: 352px;
  grid-template-columns: minmax(0, 1.56fr) minmax(250px, .44fr);
}

.m33-atlas__viewport {
  min-height: 350px;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
}

.m33-atlas__map {
  min-height: 270px;
  position: relative;
  overflow: hidden;
  background: var(--m33-paper);
}

.m33-atlas__map svg {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  display: block;
}

.m33-atlas__land path {
  fill: var(--m33-mineral);
  stroke: var(--m33-rule);
  stroke-width: .55;
}

.m33-atlas__routes path {
  fill: none;
  stroke: var(--m33-copper);
  stroke-width: 1;
  opacity: .72;
}

.m33-atlas__points circle {
  fill: var(--m33-teal);
  stroke: var(--m33-surface);
  stroke-width: 1.2;
}

.m33-atlas__loading {
  height: 100%;
  display: grid;
  place-items: center;
  color: var(--m33-muted);
  font-size: .78rem;
}

.m33-atlas__stats {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m33-atlas__stats div {
  min-width: 0;
  padding: 10px 14px;
}

.m33-atlas__stats div + div { border-inline-start: 1px solid var(--m33-rule); }
.m33-atlas__stats dt {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.2rem;
  line-height: 1;
}
.m33-atlas__stats dd { margin: 4px 0 0; color: var(--m33-muted); font-size: .62rem; }

.m33-atlas__layers { grid-template-rows: repeat(5, minmax(0, 1fr)); }
.m33-atlas__layers a { min-height: 62px; grid-template-columns: 26px 1fr; align-content: center; }
.m33-atlas__layers small {
  grid-column: 2;
  margin-block-start: 2px;
  color: var(--m33-muted);
  font-size: .62rem;
  line-height: 1.25;
}

/* Steel Lab: the complete installed suite, grouped rather than truncated. */
.m33-steel-suite {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-graphite);
  border-inline-start: 1px solid var(--m33-graphite);
}

.m33-steel-suite__group {
  min-width: 0;
  min-height: 320px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-graphite);
  border-block-end: 1px solid var(--m33-graphite);
  background: var(--m33-surface);
}

.m33-steel-suite__group header {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: start;
  gap: 8px;
}

.m33-steel-suite__group header span {
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .61rem;
}

.m33-steel-suite__group h3 { margin: 0; }
.m33-steel-suite__group h3 a {
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.35rem, 1.7vw, 1.8rem);
  font-weight: 500;
  line-height: 1.04;
  text-decoration: none;
}

.m33-steel-suite__group > p {
  margin: 12px 0 14px;
  color: var(--m33-muted);
  font-size: .73rem;
  line-height: 1.42;
}

.m33-steel-suite__group ul {
  margin: 0 0 16px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border-block-start: 1px solid var(--m33-rule);
  list-style: none;
}

.m33-steel-suite__group li {
  min-height: 38px;
  padding: 8px 5px 7px 0;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  font-size: .66rem;
  line-height: 1.25;
}

.m33-steel-suite__group li:nth-child(2n) { padding-inline-start: 8px; border-inline-start: 1px solid var(--m33-rule); }
.m33-steel-suite__group > a {
  min-height: 34px;
  margin-block-start: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--m33-teal);
  font-size: .72rem;
  font-weight: 700;
  text-decoration: none;
}

/* Markets: current plugin snapshot with transparent timestamps and real history. */
.m33-market { border: 1px solid var(--m33-rule); background: var(--m33-surface); }
.m33-market > header,
.m33-market__rows > a {
  display: grid;
  grid-template-columns: minmax(170px, 1.45fr) minmax(80px, .55fr) minmax(70px, .48fr) minmax(70px, .48fr) minmax(100px, .72fr);
  align-items: center;
  gap: 12px;
}
.m33-market > header {
  min-height: 38px;
  padding: 8px 14px;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .57rem;
  text-transform: uppercase;
}
.m33-market__status {
  min-height: 46px;
  padding: 8px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  border-block-end: 1px solid var(--m33-rule);
  background: var(--m33-paper);
}
.m33-market__status span { color: var(--m33-graphite); font-size: .69rem; font-weight: 700; }
.m33-market__status small { color: var(--m33-muted); font-size: .61rem; text-align: end; }
.m33-market__rows > a {
  min-height: 56px;
  padding: 8px 14px;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-graphite);
  text-decoration: none;
}
.m33-market__rows > a:last-child { border-block-end: 0; }
.m33-market__rows > a:hover,
.m33-market__rows > a:focus-visible { background: var(--m33-paper); }
.m33-market__rows strong { color: var(--m33-ink); font-size: .75rem; }
.m33-market__rows strong small { margin-block-start: 2px; display: block; color: var(--m33-muted); font-size: .56rem; font-weight: 400; }
.m33-market__rows > a > span { font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace); font-size: .66rem; }
.m33-market__rows .is-positive { color: var(--m33-teal-2); }
.m33-market__rows .is-negative { color: var(--m33-oxide); }
.m33-market__rows svg { width: 100%; height: 30px; display: block; }
.m33-market__rows svg path { fill: none; stroke: var(--m33-teal-2); stroke-width: 1.6; vector-effect: non-scaling-stroke; }

/* Blog: packaged editorial series and canonical local covers. */
.m33-blog {
  min-height: 340px;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
}
.m33-blog__feature { grid-template-columns: minmax(180px, .8fr) minmax(0, 1.2fr); }
.m33-blog__feature > div { padding: 22px; align-self: center; }
.m33-blog__feature time { margin-block-start: 12px; display: block; color: var(--m33-muted); font-size: .62rem; }
.m33-blog__more {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.m33-blog__more > a {
  min-height: 112px;
  padding: 14px 16px;
  border-inline-end: 1px solid var(--m33-rule);
}
.m33-blog__more > a:nth-child(2n) { border-inline-end: 0; }
.m33-blog__more small {
  margin-block-start: 7px;
  display: -webkit-box;
  overflow: hidden;
  color: var(--m33-muted);
  font-size: .64rem;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media (min-width: 1101px) and (max-height: 840px) {
  .m33-atlas { min-height: 300px; }
  .m33-atlas__viewport { min-height: 298px; }
  .m33-atlas__map { min-height: 224px; }
  .m33-atlas__layers a { min-height: 54px; padding-block: 8px; }
  .m33-steel-suite__group { min-height: 286px; padding: 14px; }
  .m33-steel-suite__group > p { margin-block: 8px 10px; }
  .m33-steel-suite__group li { min-height: 31px; padding-block: 5px; }
  .m33-market__rows > a { min-height: 47px; padding-block: 5px; }
  .m33-market__status { min-height: 38px; padding-block: 5px; }
  .m33-blog { min-height: 294px; }
  .m33-blog__visual { min-height: 214px; }
  .m33-blog__more > a { min-height: 92px; padding-block: 10px; }
}

@media (max-width: 1100px) {
  .m33-scroll-assist { display: none; }
  .m33-steel-suite { grid-template-columns: 1fr; }
  .m33-steel-suite__group { min-height: 0; }
}

@media (max-width: 760px) {
  .m33-atlas__stats { grid-template-columns: 1fr; }
  .m33-atlas__stats div + div { border-inline-start: 0; border-block-start: 1px solid var(--m33-rule); }
  .m33-market > header { display: none; }
  .m33-market__status { align-items: flex-start; flex-direction: column; }
  .m33-market__status small { text-align: start; }
  .m33-market__rows > a {
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
  }
  .m33-market__rows strong { grid-column: 1; }
  .m33-market__rows > a > span { grid-column: 1; }
  .m33-market__rows svg { grid-column: 2; grid-row: 1 / 5; width: 92px; }
  .m33-blog__more { grid-template-columns: 1fr; }
  .m33-blog__more > a { border-inline-end: 0; }
}

@media (forced-colors: active) {
  .m33-scroll-assist,
  .m33-steel-suite,
  .m33-market__status { border: 1px solid CanvasText; }
}

/* 3.2.1 narrow-layout correction: later live-preview rules must not
   reintroduce desktop columns after the responsive chapter layout. */
@media (max-width: 1100px) {
  .m33-chapter__inner > *,
  .m33-atlas,
  .m33-atlas__viewport,
  .m33-blog,
  .m33-blog__feature,
  .m33-blog__more {
    min-width: 0;
    width: 100%;
  }

  .m33-atlas,
  .m33-blog,
  .m33-blog__feature {
    grid-template-columns: 1fr;
  }

  .m33-atlas__viewport,
  .m33-blog__feature {
    border-inline-end: 0;
    border-block-end: 1px solid var(--m33-rule);
  }
}

@media (max-width: 760px) {
  .m33-atlas__viewport,
  .m33-atlas__map,
  .m33-blog__feature,
  .m33-blog__visual,
  .m33-blog__more,
  .m33-market__rows > a {
    max-width: 100%;
  }

  .m33-market__rows strong,
  .m33-market__rows > a > span {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .m33-market__rows svg {
    width: min(92px, 28vw);
    min-width: 0;
  }
}

/* --- 3.3 live research, functional sustainability and institute conversion --- */
.m33-hero h1 {
  max-width: 850px;
  font-size: clamp(3.55rem, 4.95vw, 5.85rem);
  line-height: .93;
}

.m33-catalogue__brand small {
  max-width: 28ch;
  line-height: 1.35;
}

/* Research analysis: one lead reading, a current feed and a visible architecture. */
.m34-analysis {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(340px, 1.04fr);
  grid-template-rows: minmax(0, 1fr) auto;
  border-block-start: 1px solid var(--m33-rule);
  border-inline-start: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m34-analysis__feature,
.m34-analysis__feed,
.m34-analysis__lenses {
  min-width: 0;
}

.m34-analysis__feature {
  min-height: 310px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
}

.m34-analysis__feature > p,
.m34-analysis__feed > header {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m34-analysis__feature h3 {
  margin: auto 0 13px;
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-weight: 500;
  line-height: 1.02;
}

.m34-analysis__feature h3 a,
.m34-analysis__feature footer a,
.m34-analysis__feed a,
.m34-analysis__lenses a {
  color: var(--m33-ink);
  text-decoration: none;
}

.m34-analysis__feature > div {
  color: var(--m33-graphite);
  font-size: .82rem;
  line-height: 1.48;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.m34-analysis__feature footer {
  min-height: 38px;
  margin-block-start: 16px;
  padding-block-start: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-block-start: 1px solid var(--m33-rule);
}

.m34-analysis__feature footer small {
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .56rem;
}

.m34-analysis__feature footer a,
.m34-analysis__feed > header a {
  color: var(--m33-teal);
  font-size: .75rem;
  font-weight: 700;
}

.m34-analysis__feed {
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
}

.m34-analysis__feed > header {
  min-height: 40px;
  padding-inline: 14px;
  border-block-end: 1px solid var(--m33-rule);
}

.m34-analysis__feed > a {
  min-height: 67px;
  padding: 10px 34px 10px 14px;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  border-block-end: 1px solid var(--m33-rule);
}

.m34-analysis__feed > a:last-child {
  border-block-end: 0;
}

.m34-analysis__feed > a > span {
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .52rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.m34-analysis__feed strong {
  margin-block-start: 2px;
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.08;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.m34-analysis__feed small {
  margin-block-start: 3px;
  color: var(--m33-muted);
  font-size: .65rem;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m34-analysis__feed i {
  position: absolute;
  right: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--m33-copper);
  font-style: normal;
}

.m34-analysis__feed > a:hover,
.m34-analysis__feed > a:focus-visible,
.m34-analysis__lenses a:hover,
.m34-analysis__lenses a:focus-visible {
  background: var(--m33-paper);
}

.m34-analysis__lenses {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.m34-analysis__lenses a {
  min-height: 76px;
  padding: 11px 13px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
}

.m34-analysis__lenses a:last-child {
  border-inline-end: 1px solid var(--m33-rule);
}

.m34-analysis__lenses strong {
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1rem;
  font-weight: 500;
}

.m34-analysis__lenses span {
  margin-block-start: 4px;
  color: var(--m33-muted);
  font-size: .62rem;
  line-height: 1.3;
}

/* Sustainability: direct access to actual monitors and frameworks. */
.m34-sustainability {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-block-start: 1px solid var(--m33-graphite);
  border-inline-start: 1px solid var(--m33-graphite);
}

.m34-sustainability > a {
  min-height: 292px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-graphite);
  border-block-end: 1px solid var(--m33-graphite);
  color: var(--m33-graphite);
  text-decoration: none;
}

.m34-sustainability > a > span {
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .59rem;
}

.m34-sustainability strong {
  margin-block: auto 10px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.18rem, 1.45vw, 1.5rem);
  font-weight: 500;
  line-height: 1.04;
}

.m34-sustainability small {
  color: var(--m33-graphite);
  font-size: .69rem;
  line-height: 1.38;
}

.m34-sustainability b {
  margin-block-start: 16px;
  color: var(--m33-teal);
  font-size: .68rem;
  font-weight: 700;
}

.m34-sustainability b i {
  color: var(--m33-copper);
  font-style: normal;
}

.m34-sustainability > a:hover,
.m34-sustainability > a:focus-visible {
  background: var(--m33-surface);
}

/* Newsroom: no empty canvas; one lead briefing and a dense current feed. */
.m34-newsroom {
  min-width: 0;
  min-height: 350px;
  display: grid;
  grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr);
  border: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m34-newsroom__lead {
  min-width: 0;
  min-height: 348px;
  display: grid;
  border-inline-end: 1px solid var(--m33-rule);
  background: var(--m33-warm);
}

.m34-newsroom__lead.has-image {
  grid-template-rows: minmax(120px, .85fr) minmax(0, 1.15fr);
}

.m34-newsroom__visual {
  min-height: 120px;
  overflow: hidden;
  border-block-end: 1px solid var(--m33-rule);
}

.m34-newsroom__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.m34-newsroom__lead > div {
  min-width: 0;
  padding: 19px;
  display: flex;
  flex-direction: column;
}

.m34-newsroom__lead p,
.m34-newsroom__feed > a p {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--m33-oxide);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .55rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.m34-newsroom__lead h3 {
  margin: auto 0 10px;
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.55rem, 2vw, 2.15rem);
  font-weight: 500;
  line-height: 1.03;
}

.m34-newsroom__lead h3 a,
.m34-newsroom__lead > div > a,
.m34-newsroom__feed a {
  color: var(--m33-ink);
  text-decoration: none;
}

.m34-newsroom__lead small {
  color: var(--m33-graphite);
  font-size: .75rem;
  line-height: 1.42;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}

.m34-newsroom__lead > div > a {
  margin-block-start: 16px;
  color: var(--m33-teal);
  font-size: .72rem;
  font-weight: 700;
}

.m34-newsroom__feed {
  min-width: 0;
}

.m34-newsroom__feed > header {
  min-height: 42px;
  padding-inline: 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m34-newsroom__feed > header a {
  color: var(--m33-teal);
}

.m34-newsroom__feed > a {
  min-height: 61px;
  padding: 9px 34px 9px 15px;
  position: relative;
  display: grid;
  align-content: center;
  border-block-end: 1px solid var(--m33-rule);
}

.m34-newsroom__feed > a:last-child {
  border-block-end: 0;
}

.m34-newsroom__feed strong {
  margin-block-start: 3px;
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.08;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.m34-newsroom__feed small {
  margin-block-start: 3px;
  color: var(--m33-muted);
  font-size: .63rem;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.m34-newsroom__feed i {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--m33-copper);
  font-style: normal;
}

.m34-newsroom__feed > a:hover,
.m34-newsroom__feed > a:focus-visible {
  background: var(--m33-paper);
}

/* Institutional statement and conversion banner before the footer. */
.m34-institute {
  padding-block: clamp(58px, 7vw, 100px);
  border-block-start: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m34-institute__inner {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(480px, 1.14fr);
  gap: clamp(48px, 7vw, 116px);
  align-items: center;
}

.m34-institute__intro h2,
.m34-newsletter h2 {
  margin-block-end: 18px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(2.55rem, 4vw, 4.6rem);
  font-weight: 500;
  letter-spacing: -.05em;
  line-height: .94;
  text-wrap: balance;
}

.m34-institute__intro > p:not(.m33-kicker) {
  max-width: 590px;
  margin-block-end: 17px;
  color: var(--m33-graphite);
  font-size: 1rem;
  line-height: 1.58;
}

.m34-institute__tabs {
  border-block-start: 1px solid var(--m33-rule);
  border-inline-start: 1px solid var(--m33-rule);
}

.m34-institute__tabs > div[role="tablist"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.m34-institute__tabs button {
  min-height: 48px;
  padding: 11px 12px;
  border: 0;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
  background: var(--m33-paper);
  color: var(--m33-graphite);
  font: inherit;
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
}

.m34-institute__tabs button[aria-selected="true"] {
  background: var(--m33-teal);
  color: var(--m33-paper);
}

.m34-institute__tabs > section {
  min-height: 205px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-inline-end: 1px solid var(--m33-rule);
  border-block-end: 1px solid var(--m33-rule);
  background: var(--m33-paper);
}

.m34-institute__tabs > section[hidden] {
  display: none;
}

.m34-institute__tabs strong {
  margin-block-end: 12px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-size: clamp(1.65rem, 2.4vw, 2.5rem);
  font-weight: 500;
  line-height: 1.05;
}

.m34-institute__tabs p {
  max-width: 64ch;
  margin: 0;
  color: var(--m33-graphite);
  font-size: .92rem;
  line-height: 1.55;
}

.m34-newsletter {
  padding-block: clamp(34px, 4vw, 58px);
  border-block-start: 1px solid var(--m33-copper);
  background: var(--m33-ink);
  color: var(--m33-paper);
}

.m34-newsletter__inner {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(300px, .8fr) auto;
  align-items: center;
  gap: clamp(28px, 5vw, 78px);
}

.m34-newsletter .m33-kicker {
  color: var(--m33-copper);
}

.m34-newsletter h2 {
  margin: 0;
  color: var(--m33-paper);
  font-size: clamp(2.1rem, 3.3vw, 3.7rem);
}

.m34-newsletter__inner > p {
  margin: 0;
  color: var(--m33-mineral);
  font-size: .92rem;
  line-height: 1.55;
}

/* Scroll assistance stays useful without covering chapter content. */
.m33-scroll-assist {
  width: auto;
  min-height: 48px;
  padding: 4px;
  right: 14px;
  bottom: 14px;
  grid-template-columns: minmax(0, 118px) auto;
  gap: 4px;
  box-shadow: none;
}

.m33-scroll-assist__status {
  padding: 2px 7px;
}

.m33-scroll-assist__status small {
  display: none;
}

.m33-scroll-assist__status strong {
  font-size: .74rem;
}

.m33-scroll-assist__buttons {
  grid-template-columns: repeat(2, 40px);
}

.m33-scroll-assist__buttons button {
  width: 40px;
  min-height: 40px;
}

/* Avoid repeating the newsletter in the footer after the conversion banner. */
.m27-footer__briefing > p:not(.m27-kicker) {
  max-width: 42ch;
}

@media (min-width: 1101px) and (max-height: 940px) {
  .m34-analysis__feature { min-height: 278px; padding: 16px; }
  .m34-analysis__feature h3 { font-size: 1.55rem; }
  .m34-analysis__feed > a { min-height: 58px; padding-block: 7px; }
  .m34-analysis__lenses a { min-height: 67px; padding-block: 8px; }
  .m34-sustainability > a { min-height: 248px; padding: 14px; }
  .m34-sustainability strong { font-size: 1.18rem; }
  .m34-newsroom { min-height: 314px; }
  .m34-newsroom__lead { min-height: 312px; }
  .m34-newsroom__feed > a { min-height: 54px; padding-block: 7px; }
}

@media (max-width: 1280px) {
  .m34-analysis { grid-template-columns: minmax(0, .9fr) minmax(330px, 1.1fr); }
  .m34-sustainability { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .m34-sustainability > a { min-height: 178px; }
  .m34-sustainability > a:nth-child(n+4) { min-height: 158px; }
}

@media (max-width: 1100px) {
  .m34-analysis { grid-template-columns: 1fr; }
  .m34-analysis__feature { min-height: 260px; }
  .m34-analysis__lenses { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m34-sustainability { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m34-sustainability > a { min-height: 190px; }
  .m34-newsroom { grid-template-columns: 1fr; }
  .m34-newsroom__lead { min-height: 280px; border-inline-end: 0; border-block-end: 1px solid var(--m33-rule); }
  .m34-institute__inner,
  .m34-newsletter__inner { grid-template-columns: 1fr; }
  .m34-newsletter__inner { justify-items: start; }
}

@media (max-width: 760px) {
  .m34-analysis__lenses,
  .m34-sustainability,
  .m34-institute__tabs > div[role="tablist"] { grid-template-columns: 1fr; }
  .m34-analysis__feature { min-height: 300px; }
  .m34-newsroom__lead.has-image { grid-template-rows: 190px auto; }
  .m34-institute { padding-block: 56px; }
  .m34-institute__tabs > section { min-height: 230px; padding: 22px; }
  .m34-newsletter { padding-block: 42px; }
}

@media (forced-colors: active) {
  .m34-analysis,
  .m34-analysis__feature,
  .m34-analysis__feed,
  .m34-sustainability,
  .m34-newsroom,
  .m34-institute__tabs,
  .m34-newsletter { border: 1px solid CanvasText; }
}


/* 3.3.1 refinement: preserve readable newsroom titles and metallurgy/section fit. */
.m34-newsroom {
  min-height: 350px;
  height: auto;
  align-items: stretch;
}

.m34-newsroom__lead {
  min-height: 348px;
  height: auto;
  overflow: hidden;
}

.m34-newsroom__lead.has-image {
  grid-template-rows: 132px minmax(0, 1fr);
}

.m34-newsroom__visual {
  height: 132px;
  min-height: 0;
}

.m34-newsroom__lead > div {
  min-height: 0;
  overflow: hidden;
}

.m33-scroll-assist__buttons {
  grid-template-columns: repeat(2, 44px);
}

.m33-scroll-assist__buttons button {
  width: 44px;
  min-height: 44px;
}

@media (max-width: 1100px) {
  .m34-newsroom,
  .m34-newsroom__lead {
    height: auto;
  }

  .m34-newsroom__lead {
    min-height: 280px;
    overflow: visible;
  }
}

.m34-newsroom__feed > a {
  min-height: 70px;
  height: auto;
  overflow: hidden;
  padding-block: 10px;
}

@media (min-width: 1101px) and (max-height: 940px) {
  .m34-newsroom__feed > a {
    min-height: 62px;
    height: auto;
  }
}

@media (max-width: 1100px) {
  .m34-newsroom__feed > a {
    height: auto;
    min-height: 64px;
    overflow: visible;
  }
}


/* 3.3.1 newsroom readability refinement */
.m34-newsroom__feed {
  display: grid;
  grid-template-rows: 42px repeat(4, minmax(70px, 1fr));
}

.m34-newsroom__feed strong {
  margin-block-start: 4px;
  font-size: 1.05rem;
  line-height: 1.12;
  -webkit-line-clamp: 2;
}

.m34-newsroom__feed small {
  display: none;
}

@media (min-width: 1101px) and (max-height: 940px) {
  .m34-newsroom__feed {
    grid-template-rows: 42px repeat(4, minmax(62px, 1fr));
  }
}

@media (max-width: 1100px) {
  .m34-newsroom__feed {
    grid-template-rows: auto;
  }

  .m34-newsroom__feed > a {
    min-height: 72px;
    overflow: visible;
  }
}


/* 3.3.2 metallurgy refinement: clearer tool showcase, no broken words. */
.m34-metallurgy {
  min-width: 0;
  display: grid;
  gap: 16px;
}

.m34-metallurgy__tools,
.m34-metallurgy__areas {
  min-width: 0;
  border: 1px solid var(--m33-rule);
  background: var(--m33-surface);
}

.m34-metallurgy__tools > header,
.m34-metallurgy__areas > header {
  min-height: 42px;
  padding-inline: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-block-end: 1px solid var(--m33-rule);
  color: var(--m33-muted);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .58rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.m34-metallurgy__tools > header a {
  color: var(--m33-teal);
  text-decoration: none;
}

.m34-metallurgy__areas > header small {
  color: var(--m33-muted);
  font-size: .58rem;
}

.m34-metallurgy__tool-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.m34-metallurgy__tool-grid article {
  min-width: 0;
  min-height: 220px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-rule);
}

.m34-metallurgy__tool-grid article:last-child {
  border-inline-end: 0;
}

.m34-metallurgy__tool-grid p,
.m34-metallurgy__area-grid a > span {
  margin: 0 0 12px;
  color: var(--m33-copper);
  font-family: var(--matamet-font-mono, "IBM Plex Mono", monospace);
  font-size: .62rem;
}

.m34-metallurgy__tool-grid h3,
.m34-metallurgy__area-grid strong {
  margin: 0 0 10px;
  color: var(--m33-ink);
  font-family: var(--matamet-font-display, "Newsreader", serif);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.02;
  word-break: normal;
  overflow-wrap: normal;
  hyphens: none;
  text-wrap: balance;
}

.m34-metallurgy__tool-grid h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.9rem);
}

.m34-metallurgy__tool-grid h3 a,
.m34-metallurgy__area-grid a {
  color: inherit;
  text-decoration: none;
}

.m34-metallurgy__tool-grid small,
.m34-metallurgy__area-grid small {
  color: var(--m33-muted);
  font-size: .77rem;
  line-height: 1.45;
}

.m34-metallurgy__tool-grid article > a {
  margin-top: auto;
  padding-top: 16px;
  color: var(--m33-teal);
  font-size: .72rem;
  font-weight: 700;
  text-decoration: none;
}

.m34-metallurgy__area-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.m34-metallurgy__area-grid a {
  min-width: 0;
  min-height: 146px;
  padding: 16px 18px;
  display: flex;
  flex-direction: column;
  border-inline-end: 1px solid var(--m33-rule);
}

.m34-metallurgy__area-grid a:last-child {
  border-inline-end: 0;
}

.m34-metallurgy__area-grid strong {
  font-size: clamp(1.12rem, 1.45vw, 1.45rem);
}

.m34-metallurgy__tool-grid article:hover,
.m34-metallurgy__tool-grid article:focus-within,
.m34-metallurgy__area-grid a:hover,
.m34-metallurgy__area-grid a:focus-visible {
  background: var(--m33-paper);
}

@media (min-width: 1101px) and (max-height: 940px) {
  .m34-metallurgy { gap: 12px; }
  .m34-metallurgy__tool-grid article { min-height: 198px; padding: 14px; }
  .m34-metallurgy__tool-grid h3 { font-size: 1.52rem; }
  .m34-metallurgy__area-grid a { min-height: 132px; padding: 14px; }
  .m34-metallurgy__area-grid strong { font-size: 1.22rem; }
}

@media (max-width: 1280px) {
  .m34-metallurgy__tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m34-metallurgy__tool-grid article:nth-child(2n) { border-inline-end: 0; }
  .m34-metallurgy__tool-grid article:nth-child(3) { border-top: 1px solid var(--m33-rule); grid-column: 1 / -1; }
  .m34-metallurgy__area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .m34-metallurgy__area-grid a:nth-child(2n) { border-inline-end: 0; }
  .m34-metallurgy__area-grid a:nth-child(n+3) { border-top: 1px solid var(--m33-rule); }
}

@media (max-width: 760px) {
  .m34-metallurgy__tool-grid,
  .m34-metallurgy__area-grid { grid-template-columns: 1fr; }
  .m34-metallurgy__tool-grid article,
  .m34-metallurgy__area-grid a { border-inline-end: 0; }
  .m34-metallurgy__tool-grid article + article,
  .m34-metallurgy__area-grid a + a { border-top: 1px solid var(--m33-rule); }
}


/* 3.4.0 final polish: contest-ready hierarchy, coherence and 1366×768 fit. */
.m33-hero h1,
.m33-chapter__copy h2,
.m34-metallurgy__tool-grid h3,
.m34-metallurgy__area-grid strong,
.m33-analysis__tools h3,
.m33-newsroom__lead h3,
.m33-reports__text h3,
.m33-blog__lead h3 {
  text-wrap: balance;
}

.m33-hero__inner,
.m33-chapter__inner {
  align-items: center;
}

.m33-chapter__copy {
  max-width: 30rem;
}

.m33-chapter__copy > p:not(.m33-kicker) {
  max-width: 31rem;
}

.m33-chapter__copy .m33-action {
  margin-block-start: 2px;
}

/* Unify secondary section containers. */
.m33-ledger,
.m33-analysis,
.m33-scope,
.m33-atlas,
.m33-workspaces,
.m33-reports,
.m34-newsroom,
.m33-market,
.m33-blog,
.m34-metallurgy__tools,
.m34-metallurgy__areas,
.m34-institute__grid,
.m34-newsletter__inner {
  box-shadow: 0 0 0 1px var(--m33-rule) inset;
}

.m33-ledger header,
.m33-analysis__latest > p,
.m33-market__head,
.m33-blog__more > p,
.m34-newsroom__feed > p,
.m34-metallurgy__tools > header,
.m34-metallurgy__areas > header {
  background: color-mix(in srgb, var(--m33-surface) 84%, var(--m33-paper) 16%);
}

.m33-rail {
  left: 10px;
  width: 28px;
  opacity: .94;
}

.m33-rail a {
  width: 22px;
  height: 22px;
}

.m33-scroll-assist {
  border-color: var(--m33-rule);
  box-shadow: 0 10px 30px rgba(21,23,25,.06);
}

.m33-scroll-assist__status strong {
  line-height: 1.05;
}

/* Hero and catalogue dignity. */
.m33-hero__proof dt {
  letter-spacing: -.03em;
}

.m33-catalogue__grid > a b {
  letter-spacing: -.01em;
}

/* Metallurgy: stronger hierarchy and better fit. */
.m34-metallurgy {
  gap: 14px;
}

.m34-metallurgy__tool-grid article,
.m34-metallurgy__area-grid a {
  background: var(--m33-surface);
}

.m34-metallurgy__tool-grid article > a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
}

/* Section coherence: consistently quieter supporting copy. */
.m33-ledger p,
.m33-analysis__tools small,
.m33-analysis__latest small,
.m33-scope small,
.m33-workspaces p,
.m33-reports__text p,
.m34-newsroom__lead p,
.m33-market small,
.m33-blog__lead p,
.m33-blog__more small,
.m34-institute__grid p,
.m34-newsletter__inner p {
  color: var(--m33-muted);
}

/* Standard laptop refinement. */
@media (min-width: 1101px) and (max-height: 840px) {
  .m33-stage { min-height: max(500px, var(--m33-stage-height)); }
  .m33-hero { min-height: max(500px, var(--m33-hero-height)); }
  .m33-hero__inner { padding-block: 18px; gap: 30px; }
  .m33-hero h1 { margin-block-end: 12px; font-size: clamp(3.15rem, 4.25vw, 4.45rem); line-height: .95; }
  .m33-lede { margin-block-end: 14px; max-width: 44rem; font-size: .91rem; }
  .m33-actions { gap: 10px 18px; }
  .m33-button, .m33-action, .m33-text-link { min-height: 42px; }
  .m33-catalogue__grid > a, .m33-catalogue__brand { min-height: 70px; }
  .m33-hero__proof dt { font-size: 1.58rem; }
  .m33-hero__proof dd { font-size: .7rem; }
  .m33-chapter__inner { padding-block: 20px; gap: 38px; }
  .m33-chapter__copy { max-width: 27rem; }
  .m33-chapter__copy h2 { margin-block-end: 10px; font-size: clamp(2.25rem, 3.05vw, 3.15rem); line-height: .96; }
  .m33-chapter__copy > p:not(.m33-kicker) { margin-block-end: 11px; font-size: .87rem; line-height: 1.38; }
  .m33-ledger > a { min-height: 54px; padding-block: 6px; }
  .m33-analysis__tools > a { min-height: 220px; padding: 12px; }
  .m33-analysis__latest > a { min-height: 60px; padding: 9px 12px; }
  .m33-scope > a { min-height: 124px; padding: 13px; }
  .m33-atlas { min-height: 292px; }
  .m33-atlas__viewport { min-height: 290px; }
  .m33-workspaces > a { min-height: 232px; padding: 12px; }
  .m33-workspaces figure { height: 84px; margin-block-end: 10px; }
  .m33-reports__cover { height: 162px; }
  .m34-newsroom { min-height: 286px; }
  .m34-newsroom__lead { min-height: 284px; }
  .m34-newsroom__feed { grid-template-rows: 40px repeat(4, minmax(58px, 1fr)); }
  .m34-newsroom__feed > a { min-height: 58px; padding-block: 8px; }
  .m34-newsroom__feed strong { font-size: .98rem; }
  .m33-market > a { min-height: 48px; }
  .m33-blog { min-height: 286px; }
  .m33-blog__visual { min-height: 206px; }
  .m33-blog__more > a { min-height: 88px; }
  .m34-metallurgy { gap: 10px; }
  .m34-metallurgy__tool-grid article { min-height: 184px; padding: 13px; }
  .m34-metallurgy__tool-grid h3 { font-size: 1.4rem; }
  .m34-metallurgy__tool-grid small { font-size: .73rem; line-height: 1.4; }
  .m34-metallurgy__area-grid a { min-height: 120px; padding: 13px; }
  .m34-metallurgy__area-grid strong { font-size: 1.14rem; }
  .m34-institute__grid > article { min-height: 156px; }
  .m34-newsletter__inner { padding-block: 22px; }
}

@media (min-width: 1101px) and (max-width: 1450px) {
  .m33-frame, .m27-frame { width: min(var(--m33-frame), calc(100% - 72px)); }
  .m33-chapter__inner { grid-template-columns: minmax(238px, .54fr) minmax(0, 1.46fr); gap: 34px; }
  .m33-hero__inner { grid-template-columns: minmax(0, .86fr) minmax(460px, 1.14fr); gap: 34px; }
  .m33-analysis { grid-template-columns: minmax(0, 1.16fr) minmax(250px, .84fr); }
}

@media (min-width: 1101px) and (max-height: 760px) {
  .m33-kicker { margin-block-end: 8px; }
  .m33-hero h1 { font-size: clamp(2.95rem, 4.05vw, 4.15rem); }
  .m33-lede { font-size: .88rem; }
  .m33-chapter__copy h2 { font-size: clamp(2.05rem, 2.82vw, 2.86rem); }
  .m33-chapter__copy > p:not(.m33-kicker) { font-size: .84rem; }
  .m34-metallurgy__tool-grid article { min-height: 172px; }
  .m34-metallurgy__area-grid a { min-height: 112px; }
  .m33-scroll-assist { bottom: 10px; }
}
