/* THE DARK MUSEUM — UNIFIED TYPOGRAPHY AND BUTTON ALIGNMENT
   Every text group gets a lightly translucent, square-edged ink backing.
   The full-page sharpened castle photo remains untouched and stationary. */

:root { --dm-ink: rgba(0,0,0,.43); --dm-ink-light: rgba(0,0,0,.35); --dm-frame: 1px solid rgba(240,240,245,.12); }

/* The room's oversized box was not covering its CTA and left the castle artwork hidden. */
html.castle-page body[data-vault] .castle-inner {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  min-width: 0 !important;
}

/* One consistent, in-flow and left-aligned invitation under the introductory copy. */
html.castle-page body[data-vault] .castle-inner > .castle-cta {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  align-self: flex-start !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  display: inline-flex !important;
  box-sizing: border-box !important;
  width: max-content !important;
  max-width: 100% !important;
  min-height: 48px;
  margin: 12px 0 0 !important;
  gap: 14px !important;
  padding: 12px 18px !important;
  text-align: left;
  line-height: 1.55 !important;
  white-space: normal;
  border: 1px solid rgba(248,42,80,.8) !important;
  background: rgba(0,0,0,.69) !important;
  color: #fafafa !important;
  border-radius: 0 !important;
}
html.castle-page body[data-vault] .castle-inner > .castle-cta:hover {
  background: rgba(150,0,31,.9) !important;
  color: #fff !important;
}
/* Each heading and accompanying sentence is its own translucent black rectangle. */
html.castle-page body[data-vault] .castle-inner > .castle-overline,
html.castle-page body[data-vault] .castle-inner > .castle-wordmark,
html.castle-page body[data-vault] .castle-inner > .castle-ribbon,
html.castle-page body[data-vault] .castle-inner > .castle-copy {
  background: var(--dm-ink) !important;
  border: var(--dm-frame) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  box-shadow: 0 3px 18px rgba(0,0,0,.16) !important;
  padding: 7px 12px !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html.castle-page body[data-vault] .castle-inner > .castle-wordmark { padding: 11px 15px !important; }
html.castle-page body[data-vault] .castle-inner > .castle-copy {
  color: #f0f0f2 !important;
  line-height: 1.55 !important;
  margin-top: 12px !important;
  margin-bottom: 0 !important;
}
html.castle-page body[data-vault] .castle-inner > .castle-ribbon {
  margin-top: 12px !important;
  letter-spacing: .15em !important;
}
html.castle-page body[data-vault] .castle-inner > .castle-overline {
  margin-bottom: 10px !important;
  gap: 8px !important;
}
html.castle-page body[data-vault] .castle-inner > .castle-wordmark { margin: 0 !important; }

/* The Jewelry CTA previously extended BELOW the 410px clipped banner.
   Give the title, copy, and CTA real breathing room in the banner. */
html.castle-page body[data-vault="jewelry"] .castle-hero {
  height: 500px !important;
  min-height: 500px !important;
}
html.castle-page body[data-vault="jewelry"] .castle-inner {
  padding: 14px 20px 18px !important;
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  max-width: 620px !important;
}
html.castle-page body[data-vault="jewelry"] .castle-inner > .castle-overline { margin-bottom: 8px!important; }
html.castle-page body[data-vault="jewelry"] .castle-inner > .castle-ribbon { margin-top: 10px!important; padding: 6px 10px!important; }
html.castle-page body[data-vault="jewelry"] .castle-inner > .castle-copy { margin: 9px 0 0!important; }
html.castle-page body[data-vault="jewelry"] .castle-inner > .castle-cta { margin-top: 10px!important; }

/* Small ink rectangles behind all other words; do not cover the product photos. */
html.castle-page body[data-vault] .opening-line > span,
html.castle-page body[data-vault] .brand-word,
html.castle-page body[data-vault] .header-nav > a,
html.castle-page body[data-vault] .header-inquire,
html.castle-page body[data-vault] .manifesto-band > span,
html.castle-page body[data-vault] .castle-foot > span,
html.castle-page body[data-vault] .vault-intro-number,
html.castle-page body[data-vault] .vault-intro-grid > h2,
html.castle-page body[data-vault] .vault-intro-grid > p,
html.castle-page body[data-vault] .catalogue-top > span,
html.castle-page body[data-vault] .catalogue-head > h2,
html.castle-page body[data-vault] .catalogue-head > p,
html.castle-page body[data-vault] .catalogue-controls > span,
html.castle-page body[data-vault] .inquiries-head > .section-number,
html.castle-page body[data-vault] .inquiries-head > h2,
html.castle-page body[data-vault] .inquiries-head > p,
html.castle-page body[data-vault] .museum-code > .museum-code-kicker,
html.castle-page body[data-vault] .museum-code > blockquote,
html.castle-page body[data-vault] .museum-code > p,
html.castle-page body[data-vault] .catalogue-disclaimer,
html.castle-page body[data-vault] .footer-wordmark,
html.castle-page body[data-vault] .footer-info > *,
html.castle-page body[data-vault] .footer-bottom > span,
html.castle-page body[data-vault] .empty-state > h3,
html.castle-page body[data-vault] .empty-state > p,
html.castle-page body[data-vault] .empty-state > a {
  background: var(--dm-ink) !important;
  border: var(--dm-frame) !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 15px rgba(0,0,0,.15) !important;
  padding: 5px 10px !important;
  box-sizing: border-box !important;
}
html.castle-page body[data-vault] .catalogue-head > h2,
html.castle-page body[data-vault] .catalogue-head > p,
html.castle-page body[data-vault] .inquiries-head > h2,
html.castle-page body[data-vault] .inquiries-head > p,
html.castle-page body[data-vault] .vault-intro-grid > h2,
html.castle-page body[data-vault] .vault-intro-grid > p {
  width: fit-content !important;
  max-width: 100% !important;
}
html.castle-page body[data-vault] .vault-room-link,
html.castle-page body[data-vault] .obj-info,
html.castle-page body[data-vault] .book-details,
html.castle-page body[data-vault] .inquiry-form,
html.castle-page body[data-vault] .featured-watch-card .watch-title,
html.castle-page body[data-vault] .featured-watch-card .watch-subtitle,
html.castle-page body[data-vault] .detail-data,
html.castle-page body[data-vault] .dossier-actions,
html.castle-page body[data-vault] .object-dialog .dialog-content,
html.castle-page body[data-vault] .form-status {
  background: var(--dm-ink) !important;
  border-radius: 0 !important;
}
html.castle-page body[data-vault] .form-grid > label,
html.castle-page body[data-vault] .inquiry-form > label,
html.castle-page body[data-vault] .inquiry-form .consent,
html.castle-page body[data-vault] .footer-main a,
html.castle-page body[data-vault] .footer-info a,
html.castle-page body[data-vault] .book-enquire {
  background: var(--dm-ink-light) !important;
  border-radius: 0 !important;
}
/* Make prose within book dossiers and cards high contrast without opaque blocks. */
html.castle-page body[data-vault] .obj-info p,
html.castle-page body[data-vault] .book-details p,
html.castle-page body[data-vault] .inquiries-head p,
html.castle-page body[data-vault] .catalogue-head p { color: #f3f3f5 !important; }

/* Privacy has its own HTML and CSS and needs the same separate ink text panels. */
html.castle-page body.museum-privacy .privacy-page { background: transparent !important; box-shadow: none !important; }
html.castle-page body.museum-privacy .privacy-page > h1,
html.castle-page body.museum-privacy .privacy-page > h2,
html.castle-page body.museum-privacy .privacy-page > p,
html.castle-page body.museum-privacy .privacy-page > .chapter,
html.castle-page body.museum-privacy .site-footer .footer-title,
html.castle-page body.museum-privacy .site-footer .footer-links,
html.castle-page body.museum-privacy .site-footer .footer-bottom,
html.castle-page body.museum-privacy .rule-top,
html.castle-page body.museum-privacy .nav > a,
html.castle-page body.museum-privacy .brand-label,
html.castle-page body.museum-privacy .head-contact {
  background: var(--dm-ink) !important;
  border: var(--dm-frame) !important;
  border-radius: 0 !important;
  padding: 6px 12px !important;
  width: fit-content;
  max-width: 100%;
}
html.castle-page body.museum-privacy .site-footer .footer-links,
html.castle-page body.museum-privacy .site-footer .footer-bottom { width: auto; }
@media(max-width:760px) {
  html.castle-page body[data-vault="jewelry"] .castle-hero {height: 485px!important;min-height:485px!important}
  html.castle-page body[data-vault="jewelry"] .castle-inner {margin: 8px 4vw!important;padding:14px 12px!important;max-width:92vw!important}
  html.castle-page body[data-vault] .castle-inner > .castle-cta {
    align-self:flex-start!important;
    max-width:100%!important;
    font-size:9px!important;
    padding:11px 13px!important;
    margin-top:10px!important;
  }
  html.castle-page body[data-vault] .castle-inner > .castle-wordmark {padding:8px 11px!important}
  html.castle-page body[data-vault] .castle-inner > .castle-ribbon,
  html.castle-page body[data-vault] .castle-inner > .castle-overline,
  html.castle-page body[data-vault] .castle-inner > .castle-copy {padding:5px 8px!important}
  html.castle-page body[data-vault] .header-nav.open {background:rgba(0,0,0,.79)!important}
}

/* Keep the Privacy footer menu inside narrow mobile viewports. */
@media(max-width:770px){
 html.castle-page body.museum-privacy .site-footer .footer-links{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;max-width:100%!important;gap:9px!important}
 html.castle-page body.museum-privacy .site-footer .footer-links > a{white-space:normal!important;min-width:0!important;padding:6px 8px!important;font-size:10px!important}
 html.castle-page body.museum-privacy .site-footer .footer-top{max-width:100%!important;min-width:0!important}
 html.castle-page body.museum-privacy .site-footer .footer-bottom{max-width:100%!important;flex-wrap:wrap!important;overflow-wrap:anywhere!important}
}

