/* V112 changes are scoped to this vertical deployment. */
html.pragmaV112 .pbimOrigin { display:none!important; }
html.pragmaV112 #track.track .panel.ar .pbimCanvasWrap #pragmaOrbitPause,
html.pragmaV112 #track.track .panel.ar .pbimCanvasWrap #pbimFsBtn {
  width:44px!important; min-width:44px!important; height:44px!important; padding:0!important; gap:0!important;
}
html.pragmaV112 #pragmaOrbitPause > span { display:none!important; }
html.pragmaV112 :is(.pragmaV27HandIcon,.pragmaOrbitHand) {
  display:inline-flex!important; width:34px!important; height:40px!important;
  font-size:0!important; line-height:0!important; flex:none!important;
  background:none!important; border:0!important; box-shadow:none!important;
}
html.pragmaV112 :is(.pragmaV27HandIcon,.pragmaOrbitHand) svg {
  display:block!important; width:100%!important; height:100%!important;
  filter:drop-shadow(0 2px 3px #17102038)!important;
}
html.pragmaV112 .pragmaV27DragHand {
  padding:0!important; border:0!important; border-radius:0!important;
  background:transparent!important; box-shadow:none!important;
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
  pointer-events:none!important; opacity:.86!important;
}
html.pragmaV112 .pragmaV27DragHand > span:not(.pragmaV27HandIcon) { display:none!important; }
html.pragmaV112 .pragmaOrbitGuide {
  background:transparent!important; border:0!important; box-shadow:none!important;
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
/* A native dialog holds the existing canvas AND existing tools; no clones. */
html.pragmaV112 #pragmaBimDialog.pragmaV112BimDialog {
  position:fixed!important; inset:0!important; margin:auto!important;
  width:min(1500px,96vw)!important; height:94dvh!important;
  max-width:100vw!important; max-height:100dvh!important; min-width:0!important; min-height:0!important;
  padding:0!important; border:1px solid #bba6ce55!important; border-radius:22px!important;
  background:#eee7f0!important; color:#30223d!important;
  grid-template-columns:minmax(0,1fr)!important; grid-template-rows:minmax(0,1fr) auto!important;
  overflow:hidden!important; box-sizing:border-box!important;
}
html.pragmaV112 #pragmaBimDialog.pragmaV112BimDialog[open] { display:grid!important; }
html.pragmaV112 #pragmaBimDialog.pragmaV112BimDialog:not([open]) { display:none!important; }
html.pragmaV112 #pragmaBimDialog.pragmaV112BimDialog .pragmaBimDialogStage {
  position:relative!important; inset:auto!important; grid-row:1!important; grid-column:1!important;
  width:100%!important; height:100%!important; min-width:0!important; min-height:0!important;
  padding:0!important; margin:0!important; overflow:hidden!important;
}
html.pragmaV112 #pragmaBimDialog.pragmaV112BimDialog .pbimCanvasWrap {
  position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
  min-height:0!important; max-height:none!important; flex:none!important;
  padding:0!important; margin:0!important; border:0!important; border-radius:0!important;
  overflow:hidden!important; background:#eee7f0!important;
}
html.pragmaV112 #pragmaBimDialog #pragmaOrbitPause {
  position:absolute!important; top:max(14px,env(safe-area-inset-top))!important;
  left:14px!important; right:auto!important; bottom:auto!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  width:44px!important; height:44px!important; min-width:44px!important; padding:0!important;
  border:1px solid #fff5!important; border-radius:13px!important;
  color:#fff!important; background:#392447ed!important; box-shadow:0 4px 20px #21102b22!important;
  z-index:40!important; cursor:pointer!important; transform:none!important;
}
html.pragmaV112 #pragmaBimDialog #pragmaOrbitPause svg { width:20px!important; height:20px!important; }
html.pragmaV112 #pragmaBimDialog :is(.pbimOrigin,.pbimWalkHint,.pbimView,.pragmaOrbitGuide,.pragmaV27DragHand,.pragmaV98SwipeNotice,#pbimFsBtn) { display:none!important; }
html.pragmaV112 #pragmaBimDialog .pragmaV112BimClose {
  top:max(14px,env(safe-area-inset-top))!important; right:14px!important;
  width:44px!important; height:44px!important; z-index:9000!important;
}
html.pragmaV112 #pragmaBimDialog #pragmaV112BimDock {
  position:relative!important; inset:auto!important; grid-column:1!important; grid-row:2!important;
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  min-height:0!important; width:100%!important; max-height:min(48dvh,355px)!important;
  margin:0!important; padding:0 18px max(10px,env(safe-area-inset-bottom))!important;
  background:#fffffff2!important; border:0!important; border-top:1px solid #c6b4d577!important;
  box-shadow:0 -6px 24px #3220400c!important; box-sizing:border-box!important;
  overflow:hidden!important; z-index:60!important; touch-action:pan-y!important;
}
html.pragmaV112 #pragmaBimDialog .pragmaV112ToolsToggle {
  display:flex!important; align-items:center!important; justify-content:flex-start!important;
  min-height:44px!important; height:44px!important; flex:0 0 44px!important;
  gap:9px!important; padding:0 2px!important; border:0!important;
  background:transparent!important; color:#5e357c!important;
  font:600 12px/1.3 Arial,sans-serif!important; cursor:pointer!important;
  max-width:100%!important; text-align:left!important;
}
html.pragmaV112 #pragmaBimDialog .pragmaV112ToolsToggle svg { width:19px!important; height:19px!important; flex:none!important; }
html.pragmaV112 #pragmaBimDialog .pragmaV112ToolsToggle svg:last-child { margin-left:auto!important; }
html.pragmaV112 #pragmaBimDialog #pragmaV112ToolsBody {
  display:block!important; position:relative!important; min-height:0!important; height:auto!important;
  width:100%!important; flex:1 1 auto!important; overflow:auto!important; overscroll-behavior:contain!important;
  scrollbar-width:thin; padding:1px 2px 4px!important;
}
html.pragmaV112 #pragmaBimDialog #pragmaV112ToolsBody[hidden] { display:none!important; }
html.pragmaV112 #pragmaBimDialog #pragmaV112BimDock.collapsed {
  position:absolute!important; bottom:max(14px,env(safe-area-inset-bottom))!important;
  left:50%!important; top:auto!important; right:auto!important; transform:translateX(-50%)!important;
  width:min(220px,calc(100% - 40px))!important; padding:3px 14px!important; border:1px solid #b8a0ce80!important;
  border-radius:16px!important; box-shadow:0 5px 25px #21102b25!important; z-index:60!important;
}
html.pragmaV112 #pragmaBimDialog.pragmaV112ToolsHidden { grid-template-rows:minmax(0,1fr)!important; }
html.pragmaV112 #pragmaBimDialog .pbimLayers.pragmaV112DockLayers {
  display:grid!important; position:relative!important; inset:auto!important;
  grid-template-columns:minmax(0,1fr) 240px!important; grid-template-rows:auto!important;
  align-items:start!important; align-content:start!important; gap:12px 22px!important;
  width:100%!important; height:auto!important; min-height:0!important; max-height:none!important;
  flex:none!important; padding:0!important; margin:0!important;
  border:0!important; border-radius:0!important; background:none!important; box-shadow:none!important;
  overflow:visible!important; color:#30223d!important;
}
html.pragmaV112 #pragmaBimDialog .pbimLayers > :is(h3,.fine,.pbimExplain) { display:none!important; }
html.pragmaV112 #pragmaBimDialog #layerRows {
  display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:none!important; gap:5px 9px!important; width:100%!important;
  height:auto!important; min-height:0!important; max-height:none!important; margin:0!important; overflow:visible!important;
  grid-column:1!important; grid-row:auto!important;
}
html.pragmaV112 #pragmaBimDialog #layerRows .layer-row {
  display:flex!important; align-items:center!important; flex:none!important;
  height:auto!important; min-height:44px!important; max-height:none!important; min-width:0!important;
  gap:7px!important; margin:0!important; padding:0 8px!important;
  border:1px solid #e0d5e9!important; border-radius:9px!important;
  background:#f7f3fa!important; box-sizing:border-box!important;
}
html.pragmaV112 #pragmaBimDialog #layerRows .layer-row label {
  display:block!important; position:relative!important; width:20px!important; height:24px!important;
  min-width:20px!important; flex:none!important;
}
html.pragmaV112 #pragmaBimDialog #layerRows .layer-row label i { margin-top:3px!important; }
html.pragmaV112 #pragmaBimDialog #layerRows .layer-name {
  font:500 11px/1.2 Arial,sans-serif!important; letter-spacing:0!important;
  color:#40304a!important; padding:8px 0!important; min-height:42px!important;
  min-width:0!important; width:auto!important; flex:1 1 auto!important; white-space:normal!important;
  border:0!important; background:none!important; text-align:left!important; cursor:pointer!important;
}
html.pragmaV112 #pragmaBimDialog #layerRows .layer-name[aria-pressed=true] { color:#7134af!important; font-weight:700!important; }
html.pragmaV112 #pragmaBimDialog #layerRows .isolate { display:none!important; }
html.pragmaV112 #pragmaBimDialog .pbimCut {
  display:flex!important; flex-direction:column!important; position:relative!important;
  grid-column:2!important; grid-row:auto!important; gap:10px!important;
  min-width:0!important; width:100%!important; margin:0!important; padding:12px!important;
  border:1px solid #e0d5e9!important; border-radius:12px!important; background:#f7f3fa!important;
  font:600 12px/1.3 Arial,sans-serif!important; color:#493056!important;
}
html.pragmaV112 #pragmaBimDialog .pbimCut input {
  display:block!important; width:100%!important; height:32px!important; min-height:32px!important;
  margin:0!important; padding:0!important; accent-color:#7134af!important; cursor:pointer!important;
}
html.pragmaV112 #pragmaBimDialog .pbimCut small { display:block!important; font:400 11px/1.4 Arial,sans-serif!important; color:#796480!important; }
/* Restored map close button remains above map tiles and project popovers. */
html.pragmaV112 .pragmaMapFs.pragmaV112MapOverlay { z-index:200000!important; }
html.pragmaV112.pragmaV103MapOpen .pragmaMapFs.pragmaV112MapOverlay #pragmaV112MapClose {
  display:flex!important; visibility:visible!important; opacity:1!important; pointer-events:auto!important;
  position:absolute!important; top:max(14px,env(safe-area-inset-top))!important; right:14px!important;
  bottom:auto!important; left:auto!important; transform:none!important;
  align-items:center!important; justify-content:center!important;
  width:46px!important; height:46px!important; min-width:46px!important; min-height:46px!important;
  margin:0!important; padding:11px!important; border:1px solid #fff7!important;
  border-radius:14px!important; background:#392447f5!important; color:#fff!important;
  box-shadow:0 4px 22px #21102b40!important; z-index:200010!important; cursor:pointer!important;
}
html.pragmaV112 #pragmaV112MapClose svg { width:22px!important; height:22px!important; pointer-events:none!important; }
html.pragmaV112 .pragmaV112MapOverlay .pragmaMapFsShell { isolation:isolate!important; }
html.pragmaV112 .pragmaV112MapOverlay .pragmaMapFsContent { z-index:1!important; }
html.pragmaV112 .pragmaV109MapPick { display:none!important; }
/* Marcela is the sole full-bleed video section. Other section spacing is unchanged. */
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage {
  display:block!important; position:relative!important; padding:0!important; margin:0!important;
  background:#17121c!important; overflow:hidden!important;
}
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .video {
  display:block!important; position:absolute!important; inset:0!important;
  width:100%!important; height:100%!important; min-height:0!important; max-height:none!important;
  margin:0!important; padding:0!important; border:0!important; border-radius:0!important;
  background:#17121c!important; box-shadow:none!important; overflow:hidden!important;
}
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .video video {
  display:block!important; width:100%!important; height:100%!important; max-height:none!important;
  object-fit:cover!important; object-position:center!important; border-radius:0!important;
}
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage::after {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(0deg,#10091cd9 0%,#10091c8a 30%,transparent 65%),linear-gradient(90deg,#10091c4d,transparent 65%);
}
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy {
  display:flex!important; position:absolute!important; top:auto!important;
  bottom:calc(var(--pragma111Bottom,140px) + 65px)!important;
  left:var(--pragma109Left,6vw)!important; right:var(--pragma109Right,5vw)!important;
  width:auto!important; max-width:540px!important; min-height:0!important;
  max-height:calc(100% - var(--pragma109Top,100px) - var(--pragma111Bottom,140px) - 75px)!important;
  padding:0!important; margin:0!important; border:0!important; border-radius:0!important;
  background:none!important; color:#fff!important; z-index:2!important;
  justify-content:flex-end!important; gap:0!important; overflow-y:auto!important;
}
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .k { color:#e0c6f3!important; }
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .h {
  font:400 clamp(38px,5.4vw,74px)/1.04 Georgia,serif!important;
  color:#fff!important; margin:12px 0 0!important; letter-spacing:-.04em!important;
}
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .h br { display:none!important; }
html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .p {
  color:#f1eaf7!important; font:400 clamp(12px,1.05vw,15px)/1.5 Arial,sans-serif!important;
  text-align:left!important; text-align-last:auto!important; text-shadow:0 1px 6px #0007!important;
  margin:13px 0 0!important; transform:none!important; max-width:100%!important;
}
html.pragmaV112 .pragmaV112VideoControls {
  display:flex; align-items:center; gap:8px; position:absolute;
  left:var(--pragma109Left,6vw); bottom:var(--pragma111Bottom,140px);
  z-index:4; padding:0; margin:0;
}
html.pragmaV112 .pragmaV112VideoControls button {
  display:flex; align-items:center; justify-content:center; padding:11px; margin:0;
  min-width:44px; width:44px; height:44px; color:#fff; background:#352241cf;
  border:1px solid #fff6; border-radius:13px; cursor:pointer;
}
html.pragmaV112 .pragmaV112VideoControls svg { width:20px; height:20px; pointer-events:none; }
html.pragmaV112 :is(#pragmaV112MapClose,#pragmaBimDialog button,.pragmaV112VideoControls button):focus-visible { outline:3px solid #b982e8!important; outline-offset:2px!important; }
html.pragmaV112.pragmaV112BimOpen :is(#pragmaContactBar,#pragmaV67Menu,#pragmaV59Brand) { visibility:hidden!important; pointer-events:none!important; }
@media(max-width:900px) {
  html.pragmaV112 #pragmaBimDialog .pbimLayers.pragmaV112DockLayers { grid-template-columns:minmax(0,1fr)!important; gap:10px!important; }
  html.pragmaV112 #pragmaBimDialog .pbimCut { grid-column:1!important; gap:4px!important; padding:8px 12px!important; }
  html.pragmaV112 #pragmaBimDialog #layerRows { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
}
@media(max-width:700px) {
  html.pragmaV112 #pragmaBimDialog.pragmaV112BimDialog { width:100vw!important; height:100dvh!important; border:0!important; border-radius:0!important; }
  html.pragmaV112 #pragmaBimDialog #pragmaV112BimDock { padding:0 12px max(10px,env(safe-area-inset-bottom))!important; max-height:46dvh!important; }
  html.pragmaV112 #pragmaBimDialog #layerRows { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:4px 7px!important; }
  html.pragmaV112 #pragmaBimDialog #layerRows .layer-row { padding:0 7px!important; }
  html.pragmaV112 #pragmaBimDialog #pragmaV112BimDock.collapsed { padding:3px 14px!important; }
  html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy { max-width:none!important; }
  html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .h { font-size:39px!important; margin-top:8px!important; }
  html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .p { font-size:12px!important; line-height:1.4!important; margin-top:9px!important; }
}
@media(max-height:540px) and (min-width:600px) {
  html.pragmaV112 #pragmaBimDialog #pragmaV112BimDock { max-height:50dvh!important; }
  html.pragmaV112 #pragmaBimDialog .pbimLayers.pragmaV112DockLayers { grid-template-columns:minmax(0,1fr) 200px!important; gap:8px 12px!important; }
  html.pragmaV112 #pragmaBimDialog #layerRows { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  html.pragmaV112 #pragmaBimDialog .pbimCut { grid-column:2!important; }
  html.pragmaV112 #pragmaBimDialog #layerRows .layer-name { font-size:10px!important; }
  html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy { max-width:58%!important; bottom:calc(var(--pragma111Bottom,110px) + 10px)!important; max-height:calc(100% - var(--pragma109Top,80px) - var(--pragma111Bottom,110px) - 15px)!important; }
  html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .h { font-size:34px!important; }
  html.pragmaV112 #track.track > section.panel.marcela.pragmaV112VideoPage .marcelaCopy .p { font-size:11px!important; line-height:1.35!important; margin-top:7px!important; }
  html.pragmaV112 .pragmaV112VideoControls { left:auto; right:var(--pragma109Right,5vw); }
}
@media(prefers-reduced-motion:reduce) {
  html.pragmaV112 .pragmaOrbitHand { animation:none!important; }
}
