/* V110: complete portfolio labels and a responsive image-first project dialog. */
html.pragmaV110 #track.track .panel.portfolio .thumbGrid {
 grid-template-columns:repeat(4,minmax(0,1fr))!important;
 grid-auto-rows:auto!important; align-content:start!important; gap:18px!important;
 padding-bottom:12px!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb {
 position:relative!important; display:flex!important; flex-direction:column!important;
 min-width:0!important; min-height:0!important; height:auto!important;
 padding:0!important; border:1px solid #d8cedf!important; border-radius:18px!important;
 background:#f8f5fa!important; color:#30223d!important; overflow:hidden!important;
 box-shadow:0 5px 17px #30223d0a!important; text-align:left!important;
 transition:box-shadow .2s ease,transform .2s ease!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb::after { display:none!important; }
html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb > img {
 display:block!important; position:relative!important; width:100%!important;
 height:clamp(156px,15vw,224px)!important; flex:0 0 auto!important;
 object-fit:contain!important; object-position:center!important;
 max-width:100%!important; max-height:none!important; margin:0!important;
 background:#e9e3ee!important; transform:none!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb .thumbLabel {
 position:relative!important; inset:auto!important; flex:1 1 auto!important;
 display:flex!important; flex-direction:column!important; gap:5px!important;
 padding:13px 15px 15px!important; background:none!important;
 width:100%!important; max-height:none!important; overflow:visible!important;
 color:#30223d!important; opacity:1!important; visibility:visible!important;
 text-align:left!important; text-shadow:none!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumb .thumbLabel .pragmaV110CardClient {
 display:block!important; margin:0!important; color:#79548e!important;
 font:600 10px/1.35 Arial,sans-serif!important; letter-spacing:.04em!important;
 -webkit-line-clamp:unset!important; text-transform:none!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumb .thumbLabel .pragmaV110CardTitle {
 display:block!important; margin:0!important; font:600 15px/1.28 Arial,sans-serif!important;
 color:#30223d!important; text-overflow:clip!important; white-space:normal!important;
 overflow:visible!important; -webkit-line-clamp:unset!important;
 word-break:normal!important; overflow-wrap:normal!important; hyphens:none!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumb .pragmaV110CardLocation {
 display:block!important; margin:2px 0 0!important; font:400 11px/1.4 Arial,sans-serif!important;
 color:#776481!important;
}
html.pragmaV110 #track.track .panel.portfolio .thumb:focus-visible {
 outline:3px solid #8453b0!important; outline-offset:3px!important;
}
@media(hover:hover) {
 html.pragmaV110 #track.track .panel.portfolio .thumb:hover {
  transform:translateY(-2px)!important; box-shadow:0 10px 25px #30223d16!important;
 }
}
/* Modal: image is kept separate from title, client, location and confirmed scope. */
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery {
 --pragma110Side:340px;
 position:fixed!important; inset:18px!important; box-sizing:border-box!important;
 width:calc(100vw - 36px)!important; height:calc(100dvh - 36px)!important;
 max-width:none!important; max-height:none!important; min-width:0!important; min-height:0!important;
 margin:0!important; padding:0!important; border:1px solid #ffffff1f!important;
 border-radius:23px!important; background:#15111c!important; color:#fff!important;
 overflow:hidden!important; box-shadow:0 30px 100px #0007!important;
 grid-template-columns:minmax(0,1fr) var(--pragma110Side)!important;
 grid-template-rows:62px minmax(0,1fr)!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery:not([open]) { display:none!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery[open] { display:grid!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery::backdrop { background:#110b18ba; backdrop-filter:blur(9px); }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Stage {
 position:relative!important; inset:auto!important; grid-column:1!important; grid-row:2!important;
 display:flex!important; align-items:center!important; justify-content:center!important;
 width:100%!important; height:100%!important; min-width:0!important; min-height:0!important;
 margin:0!important; padding:10px 56px 28px!important; flex:none!important; overflow:hidden!important;
 touch-action:pan-y pinch-zoom!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery #pragmaV60GalleryImage {
 position:static!important; inset:auto!important; display:block!important;
 width:100%!important; height:100%!important;
 max-width:var(--pragma110NativeWidth,100%)!important; max-height:var(--pragma110NativeHeight,100%)!important;
 object-fit:contain!important; object-position:center!important;
 margin:auto!important; padding:0!important; border-radius:8px!important;
 transform:none!important; filter:none!important; opacity:1!important;
 transition:opacity .18s ease!important; user-select:none!important; -webkit-user-drag:none!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery[data-pragma-image-state="loading"] #pragmaV60GalleryImage,
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery[data-pragma-image-state="error"] #pragmaV60GalleryImage { opacity:0!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Info {
 position:static!important; inset:auto!important; grid-row:1!important; grid-column:1/-1!important;
 display:flex!important; justify-content:space-between!important; align-items:center!important;
 height:62px!important; width:auto!important; margin:0!important; padding:0 82px 0 26px!important;
 border-bottom:1px solid #ffffff12!important; font:600 10px/1.3 Arial,sans-serif!important;
 letter-spacing:.12em!important; color:#cec2d8!important; background:transparent!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV109ProjectDetails {
 position:relative!important; inset:auto!important; grid-row:2!important; grid-column:2!important;
 display:flex!important; flex-direction:column!important; justify-content:center!important;
 align-items:flex-start!important; gap:0!important; min-width:0!important; min-height:0!important;
 max-height:none!important; width:auto!important; height:100%!important;
 margin:0!important; padding:28px 25px!important; border:0!important; border-left:1px solid #ffffff12!important;
 border-radius:0!important; background:#201928!important; overflow:auto!important;
 text-align:left!important; flex:none!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Client {
 display:block!important; font:600 10px/1.5 Arial,sans-serif!important;
 letter-spacing:.09em!important; color:#c29ade!important; margin:0 0 12px!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110ProjectTitle {
 font:500 clamp(23px,2.35vw,34px)/1.12 Arial,sans-serif!important; margin:0!important;
 letter-spacing:-.035em!important; color:#fff!important; max-width:100%!important;
 text-wrap:balance!important; overflow-wrap:normal!important; word-break:normal!important;
 hyphens:none!important; text-align:left!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Location {
 font:400 13px/1.5 Arial,sans-serif!important; color:#c8bad1!important;
 margin:12px 0 0!important; text-align:left!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Area {
 display:flex!important; flex-direction:column!important; gap:4px!important;
 margin:21px 0 0!important; padding:15px 0!important; width:100%!important;
 border-block:1px solid #ffffff17!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Area strong { font:500 23px/1.2 Arial,sans-serif!important; color:#eddbff!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Area span { font:400 11px/1.4 Arial,sans-serif!important; color:#c8bad1!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Scope { margin-top:24px!important; width:100%!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Scope small { font:600 9px/1.4 Arial,sans-serif!important; letter-spacing:.11em!important; color:#c29ade!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Scope p {
 font:400 13px/1.65 Arial,sans-serif!important; color:#e0d6e6!important; margin:8px 0 0!important;
 text-align:left!important; text-align-last:auto!important; word-spacing:normal!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Source {
 font:400 11px/1.4 Arial,sans-serif!important; color:#c6a6e1!important;
 text-decoration:none!important; margin-top:21px!important; padding:10px 0!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60GalleryButton {
 position:absolute!important; display:grid!important; place-items:center!important;
 width:44px!important; height:44px!important; min-width:44px!important; min-height:44px!important;
 border:1px solid #ffffff29!important; border-radius:50%!important; padding:11px!important;
 background:#2c213ce0!important; color:#fff!important; cursor:pointer!important; z-index:8!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Close { top:9px!important; right:14px!important; left:auto!important; bottom:auto!important; transform:none!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Prev { left:10px!important; right:auto!important; top:54%!important; bottom:auto!important; transform:translateY(-50%)!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Next { right:calc(var(--pragma110Side) + 10px)!important; left:auto!important; top:54%!important; bottom:auto!important; transform:translateY(-50%)!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60GalleryButton svg { width:21px!important; height:21px!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60GalleryButton:focus-visible,
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery a:focus-visible { outline:3px solid #d7b1f5!important; outline-offset:3px!important; }
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110ImageStatus {
 position:absolute!important; inset:0!important; display:flex!important; flex-direction:column!important;
 align-items:center!important; justify-content:center!important; gap:15px!important;
 padding:28px 56px!important; text-align:center!important; color:#e5d9ed!important;
 font:400 13px/1.5 Arial,sans-serif!important; z-index:3!important;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Spinner {
 display:block; width:27px; height:27px; border:2px solid #ffffff25; border-top-color:#c79cec;
 border-radius:50%; animation:pragma110Spin .85s linear infinite;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Retry {
 min-height:44px; border:1px solid #9872b6; padding:11px 17px; border-radius:99px;
 background:#713db1; color:white; cursor:pointer; font:600 12px/1.3 Arial,sans-serif;
}
html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery [hidden] { display:none!important; }
@keyframes pragma110Spin { to { transform:rotate(360deg); } }
@media(max-width:1199px) { html.pragmaV110 #track.track .panel.portfolio .thumbGrid { grid-template-columns:repeat(3,minmax(0,1fr))!important; } }
@media(max-width:999px) {
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery {
  inset:10px!important; width:calc(100vw - 20px)!important; height:calc(100dvh - 20px)!important;
  border-radius:20px!important; grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:56px minmax(120px,1fr) auto!important;
 }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Info { height:56px!important; padding:0 70px 0 19px!important; font-size:9px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Stage { grid-row:2!important; padding:12px 45px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV109ProjectDetails {
  grid-column:1!important; grid-row:3!important; height:auto!important; max-height:37dvh!important;
  padding:17px 21px 18px!important; border-left:0!important; border-top:1px solid #ffffff12!important;
  justify-content:flex-start!important;
 }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Client { margin-bottom:6px!important; font-size:9px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110ProjectTitle { font-size:24px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Location { font-size:12px!important; margin-top:7px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Area { margin-top:10px!important; padding:9px 0!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Area strong { font-size:19px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Scope { margin-top:11px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Scope p { font-size:12px!important; line-height:1.45!important; margin-top:4px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Source { margin-top:7px!important; padding:6px 0!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Close { top:6px!important; right:9px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Prev { left:5px!important; top:40%!important; width:38px!important; height:44px!important; min-width:38px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Next { right:5px!important; top:40%!important; width:38px!important; height:44px!important; min-width:38px!important; }
}
@media(max-width:700px) {
 html.pragmaV110 #track.track .panel.portfolio .thumbGrid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
 html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb { border-radius:13px!important; }
 html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb > img { height:clamp(105px,32vw,170px)!important; }
 html.pragmaV110 #track.track .panel.portfolio .thumbGrid .thumb .thumbLabel { padding:10px!important; gap:4px!important; }
 html.pragmaV110 #track.track .panel.portfolio .thumb .thumbLabel .pragmaV110CardClient { font-size:9px!important; }
 html.pragmaV110 #track.track .panel.portfolio .thumb .thumbLabel .pragmaV110CardTitle { font-size:12px!important; line-height:1.3!important; }
 html.pragmaV110 #track.track .panel.portfolio .thumb .pragmaV110CardLocation { font-size:10px!important; }
}
@media(max-height:520px) and (min-width:600px) {
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery {
  --pragma110Side:280px; grid-template-columns:minmax(0,1fr) 280px!important;
  grid-template-rows:52px minmax(0,1fr)!important;
 }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Info { height:52px!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV109ProjectDetails {
  grid-column:2!important; grid-row:2!important; max-height:none!important;
  height:100%!important; padding:17px!important; border-top:0!important;
 }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Next { right:290px!important; top:54%!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV60Prev { top:54%!important; }
}
@media(prefers-reduced-motion:reduce) {
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110Spinner { animation:none!important; }
 html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery #pragmaV60GalleryImage,
 html.pragmaV110 #track.track .panel.portfolio .thumb { transition:none!important; }
}

html.pragmaV110 #pragmaV60GalleryLightbox.pragmaV110Gallery .pragmaV110ExtraFacts {
 font:400 12px/1.5 Arial,sans-serif!important; color:#c8bad1!important; margin:9px 0 0!important;
}
