/* TrustCome Legal & Governance — approved visual master v1.1 */
html.legal-governance-active,
html.legal-governance-active body {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
  background: #020101 !important;
}
html.legal-governance-active .app-shell {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 0 !important;
  padding: 0 !important;
  display: block !important;
}
html.legal-governance-active .app-header { display: none !important; }
html.legal-governance-active .scene-root {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  background: #020101 !important;
}

.tc-legal-governance.tc-lg-master {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
  background: #020101;
  opacity: 0;
  transition: opacity .55s ease;
}
.tc-legal-governance.tc-lg-master.is-active { opacity: 1; }
.tc-lg-master__art {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}
.tc-lg-master__hotspots {
  position: absolute;
  inset: 0;
  z-index: 4;
}
.tc-lg-master__hotspot {
  position: absolute;
  appearance: none;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: transparent;
  cursor: pointer;
  outline: 0 !important;
  box-shadow: none !important;
  opacity: 0;
  -webkit-tap-highlight-color: transparent;
}
.tc-lg-master__hotspot:hover,
.tc-lg-master__hotspot:focus,
.tc-lg-master__hotspot:focus-visible,
.tc-lg-master__hotspot:active {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  opacity: 0;
}

/* Percentage coordinates are locked to the approved 1672 × 941 visual. */
.tc-lg-master__hotspot--public { left: 18.1%; top: 36.7%; width: 10.5%; height: 23.8%; }
.tc-lg-master__hotspot--about { left: 18.1%; top: 60.7%; width: 10.5%; height: 6.1%; }
.tc-lg-master__hotspot--controlled { left: 71.1%; top: 36.7%; width: 10.6%; height: 21.4%; }
.tc-lg-master__hotspot--vault { left: 71.1%; top: 58.2%; width: 10.6%; height: 9.0%; }
.tc-lg-master__hotspot--command { left: 12.1%; top: 89.2%; width: 18.0%; height: 8.0%; }
.tc-lg-master__hotspot--public-nav { left: 30.2%; top: 89.2%; width: 19.6%; height: 8.0%; }
.tc-lg-master__hotspot--about-nav { left: 49.9%; top: 89.2%; width: 18.0%; height: 8.0%; }
.tc-lg-master__hotspot--private { left: 67.9%; top: 89.2%; width: 19.4%; height: 8.0%; }

.tc-lg__dialog[hidden] { display: none; }
.tc-lg__dialog {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: grid;
  place-items: center;
  opacity: 0;
  transition: opacity .18s ease;
  font-family: Georgia, 'Times New Roman', serif;
}
.tc-lg__dialog.is-open { opacity: 1; }
.tc-lg__dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.8);
  backdrop-filter: blur(8px);
}
.tc-lg__dialog-panel {
  position: relative;
  width: min(90vw, 650px);
  max-height: 82vh;
  overflow: auto;
  padding: clamp(25px,4vw,50px);
  border: 1px solid rgba(230,197,115,.62);
  background: linear-gradient(145deg,#171006,#030303 72%);
  color: #c7b792;
  box-shadow: 0 28px 80px #000, inset 0 0 45px rgba(218,176,77,.06);
}
.tc-lg__dialog-panel:focus { outline: none; }
.tc-lg__dialog-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(215,181,109,.34);
  background: #070502;
  color: #d9bd78;
  cursor: pointer;
  font-size: 1.4rem;
}
.tc-lg__dialog-panel > p {
  margin: 0 0 .6em;
  color: #a88a4d;
  font: 700 .66rem/1 Arial,sans-serif;
  letter-spacing: .26em;
}
.tc-lg__dialog-panel h2 { color: #f4dda2; font-weight: 500; letter-spacing: .05em; }
.tc-lg__dialog-panel [data-lg-dialog-copy] { color: #c7b792; font: 400 .95rem/1.7 Arial,sans-serif; }
.tc-lg__dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tc-lg__dialog-actions button {
  padding: 11px 16px;
  border: 1px solid rgba(215,181,109,.38);
  background: linear-gradient(180deg,#211407,#070503);
  color: #e4ca88;
  cursor: pointer;
  font: 600 .66rem/1 Arial,sans-serif;
  letter-spacing: .13em;
  text-transform: uppercase;
}

@media (max-width: 700px) and (orientation: portrait) {
  .tc-lg-master__art { object-fit: cover; object-position: 50% 50%; }
  .tc-lg-master__hotspots { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .tc-legal-governance,
  .tc-legal-governance * { transition: none !important; }
}
