/* GMP Museum child template v0.3.0
   Visual layer for ML Base. Keep project styling here; keep ml_base generic. */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600&family=Jost:wght@400;500;600;700&family=Literata:opsz,wght@7..72,400..700&display=swap');

:root {
  --gmp-black: #111111;
  --gmp-ink: #1f1a17;
  --gmp-muted: #746c63;
  --gmp-beige: #f4efe6;
  --gmp-beige-soft: #faf7f0;
  --gmp-gold: #b08a45;
  --gmp-brown: #3a2b22;
  --gmp-line: rgba(31, 26, 23, .12);
  /* Museum typography stack with Croatian-friendly glyphs. */
  --gmp-font-h1h2: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --gmp-font-h3h6: 'Jost', 'Montserrat', 'Futura PT', Arial, sans-serif;
  --gmp-font-menu: 'Jost', 'Montserrat', 'Futura PT', Arial, sans-serif;
  --gmp-font-body: 'Literata', 'Libre Baskerville', Georgia, 'Times New Roman', serif;
  --gmp-serif: var(--gmp-font-h1h2);
  --gmp-sans: var(--gmp-font-h3h6);

  --ml-primary: var(--gmp-black);
  --ml-secondary: var(--gmp-brown);
  --ml-accent: var(--gmp-gold);
  --ml-bg: #ffffff;
  --ml-surface: var(--gmp-beige-soft);
  --ml-text: var(--gmp-ink);
  --ml-muted: var(--gmp-muted);
  --ml-border: var(--gmp-line);
  --ml-link: var(--gmp-gold);
  --ml-container: 1180px;
  --ml-content: 860px;
  --ml-font-body: var(--gmp-font-body);
  --ml-font-heading: var(--gmp-font-h1h2);
  --ml-heading-weight: 400;
  --ml-line-height-heading: 1.05;
  --ml-section-padding: 96px;
  --ml-radius: 0px;
  --ml-button-radius: 0px;
  --ml-shadow: 0 32px 80px rgba(17,17,17,.08);
}

html.gmp-museum-ready body.ml-site {
  background: #fff;
  color: var(--gmp-ink);
  font-family: var(--gmp-font-body);
  letter-spacing: 0;
}

html.gmp-museum-ready body h1,
html.gmp-museum-ready body h2,
html.gmp-museum-ready body h3,
html.gmp-museum-ready body .ml-section-title,
html.gmp-museum-ready body .ml-article-title {
  font-family: var(--gmp-serif);
  font-weight: 400;
  letter-spacing: -.035em;
}

html.gmp-museum-ready body p {
  color: color-mix(in srgb, var(--gmp-ink) 76%, #fff);
}

.gmp-eyebrow,
.ml-eyebrow,
.ml-meta,
.ml-article-meta,
.ml-card .category-name,
.ml-card .mod-articles-category-category {
  font-family: var(--gmp-sans);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--gmp-gold);
}

.gmp-link,
.ml-link-arrow,
.readmore a {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gmp-black);
  text-decoration: none;
}
.gmp-link::after,
.ml-link-arrow::after,
.readmore a::after { content: '—'; color: var(--gmp-gold); }

.ml-btn {
  border-radius: 0;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 12px;
  padding: .95rem 1.35rem;
}
.ml-btn-primary { background: var(--gmp-black); color: #fff; border-color: var(--gmp-black); }
.ml-btn-light { background: #fff; color: var(--gmp-black); border-color: #fff; }
.ml-btn-outline { background: transparent; border-color: currentColor; color: inherit; }

/* Header: museum/editorial look */
.ml-header {
  z-index: 50;
  font-family: var(--gmp-sans);
}
.ml-header-row-main,
.ml-header-row-top,
.ml-header-row-bottom {
  border-color: rgba(255,255,255,.14);
}
.has-transparent-header .ml-header {
  position: absolute;
  inset: 0 0 auto 0;
  background: transparent;
}
.has-transparent-header .ml-header-row,
.has-transparent-header .ml-header-row-main,
.has-transparent-header .ml-header-row-top,
.has-transparent-header .ml-header-row-bottom {
  background: transparent !important;
  color: #fff !important;
}
.has-transparent-header .ml-brand-text,
.has-transparent-header .ml-native-menu a,
.has-transparent-header .ml-menu-toggle,
.has-transparent-header .ml-search-toggle {
  color: #fff !important;
}
.ml-header-inner,
.ml-header-row-inner { min-height: 82px; }
.ml-logo img { max-height: 58px; width: auto; }
.ml-brand-text {
  font-family: var(--gmp-serif);
  font-weight: 400;
  letter-spacing: .04em;
  text-transform: uppercase;
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 { gap: clamp(18px, 2vw, 30px); }
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 { gap: 0; }
.ml-native-menu a {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--gmp-ink);
  padding: 10px 0;
}
.ml-native-menu a:hover,
.ml-native-menu .is-active > a,
.ml-native-menu .is-active-trail > a { color: var(--gmp-gold) !important; }
.ml-native-menu .level-2,
.ml-native-menu .level-3 {
  border-radius: 0;
  border: 1px solid rgba(17,17,17,.08);
  box-shadow: 0 24px 70px rgba(0,0,0,.16);
}

/* Hero */
.ml-hero { position: relative; min-height: 660px; overflow: hidden; background: var(--gmp-black); }
.gmp-hero {
  position: relative;
  min-height: 660px;
  display: flex;
  align-items: center;
  background-image: linear-gradient(90deg, rgba(17,17,17,.82), rgba(17,17,17,.42), rgba(17,17,17,.1)), var(--gmp-hero-image);
  background-position: center;
  background-size: cover;
  color: #fff;
}
.gmp-hero__content { position: relative; z-index: 2; padding-top: 110px; padding-bottom: 80px; }
.gmp-hero h1 {
  max-width: 760px;
  margin: 18px 0 22px;
  color: #fff;
  font-size: clamp(3rem, 7vw, 6.8rem);
  line-height: .96;
}
.gmp-hero p { max-width: 570px; color: rgba(255,255,255,.78); font-size: 18px; }
.gmp-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }
.gmp-hero__meta {
  display: flex;
  gap: 36px;
  flex-wrap: wrap;
  margin-top: 76px;
  color: rgba(255,255,255,.76);
  font-size: 13px;
}
.gmp-hero__meta span { position: relative; padding-left: 22px; }
.gmp-hero__meta span::before { content: ''; position: absolute; left: 0; top: .65em; width: 8px; height: 8px; border: 1px solid var(--gmp-gold); border-radius: 50%; }

/* Intro split */
.ml-before-main { background: #fff; }
.gmp-intro {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: clamp(40px, 7vw, 110px);
}
.gmp-intro__text { padding: 36px 0; }
.gmp-intro h2 { font-size: clamp(2.3rem, 4.8vw, 4.8rem); line-height: 1.02; margin: 16px 0 26px; }
.gmp-intro p { max-width: 620px; font-size: 18px; }
.gmp-intro__image { margin-right: calc((100vw - min(1180px, 100vw - 40px)) / -2); }
.gmp-intro__image img { width: 100%; min-height: 440px; object-fit: cover; display: block; }

/* Generic museum cards */
.ml-card,
.blog-item,
.com-content-category-blog__item,
.mod-articles-category-group li {
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.ml-card img,
.blog-item img,
.com-content-category-blog__item img {
  border-radius: 0 !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.ml-card-title,
.blog-item .item-title,
.com-content-category-blog__item .item-title {
  font-family: var(--gmp-serif);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

/* Sections as homepage building blocks */
.ml-section { position: relative; }
.ml-section-header { margin-bottom: 42px; }
.ml-section-title { font-size: clamp(2.4rem, 4.4vw, 4.9rem); }

.ml-section-1 { background: #fff; }
.ml-section-2 { background: var(--gmp-beige-soft); }
.ml-section-3 { background: var(--gmp-black); color: #fff; }
.ml-section-3 h1,
.ml-section-3 h2,
.ml-section-3 h3,
.ml-section-3 .ml-section-title { color: #fff; }
.ml-section-3 p,
.ml-section-3 .ml-muted { color: rgba(255,255,255,.68); }
.ml-section-3 a { color: #fff; }
.ml-section-4 { background: #fff; }
.ml-section-5 { background: var(--gmp-beige); }

.gmp-feature-split {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: clamp(36px, 7vw, 100px);
  align-items: center;
}
.gmp-feature-split img { width: 100%; max-height: 560px; object-fit: contain; }
.gmp-feature-split h2 { font-size: clamp(2.4rem, 4.7vw, 5.2rem); }

.gmp-events-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 80px;
}
.gmp-event-card { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 22px; align-items: center; }
.gmp-event-card img { width: 130px; height: 130px; object-fit: cover; }
.gmp-event-card h3 { color: #fff; font-size: 1.35rem; margin: 8px 0; }
.gmp-event-card p { font-size: 14px; margin: 0; }

.gmp-services-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 38px 52px;
}
.gmp-service-card { border-top: 1px solid var(--gmp-line); padding-top: 24px; }
.gmp-service-card h3 { font-size: 1.45rem; margin: 14px 0 10px; }
.gmp-service-card p { font-size: 15px; }

.gmp-image-strip { display: grid; grid-template-columns: repeat(8, minmax(0,1fr)); }
.gmp-image-strip img { width: 100%; height: 150px; object-fit: cover; display: block; }

/* Article/blog refinement */
.ml-article-header { max-width: 900px; margin-inline: auto; text-align: center; }
.ml-article-title { font-size: clamp(2.8rem, 6vw, 6.2rem); }
.ml-article-image img { border-radius: 0; }
.ml-article-content { font-size: 18px; }
.ml-article-content > p:first-of-type { font-size: 1.15em; color: var(--gmp-ink); }

/* Footer */
.ml-footer {
  background: var(--gmp-black) !important;
  color: rgba(255,255,255,.75) !important;
  border-top: 0;
}
.ml-footer h1,
.ml-footer h2,
.ml-footer h3,
.ml-footer .ml-brand-text { color: #fff; }
.ml-footer a { color: rgba(255,255,255,.72); text-decoration: none; }
.ml-footer a:hover { color: #fff; }
.ml-footer .ml-native-menu { display: block; }
.ml-footer .ml-native-menu > ul { display: block; columns: 1; }
.ml-footer .ml-native-menu li { margin-bottom: 8px; }
.ml-footer .ml-native-menu a { color: rgba(255,255,255,.72) !important; font-size: 14px; text-transform: none; letter-spacing: 0; padding: 0; }
.ml-footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }

@media (max-width: 900px) {
  .gmp-hero,
  .ml-hero { min-height: 560px; }
  .gmp-intro,
  .gmp-feature-split { grid-template-columns: 1fr; }
  .gmp-intro__image { margin-right: 0; }
  .gmp-events-grid,
  .gmp-services-grid { grid-template-columns: 1fr; }
  .gmp-event-card { grid-template-columns: 96px 1fr; }
  .gmp-event-card img { width: 96px; height: 96px; }
  .gmp-image-strip { grid-template-columns: repeat(4, minmax(0,1fr)); }
}

@media (max-width: 620px) {
  .gmp-hero__content { padding-top: 92px; }
  .gmp-hero h1 { font-size: clamp(2.5rem, 14vw, 4.2rem); }
  .gmp-hero__meta { margin-top: 42px; gap: 18px; display: grid; }
  .gmp-image-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* v0.1.1 stabilization: do not let base/header dropdown styling destroy footer or content grids. */

/* Make the first museum child less aggressive until dedicated GMP modules are built. */
html.gmp-museum-ready body .ml-main {
  background: #fff;
}

/* Hero image fallback when the current homepage only has a single image/module in hero position. */
html.gmp-museum-ready body .ml-hero,
html.gmp-museum-ready body .ml-hero .moduletable,
html.gmp-museum-ready body .ml-hero .custom {
  margin: 0;
}
html.gmp-museum-ready body .ml-hero img {
  display: block;
  width: 100%;
  max-height: 720px;
  object-fit: cover;
}
html.gmp-museum-ready body .has-transparent-header + .ml-hero,
html.gmp-museum-ready body .ml-page > .ml-hero:first-child {
  margin-top: 0;
}

/* Current Joomla blog/news cards: calmer editorial grid, closer to the reference and less SaaS/card-like. */
html.gmp-museum-ready body .ml-blog-grid {
  max-width: var(--ml-container);
  margin-inline: auto;
  gap: clamp(28px, 3.8vw, 54px);
}
html.gmp-museum-ready body .ml-blog-card {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible;
}
html.gmp-museum-ready body .ml-blog-card-image {
  border-radius: 0 !important;
  background: var(--gmp-beige-soft);
  overflow: hidden;
}
html.gmp-museum-ready body .ml-blog-card-image img {
  border-radius: 0 !important;
  transition: transform .45s ease;
}
html.gmp-museum-ready body .ml-blog-card-body {
  padding: 18px 0 0 !important;
}
html.gmp-museum-ready body .ml-blog-card-kicker,
html.gmp-museum-ready body .ml-blog-card .category-name {
  color: var(--gmp-gold) !important;
  font-size: 10px;
  letter-spacing: .18em;
}
html.gmp-museum-ready body .ml-blog-card-title {
  font-family: var(--gmp-serif) !important;
  font-size: clamp(1.35rem, 2vw, 1.85rem) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
}
html.gmp-museum-ready body .ml-blog-card-text {
  color: var(--gmp-muted) !important;
  font-size: 15px;
  line-height: 1.65;
}
html.gmp-museum-ready body .ml-blog-card .ml-link-arrow {
  margin-top: 18px;
}
html.gmp-museum-ready body .ml-pagination,
html.gmp-museum-ready body .pagination {
  justify-content: center;
  margin-top: 54px;
}

/* Section headings should not inherit the very heavy default/news style from existing content. */
html.gmp-museum-ready body .page-header h1,
html.gmp-museum-ready body .ml-blog-header h1,
html.gmp-museum-ready body .com-content-category-blog > h1 {
  font-family: var(--gmp-serif) !important;
  font-weight: 400 !important;
  font-size: clamp(3rem, 6vw, 6.2rem) !important;
  line-height: 1 !important;
  letter-spacing: -.055em !important;
  color: var(--gmp-ink) !important;
}

/* Footer stabilization: header/native-menu dropdown CSS must never apply inside footer. */
html.gmp-museum-ready body .ml-footer {
  position: relative;
  overflow: hidden;
  padding-block: clamp(70px, 8vw, 120px) 36px;
}
html.gmp-museum-ready body .ml-footer .ml-footer-main,
html.gmp-museum-ready body .ml-footer .ml-footer-row,
html.gmp-museum-ready body .ml-footer .ml-container {
  position: relative;
  z-index: 1;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu,
html.gmp-museum-ready body .ml-footer .ml-native-menu ul,
html.gmp-museum-ready body .ml-footer .ml-native-menu li {
  position: static !important;
  display: block !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  inset: auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu ul ul,
html.gmp-museum-ready body .ml-footer .ml-native-menu .level-2,
html.gmp-museum-ready body .ml-footer .ml-native-menu .level-3,
html.gmp-museum-ready body .ml-footer .ml-native-menu .level-4 {
  position: static !important;
  display: block !important;
  margin: 7px 0 12px 14px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu li {
  margin-bottom: 7px !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu a {
  display: inline-block !important;
  color: rgba(255,255,255,.72) !important;
  font-family: var(--gmp-sans) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu a:hover {
  color: #fff !important;
}
html.gmp-museum-ready body .ml-footer .ml-menu-caret,
html.gmp-museum-ready body .ml-footer .has-children > a::after {
  display: none !important;
}
html.gmp-museum-ready body .ml-footer h3,
html.gmp-museum-ready body .ml-footer .ml-module-title {
  font-family: var(--gmp-serif) !important;
  font-weight: 400 !important;
  font-size: 1.4rem !important;
  margin-bottom: 1.15rem !important;
}
html.gmp-museum-ready body .ml-footer .ml-footer-grid,
html.gmp-museum-ready body .ml-footer .ml-footer-main-inner {
  align-items: start;
}

@media (min-width: 901px) {
  html.gmp-museum-ready body .ml-blog-grid.ml-blog-columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  html.gmp-museum-ready body .ml-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  html.gmp-museum-ready body .ml-blog-grid {
    grid-template-columns: 1fr;
  }
}


/* v0.1.2: hard stabilization for current GMP test. Class is added to html, so scope through html.gmp-museum-ready. */
html.gmp-museum-ready body .ml-header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: linear-gradient(to bottom, rgba(17,17,17,.34), rgba(17,17,17,0)) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: none !important;
}
html.gmp-museum-ready body .ml-header-row,
html.gmp-museum-ready body .ml-header-row-top,
html.gmp-museum-ready body .ml-header-row-main,
html.gmp-museum-ready body .ml-header-row-bottom,
html.gmp-museum-ready body .ml-header-row-mobile {
  background: transparent !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: none !important;
}
html.gmp-museum-ready body .ml-header .ml-brand-text,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-search-toggle,
html.gmp-museum-ready body .ml-header .ml-menu-toggle {
  color: #fff !important;
  text-shadow: 0 1px 18px rgba(0,0,0,.28);
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item.is-active > .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item.is-active-trail > .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link:hover {
  color: var(--gmp-gold) !important;
  background: transparent !important;
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link {
  font-family: var(--gmp-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
  padding: 14px 0 !important;
  border-radius: 0 !important;
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item.has-children > .ml-native-menu-link {
  padding-right: 0 !important;
}
html.gmp-museum-ready body .ml-header .ml-menu-caret,
html.gmp-museum-ready body .ml-header .ml-submenu-indicator {
  margin-left: .55em;
  opacity: .75;
}

/* Museum dropdown: compact editorial panel, not a huge Astra/Base card. */
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 {
  min-width: 260px !important;
  width: max-content !important;
  max-width: min(380px, calc(100vw - 40px)) !important;
  padding: 16px 0 !important;
  border-radius: 0 !important;
  border: 1px solid rgba(17,17,17,.10) !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.18) !important;
  backdrop-filter: blur(10px);
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2 .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3 .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 .ml-native-menu-link {
  display: flex !important;
  width: 100% !important;
  min-height: 0 !important;
  justify-content: space-between !important;
  padding: 11px 24px !important;
  color: var(--gmp-ink) !important;
  background: transparent !important;
  font-family: var(--gmp-sans) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  white-space: normal !important;
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2 .ml-native-menu-link:hover,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3 .ml-native-menu-link:hover,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 .ml-native-menu-link:hover,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2 .is-active > .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3 .is-active > .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 .is-active > .ml-native-menu-link {
  color: var(--gmp-gold) !important;
  background: rgba(176,138,69,.08) !important;
}

/* Hero needs to start under the absolutely positioned transparent header. */
html.gmp-museum-ready body .ml-hero,
html.gmp-museum-ready body .ml-main > .ml-hero:first-child,
html.gmp-museum-ready body .ml-page > .ml-hero:first-child {
  margin-top: 0 !important;
}
html.gmp-museum-ready body .ml-hero img {
  width: 100% !important;
  min-height: clamp(520px, 72vh, 760px) !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Footer hard reset: header dropdown rules must never leak into footer. */
html.gmp-museum-ready body .ml-footer .ml-native-navigation,
html.gmp-museum-ready body .ml-footer .ml-native-menu,
html.gmp-museum-ready body .ml-footer .ml-native-menu ul,
html.gmp-museum-ready body .ml-footer .ml-native-menu li,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-1,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-2,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-3,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-4 {
  position: static !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  inset: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-2,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-3,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-4 {
  margin: 7px 0 12px 16px !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu-link,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-2 .ml-native-menu-link,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-3 .ml-native-menu-link,
html.gmp-museum-ready body .ml-footer .ml-native-menu-level-4 .ml-native-menu-link {
  display: inline-block !important;
  min-height: 0 !important;
  width: auto !important;
  padding: 0 !important;
  color: rgba(255,255,255,.72) !important;
  background: transparent !important;
  font-family: var(--gmp-sans) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-shadow: none !important;
  white-space: normal !important;
}
html.gmp-museum-ready body .ml-footer .ml-native-menu-link:hover {
  color: #fff !important;
  background: transparent !important;
}
html.gmp-museum-ready body .ml-footer .ml-menu-caret,
html.gmp-museum-ready body .ml-footer .ml-submenu-indicator {
  display: none !important;
}


/* v0.2.7 typography lock: Playfair Display / Jost / Literata.
   These are loaded through Google Fonts import in this child template for faster visual testing. */
html.gmp-museum-ready body,
html.gmp-museum-ready body p,
html.gmp-museum-ready body .ml-article-content,
html.gmp-museum-ready body .ml-card-text,
html.gmp-museum-ready body .ml-blog-card-text,
html.gmp-museum-ready body .com-content-article__body,
html.gmp-museum-ready body .item-page,
html.gmp-museum-ready body .blog-item,
html.gmp-museum-ready body .ml-main {
  font-family: var(--gmp-font-body) !important;
}

html.gmp-museum-ready body h1,
html.gmp-museum-ready body h2,
html.gmp-museum-ready body .ml-section-title,
html.gmp-museum-ready body .ml-article-title,
html.gmp-museum-ready body .page-header h1,
html.gmp-museum-ready body .ml-blog-header h1,
html.gmp-museum-ready body .com-content-category-blog > h1,
html.gmp-museum-ready body .gmp-hero h1,
html.gmp-museum-ready body .gmp-intro h2,
html.gmp-museum-ready body .gmp-feature-split h2 {
  font-family: var(--gmp-font-h1h2) !important;
  font-weight: 400 !important;
}

html.gmp-museum-ready body h3,
html.gmp-museum-ready body h4,
html.gmp-museum-ready body h5,
html.gmp-museum-ready body h6,
html.gmp-museum-ready body .ml-card-title,
html.gmp-museum-ready body .blog-item .item-title,
html.gmp-museum-ready body .com-content-category-blog__item .item-title,
html.gmp-museum-ready body .ml-blog-card-title,
html.gmp-museum-ready body .ml-footer h3,
html.gmp-museum-ready body .ml-footer .ml-module-title {
  font-family: var(--gmp-font-h3h6) !important;
  font-weight: 600 !important;
  letter-spacing: -.02em !important;
}

html.gmp-museum-ready body .ml-header,
html.gmp-museum-ready body .ml-header .ml-native-menu,
html.gmp-museum-ready body .ml-header .ml-native-menu a,
html.gmp-museum-ready body .ml-header .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-menu-toggle,
html.gmp-museum-ready body .ml-header .ml-search-toggle,
html.gmp-museum-ready body .ml-mobile-menu,
html.gmp-museum-ready body .ml-mobile-menu a,
html.gmp-museum-ready body .ml-mobile-navigation,
html.gmp-museum-ready body .ml-mobile-navigation a {
  font-family: var(--gmp-font-menu) !important;
}

html.gmp-museum-ready body .gmp-eyebrow,
html.gmp-museum-ready body .ml-eyebrow,
html.gmp-museum-ready body .ml-meta,
html.gmp-museum-ready body .ml-article-meta,
html.gmp-museum-ready body .ml-card .category-name,
html.gmp-museum-ready body .ml-card .mod-articles-category-category,
html.gmp-museum-ready body .gmp-link,
html.gmp-museum-ready body .ml-link-arrow,
html.gmp-museum-ready body .readmore a,
html.gmp-museum-ready body .ml-btn {
  font-family: var(--gmp-font-menu) !important;
}


/* v0.1.4: compact transparent header for museum hero */
html.gmp-museum-ready body .ml-header {
  min-height: 0 !important;
}
html.gmp-museum-ready body .ml-header-row-main,
html.gmp-museum-ready body .ml-header-row {
  min-height: 0 !important;
}
html.gmp-museum-ready body .ml-header-inner,
html.gmp-museum-ready body .ml-header-row-inner {
  min-height: 68px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}
html.gmp-museum-ready body .ml-header .ml-header-slot {
  align-items: center !important;
}
html.gmp-museum-ready body .ml-header .ml-site-brand,
html.gmp-museum-ready body .ml-header .ml-logo,
html.gmp-museum-ready body .ml-header .ml-site-logo {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}
html.gmp-museum-ready body .ml-header .ml-site-logo,
html.gmp-museum-ready body .ml-header .ml-logo img,
html.gmp-museum-ready body .ml-header img.ml-site-logo,
html.gmp-museum-ready body .ml-header .ml-site-logo img {
  max-height: 46px !important;
  width: auto !important;
}
html.gmp-museum-ready body .ml-header .ml-native-navigation,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 {
  align-items: center !important;
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
html.gmp-museum-ready body .ml-header .ml-header-row-top,
html.gmp-museum-ready body .ml-header .ml-header-row-bottom {
  display: none !important;
}
@media (max-width: 900px) {
  html.gmp-museum-ready body .ml-header-inner,
  html.gmp-museum-ready body .ml-header-row-inner,
  html.gmp-museum-ready body .ml-header-mobile-inner {
    min-height: 62px !important;
  }
  html.gmp-museum-ready body .ml-header .ml-site-logo,
  html.gmp-museum-ready body .ml-header .ml-logo img,
  html.gmp-museum-ready body .ml-header img.ml-site-logo,
  html.gmp-museum-ready body .ml-header .ml-site-logo img {
    max-height: 40px !important;
  }
}

/* v0.2.0 homepage layout system -------------------------------------------------
   These classes are used by simple Custom HTML modules published in ML Base
   positions: hero, section-1, section-2, section-3, section-4, section-5. */
html.gmp-museum-ready body .ml-main {
  background: #fff;
}

html.gmp-museum-ready body .gmp-home-section {
  position: relative;
  padding: clamp(72px, 8vw, 128px) 0;
}
html.gmp-museum-ready body .gmp-home-section.is-beige {
  background: var(--gmp-beige-soft);
}
html.gmp-museum-ready body .gmp-home-section.is-dark {
  background: var(--gmp-black);
  color: #fff;
}
html.gmp-museum-ready body .gmp-home-section.is-dark p,
html.gmp-museum-ready body .gmp-home-section.is-dark .gmp-section-intro {
  color: rgba(255,255,255,.68);
}
html.gmp-museum-ready body .gmp-home-section.is-dark a {
  color: #fff;
}
html.gmp-museum-ready body .gmp-container {
  width: min(calc(100% - 48px), 1180px);
  margin-inline: auto;
}
html.gmp-museum-ready body .gmp-container-narrow {
  width: min(calc(100% - 48px), 880px);
  margin-inline: auto;
}

html.gmp-museum-ready body .gmp-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: clamp(34px, 5vw, 64px);
}
html.gmp-museum-ready body .gmp-section-head.is-centered {
  display: block;
  text-align: center;
  max-width: 760px;
  margin-inline: auto;
}
html.gmp-museum-ready body .gmp-section-title {
  margin: 0;
  font-family: var(--gmp-font-h1h2) !important;
  font-size: clamp(40px, 5.6vw, 74px);
  line-height: .98;
  letter-spacing: -.045em;
  font-weight: 400;
}
html.gmp-museum-ready body .gmp-section-title.small {
  font-size: clamp(34px, 4vw, 54px);
}
html.gmp-museum-ready body .gmp-section-intro {
  margin: 16px 0 0;
  max-width: 620px;
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.55;
  color: var(--gmp-muted);
}
html.gmp-museum-ready body .gmp-section-action {
  font-family: var(--gmp-font-menu) !important;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--gmp-ink);
  white-space: nowrap;
}
html.gmp-museum-ready body .gmp-section-action::after {
  content: '';
  display: inline-block;
  width: 42px;
  height: 1px;
  margin-left: 14px;
  vertical-align: middle;
  background: currentColor;
}
html.gmp-museum-ready body .is-dark .gmp-section-action {
  color: #fff;
}

/* Hero */
html.gmp-museum-ready body .gmp-hero {
  position: relative;
  min-height: clamp(620px, 72vh, 860px);
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--gmp-black);
  color: #fff;
  margin-top: calc(var(--ml-header-offset, 0px) * -1);
}
html.gmp-museum-ready body .gmp-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.76) 0%, rgba(0,0,0,.43) 42%, rgba(0,0,0,.2) 100%),
    var(--gmp-hero-image, none) center center / cover no-repeat;
  transform: scale(1.01);
}
html.gmp-museum-ready body .gmp-hero::after {
  content: '';
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: rgba(255,255,255,.22);
}
html.gmp-museum-ready body .gmp-hero-inner {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 48px), 1180px);
  margin-inline: auto;
  padding-top: 90px;
}
html.gmp-museum-ready body .gmp-hero-content {
  max-width: 690px;
}
html.gmp-museum-ready body .gmp-hero .gmp-eyebrow {
  color: rgba(255,255,255,.7);
  margin-bottom: 20px;
}
html.gmp-museum-ready body .gmp-hero-title {
  margin: 0;
  color: #fff;
  font-family: var(--gmp-font-h1h2) !important;
  font-size: clamp(54px, 7vw, 104px);
  line-height: .93;
  font-weight: 400;
  letter-spacing: -.055em;
  text-wrap: balance;
}
html.gmp-museum-ready body .gmp-hero-text {
  max-width: 540px;
  margin-top: 26px;
  color: rgba(255,255,255,.74);
  font-size: clamp(17px, 1.45vw, 22px);
  line-height: 1.55;
}
html.gmp-museum-ready body .gmp-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 34px;
}
html.gmp-museum-ready body .gmp-hero-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  max-width: 760px;
  margin-top: clamp(54px, 8vw, 110px);
  padding-top: 26px;
  border-top: 1px solid rgba(255,255,255,.18);
}
html.gmp-museum-ready body .gmp-hero-meta strong {
  display: block;
  color: #fff;
  font-family: var(--gmp-font-menu) !important;
  font-size: 12px;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
html.gmp-museum-ready body .gmp-hero-meta span {
  color: rgba(255,255,255,.68);
  font-size: 14px;
}

/* Intro split */
html.gmp-museum-ready body .gmp-intro-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 47%);
  gap: clamp(38px, 6vw, 90px);
  align-items: center;
}
html.gmp-museum-ready body .gmp-intro-split .gmp-section-title {
  font-size: clamp(38px, 4.8vw, 72px);
}
html.gmp-museum-ready body .gmp-intro-image {
  position: relative;
  min-height: 460px;
  background: var(--gmp-intro-image, linear-gradient(135deg,#f4efe6,#fff)) center / cover no-repeat;
}
html.gmp-museum-ready body .gmp-intro-image::before {
  content: '';
  position: absolute;
  inset: 36px -36px -36px 36px;
  border: 1px solid var(--gmp-line);
  z-index: -1;
}

/* Exhibition / card grid */
html.gmp-museum-ready body .gmp-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 42px);
}
html.gmp-museum-ready body .gmp-editorial-card,
html.gmp-museum-ready body .com-content-category-blog .blog-item,
html.gmp-museum-ready body .blog .blog-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
html.gmp-museum-ready body .gmp-editorial-card img,
html.gmp-museum-ready body .com-content-category-blog .blog-item img,
html.gmp-museum-ready body .blog .blog-item img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 0 !important;
  margin-bottom: 20px;
}
html.gmp-museum-ready body .gmp-editorial-card h3,
html.gmp-museum-ready body .com-content-category-blog .blog-item h2,
html.gmp-museum-ready body .com-content-category-blog .blog-item h3,
html.gmp-museum-ready body .blog .blog-item h2,
html.gmp-museum-ready body .blog .blog-item h3 {
  margin: 8px 0 10px;
  font-family: var(--gmp-font-h3h6) !important;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.06;
  font-weight: 600;
  letter-spacing: -.035em !important;
}
html.gmp-museum-ready body .gmp-editorial-card p,
html.gmp-museum-ready body .com-content-category-blog .blog-item p,
html.gmp-museum-ready body .blog .blog-item p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--gmp-muted);
}

/* Feature object / statue split */
html.gmp-museum-ready body .gmp-feature-split {
  display: grid;
  grid-template-columns: minmax(280px, 42%) minmax(0, 1fr);
  gap: clamp(40px, 7vw, 110px);
  align-items: center;
}
html.gmp-museum-ready body .gmp-feature-visual {
  min-height: 520px;
  background: var(--gmp-feature-image, linear-gradient(135deg,#e7ded1,#fff)) bottom center / contain no-repeat;
}
html.gmp-museum-ready body .gmp-feature-copy {
  max-width: 560px;
}

/* Events dark layout */
html.gmp-museum-ready body .gmp-events-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px clamp(32px, 6vw, 90px);
}
html.gmp-museum-ready body .gmp-event-item {
  display: grid;
  grid-template-columns: 126px minmax(0,1fr);
  gap: 22px;
  align-items: center;
}
html.gmp-museum-ready body .gmp-event-item img {
  width: 126px;
  height: 126px;
  object-fit: cover;
}
html.gmp-museum-ready body .gmp-event-date {
  font-family: var(--gmp-font-menu) !important;
  font-size: 11px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gmp-gold);
}
html.gmp-museum-ready body .gmp-event-title {
  margin: 8px 0 4px;
  color: #fff;
  font-family: var(--gmp-font-h3h6) !important;
  font-size: 22px;
  line-height: 1.15;
}
html.gmp-museum-ready body .gmp-event-meta {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 14px;
}

/* Museum services */
html.gmp-museum-ready body .gmp-services-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(38px, 7vw, 96px);
  align-items: start;
}
html.gmp-museum-ready body .gmp-service-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 34px 44px;
}
html.gmp-museum-ready body .gmp-service-item {
  border-top: 1px solid var(--gmp-line);
  padding-top: 24px;
}
html.gmp-museum-ready body .gmp-service-icon {
  width: 42px;
  height: 42px;
  margin-bottom: 16px;
  opacity: .56;
}
html.gmp-museum-ready body .gmp-service-title {
  margin: 0 0 8px;
  font-family: var(--gmp-font-h3h6) !important;
  font-size: 20px;
}
html.gmp-museum-ready body .gmp-service-text {
  margin: 0;
  color: var(--gmp-muted);
  font-size: 15px;
}

/* Image strip */
html.gmp-museum-ready body .gmp-image-strip {
  display: grid;
  grid-template-columns: repeat(8, minmax(120px, 1fr));
  overflow: hidden;
}
html.gmp-museum-ready body .gmp-image-strip img {
  width: 100%;
  height: clamp(110px, 14vw, 210px);
  object-fit: cover;
  display: block;
  filter: saturate(.9) contrast(1.04);
}

/* Better default category/blog page while homepage modules are being built */
html.gmp-museum-ready body .com-content-category-blog,
html.gmp-museum-ready body .blog {
  width: min(calc(100% - 48px), 1180px);
  margin: 0 auto;
  padding: clamp(70px, 8vw, 112px) 0;
}
html.gmp-museum-ready body .com-content-category-blog > h1,
html.gmp-museum-ready body .blog > h1,
html.gmp-museum-ready body .page-header h1 {
  font-size: clamp(48px, 6vw, 88px);
  margin: 0 0 44px;
}
html.gmp-museum-ready body .com-content-category-blog .com-content-category-blog__items,
html.gmp-museum-ready body .blog .items-row,
html.gmp-museum-ready body .blog-items,
html.gmp-museum-ready body .items-leading,
html.gmp-museum-ready body .items-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: clamp(30px, 4vw, 54px) clamp(26px, 3vw, 42px);
}
html.gmp-museum-ready body .pagination,
html.gmp-museum-ready body .com-content-category-blog__navigation,
html.gmp-museum-ready body .pager {
  margin-top: 60px;
}

@media (max-width: 980px) {
  html.gmp-museum-ready body .gmp-section-head,
  html.gmp-museum-ready body .gmp-intro-split,
  html.gmp-museum-ready body .gmp-feature-split,
  html.gmp-museum-ready body .gmp-services-grid {
    grid-template-columns: 1fr;
  }
  html.gmp-museum-ready body .gmp-card-grid,
  html.gmp-museum-ready body .com-content-category-blog .com-content-category-blog__items,
  html.gmp-museum-ready body .blog .items-row,
  html.gmp-museum-ready body .blog-items,
  html.gmp-museum-ready body .items-leading,
  html.gmp-museum-ready body .items-row {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
  html.gmp-museum-ready body .gmp-events-grid,
  html.gmp-museum-ready body .gmp-service-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  html.gmp-museum-ready body .gmp-container,
  html.gmp-museum-ready body .gmp-container-narrow,
  html.gmp-museum-ready body .gmp-hero-inner,
  html.gmp-museum-ready body .com-content-category-blog,
  html.gmp-museum-ready body .blog {
    width: min(calc(100% - 32px), 1180px);
  }
  html.gmp-museum-ready body .gmp-hero {
    min-height: 620px;
  }
  html.gmp-museum-ready body .gmp-hero-meta,
  html.gmp-museum-ready body .gmp-card-grid,
  html.gmp-museum-ready body .com-content-category-blog .com-content-category-blog__items,
  html.gmp-museum-ready body .blog .items-row,
  html.gmp-museum-ready body .blog-items,
  html.gmp-museum-ready body .items-leading,
  html.gmp-museum-ready body .items-row {
    grid-template-columns: 1fr;
  }
  html.gmp-museum-ready body .gmp-event-item {
    grid-template-columns: 92px minmax(0,1fr);
  }
  html.gmp-museum-ready body .gmp-event-item img {
    width: 92px;
    height: 92px;
  }
  html.gmp-museum-ready body .gmp-image-strip {
    grid-template-columns: repeat(4, minmax(80px, 1fr));
  }
}


/* v0.2.1: Loquet-style inner header and homepage-only transparent header.
   Base v1.6.0 adds is-home-page / is-inner-page classes and transparent header scope. */
html.gmp-museum-ready body.is-inner-page .ml-header {
  position: relative !important;
  inset: auto !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(17,17,17,.12) !important;
  box-shadow: none !important;
}
html.gmp-museum-ready body.is-inner-page .ml-header-row,
html.gmp-museum-ready body.is-inner-page .ml-header-row-main,
html.gmp-museum-ready body.is-inner-page .ml-header-row-bottom,
html.gmp-museum-ready body.is-inner-page .ml-header-row-mobile {
  background: #fff !important;
  color: var(--gmp-ink) !important;
  border-color: rgba(17,17,17,.12) !important;
}
html.gmp-museum-ready body.is-inner-page .ml-header-row-main .ml-header-row-inner {
  min-height: 96px !important;
}
html.gmp-museum-ready body.is-inner-page .ml-header .ml-brand-text,
html.gmp-museum-ready body.is-inner-page .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link,
html.gmp-museum-ready body.is-inner-page .ml-header .ml-search-toggle,
html.gmp-museum-ready body.is-inner-page .ml-header .ml-menu-toggle {
  color: var(--gmp-black) !important;
  text-shadow: none !important;
}
html.gmp-museum-ready body.is-inner-page .ml-header .ml-native-menu-level-1 > .ml-native-menu-item.is-active > .ml-native-menu-link,
html.gmp-museum-ready body.is-inner-page .ml-header .ml-native-menu-level-1 > .ml-native-menu-item.is-active-trail > .ml-native-menu-link,
html.gmp-museum-ready body.is-inner-page .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link:hover {
  color: var(--gmp-gold) !important;
}
html.gmp-museum-ready body.is-inner-page .ml-page,
html.gmp-museum-ready body.is-inner-page .ml-main {
  padding-top: 0 !important;
}

/* Homepage transparent header only. */
html.gmp-museum-ready body.is-home-page .ml-header {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: linear-gradient(to bottom, rgba(17,17,17,.34), rgba(17,17,17,0)) !important;
  border-bottom: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: none !important;
}
html.gmp-museum-ready body.is-home-page .ml-header-row,
html.gmp-museum-ready body.is-home-page .ml-header-row-main,
html.gmp-museum-ready body.is-home-page .ml-header-row-bottom,
html.gmp-museum-ready body.is-home-page .ml-header-row-mobile {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.12) !important;
}
html.gmp-museum-ready body.is-home-page .ml-header .ml-brand-text,
html.gmp-museum-ready body.is-home-page .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link,
html.gmp-museum-ready body.is-home-page .ml-header .ml-search-toggle,
html.gmp-museum-ready body.is-home-page .ml-header .ml-menu-toggle {
  color: #fff !important;
  text-shadow: 0 1px 18px rgba(0,0,0,.28);
}

/* Loquet-inspired top bar. It can be enabled from Header Builder top row.
   Recommended slots: left = Custom HTML 1, center = Empty, right = Custom HTML 2. */
html.gmp-museum-ready body .ml-header-row-top {
  display: flex !important;
  background: var(--gmp-black) !important;
  color: rgba(255,255,255,.78) !important;
  border-bottom: 0 !important;
  min-height: 42px !important;
}
html.gmp-museum-ready body .ml-header-row-top .ml-header-row-inner {
  min-height: 42px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html.gmp-museum-ready body .ml-header-row-top,
html.gmp-museum-ready body .ml-header-row-top a,
html.gmp-museum-ready body .ml-header-row-top .ml-custom-html,
html.gmp-museum-ready body .ml-header-row-top .ml-header-slot {
  font-family: var(--gmp-font-menu) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
}
html.gmp-museum-ready body .ml-header-row-top .ml-header-slot-left {
  justify-content: flex-start !important;
}
html.gmp-museum-ready body .ml-header-row-top .ml-header-slot-right {
  justify-content: flex-end !important;
}
html.gmp-museum-ready body .ml-header-row-top .ml-header-slot-right .ml-custom-html {
  display: inline-flex !important;
  gap: 34px !important;
  align-items: center !important;
}
html.gmp-museum-ready body.is-home-page .ml-header-row-top {
  background: rgba(17,17,17,.96) !important;
}

/* Hide bottom row for the museum child until there is a real reason to use it. */
html.gmp-museum-ready body .ml-header-row-bottom {
  display: none !important;
}

/* Better dropdown proportions for the reference design. */
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 {
  min-width: 245px !important;
  max-width: min(340px, calc(100vw - 40px)) !important;
  padding: 12px 0 !important;
}
html.gmp-museum-ready body .ml-header .ml-native-menu-level-2 .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-3 .ml-native-menu-link,
html.gmp-museum-ready body .ml-header .ml-native-menu-level-4 .ml-native-menu-link {
  padding: 10px 20px !important;
  font-size: 11px !important;
  letter-spacing: .13em !important;
}


/* v0.2.2: fix top header row visibility. Earlier compact-header rules hid the top row with higher specificity. */
html.gmp-museum-ready body .ml-header .ml-header-row-top {
  display: flex !important;
  background: var(--gmp-black) !important;
  color: rgba(255,255,255,.78) !important;
  border-bottom: 0 !important;
  min-height: 42px !important;
}
html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-row-inner {
  min-height: 42px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html.gmp-museum-ready body .ml-header .ml-header-row-top,
html.gmp-museum-ready body .ml-header .ml-header-row-top a,
html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-custom-html,
html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot {
  font-family: var(--gmp-font-menu) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
}
html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot-right .ml-custom-html {
  display: inline-flex !important;
  gap: 34px !important;
  align-items: center !important;
}


/* v0.2.3: align museum homepage/header to the 1400px site container and add breathing room. */
html.gmp-museum-ready {
  --ml-container: 1400px;
  --ml-content: 920px;
  --gmp-container: 1400px;
  --gmp-container-gutter: 64px;
}

html.gmp-museum-ready body .ml-container,
html.gmp-museum-ready body .ml-header-row-inner,
html.gmp-museum-ready body .ml-footer .ml-container,
html.gmp-museum-ready body .gmp-container,
html.gmp-museum-ready body .gmp-hero-inner,
html.gmp-museum-ready body .com-content-category-blog,
html.gmp-museum-ready body .blog {
  width: min(calc(100% - var(--gmp-container-gutter)), var(--gmp-container)) !important;
  max-width: var(--gmp-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

html.gmp-museum-ready body .ml-header-row-inner {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Header should sit in the same visual grid as the hero content. */
html.gmp-museum-ready body.is-home-page .ml-header .ml-header-row-main .ml-header-row-inner {
  min-height: 74px !important;
}

html.gmp-museum-ready body.is-home-page .ml-header .ml-logo img,
html.gmp-museum-ready body.is-home-page .ml-header img.ml-site-logo,
html.gmp-museum-ready body.is-home-page .ml-header .ml-site-logo img {
  max-height: 44px !important;
}

html.gmp-museum-ready body.is-home-page .ml-header .ml-brand-text {
  font-family: var(--gmp-font-menu) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  opacity: .78;
}

html.gmp-museum-ready body.is-home-page .ml-header .ml-native-menu-level-1 {
  gap: clamp(20px, 2.4vw, 38px) !important;
}

html.gmp-museum-ready body.is-home-page .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link {
  font-size: 12px !important;
  letter-spacing: .14em !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

/* Hero: less cramped under topbar/header, still full editorial impact. */
html.gmp-museum-ready body .gmp-hero,
html.gmp-museum-ready body .mod-gmp-hero.gmp-hero {
  min-height: clamp(720px, 82vh, 900px) !important;
  align-items: center !important;
}

html.gmp-museum-ready body .gmp-hero-inner {
  padding-top: clamp(150px, 14vh, 210px) !important;
  padding-bottom: clamp(58px, 7vh, 92px) !important;
}

html.gmp-museum-ready body .gmp-hero-content {
  max-width: min(760px, 58vw);
}

html.gmp-museum-ready body .gmp-hero-title {
  max-width: 780px !important;
  font-size: clamp(58px, 6.2vw, 96px) !important;
  line-height: .94 !important;
  letter-spacing: -.052em !important;
}

html.gmp-museum-ready body .gmp-hero-text {
  max-width: 600px;
  margin-top: 30px;
  font-size: clamp(18px, 1.35vw, 22px);
  line-height: 1.58;
}

html.gmp-museum-ready body .gmp-hero-actions {
  margin-top: 38px !important;
  gap: 22px !important;
}

html.gmp-museum-ready body .gmp-hero-meta {
  max-width: min(850px, 62vw) !important;
  margin-top: clamp(76px, 10vh, 126px) !important;
  padding-top: 32px !important;
  gap: clamp(34px, 4vw, 72px) !important;
}

/* Slightly push the visual focus to the right, closer to the reference composition. */
html.gmp-museum-ready body .gmp-hero::before {
  background-position: center right !important;
}

@media (max-width: 1100px) {
  html.gmp-museum-ready {
    --gmp-container-gutter: 48px;
  }
  html.gmp-museum-ready body .gmp-hero-content,
  html.gmp-museum-ready body .gmp-hero-meta {
    max-width: 720px !important;
  }
  html.gmp-museum-ready body .gmp-hero-title {
    font-size: clamp(52px, 8vw, 86px) !important;
  }
}

@media (max-width: 760px) {
  html.gmp-museum-ready {
    --gmp-container-gutter: 32px;
  }
  html.gmp-museum-ready body .gmp-hero,
  html.gmp-museum-ready body .mod-gmp-hero.gmp-hero {
    min-height: 680px !important;
  }
  html.gmp-museum-ready body .gmp-hero-inner {
    padding-top: 128px !important;
    padding-bottom: 48px !important;
  }
  html.gmp-museum-ready body .gmp-hero-content,
  html.gmp-museum-ready body .gmp-hero-meta {
    max-width: none !important;
  }
  html.gmp-museum-ready body .gmp-hero-meta {
    grid-template-columns: 1fr !important;
    margin-top: 56px !important;
    gap: 18px !important;
  }
}


/* v0.2.4: Homepage hero height and breathing room.
   The museum homepage hero should fill the first viewport and the content should sit lower,
   not glued to the transparent header/topbar. */
html.gmp-museum-ready body.is-home-page .gmp-hero,
html.gmp-museum-ready body.is-home-page .mod-gmp-hero.gmp-hero {
  min-height: 100vh !important;
  min-height: 100svh !important;
}

html.gmp-museum-ready body.is-home-page .gmp-hero-inner {
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding-top: clamp(190px, 20vh, 260px) !important;
  padding-bottom: clamp(62px, 8vh, 108px) !important;
}

html.gmp-museum-ready body.is-home-page .gmp-hero-meta {
  margin-top: clamp(72px, 10vh, 124px) !important;
}

@media (max-width: 760px) {
  html.gmp-museum-ready body.is-home-page .gmp-hero,
  html.gmp-museum-ready body.is-home-page .mod-gmp-hero.gmp-hero {
    min-height: 100svh !important;
  }
  html.gmp-museum-ready body.is-home-page .gmp-hero-inner {
    min-height: 100svh !important;
    justify-content: center !important;
    padding-top: 150px !important;
    padding-bottom: 52px !important;
  }
}


/* v0.2.8: Loquet-style footer + newsletter row
   Use the base template position footer-newsletter for AcyMailing newsletter signup. */
html.gmp-museum-ready body .ml-footer {
  background: #111111 !important;
  color: rgba(255,255,255,.72) !important;
  font-family: var(--gmp-font-ui) !important;
  letter-spacing: .01em;
}

html.gmp-museum-ready body .ml-footer .ml-container,
html.gmp-museum-ready body .ml-footer .ml-container-fluid {
  max-width: min(1400px, calc(100vw - 72px)) !important;
  margin-inline: auto !important;
}

html.gmp-museum-ready body .ml-footer-newsletter {
  padding: clamp(34px, 4vw, 56px) 0 clamp(28px, 3.2vw, 46px) !important;
  border-bottom: 1px solid rgba(255,255,255,.13) !important;
}

html.gmp-museum-ready body .ml-footer-newsletter .moduletable,
html.gmp-museum-ready body .ml-footer-newsletter .ml-module,
html.gmp-museum-ready body .ml-footer-newsletter form {
  width: 100% !important;
}

html.gmp-museum-ready body .ml-footer-newsletter .moduletable,
html.gmp-museum-ready body .ml-footer-newsletter .ml-module {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(360px, 560px) !important;
  align-items: center !important;
  gap: clamp(24px, 5vw, 90px) !important;
}

html.gmp-museum-ready body .ml-footer-newsletter .module-title,
html.gmp-museum-ready body .ml-footer-newsletter .ml-module-title,
html.gmp-museum-ready body .ml-footer-newsletter h3 {
  margin: 0 !important;
  color: #fff !important;
  font-family: var(--gmp-font-heading) !important;
  font-size: clamp(28px, 3vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  font-weight: 400 !important;
}

html.gmp-museum-ready body .ml-footer-newsletter p {
  margin: 10px 0 0 !important;
  max-width: 620px !important;
  color: rgba(255,255,255,.62) !important;
  font-family: var(--gmp-font-body) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

/* AcyMailing common markup variants */
html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form,
html.gmp-museum-ready body .ml-footer-newsletter .acym_module,
html.gmp-museum-ready body .ml-footer-newsletter .acymailing_module_form,
html.gmp-museum-ready body .ml-footer-newsletter .acyfield_email,
html.gmp-museum-ready body .ml-footer-newsletter .acym_form,
html.gmp-museum-ready body .ml-footer-newsletter form {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: 0 !important;
}

html.gmp-museum-ready body .ml-footer-newsletter input[type="email"],
html.gmp-museum-ready body .ml-footer-newsletter input[type="text"],
html.gmp-museum-ready body .ml-footer-newsletter .acym__user__edit__email {
  min-height: 52px !important;
  width: 100% !important;
  max-width: 430px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-right: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.04) !important;
  color: #fff !important;
  padding: 0 18px !important;
  font-family: var(--gmp-font-ui) !important;
  font-size: 13px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  outline: 0 !important;
}

html.gmp-museum-ready body .ml-footer-newsletter input::placeholder {
  color: rgba(255,255,255,.48) !important;
}

html.gmp-museum-ready body .ml-footer-newsletter button,
html.gmp-museum-ready body .ml-footer-newsletter input[type="submit"],
html.gmp-museum-ready body .ml-footer-newsletter .btn,
html.gmp-museum-ready body .ml-footer-newsletter .button {
  min-height: 52px !important;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #111 !important;
  padding: 0 24px !important;
  font-family: var(--gmp-font-ui) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

html.gmp-museum-ready body .ml-footer-main {
  padding: clamp(54px, 6vw, 82px) 0 !important;
}

html.gmp-museum-ready body .ml-footer-grid {
  display: grid !important;
  grid-template-columns: 1.25fr .9fr .9fr 1fr !important;
  gap: clamp(34px, 5vw, 84px) !important;
  align-items: start !important;
}

html.gmp-museum-ready body .ml-footer h3,
html.gmp-museum-ready body .ml-footer .ml-module-title,
html.gmp-museum-ready body .ml-footer .module-title {
  color: #fff !important;
  font-family: var(--gmp-font-heading) !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
  margin: 0 0 24px !important;
  font-weight: 500 !important;
}

html.gmp-museum-ready body .ml-footer-brand-block .ml-brand-text,
html.gmp-museum-ready body .ml-footer-brand-block .ml-site-logo-text {
  color: #fff !important;
  font-family: var(--gmp-font-heading) !important;
  font-size: 30px !important;
  line-height: 1 !important;
  letter-spacing: -.03em !important;
  font-weight: 600 !important;
}

html.gmp-museum-ready body .ml-footer-brand-block img {
  max-width: 120px !important;
  height: auto !important;
  margin-bottom: 22px !important;
}

html.gmp-museum-ready body .ml-footer p,
html.gmp-museum-ready body .ml-footer .ml-footer-custom-html,
html.gmp-museum-ready body .ml-footer .ml-footer-contact-html {
  color: rgba(255,255,255,.66) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

html.gmp-museum-ready body .ml-footer a {
  color: rgba(255,255,255,.7) !important;
  text-decoration: none !important;
}

html.gmp-museum-ready body .ml-footer a:hover {
  color: #fff !important;
}

html.gmp-museum-ready body .ml-footer .ml-native-menu,
html.gmp-museum-ready body .ml-footer .ml-native-menu ul {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html.gmp-museum-ready body .ml-footer .ml-native-menu-link {
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  color: rgba(255,255,255,.68) !important;
  font-family: var(--gmp-font-ui) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html.gmp-museum-ready body .ml-footer .ml-native-menu-link::before {
  content: '›';
  color: rgba(255,255,255,.45);
  font-size: 17px;
  line-height: 1;
}

html.gmp-museum-ready body .ml-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.13) !important;
  padding: 24px 0 !important;
}

html.gmp-museum-ready body .ml-footer-bottom-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  color: rgba(255,255,255,.52) !important;
  font-family: var(--gmp-font-ui) !important;
  font-size: 12px !important;
  letter-spacing: .03em !important;
}

@media (max-width: 900px) {
  html.gmp-museum-ready body .ml-footer-newsletter .moduletable,
  html.gmp-museum-ready body .ml-footer-newsletter .ml-module {
    grid-template-columns: 1fr !important;
  }
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module,
  html.gmp-museum-ready body .ml-footer-newsletter .acymailing_module_form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_form,
  html.gmp-museum-ready body .ml-footer-newsletter form {
    justify-content: flex-start !important;
  }
  html.gmp-museum-ready body .ml-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 620px) {
  html.gmp-museum-ready body .ml-footer .ml-container,
  html.gmp-museum-ready body .ml-footer .ml-container-fluid {
    max-width: calc(100vw - 36px) !important;
  }
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module,
  html.gmp-museum-ready body .ml-footer-newsletter .acymailing_module_form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_form,
  html.gmp-museum-ready body .ml-footer-newsletter form {
    flex-direction: column !important;
  }
  html.gmp-museum-ready body .ml-footer-newsletter input[type="email"],
  html.gmp-museum-ready body .ml-footer-newsletter input[type="text"] {
    max-width: none !important;
    border-right: 1px solid rgba(255,255,255,.18) !important;
  }
  html.gmp-museum-ready body .ml-footer-grid {
    grid-template-columns: 1fr !important;
  }
  html.gmp-museum-ready body .ml-footer-bottom-inner {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
}

/* v0.3.0 responsive stabilization -------------------------------------------------
   Mobile-first cleanup for GMP Museum child: header, mobile menu, hero, sections,
   card modules, events, articles, footer and image strip. Keep base template generic. */

html.gmp-museum-ready,
html.gmp-museum-ready body {
  overflow-x: hidden;
}

@media (max-width: 1180px) {
  html.gmp-museum-ready {
    --gmp-container-gutter: 44px;
    --gmp-container: 1040px;
  }

  html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 {
    gap: clamp(14px, 1.7vw, 24px) !important;
  }

  html.gmp-museum-ready body .ml-header .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link {
    font-size: 11px !important;
    letter-spacing: .105em !important;
  }

  html.gmp-museum-ready body .gmp-hero-title {
    font-size: clamp(52px, 7.5vw, 86px) !important;
  }
}

/* Tablet/mobile header switch. Desktop menu is too wide for GMP, so from 1080px down
   we keep the top bar, hide the desktop navigation and use the hamburger/offcanvas menu. */
@media (max-width: 1080px) {
  html.gmp-museum-ready {
    --gmp-container-gutter: 36px;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-main .ml-header-row-inner {
    min-height: 68px !important;
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 16px !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-main .ml-header-slot-center,
  html.gmp-museum-ready body .ml-header .ml-header-row-main .ml-native-navigation,
  html.gmp-museum-ready body .ml-header .ml-header-row-main .ml-menu-position,
  html.gmp-museum-ready body .ml-header .ml-header-row-main ul.menu,
  html.gmp-museum-ready body .ml-header .ml-header-row-main ul.mod-menu,
  html.gmp-museum-ready body .ml-header .ml-header-row-main .mod-menu {
    display: none !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-main .ml-header-slot-left {
    justify-self: start !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-main .ml-header-slot-right {
    justify-self: end !important;
    justify-content: flex-end !important;
    width: auto !important;
  }

  html.gmp-museum-ready body .ml-header .ml-menu-toggle {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255,255,255,.42) !important;
    background: rgba(17,17,17,.18) !important;
    color: #fff !important;
  }

  html.gmp-museum-ready body.is-inner-page .ml-header .ml-menu-toggle {
    border-color: rgba(17,17,17,.22) !important;
    background: transparent !important;
    color: var(--gmp-ink) !important;
  }

  html.gmp-museum-ready body .ml-header .ml-menu-toggle span:not(.visually-hidden) {
    background: currentColor !important;
  }

  html.gmp-museum-ready body .ml-header .ml-search-toggle {
    display: none !important;
  }

  html.gmp-museum-ready body .ml-header .ml-logo img,
  html.gmp-museum-ready body .ml-header img.ml-site-logo,
  html.gmp-museum-ready body .ml-header .ml-site-logo img {
    max-height: 42px !important;
  }

  /* Mobile menu as a proper overlay panel. */
  html.gmp-museum-ready body .ml-mobile-menu[hidden] {
    display: none !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu:not([hidden]) {
    position: fixed !important;
    inset: 0 !important;
    z-index: 5000 !important;
    display: block !important;
    background: rgba(17,17,17,.72) !important;
    color: #fff !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu-inner {
    width: min(430px, calc(100vw - 34px)) !important;
    height: 100dvh !important;
    margin: 0 0 0 auto !important;
    padding: 28px 26px 38px !important;
    background: #111 !important;
    color: rgba(255,255,255,.86) !important;
    overflow-y: auto !important;
    box-shadow: -22px 0 80px rgba(0,0,0,.38) !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    margin-left: auto !important;
    margin-bottom: 22px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 999px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 30px !important;
    line-height: 1 !important;
  }

  html.gmp-museum-ready body.ml-mobile-menu-open {
    overflow: hidden !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-navigation,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-1 {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-2,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-3,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-4,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-5 {
    position: static !important;
    display: block !important;
    min-width: 0 !important;
    max-width: none !important;
    width: 100% !important;
    padding: 0 0 0 16px !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-link {
    display: flex !important;
    width: 100% !important;
    min-height: 0 !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    background: transparent !important;
    color: rgba(255,255,255,.88) !important;
    font-family: var(--gmp-font-menu) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    line-height: 1.25 !important;
    text-shadow: none !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-2 .ml-native-menu-link,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-3 .ml-native-menu-link,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-4 .ml-native-menu-link {
    font-size: 11px !important;
    letter-spacing: .09em !important;
    font-weight: 500 !important;
    color: rgba(255,255,255,.68) !important;
    padding: 11px 0 !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-link:hover,
  html.gmp-museum-ready body .ml-mobile-menu .is-active > .ml-native-menu-link,
  html.gmp-museum-ready body .ml-mobile-menu .is-active-trail > .ml-native-menu-link {
    color: #fff !important;
  }
}

@media (max-width: 760px) {
  html.gmp-museum-ready {
    --gmp-container-gutter: 28px;
    --gmp-container: 100%;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-row-inner {
    min-height: 38px !important;
    grid-template-columns: 1fr auto !important;
    gap: 14px !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot-center {
    display: none !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-top,
  html.gmp-museum-ready body .ml-header .ml-header-row-top a,
  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-custom-html,
  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot {
    font-size: 10px !important;
    letter-spacing: .055em !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot-right .ml-custom-html {
    gap: 14px !important;
  }

  /* Hide less important topbar links on narrow screens if the row gets crowded. */
  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot-right .ml-custom-html a:nth-child(n+3) {
    display: none !important;
  }

  html.gmp-museum-ready body .ml-header .ml-logo img,
  html.gmp-museum-ready body .ml-header img.ml-site-logo,
  html.gmp-museum-ready body .ml-header .ml-site-logo img {
    max-height: 38px !important;
  }

  html.gmp-museum-ready body.is-home-page .gmp-hero,
  html.gmp-museum-ready body.is-home-page .mod-gmp-hero.gmp-hero {
    min-height: 100svh !important;
  }

  html.gmp-museum-ready body.is-home-page .gmp-hero-inner,
  html.gmp-museum-ready body .gmp-hero-inner {
    min-height: 100svh !important;
    width: min(calc(100% - 28px), 100%) !important;
    justify-content: center !important;
    padding-top: 136px !important;
    padding-bottom: 42px !important;
  }

  html.gmp-museum-ready body .gmp-hero-title {
    max-width: 100% !important;
    font-size: clamp(42px, 15vw, 66px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
  }

  html.gmp-museum-ready body .gmp-hero-text {
    max-width: 96% !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    margin-top: 20px !important;
  }

  html.gmp-museum-ready body .gmp-hero-actions {
    gap: 10px !important;
    margin-top: 26px !important;
  }

  html.gmp-museum-ready body .gmp-hero-actions .ml-btn,
  html.gmp-museum-ready body .gmp-hero-actions a {
    padding: 12px 16px !important;
    font-size: 11px !important;
  }

  html.gmp-museum-ready body .gmp-hero-meta {
    grid-template-columns: 1fr !important;
    max-width: none !important;
    margin-top: 40px !important;
    padding-top: 22px !important;
    gap: 16px !important;
  }

  html.gmp-museum-ready body .gmp-home-section,
  html.gmp-museum-ready body .ml-section,
  html.gmp-museum-ready body .gmp-showcase,
  html.gmp-museum-ready body .gmp-articles-showcase,
  html.gmp-museum-ready body .gmp-projects,
  html.gmp-museum-ready body .gmp-events-module,
  html.gmp-museum-ready body .gmp-related-articles {
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }

  html.gmp-museum-ready body .gmp-section-head,
  html.gmp-museum-ready body .gmp-showcase-header,
  html.gmp-museum-ready body .gmp-articles-header,
  html.gmp-museum-ready body .gmp-projects-header,
  html.gmp-museum-ready body .gmp-events-module__header,
  html.gmp-museum-ready body .gmp-related-articles__header {
    display: block !important;
    margin-bottom: 30px !important;
  }

  html.gmp-museum-ready body .gmp-section-title,
  html.gmp-museum-ready body .gmp-showcase-section-title,
  html.gmp-museum-ready body .gmp-articles-title,
  html.gmp-museum-ready body .gmp-projects-title,
  html.gmp-museum-ready body .gmp-events-module__title,
  html.gmp-museum-ready body .gmp-related-articles__title,
  html.gmp-museum-ready body .ml-article-title,
  html.gmp-museum-ready body .page-header h1 {
    font-size: clamp(36px, 12vw, 56px) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
  }

  html.gmp-museum-ready body .gmp-intro-split,
  html.gmp-museum-ready body .gmp-feature-split,
  html.gmp-museum-ready body .gmp-services-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  html.gmp-museum-ready body .gmp-intro-image {
    min-height: 260px !important;
  }

  html.gmp-museum-ready body .gmp-intro-image::before {
    display: none !important;
  }

  html.gmp-museum-ready body .gmp-showcase-container,
  html.gmp-museum-ready body .gmp-articles-container,
  html.gmp-museum-ready body .gmp-projects-container,
  html.gmp-museum-ready body .gmp-events-module__inner,
  html.gmp-museum-ready body .gmp-related-articles__inner,
  html.gmp-museum-ready body .ml-article,
  html.gmp-museum-ready body .ml-article-header,
  html.gmp-museum-ready body .ml-article-content {
    width: min(calc(100% - 28px), 100%) !important;
    max-width: none !important;
  }

  html.gmp-museum-ready body .gmp-showcase-grid,
  html.gmp-museum-ready body .gmp-articles-grid,
  html.gmp-museum-ready body .gmp-projects-grid,
  html.gmp-museum-ready body .gmp-related-articles__grid,
  html.gmp-museum-ready body .com-content-category-blog .com-content-category-blog__items,
  html.gmp-museum-ready body .blog .items-row,
  html.gmp-museum-ready body .blog-items,
  html.gmp-museum-ready body .items-leading,
  html.gmp-museum-ready body .items-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  html.gmp-museum-ready body .gmp-showcase-card,
  html.gmp-museum-ready body .gmp-article-card,
  html.gmp-museum-ready body .gmp-project-card,
  html.gmp-museum-ready body .gmp-related-articles__card {
    min-width: 0 !important;
  }

  html.gmp-museum-ready body .gmp-showcase-image,
  html.gmp-museum-ready body .gmp-article-image,
  html.gmp-museum-ready body .gmp-project-image img,
  html.gmp-museum-ready body .gmp-related-articles__image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  html.gmp-museum-ready body .gmp-events-module__grid,
  html.gmp-museum-ready body .gmp-events-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  html.gmp-museum-ready body .gmp-events-module__card,
  html.gmp-museum-ready body .gmp-event-item,
  html.gmp-museum-ready body .gmp-event-card {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
  }

  html.gmp-museum-ready body .gmp-events-module__image,
  html.gmp-museum-ready body .gmp-events-module__image img,
  html.gmp-museum-ready body .gmp-event-item img,
  html.gmp-museum-ready body .gmp-event-card img {
    width: 104px !important;
    height: 104px !important;
    min-width: 104px !important;
    object-fit: cover !important;
  }

  html.gmp-museum-ready body .gmp-events-module__title,
  html.gmp-museum-ready body .gmp-event-title {
    font-size: 20px !important;
    line-height: 1.16 !important;
  }

  html.gmp-museum-ready body .ml-article {
    padding-top: 36px !important;
    padding-bottom: 48px !important;
  }

  html.gmp-museum-ready body .ml-article-header {
    text-align: left !important;
  }

  html.gmp-museum-ready body .ml-article-content {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }

  html.gmp-museum-ready body .ml-article-image img {
    width: 100% !important;
    height: auto !important;
  }

  html.gmp-museum-ready body .gmp-related-articles__card {
    display: grid !important;
    grid-template-columns: 96px minmax(0,1fr) !important;
    gap: 16px !important;
  }

  html.gmp-museum-ready body .gmp-related-articles__image img {
    width: 96px !important;
    height: 96px !important;
    aspect-ratio: 1 / 1 !important;
  }

  html.gmp-museum-ready body .ml-footer .ml-container,
  html.gmp-museum-ready body .ml-footer .ml-container-fluid,
  html.gmp-museum-ready body .ml-footer-newsletter .ml-container {
    max-width: calc(100vw - 28px) !important;
    width: calc(100vw - 28px) !important;
  }

  html.gmp-museum-ready body .ml-footer-newsletter .moduletable,
  html.gmp-museum-ready body .ml-footer-newsletter .ml-module,
  html.gmp-museum-ready body .ml-footer-newsletter form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    justify-content: stretch !important;
  }

  html.gmp-museum-ready body .ml-footer-newsletter input[type="email"],
  html.gmp-museum-ready body .ml-footer-newsletter input[type="text"],
  html.gmp-museum-ready body .ml-footer-newsletter button,
  html.gmp-museum-ready body .ml-footer-newsletter input[type="submit"],
  html.gmp-museum-ready body .ml-footer-newsletter .btn,
  html.gmp-museum-ready body .ml-footer-newsletter .button {
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
  }

  html.gmp-museum-ready body .ml-footer-grid,
  html.gmp-museum-ready body .ml-footer-grid-2,
  html.gmp-museum-ready body .ml-footer-grid-3,
  html.gmp-museum-ready body .ml-footer-grid-4 {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  html.gmp-museum-ready body .ml-footer-bottom-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }
}

@media (max-width: 420px) {
  html.gmp-museum-ready {
    --gmp-container-gutter: 22px;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-slot-right {
    display: none !important;
  }

  html.gmp-museum-ready body .ml-header .ml-header-row-top .ml-header-row-inner {
    grid-template-columns: 1fr !important;
  }

  html.gmp-museum-ready body .gmp-hero-title,
  html.gmp-museum-ready body .ml-article-title,
  html.gmp-museum-ready body .page-header h1 {
    font-size: clamp(34px, 14vw, 48px) !important;
  }

  html.gmp-museum-ready body .gmp-events-module__card,
  html.gmp-museum-ready body .gmp-event-item,
  html.gmp-museum-ready body .gmp-event-card,
  html.gmp-museum-ready body .gmp-related-articles__card {
    grid-template-columns: 1fr !important;
  }

  html.gmp-museum-ready body .gmp-events-module__image,
  html.gmp-museum-ready body .gmp-events-module__image img,
  html.gmp-museum-ready body .gmp-event-item img,
  html.gmp-museum-ready body .gmp-event-card img,
  html.gmp-museum-ready body .gmp-related-articles__image img {
    width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    aspect-ratio: 4 / 3 !important;
  }
}


/* v0.3.1 responsive hard pass -------------------------------------------------
   Stronger mobile rules loaded from child template. These deliberately target
   the real GMP module class names and force a calm one-column mobile layout. */

@media (max-width: 700px) {
  html.gmp-museum-ready,
  html.gmp-museum-ready body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  html.gmp-museum-ready {
    --gmp-container-gutter: 22px !important;
    --ml-section-padding: 54px !important;
    --ml-content: 100% !important;
  }

  /* Common containers */
  html.gmp-museum-ready body .ml-container,
  html.gmp-museum-ready body .ml-container-fluid,
  html.gmp-museum-ready body .gmp-container,
  html.gmp-museum-ready body .gmp-showcase-container,
  html.gmp-museum-ready body .gmp-articles-container,
  html.gmp-museum-ready body .gmp-projects-container,
  html.gmp-museum-ready body .gmp-events-module__inner,
  html.gmp-museum-ready body .gmp-related-articles__inner,
  html.gmp-museum-ready body .ml-article,
  html.gmp-museum-ready body .ml-article-header,
  html.gmp-museum-ready body .ml-article-content {
    width: calc(100vw - 36px) !important;
    max-width: calc(100vw - 36px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Sections: less vertical whitespace on phone. */
  html.gmp-museum-ready body .ml-section,
  html.gmp-museum-ready body .gmp-showcase,
  html.gmp-museum-ready body .gmp-showcase-section,
  html.gmp-museum-ready body .gmp-articles-showcase,
  html.gmp-museum-ready body .gmp-projects-section,
  html.gmp-museum-ready body .gmp-events-module,
  html.gmp-museum-ready body .gmp-related-articles {
    padding-top: 58px !important;
    padding-bottom: 58px !important;
  }

  html.gmp-museum-ready body .ml-section-header,
  html.gmp-museum-ready body .gmp-showcase-header,
  html.gmp-museum-ready body .gmp-articles-header,
  html.gmp-museum-ready body .gmp-projects-header,
  html.gmp-museum-ready body .gmp-events-module__header,
  html.gmp-museum-ready body .gmp-related-articles__header {
    display: block !important;
    margin-bottom: 30px !important;
  }

  html.gmp-museum-ready body .gmp-showcase-action,
  html.gmp-museum-ready body .gmp-articles-action,
  html.gmp-museum-ready body .gmp-projects-header-link,
  html.gmp-museum-ready body .gmp-events-module__view-all {
    margin-top: 16px !important;
    font-size: 11px !important;
    gap: 16px !important;
  }

  /* Hero: full screen but lower and more readable. */
  html.gmp-museum-ready body.is-home-page .gmp-hero,
  html.gmp-museum-ready body.is-home-page .mod-gmp-hero.gmp-hero,
  html.gmp-museum-ready body.is-home-page .ml-hero {
    min-height: 100svh !important;
  }

  html.gmp-museum-ready body .gmp-hero-inner,
  html.gmp-museum-ready body .gmp-hero__content {
    width: calc(100vw - 36px) !important;
    max-width: calc(100vw - 36px) !important;
    padding-top: 150px !important;
    padding-bottom: 34px !important;
  }

  html.gmp-museum-ready body .gmp-hero-title,
  html.gmp-museum-ready body .gmp-hero h1 {
    max-width: 100% !important;
    font-size: clamp(40px, 12.2vw, 58px) !important;
    line-height: .98 !important;
    letter-spacing: -.04em !important;
    margin-bottom: 18px !important;
  }

  html.gmp-museum-ready body .gmp-hero-text,
  html.gmp-museum-ready body .gmp-hero p {
    max-width: 100% !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
  }

  html.gmp-museum-ready body .gmp-hero-actions,
  html.gmp-museum-ready body .gmp-hero__actions {
    margin-top: 24px !important;
    gap: 10px !important;
  }

  html.gmp-museum-ready body .gmp-hero-actions .ml-btn,
  html.gmp-museum-ready body .gmp-hero__actions .ml-btn,
  html.gmp-museum-ready body .gmp-hero-actions a,
  html.gmp-museum-ready body .gmp-hero__actions a {
    padding: 12px 14px !important;
    font-size: 10px !important;
    letter-spacing: .1em !important;
  }

  html.gmp-museum-ready body .gmp-hero-meta,
  html.gmp-museum-ready body .gmp-hero__meta {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 13px !important;
    margin-top: 34px !important;
    padding-top: 18px !important;
    font-size: 12px !important;
  }

  /* About / intro */
  html.gmp-museum-ready body .gmp-intro,
  html.gmp-museum-ready body .gmp-intro-split {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  html.gmp-museum-ready body .gmp-intro__text,
  html.gmp-museum-ready body .gmp-intro-copy {
    padding: 0 !important;
  }

  html.gmp-museum-ready body .gmp-intro h2,
  html.gmp-museum-ready body .gmp-section-title,
  html.gmp-museum-ready body .gmp-showcase-section-title,
  html.gmp-museum-ready body .gmp-articles-title,
  html.gmp-museum-ready body .gmp-projects-title,
  html.gmp-museum-ready body .gmp-events-module__title,
  html.gmp-museum-ready body .gmp-related-articles__title,
  html.gmp-museum-ready body .ml-article-title,
  html.gmp-museum-ready body .page-header h1 {
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
  }

  html.gmp-museum-ready body .gmp-intro p,
  html.gmp-museum-ready body .gmp-section-intro,
  html.gmp-museum-ready body .gmp-about-text {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  html.gmp-museum-ready body .gmp-intro__image,
  html.gmp-museum-ready body .gmp-intro-image {
    margin: 0 !important;
    min-height: 230px !important;
  }

  html.gmp-museum-ready body .gmp-intro__image img,
  html.gmp-museum-ready body .gmp-intro-image img {
    width: 100% !important;
    min-height: 230px !important;
    max-height: 300px !important;
    object-fit: cover !important;
  }

  /* HARD FORCE all card modules to one column on phone. */
  html.gmp-museum-ready body .gmp-showcase-grid,
  html.gmp-museum-ready body .gmp-showcase-grid.gmp-showcase-columns-2,
  html.gmp-museum-ready body .gmp-showcase-grid.gmp-showcase-columns-3,
  html.gmp-museum-ready body .gmp-showcase-grid.gmp-showcase-columns-4,
  html.gmp-museum-ready body .gmp-articles-grid,
  html.gmp-museum-ready body .gmp-articles-grid.gmp-articles-columns-2,
  html.gmp-museum-ready body .gmp-articles-grid.gmp-articles-columns-3,
  html.gmp-museum-ready body .gmp-articles-grid.gmp-articles-columns-4,
  html.gmp-museum-ready body .gmp-projects-grid,
  html.gmp-museum-ready body .gmp-related-articles__grid,
  html.gmp-museum-ready body .blog-items,
  html.gmp-museum-ready body .items-row,
  html.gmp-museum-ready body .com-content-category-blog__items {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 28px !important;
  }

  html.gmp-museum-ready body .gmp-showcase-card,
  html.gmp-museum-ready body .gmp-article-card,
  html.gmp-museum-ready body .gmp-project-card,
  html.gmp-museum-ready body .gmp-related-articles__card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 22px !important;
  }

  html.gmp-museum-ready body .gmp-showcase-card,
  html.gmp-museum-ready body .gmp-project-card {
    border-left: 1px solid rgba(17,17,17,.12) !important;
  }

  html.gmp-museum-ready body .gmp-showcase-image,
  html.gmp-museum-ready body .gmp-showcase-image-wrap img,
  html.gmp-museum-ready body .gmp-article-image,
  html.gmp-museum-ready body .gmp-project-image,
  html.gmp-museum-ready body .gmp-project-image img,
  html.gmp-museum-ready body .gmp-related-articles__image img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
  }

  html.gmp-museum-ready body .gmp-showcase-title,
  html.gmp-museum-ready body .gmp-article-title,
  html.gmp-museum-ready body .gmp-project-title,
  html.gmp-museum-ready body .gmp-related-articles__card-title {
    font-size: clamp(22px, 6.4vw, 30px) !important;
    line-height: 1.12 !important;
  }

  html.gmp-museum-ready body .gmp-showcase-nav,
  html.gmp-museum-ready body .gmp-articles-nav {
    margin-top: 34px !important;
  }

  /* Events module: keep compact but readable. */
  html.gmp-museum-ready body .gmp-events-module__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  html.gmp-museum-ready body .gmp-events-module__card {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 15px !important;
    align-items: start !important;
  }

  html.gmp-museum-ready body .gmp-events-module__image,
  html.gmp-museum-ready body .gmp-events-module__image img {
    width: 104px !important;
    height: 104px !important;
    min-width: 104px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
  }

  html.gmp-museum-ready body .gmp-events-module__body h3,
  html.gmp-museum-ready body .gmp-events-module__title {
    font-size: 20px !important;
    line-height: 1.16 !important;
  }

  html.gmp-museum-ready body .gmp-events-module__meta,
  html.gmp-museum-ready body .gmp-events-module__button,
  html.gmp-museum-ready body .gmp-events-module__cat {
    font-size: 10px !important;
  }

  /* Articles and related content */
  html.gmp-museum-ready body .ml-article {
    padding-top: 32px !important;
    padding-bottom: 42px !important;
  }

  html.gmp-museum-ready body .ml-article-content {
    font-size: 15.5px !important;
    line-height: 1.72 !important;
  }

  html.gmp-museum-ready body .ml-article-image img {
    width: 100% !important;
    height: auto !important;
  }

  /* Footer */
  html.gmp-museum-ready body .ml-footer-newsletter .moduletable,
  html.gmp-museum-ready body .ml-footer-newsletter .ml-module,
  html.gmp-museum-ready body .ml-footer-newsletter form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_form {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    justify-content: stretch !important;
    width: 100% !important;
  }

  html.gmp-museum-ready body .ml-footer-newsletter input[type="email"],
  html.gmp-museum-ready body .ml-footer-newsletter input[type="text"],
  html.gmp-museum-ready body .ml-footer-newsletter button,
  html.gmp-museum-ready body .ml-footer-newsletter input[type="submit"],
  html.gmp-museum-ready body .ml-footer-newsletter .btn,
  html.gmp-museum-ready body .ml-footer-newsletter .button {
    width: 100% !important;
    max-width: none !important;
  }

  html.gmp-museum-ready body .ml-footer-grid,
  html.gmp-museum-ready body .ml-footer-grid-2,
  html.gmp-museum-ready body .ml-footer-grid-3,
  html.gmp-museum-ready body .ml-footer-grid-4 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  html.gmp-museum-ready body .gmp-strip-v2,
  html.gmp-museum-ready body .gmp-image-strip,
  html.gmp-museum-ready body .gmp-image-strip-track {
    max-width: 100vw !important;
    overflow-x: auto !important;
  }
}

@media (max-width: 420px) {
  html.gmp-museum-ready body .gmp-hero-title,
  html.gmp-museum-ready body .gmp-hero h1 {
    font-size: clamp(36px, 11.5vw, 48px) !important;
  }

  html.gmp-museum-ready body .gmp-events-module__card {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 13px !important;
  }

  html.gmp-museum-ready body .gmp-events-module__image,
  html.gmp-museum-ready body .gmp-events-module__image img {
    width: 92px !important;
    height: 92px !important;
    min-width: 92px !important;
  }

  html.gmp-museum-ready body .gmp-showcase-card,
  html.gmp-museum-ready body .gmp-article-card,
  html.gmp-museum-ready body .gmp-project-card,
  html.gmp-museum-ready body .gmp-related-articles__card {
    padding: 18px !important;
  }
}


/* v0.3.2 mobile menu accordion: keep deep GMP menu usable on phones. */
@media (max-width: 1080px) {
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children {
    position: relative !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > .ml-native-menu-level-2,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > .ml-native-menu-level-3,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > .ml-native-menu-level-4,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > .ml-native-menu-level-5,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > ul {
    display: none !important;
    padding-left: 16px !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children.is-open > .ml-native-menu-level-2,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children.is-open > .ml-native-menu-level-3,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children.is-open > .ml-native-menu-level-4,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children.is-open > .ml-native-menu-level-5,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children.is-open > ul {
    display: block !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > .ml-native-menu-link {
    padding-right: 48px !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .gmp-submenu-toggle {
    position: absolute !important;
    top: 4px !important;
    right: 0 !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    background: transparent !important;
    color: rgba(255,255,255,.78) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    cursor: pointer !important;
    z-index: 2 !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .gmp-submenu-toggle::before {
    content: '+';
    display: block;
    transform: translateY(-1px);
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children.is-open > .gmp-submenu-toggle::before {
    content: '–';
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item.has-children > .ml-native-menu-link .ml-submenu-indicator {
    display: none !important;
  }
}

/* v0.3.3: left align mobile offcanvas menu */
@media (max-width: 1080px) {
  html.gmp-museum-ready body .ml-mobile-menu-inner {
    text-align: left !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-navigation,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-item {
    text-align: left !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-1 {
    align-items: stretch !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-link {
    justify-content: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-1 > .ml-native-menu-item > .ml-native-menu-link {
    padding-left: 0 !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-2,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-3,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-4,
  html.gmp-museum-ready body .ml-mobile-menu .ml-native-menu-level-5 {
    text-align: left !important;
  }

  html.gmp-museum-ready body .ml-mobile-menu .is-active > .ml-native-menu-link::after,
  html.gmp-museum-ready body .ml-mobile-menu .is-active-trail > .ml-native-menu-link::after {
    left: 0 !important;
    right: auto !important;
    margin-left: 0 !important;
  }
}

/* v0.3.5 — Dedicated full-width newsletter band
   The newsletter remains in the footer-newsletter module position, but now reads as
   its own full-width signup strip between the image gallery and the main footer. */
html.gmp-museum-ready body .ml-footer-newsletter {
  position: relative;
  padding: clamp(34px, 4.5vw, 62px) 0;
  border-top: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
  background: #121212;
}
html.gmp-museum-ready body .ml-footer-newsletter .ml-container {
  width: min(100% - 64px, 1440px);
  max-width: 1440px;
}
html.gmp-museum-ready body .ml-footer-newsletter .ml-module,
html.gmp-museum-ready body .ml-footer-newsletter .ml-module-clean,
html.gmp-museum-ready body .ml-footer-newsletter .acym__subscription,
html.gmp-museum-ready body .ml-footer-newsletter .acym__subscription__form,
html.gmp-museum-ready body .ml-footer-newsletter form {
  width: 100%;
  max-width: none;
  margin: 0;
}
html.gmp-museum-ready body .ml-footer-newsletter form {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
}
html.gmp-museum-ready body .ml-footer-newsletter input[type="text"],
html.gmp-museum-ready body .ml-footer-newsletter input[type="email"] {
  flex: 1 1 250px;
  min-width: 0;
  height: 52px;
  margin: 0 !important;
  padding: 0 18px;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-family: var(--gmp-sans);
  font-size: 12px;
  letter-spacing: .13em;
  text-transform: uppercase;
  box-shadow: none !important;
}
html.gmp-museum-ready body .ml-footer-newsletter input[type="text"] + input[type="email"] {
  border-left-width: 0 !important;
}
html.gmp-museum-ready body .ml-footer-newsletter input::placeholder {
  color: rgba(255,255,255,.56) !important;
  opacity: 1;
}
html.gmp-museum-ready body .ml-footer-newsletter label,
html.gmp-museum-ready body .ml-footer-newsletter .acym__subscription__checkbox,
html.gmp-museum-ready body .ml-footer-newsletter [class*="checkbox"] {
  color: rgba(255,255,255,.78) !important;
  font-size: 13px;
  line-height: 1.35;
}
html.gmp-museum-ready body .ml-footer-newsletter input[type="checkbox"] {
  width: 15px;
  height: 15px;
  margin: 0 9px 0 20px !important;
  accent-color: var(--gmp-gold);
}
html.gmp-museum-ready body .ml-footer-newsletter button,
html.gmp-museum-ready body .ml-footer-newsletter input[type="submit"],
html.gmp-museum-ready body .ml-footer-newsletter .acym__submit_button {
  flex: 0 0 auto;
  min-height: 52px;
  margin: 0 0 0 20px !important;
  padding: 0 28px;
  border: 1px solid #fff !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--gmp-black) !important;
  font-family: var(--gmp-sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  box-shadow: none !important;
}
html.gmp-museum-ready body .ml-footer-newsletter button:hover,
html.gmp-museum-ready body .ml-footer-newsletter input[type="submit"]:hover,
html.gmp-museum-ready body .ml-footer-newsletter .acym__submit_button:hover {
  background: var(--gmp-gold) !important;
  border-color: var(--gmp-gold) !important;
  color: #fff !important;
}
@media (max-width: 880px) {
  html.gmp-museum-ready body .ml-footer-newsletter .ml-container {
    width: min(100% - 40px, 680px);
  }
  html.gmp-museum-ready body .ml-footer-newsletter form {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px 0;
  }
  html.gmp-museum-ready body .ml-footer-newsletter input[type="text"],
  html.gmp-museum-ready body .ml-footer-newsletter input[type="email"] {
    flex-basis: 50%;
  }
  html.gmp-museum-ready body .ml-footer-newsletter input[type="checkbox"] {
    margin-left: 0 !important;
  }
}
@media (max-width: 620px) {
  html.gmp-museum-ready body .ml-footer-newsletter {
    padding: 30px 0;
  }
  html.gmp-museum-ready body .ml-footer-newsletter .ml-container {
    width: min(100% - 32px, 520px);
  }
  html.gmp-museum-ready body .ml-footer-newsletter form {
    display: block;
  }
  html.gmp-museum-ready body .ml-footer-newsletter input[type="text"],
  html.gmp-museum-ready body .ml-footer-newsletter input[type="email"] {
    display: block;
    width: 100%;
    margin: 0 0 10px !important;
    border-left-width: 1px !important;
  }
  html.gmp-museum-ready body .ml-footer-newsletter label,
  html.gmp-museum-ready body .ml-footer-newsletter [class*="checkbox"] {
    display: block;
    margin: 14px 0 18px;
  }
  html.gmp-museum-ready body .ml-footer-newsletter button,
  html.gmp-museum-ready body .ml-footer-newsletter input[type="submit"],
  html.gmp-museum-ready body .ml-footer-newsletter .acym__submit_button {
    display: block;
    width: 100%;
    margin: 0 !important;
  }
}


/* v0.3.6 — Newsletter alignment cleanup
   Prevent the older two-column newsletter module layout from pushing the form to the right. */
html.gmp-museum-ready body .ml-footer-newsletter {
  padding: clamp(24px, 3vw, 40px) 0 clamp(24px, 3vw, 38px) !important;
  border-bottom: 0 !important;
}
html.gmp-museum-ready body .ml-footer-newsletter .moduletable,
html.gmp-museum-ready body .ml-footer-newsletter .ml-module,
html.gmp-museum-ready body .ml-footer-newsletter .ml-module-clean {
  display: block !important;
  width: 100% !important;
}
html.gmp-museum-ready body .ml-footer-newsletter form,
html.gmp-museum-ready body .ml-footer-newsletter .acym__subscription__form,
html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form {
  width: min(100%, 900px);
  margin: 0 auto !important;
  justify-content: center !important;
}
/* Leave a single clean divider before the main footer. */
html.gmp-museum-ready body .ml-footer-main {
  border-top: 1px solid rgba(255,255,255,.14) !important;
}
@media (max-width: 880px) {
  html.gmp-museum-ready body .ml-footer-newsletter form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym__subscription__form,
  html.gmp-museum-ready body .ml-footer-newsletter .acym_module_form {
    width: 100% !important;
  }
}
