h1, h2, h3, h4, h5 {
  font-family: 'Playfair Display', serif;
}
body {
  font-family: 'Source Sans Pro', sans-serif;
}
.m-hero-title.bigger,
.m-site-name {
  font-family: 'Playfair Display', serif !important;
}
:root {
  /* Core brand colors */
  --mxm-rich-black: #0d171d;
  --mxm-outer-space: #42565a;
  --mxm-ash-grey: #aab1a4;
  --mxm-blood-red: #6b0f0d;
  --mxm-tomato: #ff5b3f;
  --mxm-ecru: #c8a97b;
  --mxm-peach-yellow: #e3c98a;
  --mxm-light-grey: #efefef;

}
.mxm-blood-red {
  color: var(--mxm-blood-red);
}

.m-footer-social {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  color: white;
}

.m-footer-social svg {
  width: 24px;
  height: 24px;
  vertical-align: middle;
}

.m-footer-social a:hover svg {
  opacity: 0.7;
  transition: opacity 0.2s ease;
}
.only-mobile {
  display: none;
}

@media only screen and (max-width: 47.99rem) {
  .only-mobile {
    display: list-item;
  }
}
.cookie-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  background: #222;
  color: #fff;
  padding: 1em;
  text-align: center;
  z-index: 1000;
}

.cookie-banner p {
  margin: 0;
  display: inline;
}

.cookie-banner a {
  color: #ffd700;
  text-decoration: underline;
  margin-left: 0.5em;
}

.cookie-banner button {
  margin-left: 1em;
  padding: 0.3em 1em;
  background: #444;
  color: white;
  border: none;
  cursor: pointer;
}

/* Hide TOC on mobile by default */
@media (max-width: 1023px) {
  .m-toc { display: none; }
}
@media (min-width: 48rem) {
  .m-toc {
    background-color: transparent;
    box-shadow: 0 0 0 transparent, 0 0 0 transparent;
    height: 100%;
    right: auto;
    position: absolute;
    left: -280px;
    top: 0;
    width: 240px; /* Wider than .m-share because it's a list */
    z-index: 3;
  }

 .m-toc__content.js-sticky {
    position: sticky;
    top: 100px;
    max-height: calc(100vh -120px);
    overflow-y: auto;
    font-size: 0.85rem;
    line-height: 1;
  }
  .m-toc__content .toc-list .toc-list {
    margin: 0;
    padding-left: 1em;  /* slight indent */
  }

  .m-toc__content .toc-list li {
    margin: 0;
    padding: 0;
  }

  /* TOC list styling */
  .m-toc__content .toc-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
  }

  .m-toc__content .toc-list .toc-link {
    display: block;
    padding: 0.05em 0;
    font-size: 0.85rem;
    line-height: 1;
    color: var(--primary-foreground-color);
    text-decoration: none;
  }

  .m-toc__content .toc-list .toc-link:hover {
    color: var(--link-color);
  }

  .m-toc__content .toc-list .is-active-link {
    font-weight: 600;
    color: var(--link-color);
  }
}

[data-theme="light"] {
  --background-color: #fff;
  --primary-foreground-color: var(--mxm-rich-black);
  --secondary-foreground-color: var(--mxm-outer-space);
  --primary-subtle-color: var(--mxm-blood-red);
  --secondary-subtle-color: var(--mxm-ash-grey);
  --titles-color: var(--mxm-rich-black);
  --link-color: var(--mxm-tomato);
  --primary-border-color: var(--mxm-ash-grey);
  --secondary-border-color: var(--mxm-peach-yellow);
  --article-shadow-normal: 0 10px 10px rgba(0, 0, 0, 0.08);
  --article-shadow-hover: 0 4px 60px 0 rgba(0, 0, 0, 0.2);
  --transparent-background-color: hsla(0, 0%, 100%, 0.99);
  --footer-background-color: var(--mxm-outer-space);
  --submenu-shadow-color-opacity: 0.25;
  --button-shadow-color-normal: hsla(0, 0%, 42%, 0.2);
  --button-shadow-color-hover: hsla(0, 0%, 42%, 0.3);
  --table-background-color-odd: #fafafa;
  --table-head-border-bottom: #e2e2e2;
  --toggle-darkmode-button-display-moon: block;
  --toggle-darkmode-button-display-sun: none;
  --toggle-darkmode-background-color: rgba(0, 0, 0, 0.05);
  --header-menu-gradient-first-color: hsla(0, 0%, 100%, 0);
  --header-menu-gradient-second-color: #fff;
  --kg-card-img-invert-color: 0;
}
[data-theme="dark"] {
  --background-color: var(--mxm-rich-black);
  --primary-foreground-color: var(--mxm-light-grey);
  --secondary-foreground-color: var(--mxm-ash-grey);
  --primary-subtle-color: var(--mxm-tomato);
  --secondary-subtle-color: var(--mxm-outer-space);
  --titles-color: var(--mxm-light-grey);
  --link-color: var(--mxm-ecru);
  --primary-border-color: var(--mxm-outer-space);
  --secondary-border-color: var(--mxm-blood-red);
  --article-shadow-normal: 0 4px 5px 5px rgba(0, 0, 0, 0.1);
  --article-shadow-hover: 0 4px 5px 10px rgba(0, 0, 0, 0.1);
  --transparent-background-color: rgba(0, 0, 0, 0.99);
  --footer-background-color: var(--mxm-rich-black);
  --submenu-shadow-color-opacity: 0.55;
  --button-shadow-color-normal: hsla(0, 0%, 4%, 0.5);
  --button-shadow-color-hover: hsla(0, 0%, 4%, 0.5);
  --table-background-color-odd: #050505;
  --table-head-border-bottom: #1d1d1d;
  --toggle-darkmode-button-display-moon: none;
  --toggle-darkmode-button-display-sun: block;
  --toggle-darkmode-background-color: rgba(0, 0, 0, 0.5);
  --header-menu-gradient-first-color: hsla(0, 0%, 7%, 0);
  --header-menu-gradient-second-color: hsla(0, 0%, 7%, 0.65);
  --kg-card-img-invert-color: 1;
}
