/* Poppins typography balance for museum. Existing font-weight values are preserved. */
html,
body,
body *,
button,
input,
select,
textarea {
  font-family: "Poppins", Arial, sans-serif !important;
}

code,
kbd,
pre,
samp,
code *,
kbd *,
pre *,
samp * {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
}

html { overflow-x: hidden; }
body { overflow-wrap: break-word; }
h1,h2,h3,h4,h5,h6 { max-width:100%; overflow-wrap:anywhere; }

/* Desktop header: same visual balance as the approved homepage version. */
@media (min-width:1024px) {
  .rtev-museum-desktop-menu {
    gap: clamp(5px, .62vw, 10px) !important;
  }
  .original-nav-menu-link {
    font-size: clamp(12.4px, .82vw, 15px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.018em !important;
  }
  .original-nav-dropdown a {
    font-size: 12.5px !important;
    line-height: 1.26 !important;
  }
}

@media (min-width:1024px) and (max-width:1260px) {
  .rtev-museum-desktop-menu { gap: 4px !important; }
  .original-nav-menu-link { font-size: 11.8px !important; }
  [data-testid="nav-desktop"] a[data-transition-focus="logo"] {
    width: 82px !important;
    min-width: 82px !important;
    margin-right: 6px !important;
  }
}

/* Large headings: Poppins is wider than the original condensed font. */
 .heading-xl { font-size: clamp(44px, 5.3vw, 94px) !important; line-height: .94 !important; }
 .heading-lg { font-size: clamp(34px, 4vw, 68px) !important; line-height: .98 !important; }
 .heading-md { font-size: clamp(26px, 2.8vw, 48px) !important; line-height: 1.02 !important; }
 .heading-sm { font-size: clamp(21px, 1.9vw, 32px) !important; line-height: 1.08 !important; }
 .heading-xs { font-size: clamp(18px, 1.45vw, 25px) !important; line-height: 1.12 !important; }

/* Text blocks and calls to action remain readable without expanding layouts. */
 .body-lg { font-size: clamp(18px, 1.45vw, 26px) !important; line-height: 1.4 !important; }
 .body-md { font-size: clamp(16px, 1.1vw, 20px) !important; line-height: 1.48 !important; }
 .cta-lg { font-size: clamp(15px, 1vw, 18px) !important; }

/* Footer balance: prevent oversized Poppins headings. */
footer h2,
footer .heading-xl,
footer .heading-lg {
  font-size: clamp(60px, 8vw, 148px) !important;
  line-height: .9 !important;
  letter-spacing: -.035em !important;
}
footer p { max-width: 980px; font-size: clamp(20px, 1.85vw, 31px) !important; line-height: 1.38 !important; }

/* Mobile menu and content balance. */
@media (max-width:1023px) {
  .rtev-mobile-trigger,
  .rtev-mobile-direct {
    font-size: 15px !important;
    line-height: 1.25 !important;
  }
  .rtev-mobile-submenu a {
    font-size: 12.5px !important;
    line-height: 1.35 !important;
  }
  .heading-xl { font-size: clamp(38px, 10.5vw, 62px) !important; }
  .heading-lg { font-size: clamp(32px, 8.5vw, 50px) !important; }
  .heading-md { font-size: clamp(25px, 6.8vw, 40px) !important; }
  .heading-sm { font-size: clamp(21px, 5.4vw, 32px) !important; }
  .body-lg { font-size: clamp(17px, 4.6vw, 22px) !important; }
  .body-md { font-size: clamp(15px, 4.1vw, 18px) !important; }
  footer h2,
  footer .heading-xl,
  footer .heading-lg {
    font-size: clamp(50px, 14vw, 96px) !important;
  }
  footer p { font-size: clamp(17px, 4.8vw, 23px) !important; }
}

@media (max-width:420px) {
  .rtev-mobile-trigger,
  .rtev-mobile-direct { font-size:14px !important; }
  .heading-xl { font-size: clamp(34px, 10vw, 54px) !important; }
}


/* Extra section safety for museum cards and content blocks */
.page-body h1, .page-body h2, .page-body h3 { max-width: 100%; overflow-wrap:anywhere; }
.page-body p { max-width: 100%; }
@media (min-width: 1024px) { .page-body .grid p, .page-body .grid h2, .page-body .grid h3 { max-width: 100%; } }


/* Footer support sizing */
footer a, footer button { font-size: clamp(16px, 1.2vw, 21px) !important; }
footer li, footer span { font-size: clamp(15px, 1.05vw, 18px); }
@media (max-width:1023px){ footer a, footer button { font-size: clamp(15px, 4vw, 18px) !important; } footer li, footer span { font-size: clamp(14px, 3.8vw, 17px) !important; }}


/* Compact footer: remove unnecessary vertical length without changing other sections. */
footer.bg-cobalt-blue{
  padding-top: clamp(32px,4vw,56px) !important;
  padding-bottom: clamp(28px,3.5vw,48px) !important;
}
footer.bg-cobalt-blue > div > h2[aria-label]{
  font-size: clamp(52px,6.7vw,118px) !important;
  line-height: .9 !important;
  margin-bottom: 18px !important;
}
footer.bg-cobalt-blue > div > h2[aria-label] > span{
  font-size: inherit !important;
}
footer.bg-cobalt-blue > div > h2[aria-label] > figure{
  width: clamp(100px,10vw,180px) !important;
  height: auto !important;
}
footer.bg-cobalt-blue > div > h2[aria-label] + p{
  font-size: clamp(17px,1.35vw,23px) !important;
  line-height: 1.35 !important;
  margin-bottom: 18px !important;
  max-width: 820px !important;
}
footer.bg-cobalt-blue .grid-columns.mt-5{
  margin-top: 34px !important;
  row-gap: 24px !important;
}
footer.bg-cobalt-blue .grid-columns.mt-5 > div{
  margin-top: 0 !important;
  padding-top: 12px !important;
}
footer.bg-cobalt-blue .label{
  padding-bottom: 12px !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
}
footer.bg-cobalt-blue li{
  padding-top: 5px !important;
  padding-bottom: 5px !important;
  margin-bottom: 0 !important;
}
footer.bg-cobalt-blue li .body-sm,
footer.bg-cobalt-blue li .cta-md,
footer.bg-cobalt-blue li a{
  font-size: 13px !important;
  line-height: 1.35 !important;
}
footer.bg-cobalt-blue li.flex.flex-col{
  gap: 2px !important;
}
footer.bg-cobalt-blue .mt-10,
footer.bg-cobalt-blue .xl\:mt-15{
  margin-top: 18px !important;
}
@media (min-width:1024px){
  footer.bg-cobalt-blue .grid-columns.mt-5 > div:first-child ul{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:18px;
    align-items:start;
    max-width:none !important;
  }
  footer.bg-cobalt-blue .grid-columns.mt-5 > div:first-child ul > li{
    width:auto !important;
  }
}
@media (max-width:1023px){
  footer.bg-cobalt-blue > div > h2[aria-label]{
    font-size: clamp(42px,11vw,72px) !important;
    margin-bottom:14px !important;
  }
  footer.bg-cobalt-blue > div > h2[aria-label] > figure{
    width: clamp(78px,22vw,130px) !important;
  }
  footer.bg-cobalt-blue .grid-columns.mt-5{
    margin-top:26px !important;
  }
}


/* Final footer balance: full-bleed blue area with medium height. */
footer.bg-cobalt-blue{
  position:relative;
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  box-sizing:border-box;
  padding-top:clamp(52px,5.5vw,82px) !important;
  padding-bottom:clamp(46px,5vw,76px) !important;
}
footer.bg-cobalt-blue > .mx-auto{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:clamp(28px,4.5vw,76px) !important;
  padding-right:clamp(28px,4.5vw,76px) !important;
  box-sizing:border-box;
}
footer.bg-cobalt-blue > div > h2[aria-label]{
  font-size:clamp(64px,8.3vw,152px) !important;
  line-height:.9 !important;
  margin-bottom:24px !important;
}
footer.bg-cobalt-blue > div > h2[aria-label] > figure{
  width:clamp(118px,11.5vw,210px) !important;
}
footer.bg-cobalt-blue > div > h2[aria-label] + p{
  font-size:clamp(19px,1.65vw,28px) !important;
  line-height:1.4 !important;
  max-width:900px !important;
  margin-bottom:24px !important;
}
footer.bg-cobalt-blue .grid-columns.mt-5{
  margin-top:48px !important;
  row-gap:32px !important;
}
footer.bg-cobalt-blue .grid-columns.mt-5 > div{
  padding-top:16px !important;
}
footer.bg-cobalt-blue .label{
  padding-bottom:16px !important;
  font-size:15px !important;
}
footer.bg-cobalt-blue li{
  padding-top:7px !important;
  padding-bottom:7px !important;
}
footer.bg-cobalt-blue li .body-sm,
footer.bg-cobalt-blue li .cta-md,
footer.bg-cobalt-blue li a{
  font-size:14px !important;
  line-height:1.4 !important;
}
@media(min-width:1024px){
  footer.bg-cobalt-blue .grid-columns.mt-5 > div:first-child ul{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:28px !important;
  }
}
@media(max-width:1023px){
  footer.bg-cobalt-blue{
    padding-top:42px !important;
    padding-bottom:40px !important;
  }
  footer.bg-cobalt-blue > .mx-auto{
    padding-left:24px !important;
    padding-right:24px !important;
  }
  footer.bg-cobalt-blue > div > h2[aria-label]{
    font-size:clamp(48px,13vw,84px) !important;
    margin-bottom:18px !important;
  }
  footer.bg-cobalt-blue > div > h2[aria-label] > figure{
    width:clamp(88px,24vw,145px) !important;
  }
  footer.bg-cobalt-blue .grid-columns.mt-5{
    margin-top:34px !important;
  }
}


/* Footer typography fit only — structure and columns remain unchanged. */
footer h2,
footer .heading-xl,
footer .heading-lg {
  font-size: clamp(46px, 6.2vw, 112px) !important;
  line-height: .92 !important;
  letter-spacing: -.035em !important;
  max-width: 100% !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
footer h2[aria-label] {
  width: 100% !important;
  white-space: nowrap !important;
  justify-content: space-between !important;
  gap: clamp(12px, 1.25vw, 24px) !important;
}
footer h2[aria-label] > span {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: inherit !important;
  line-height: inherit !important;
}
footer h2[aria-label] > figure {
  flex: 0 0 auto !important;
  width: clamp(96px, 9vw, 170px) !important;
  max-width: 14vw !important;
}
footer p {
  font-size: clamp(18px, 1.45vw, 25px) !important;
  line-height: 1.4 !important;
}
footer a,
footer button,
footer li,
footer span {
  font-size: clamp(15px, .95vw, 18px) !important;
}

@media (max-width: 1023px) {
  footer h2,
  footer .heading-xl,
  footer .heading-lg {
    font-size: clamp(38px, 10.5vw, 68px) !important;
  }
  footer h2[aria-label] {
    white-space: normal !important;
    flex-wrap: wrap !important;
  }
  footer h2[aria-label] > figure {
    width: clamp(82px, 24vw, 140px) !important;
    max-width: none !important;
  }
  footer p {
    font-size: clamp(16px, 4.2vw, 21px) !important;
  }
  footer a,
  footer button,
  footer li,
  footer span {
    font-size: clamp(14px, 3.8vw, 17px) !important;
  }
}
