@font-face{font-family:'IBM Plex Mono';src:url('/assets/32bd88cef996_-F63fjptAgt5VM-kVkqdyU8n1i8q0g.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.cultesc-ask{position:fixed;z-index:10001;right:24px;bottom:24px;width:64px;height:64px;border:1px solid #151515;border-radius:50%;background:#fff;color:#111;font:11px 'IBM Plex Mono',monospace;letter-spacing:.06em;cursor:pointer;transition:transform .45s,opacity .4s,background .3s;color-scheme:light}
.cultesc-ask:hover{background:#111;color:#fff}
.cultesc-ask.is-away{transform:translateX(120px)}
.cultesc-chat{position:fixed;z-index:10002;right:24px;bottom:24px;width:360px;max-width:calc(100vw - 32px);padding:24px;border:1px solid #171717;border-radius:20px;background:#fff;color:#000;font:18px/1.2 Ppneuemontreal,Arial,sans-serif;box-shadow:0 10px 50px #0002}
.cultesc-chat[hidden]{display:none}
.cultesc-chat header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}
.cultesc-chat header strong{font-size:20px;font-weight:500}
.cultesc-chat button{appearance:none;cursor:pointer;border:0;background:transparent;color:#000;font:inherit}
.cultesc-chat .chat-close{font-size:26px;line-height:1}
.cultesc-chat p{margin:0 0 24px}
.cultesc-chat a{display:block;padding:15px 0;border-top:1px solid #ddd;font-size:16px}
.cultesc-chat .chat-action{margin-top:20px;padding:15px 20px;border-radius:100px;background:#000;color:#fff;font:12px 'IBM Plex Mono',monospace;text-align:center;text-transform:uppercase}
.menu-btn:focus-visible,.cultesc-ask:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.menu-btn-text{opacity:0}
@media(max-width:991px){.cultesc-ask{width:56px;height:56px;right:16px;bottom:16px;font-size:10px}.cultesc-chat{right:16px;bottom:16px}}

/* Native controls keep the approved layout and typography. */
button.menu-btn,button.faq3_question,button.btn-sound{
  -webkit-appearance:none;appearance:none;border:0;border-radius:0;
  margin:0;background:transparent;color:inherit;font:inherit;
  letter-spacing:inherit;text-align:inherit;text-transform:inherit;
}
button.menu-btn{margin-bottom:.1rem}
.faq3_question:focus-visible,.cultesc-chat button:focus-visible,.cultesc-chat a:focus-visible{
  outline:2px solid currentColor;outline-offset:4px;
}
/* Keep enquiry controls reachable on short landscape viewports. */
.cultesc-chat{
  max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);
  overflow-y:auto;
}
@media(max-width:991px){
  .cultesc-chat{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px)}
}
/* Preserve editorial-card placement after assigning unique element IDs. */
:is(
  #home-editorial-articles,#home-editorial-opinion,#home-editorial-research,
  #home-editorial-case-studies,#home-editorial-resources,
  #editorials-editorial-articles,#editorials-editorial-opinion,
  #editorials-editorial-research,#editorials-editorial-case-studies,
  #editorials-editorial-resources
){align-self:end}

/* CULTESC museum film controls */
.musee-w .btn-sound{
  min-height:44px;min-width:44px;box-sizing:border-box;
  margin-top:calc(1rem - 11px);background:transparent;border:0;
  color:inherit;font-family:inherit;isolation:isolate;touch-action:manipulation;
}
.musee-w .btn-sound::before{
  content:"";position:absolute;left:0;right:0;top:50%;height:22px;
  transform:translateY(-50%);border-radius:100px;background:var(--black,#000);
  z-index:-1;pointer-events:none;
}
.musee-w .btn-sound:focus-visible{
  outline:2px solid currentColor;outline-offset:2px;
}
.musee-w .cultesc-film-play{
  position:absolute;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);
  min-height:44px;min-width:44px;box-sizing:border-box;padding:10px 18px;
  border:1px solid #fff6;border-radius:100px;background:#000;color:#fff;
  font-family:inherit;font-size:.75rem;line-height:1.2;text-transform:uppercase;
  cursor:pointer;touch-action:manipulation;
}
.musee-w .cultesc-film-play[hidden]{display:none!important}
.musee-w .cultesc-film-play:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* Keep scattered glitch letters inside the viewport without changing sticky scroll. */
#glitch{overflow-x:clip}
