
html.pragmaV111 {
  --pragma111Bottom:var(--pragma109Footer,145px);
  --pragma111Gap:24px;
  --pragma111PortfolioTop:calc(var(--pragma109Top,100px) + 135px);
  --pragma111TeamTop:calc(var(--pragma109Top,100px) + 130px);
  --pragma111ClientsTop:calc(var(--pragma109Top,100px) + 125px);
  --pragma111TeamFoot:32px;
}
/* Section height and scroll snapping are deliberately unchanged. */
html.pragmaV111 #track.track > section.panel:not(.hero):not(.mapPanel) {
  padding-bottom:var(--pragma111Bottom)!important;
}
html.pragmaV111 #track.track .panel.hero .heroCopy {
  box-sizing:border-box!important;
  padding:var(--pragma109Top,100px) var(--pragma109Right,5vw) var(--pragma111Bottom) var(--pragma109Left,6vw)!important;
  display:flex!important; flex-direction:column!important; justify-content:flex-end!important;
  gap:clamp(24px,4dvh,44px)!important;
  min-height:0!important;
}
html.pragmaV111 #track.track .panel.hero .heroCopy > img.logoP {display:none!important}
html.pragmaV111 #track.track .panel.hero .heroCopy > div:not(.heroStats) {
  flex:0 0 auto!important; margin:0!important; transform:none!important;
  max-width:min(840px,100%)!important;
}
html.pragmaV111 #track.track .panel.hero .heroStats {
  position:relative!important; inset:auto!important; flex:0 0 auto!important;
  margin:0!important; padding:0 0 20px!important; transform:none!important;
  width:max-content!important; max-width:100%!important;
}
html.pragmaV111 #track.track .panel.hero .heroStats > div:last-child {
  max-width:100%!important;
}
html.pragmaV111 #track.track .panel.hero .heroStats b#pragmaV62AreaNumber::before,
html.pragmaV111 #track.track .panel.hero .heroStats b#pragmaV62AreaNumber::after {
  bottom:calc(-1 * var(--pragma111MetricLine,46px))!important;
}
/* Move the preview frame, including map indicators, above the dock.
   Expanded map is outside #track and keeps its full-screen dimensions. */
html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) {
  bottom:var(--pragma111Bottom)!important; height:auto!important;
  min-height:0!important; max-height:none!important;
}
html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-metrics {
  bottom:18px!important; top:auto!important; margin-bottom:0!important;
  padding-bottom:0!important;
}
html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .pragmaV64OpenMap {
  top:var(--pragma111MapButtonTop,calc(var(--pragma109Top,100px) + 100px))!important;
}
/* Absolute-positioned content does not respect parent padding: give each
   viewport its own real lower boundary, rather than covering or scaling it. */
html.pragmaV111 #track.track .panel.portfolio .portTop {
  position:static!important; min-height:0!important; height:auto!important;
  margin:0!important; padding:0!important;
}
html.pragmaV111 #track.track .panel.portfolio :is(.rail,.thumbGrid) {
  top:var(--pragma111PortfolioTop)!important; bottom:var(--pragma111Bottom)!important;
  height:auto!important; min-height:0!important; max-height:none!important;
}
html.pragmaV111 #track.track .panel.portfolio .thumbGrid {
  overflow-y:auto!important; overflow-x:hidden!important;
  scroll-padding-bottom:16px!important;
}
html.pragmaV111 #track.track .panel.portfolio .pragmaV69PortfolioArrows {
  top:var(--pragma111PortfolioTop)!important; bottom:var(--pragma111Bottom)!important;
  height:auto!important;
}
html.pragmaV111 #track.track .panel.portfolio .pragmaV69PortfolioArrows button {
  top:50%!important;
}
html.pragmaV111 #track.track .panel.portfolio .portTools {
  top:calc(var(--pragma111PortfolioTop) - 56px)!important;
}
html.pragmaV111 #track.track .panel.pragmaCrewPanel .pragmaCrewHeader {
  position:static!important; min-height:0!important; height:auto!important;
  margin:0!important; padding:0!important;
}
html.pragmaV111 #track.track .panel.pragmaCrewPanel .pragmaCrewWindow {
  position:absolute!important; top:var(--pragma111TeamTop)!important;
  bottom:calc(var(--pragma111Bottom) + var(--pragma111TeamFoot))!important;
  left:var(--pragma109Left)!important; right:var(--pragma109Right)!important;
  width:auto!important; height:auto!important; min-height:0!important; max-height:none!important;
  overflow-y:auto!important; overflow-x:hidden!important;
  padding:0 0 8px!important; margin:0!important; scroll-padding-bottom:12px!important;
}
html.pragmaV111 #track.track .panel.pragmaCrewPanel .pragmaCrewTrack {
  padding-bottom:0!important;
}
html.pragmaV111 #track.track .panel.pragmaCrewPanel .pragmaCrewFooter {
  position:absolute!important; left:var(--pragma109Left)!important; right:var(--pragma109Right)!important;
  bottom:var(--pragma111Bottom)!important; width:auto!important;
  padding:0!important; margin:0!important; height:auto!important;
}
html.pragmaV111 #track.track .panel.clients .logoWrap {
  top:var(--pragma111ClientsTop)!important; bottom:var(--pragma111Bottom)!important;
  left:var(--pragma109Left)!important; right:var(--pragma109Right)!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  overflow-y:auto!important; overflow-x:hidden!important; scroll-padding-bottom:12px!important;
}
html.pragmaV111 #track.track .panel.clients .logoGrid {padding-bottom:8px!important}
html.pragmaV111 #track.track .panel.services .svcGrid {
  position:relative!important; inset:auto!important; transform:none!important;
  flex:1 1 0!important; min-height:0!important; max-height:none!important;
}
html.pragmaV111 #track.track .panel.ar .pbimLab:not(.pbimFullscreenFallback):not(:fullscreen) {
  min-height:0!important; height:auto!important; flex:1 1 0!important;
}
html.pragmaV111 #track.track .panel.marcela {
  min-height:0!important; grid-template-rows:minmax(0,1fr)!important;
}
html.pragmaV111 #track.track .panel.marcela .video {
  min-height:0!important; max-height:100%!important; margin-bottom:0!important;
}
@media(max-width:800px) {
  html.pragmaV111 #track.track .panel.marcela .video {
    position:absolute!important; left:var(--pragma109Left)!important; right:var(--pragma109Right)!important;
    top:var(--pragma109Top,100px)!important; bottom:var(--pragma111Bottom)!important;
    height:auto!important; width:auto!important; margin:0!important;
    border-radius:22px!important;
  }
  html.pragmaV111 #track.track .panel.marcela .marcelaCopy {
    position:absolute!important; bottom:var(--pragma111Bottom)!important;
    left:var(--pragma109Left)!important; right:var(--pragma109Right)!important;
    width:auto!important; padding:20px 16px 16px!important; margin:0!important;
    max-height:calc(100dvh - var(--pragma111Bottom) - var(--pragma109Top,100px))!important;
    box-sizing:border-box!important; overflow-y:auto!important; border-radius:0 0 22px 22px!important;
  }
}
@media(max-width:700px) {
  html.pragmaV111 #track.track .panel.hero .heroCopy {gap:clamp(20px,3dvh,30px)!important}
  html.pragmaV111 #track.track .panel.hero .heroCopy .h,
  html.pragmaV111 #track.track .panel.hero .heroCopy .p {max-width:100%!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-metrics {
    left:12px!important; right:12px!important; bottom:14px!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-row {
    grid-template-columns:minmax(0,1.6fr) minmax(16px,.6fr) 22px!important;
    gap:4px!important; line-height:1.25!important;
  }
  html.pragmaV111 #track.track .panel.pragmaCrewPanel .pragmaCrewTrack {
    min-height:0!important; height:auto!important;
  }
}
@media(max-width:700px) and (max-height:640px) {
  html.pragmaV111 #track.track .panel.hero .heroCopy .h {font-size:32px!important;line-height:1.05!important}
  html.pragmaV111 #track.track .panel.hero .heroCopy .p {font-size:12px!important;line-height:1.4!important;margin-top:12px!important}
  html.pragmaV111 #track.track .panel.hero .heroCopy {gap:18px!important}
  html.pragmaV111 #track.track .panel.hero .heroStats b#pragmaV62AreaNumber {font-size:27px!important}
  html.pragmaV111 #track.track .panel.hero .heroStats > div:last-child span {font-size:12px!important;margin-top:10px!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-card {padding:8px!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-dgrid {gap:5px 8px!important}
  html.pragmaV111 #track.track .panel.services > .h {font-size:23px!important}
  html.pragmaV111 #track.track .panel.services > .p {font-size:10px!important;margin-bottom:8px!important}
}
@media(max-height:540px) and (min-width:600px) {
  html.pragmaV111 #track.track .panel.hero .heroCopy {
    display:grid!important; grid-template-columns:minmax(0,1.55fr) minmax(210px,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important; align-items:end!important; gap:24px!important;
  }
  html.pragmaV111 #track.track .panel.hero .heroCopy .h {font-size:clamp(25px,3.9vw,38px)!important;line-height:1.05!important}
  html.pragmaV111 #track.track .panel.hero .heroCopy .p {font-size:12px!important;line-height:1.4!important;margin-top:12px!important}
  html.pragmaV111 #track.track .panel.hero .heroStats {justify-self:end!important}
  html.pragmaV111 #track.track .panel.hero .heroStats b#pragmaV62AreaNumber {font-size:clamp(23px,3vw,29px)!important}
  html.pragmaV111 #track.track .panel.hero .heroStats > div:last-child span {font-size:12px!important;margin-top:10px!important}
  html.pragmaV111 #track.track .panel.services > .h {font-size:25px!important;margin-bottom:6px!important}
  html.pragmaV111 #track.track .panel.services > .p {font-size:11px!important;margin-bottom:10px!important}
  html.pragmaV111 #track.track .panel.services > .k {margin-bottom:5px!important}
  html.pragmaV111 #track.track .panel.services .service {padding:8px 10px!important;gap:5px!important}
  html.pragmaV111 #track.track .panel.services .service > span {display:none!important}
  html.pragmaV111 #track.track .panel.services .service h3 {font-size:12px!important;line-height:1.2!important}
  html.pragmaV111 #track.track .panel.ar .pbimHead {margin-bottom:8px!important}
  html.pragmaV111 #track.track .panel.ar .pbimHead h2 {font-size:25px!important}
  html.pragmaV111 #track.track .panel.ar .pbimHead p {font-size:11px!important;line-height:1.3!important;margin-top:5px!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers {padding:7px!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers > h3 {font-size:12px!important;margin:0!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers > .fine {display:none!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers #layerRows {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px 5px!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers .layer-row {min-height:22px!important;max-height:none!important;padding:0!important;gap:3px!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers .layer-name {font-size:9px!important;padding:0!important;line-height:1.15!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers .pbimCut {font-size:10px!important;margin-top:4px!important;padding-top:4px!important;gap:2px!important}
  html.pragmaV111 #track.track .panel.ar .pbimLayers .pbimCut input {height:16px!important;margin:0!important}
  html.pragmaV111 #track.track .panel.marcela .marcelaCopy {padding:8px 20px!important;overflow-y:auto!important;min-height:0!important}
  html.pragmaV111 #track.track .panel.marcela .marcelaCopy .h {font-size:38px!important}
  html.pragmaV111 #track.track .panel.marcela .marcelaCopy .p {font-size:11px!important;line-height:1.35!important}
}
/* Compact states retain all seven service choices and their detail dialogs. */
html.pragmaV111 #track.track .panel.services[data-pragma-density="titles"] .service {
  justify-content:center!important; gap:0!important; padding:6px 8px!important;
}
html.pragmaV111 #track.track .panel.services[data-pragma-density="titles"] .service > span {
  display:none!important;
}
@media(max-width:700px) {
  html.pragmaV111 #track.track .panel.ar .pbimLab > .pbimCanvasWrap {
    flex:1 1 0!important; min-height:0!important; height:auto!important;
  }
}
@media(max-width:700px) and (max-height:640px) {
  html.pragmaV111 #track.track .panel.services .service h3 {font-size:12px!important;line-height:1.18!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-head {top:calc(var(--pragma109Top,96px) - 12px)!important}
  html.pragmaV111 #track.track .panel.ar .pbimHead h2 {font-size:24px!important}
  html.pragmaV111 #track.track .panel.ar .pbimHead p {font-size:10px!important;line-height:1.3!important;margin-top:5px!important}
}
@media(max-height:540px) and (min-width:600px) {
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-head {
    left:calc(var(--pragma109Left) + 175px)!important; top:var(--pragma109Top)!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-t {font-size:23px!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-sub {font-size:10px!important;line-height:1.3!important;margin-top:6px!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .pragmaV64OpenMap {
    top:var(--pragma109Top)!important; left:var(--pragma109Left)!important; transform:none!important;
    padding:10px 12px!important; gap:6px!important; font-size:12px!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .pragmaV64OpenMap span {font-size:12px!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-metrics {
    grid-template-columns:.65fr 1fr 3fr!important; gap:7px!important; bottom:12px!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-disc {grid-column:auto!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-dgrid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:4px 7px!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-row {
    grid-template-columns:minmax(0,1fr) 18px!important; font-size:8px!important; line-height:1.2!important; gap:3px!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-bar {display:none!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-card {padding:8px!important}
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-val {font-size:12px!important}
  html.pragmaV111 #track.track .panel.services {
    display:grid!important; grid-template-columns:minmax(0,.52fr) minmax(0,1fr)!important;
    grid-template-rows:auto auto minmax(0,1fr)!important; column-gap:18px!important;
    align-content:stretch!important;
  }
  html.pragmaV111 #track.track .panel.services > .k {grid-column:1!important;grid-row:1!important;text-align:left!important}
  html.pragmaV111 #track.track .panel.services > .h {grid-column:1!important;grid-row:2!important;text-align:left!important;font-size:22px!important;line-height:1.08!important;margin:0 0 6px!important}
  html.pragmaV111 #track.track .panel.services > .p {grid-column:1!important;grid-row:3!important;text-align:left!important;white-space:normal!important;font-size:10px!important;line-height:1.3!important;margin:0!important}
  html.pragmaV111 #track.track .panel.services .svcGrid {
    grid-column:2!important; grid-row:1 / -1!important; height:100%!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important; grid-template-rows:repeat(2,minmax(0,1fr))!important; gap:7px!important;
  }
  html.pragmaV111 #track.track .panel.services .svcGrid .service {grid-column:span 3!important;width:100%!important;padding:5px!important}
  html.pragmaV111 #track.track .panel.services .svcGrid .service:nth-child(n+5) {grid-column:span 4!important}
  html.pragmaV111 #track.track .panel.services .service h3 {font-size:11.5px!important;line-height:1.18!important}
  html.pragmaV111 #track.track .panel.ar .pbimLab:not(.pbimFullscreenFallback):not(:fullscreen) {
    display:grid!important; grid-template-columns:minmax(0,1fr) 260px!important; gap:12px!important;
  }
  html.pragmaV111 #track.track .panel.ar .pbimLab > .pbimLayers {
    height:100%!important;max-height:none!important;min-height:0!important;flex:none!important;width:260px!important;
  }
}
@media(max-width:370px) and (max-height:640px) {
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-row {
    grid-template-columns:minmax(0,1fr) 20px!important;
  }
  html.pragmaV111 #track.track .panel.mapPanel #mapCard:not(.mapExpanded) .ppm-bar {display:none!important}
}
