.elementor-27 .elementor-element.elementor-element-ce4e0d5{--display:flex;--margin-top:-120px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-27 .elementor-element.elementor-element-32be487{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overflow:hidden;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-27 .elementor-element.elementor-element-34a982d{--display:flex;--min-height:100vh;}.elementor-widget-antra-project .project .project-block .project-loop-title{font-family:var( --e-global-typography-primary-font-family ), Serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-antra-project .project-loop-title a{color:var( --e-global-color-secondary );}.elementor-27 .elementor-element.elementor-element-b92aaad{--e-global-column-to-show:5;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{width:calc((100% - 0px*(5 - 1)) / 5);margin-right:0px;}body.rtl .elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{width:calc((100% - 0px*(5 - 1)) / 5);margin-left:0px;}.elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{--grid-column-gap:0px;--grid-row-gap:0px;}.elementor-27 .elementor-element.elementor-element-b92aaad .project-image img{height:620px;}.elementor-27 .elementor-element.elementor-element-b92aaad .project .project-block .project-loop-title{font-family:"Cal Sans", Serif;font-weight:400;}.elementor-27 .elementor-element.elementor-element-b55b8d2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:130px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:30px;--padding-right:30px;}.elementor-27 .elementor-element.elementor-element-74d5a94{--e-global-column-to-show:3;--grid-column-gap:0px;--grid-row-gap:0px;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-74d5a94 .swiper-slide{width:calc((100% - 30px*(3 - 1)) / 3);margin-right:30px;}body.rtl .elementor-27 .elementor-element.elementor-element-74d5a94 .swiper-slide{width:calc((100% - 30px*(3 - 1)) / 3);margin-left:30px;}.elementor-27 .elementor-element.elementor-element-74d5a94 > .elementor-widget-container{margin:-30px 0px 0px -34px;}.elementor-27 .elementor-element.elementor-element-74d5a94 .antra-loadmore{text-align:center;}.elementor-27 .elementor-element.elementor-element-74d5a94 .pagination ul.page-numbers{justify-content:center;}.elementor-27 .elementor-element.elementor-element-74d5a94 .project-image img{height:500px;}.elementor-27 .elementor-element.elementor-element-74d5a94 .project-text-box{min-height:1000px;}.elementor-27 .elementor-element.elementor-element-74d5a94 .project-loop-title a:hover{color:var( --e-global-color-primary );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-27 .elementor-element.elementor-element-b55b8d2{--content-width:100vw;}}@media(max-width:1366px){.elementor-widget-antra-project .project .project-block .project-loop-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}}@media(max-width:1200px){.elementor-27 .elementor-element.elementor-element-b92aaad{--e-global-column-to-show:4;}.elementor-27 .elementor-element.elementor-element-b92aaad .project-image img{height:560px;}}@media(max-width:1024px){.elementor-widget-antra-project .project .project-block .project-loop-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-27 .elementor-element.elementor-element-b92aaad{--e-global-column-to-show:3;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{width:calc((100% - 18px*(3 - 1)) / 3);margin-right:18px;}body.rtl .elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{width:calc((100% - 18px*(3 - 1)) / 3);margin-left:18px;}.elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{--grid-column-gap:18px;--grid-row-gap:18px;}.elementor-27 .elementor-element.elementor-element-b92aaad .project-image img{height:500px;}.elementor-27 .elementor-element.elementor-element-b55b8d2{--margin-top:80px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;}.elementor-27 .elementor-element.elementor-element-74d5a94{--e-global-column-to-show:2;}}@media(max-width:880px){.elementor-27 .elementor-element.elementor-element-b92aaad{--e-global-column-to-show:2;}body:not(.rtl) .elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{width:calc((100% - 18px*(2 - 1)) / 2);margin-right:18px;}body.rtl .elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{width:calc((100% - 18px*(2 - 1)) / 2);margin-left:18px;}.elementor-27 .elementor-element.elementor-element-b92aaad .swiper-slide{--grid-column-gap:18px;--grid-row-gap:18px;}.elementor-27 .elementor-element.elementor-element-b92aaad .project-image img{height:460px;}.elementor-27 .elementor-element.elementor-element-b92aaad .project .project-block .project-loop-title{font-size:30px;}}@media(max-width:767px){.elementor-widget-antra-project .project .project-block .project-loop-title{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-27 .elementor-element.elementor-element-b92aaad{--e-global-column-to-show:1;}.elementor-27 .elementor-element.elementor-element-b92aaad .project-image img{height:400px;}.elementor-27 .elementor-element.elementor-element-b92aaad .project-text-box{padding:30px 15px 30px 15px;}.elementor-27 .elementor-element.elementor-element-b55b8d2{--margin-top:60px;--margin-bottom:60px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:15px;--padding-right:15px;}.elementor-27 .elementor-element.elementor-element-74d5a94{--e-global-column-to-show:1;--grid-column-gap:15px;--grid-row-gap:15px;}.elementor-27 .elementor-element.elementor-element-74d5a94 .antra-item.project .project-block .project-loop-title{margin:-5px 0px 0px 0px;}}/* Start custom CSS for container, class: .elementor-element-34a982d *//* ==========================================================
   PROJECT ACCORDION v14 - Different Squares
   CLICK TO OPEN (no hover expand) + spacing fix + grey band fix + hover text fix, all in one.
   Works for: .ds-panel (Commercial), .dsh-panel (Healthcare),
              .dsr-panel (Real Estate)
   Needs the small click script on each page (HTML widget).
   Paste into: Appearance > Customize > Additional CSS
   Delete ALL older accordion blocks (v4 / v5 / v6 / v7 / v8)
   and the older spacing-fix blocks first.
   ========================================================== */

/* ---------- 0. SHARED VALUES ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel){
  --ds-bottom:80px;
  --ds-right:28px;
  --ds-text:#f2f1ea;
  --ds-accent:#b4975a;
  --ds-weight:900;
  --ds-height:100vh;
}
@supports (height:100svh){
  :is(.ds-panel, .dsh-panel, .dsr-panel){--ds-height:100svh}
}

/* ---------- 1. LAYOUT ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-con,
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-project{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper{
  display:flex !important;
  align-items:stretch !important;
  transform:none !important;
  width:100% !important;
  height:var(--ds-height);
  gap:0 !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) .swiper-slide-duplicate{display:none !important}

/* ---------- 2. PANELS ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item{
  flex:1 1 0 !important;
  align-self:stretch !important;
  width:auto !important;
  min-width:0 !important;
  height:100% !important;
  position:relative;
  overflow:hidden !important;
  border-radius:0 !important;
  cursor:pointer;
  transition:flex .6s ease;
}

/* Lock every layer in place (also blocks the theme's own hover movement) */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:hover,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-block,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:hover .project-block,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-transition,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:hover .project-transition,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item figure,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:hover figure{
  transform:none !important;
  translate:none !important;
  top:0 !important;
  margin:0 !important;
}

:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-block,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-transition,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item figure,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item img{border-radius:0 !important}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-block,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-transition,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item figure{height:100%}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  translate:none !important;
  transform:scale(1) !important;
  transition:transform .9s ease;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open img{transform:scale(1.04) !important}

/* soft dark gradient so text stays readable */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.6) 0%, rgba(0,0,0,.25) 40%, rgba(0,0,0,0) 70%);
  pointer-events:none;
  z-index:1;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open::after{
  background:linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.32) 42%, rgba(0,0,0,0) 75%);
}

/* hide the circular "View" hover button */
:is(.ds-panel, .dsh-panel, .dsr-panel) .project-block .view-btn{
  display:none !important;
}

/* ---------- 3. CLICK: open panel grows, others shrink ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper.has-open li.antra-item{flex:.35 1 0 !important}
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper li.antra-item.is-open{flex:4 1 0 !important}

/* ---------- 4. CATEGORY PILL ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-category{display:none !important}

/* ---------- 5. CLOSED PANELS: keep text box, hide location ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-text-box{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  background:none !important;
  padding:0 !important;
  pointer-events:none;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-content{display:none !important}

/* ---------- 6. CLOSED PANELS: vertical title ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-caption{
  position:absolute !important;
  bottom:var(--ds-bottom);
  right:var(--ds-right);
  left:auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  z-index:5;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title{
  writing-mode:vertical-lr;
  transform:rotate(180deg);
  white-space:nowrap !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
  line-height:1.15 !important;
  font-size:var(--ds-fit, clamp(20px, calc((var(--ds-height) - 240px) / 14), 56px)) !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title a{
  display:inline !important;
  white-space:nowrap !important;
  -webkit-line-clamp:unset !important;
  overflow:visible !important;
  pointer-events:auto;
  font-size:inherit !important;
  line-height:inherit !important;
  color:var(--ds-text) !important;
  -webkit-text-fill-color:var(--ds-text) !important;
  -webkit-text-stroke:0 !important;
  font-weight:var(--ds-weight) !important;
  letter-spacing:0;
  text-decoration:none !important;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

/* ---------- 7. WHILE ONE PANEL IS OPEN: other strips outlined ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper.has-open li.antra-item:not(.is-open) .project-loop-title{
  filter:drop-shadow(0 1px 6px rgba(0,0,0,.55));
}
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper.has-open li.antra-item:not(.is-open) .project-loop-title a{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ds-text) !important;
  text-shadow:none;
}

/* ---------- 8. OPEN PANEL: title + location bottom-right ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-text-box{
  position:absolute !important;
  top:auto !important;
  left:auto !important;
  right:48px !important;
  bottom:var(--ds-bottom) !important;
  width:auto !important;
  max-width:min(calc(100% - 96px), 980px);
  display:flex !important;
  flex-direction:column;
  align-items:flex-end;
  gap:18px;
  text-align:right;
  padding:0 !important;
  background:none !important;
  z-index:5;
}

:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-text-box .project-category{
  display:inline-block !important;
  position:relative !important;
  inset:auto !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:none !important;
  box-shadow:none !important;
  outline:0 !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-text-box .project-category ~ .project-category{display:none !important}

:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-caption{
  position:static !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-loop-title{
  writing-mode:horizontal-tb;
  transform:none;
  white-space:normal !important;
  display:block !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
  margin:0 !important;
  padding:0 !important;
  max-width:100%;
  text-align:right;
  text-wrap:balance;
  font-size:clamp(26px, 2.8vw, 48px) !important;
  line-height:1.35 !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-loop-title a{
  display:inline !important;
  overflow:visible !important;
  -webkit-line-clamp:unset !important;
  font-size:inherit !important;
  line-height:inherit !important;
  color:var(--ds-text) !important;
  -webkit-text-fill-color:var(--ds-text) !important;
  -webkit-text-stroke:0 !important;
  font-weight:var(--ds-weight) !important;
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-decoration-skip-ink:none;
  text-underline-offset:7px !important;
  text-shadow:0 2px 12px rgba(0,0,0,.4);
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-loop-title a::after{
  content:".";
  display:inline-block;
  text-decoration:none;
  color:var(--ds-accent);
}

:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-content{
  margin:0 !important;
  max-width:560px;
  text-align:right;
  color:var(--ds-text);
  font-size:clamp(14px, 1.05vw, 18px) !important;
  line-height:1.5 !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-content *{
  font-size:inherit !important;
  line-height:inherit !important;
  margin:0 !important;
}

/* ---------- 9. KEYBOARD FOCUS + REDUCED MOTION ---------- */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item a:focus-visible{
  outline:2px solid var(--ds-accent);
  outline-offset:4px;
}
@media (prefers-reduced-motion:reduce){
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item,
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item img{transition:none}
}

/* ---------- 10. TABLET ---------- */
@media (max-width:1200px){
  :is(.ds-panel, .dsh-panel, .dsr-panel){
    --ds-right:20px;
    --ds-bottom:70px;
  }
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title{font-size:clamp(18px, calc((var(--ds-height) - 240px) / 16), 44px) !important}
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-loop-title{font-size:clamp(24px, 3.6vw, 38px) !important}
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-text-box{right:28px !important; max-width:calc(100% - 56px); gap:16px}
}

/* ---------- 11. PHONE ---------- */
@media (max-width:767px){
  :is(.ds-panel, .dsh-panel, .dsr-panel){
    --ds-height:max(360px, calc(100vh - 240px));
    --ds-bottom:36px;
    --ds-right:8px;
  }
  @supports (height:100svh){
    :is(.ds-panel, .dsh-panel, .dsr-panel){
      --ds-height:max(360px, calc(100svh - 240px));
    }
  }
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title{
    font-size:clamp(14px, calc((var(--ds-height) - 120px) / 20), 24px) !important;
  }
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-loop-title{
    font-size:clamp(20px, 6vw, 28px) !important;
  }
  :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open .project-text-box{
    right:16px !important;
    max-width:calc(100% - 32px);
    gap:14px;
  }
}

/* ==========================================================
   SPACING FIX - removes the white space above the accordion
   (desktop + tablet + mobile)
   ========================================================== */

/* A. Parent container holding the tabs row + the showcase: no gap */
.e-con:has(> .ds-showcase),
.e-con:has(> .e-con-inner > .ds-showcase){
  --gap:0px; --row-gap:0px; --column-gap:0px;
  gap:0 !important;
  row-gap:0 !important;
}
.e-con:has(> .e-con-inner > .ds-showcase) > .e-con-inner{
  gap:0 !important;
  row-gap:0 !important;
}

/* B. Row directly above the showcase ("Explore Spaces For" row) */
.elementor-element:has(+ .ds-showcase){
  margin-bottom:0 !important;
  padding-bottom:12px !important;   /* space under the buttons: 0 = none */
  --margin-bottom:0px;
  --padding-bottom:12px;
}

/* C. The showcase itself and the panels: no padding or margin */
.ds-showcase{
  --ds-pull:0px;                     /* if a gap is left, try -20px, then -40px */
  --padding-top:0px; --padding-bottom:0px;
  --margin-top:0px;  --margin-bottom:0px;
  --gap:0px; --row-gap:0px;
  margin-top:var(--ds-pull) !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  row-gap:0 !important;
}
.ds-showcase > .e-con-inner{
  padding-top:0 !important;
  padding-bottom:0 !important;
  gap:0 !important;
  row-gap:0 !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel){
  --padding-top:0px; --margin-top:0px;
  padding-top:0 !important;
  margin-top:0 !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) .elementor-widget,
:is(.ds-panel, .dsh-panel, .dsr-panel) .elementor-widget-container{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* D. Theme wrappers on this page only */
body:has(.ds-showcase) .breadcrumb-wrap{display:none !important}
body:has(.ds-showcase) :is(#content, .site-content, #primary, #main, .entry-content){
  margin-top:0 !important;
  padding-top:0 !important;
}


/* ==========================================================
   GREY BAND FIX - container must be exactly as tall as the list
   ========================================================== */

/* 1. The panel container: no padding, gap, height or background of its own */
:is(.ds-panel, .dsh-panel, .dsr-panel){
  --padding-top:0px; --padding-bottom:0px;
  --margin-top:0px;  --margin-bottom:0px;
  --min-height:0px;
  --gap:0px; --row-gap:0px; --column-gap:0px;
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  min-height:0 !important;
  height:auto !important;
  gap:0 !important;
  row-gap:0 !important;
  border:0 !important;
  background:transparent !important;
  background-image:none !important;
  overflow:hidden;
}

/* 2. Elementor draws its background overlay on ::before - hide it */
:is(.ds-panel, .dsh-panel, .dsr-panel)::before{
  display:none !important;
  content:none !important;
}

/* 3. Inner wrapper and widget: no bottom spacing (the 20px widget gap) */
:is(.ds-panel, .dsh-panel, .dsr-panel) > .e-con-inner,
:is(.ds-panel, .dsh-panel, .dsr-panel) .elementor-widget-antra-project,
:is(.ds-panel, .dsh-panel, .dsr-panel) .elementor-widget-antra-project > .elementor-widget-container,
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-project,
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-con{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  min-height:0 !important;
  height:auto !important;
  background:transparent !important;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) .elementor-widget-antra-project{
  --kit-widget-spacing:0px;
}

/* 4. The list is the only thing that sets the height */
:is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper{
  margin:0 !important;
  padding:0 !important;
}


/* ==========================================================
   HOVER TEXT FIX - closed panels show ONLY the vertical title,
   even while the mouse is over them (no location / date / extra title)
   ========================================================== */

/* 1. Hide every extra text element on closed panels (normal + hover) */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) :is(
  .project-content,
  .project-location,
  .project-date,
  .project-category,
  .project-excerpt,
  .project-desc,
  .project-info,
  .project-meta,
  .view-btn
),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover :is(
  .project-content,
  .project-location,
  .project-date,
  .project-category,
  .project-excerpt,
  .project-desc,
  .project-info,
  .project-meta,
  .view-btn
){
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  height:0 !important;
  overflow:hidden !important;
}

/* 2. A second (horizontal) title inside the image layer: hide it on closed panels */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-transition :is(.project-caption, .project-loop-title, .project-content),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-block > :not(.project-transition):not(.project-text-box){
  display:none !important;
}

/* 3. Keep the closed-panel text box and the vertical title fixed while hovered */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-text-box{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  background:none !important;
  padding:0 !important;
  pointer-events:none;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-caption{
  position:absolute !important;
  bottom:var(--ds-bottom);
  right:var(--ds-right);
  left:auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  z-index:5;
}
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-loop-title{
  writing-mode:vertical-lr;
  transform:rotate(180deg);
  white-space:nowrap !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

/* 4. No theme hover overlays or pseudo-elements on closed panels */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-block::before,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-transition::before,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-transition::after{
  opacity:0 !important;
  content:none !important;
}


/* ==========================================================
   HOVER TEXT FIX 2 (catch-all)
   Closed panels: the ONLY visible text is the vertical title.
   Everything else inside the panel is removed, in every state
   (normal, hover, focus) and on every device.
   ========================================================== */

/* 1. Inside the text box keep only the caption (title); inside the image layer keep only the figure */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-text-box > *:not(.project-caption),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-text-box > *:not(.project-caption),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-transition > *:not(figure),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover .project-transition > *:not(figure){
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* 2. Inside the caption keep only ONE title; inside the image link keep only the image */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-caption > *:not(.project-loop-title),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-caption .project-loop-title ~ .project-loop-title,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) figure > *:not(a),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) figure a > *:not(img){
  display:none !important;
}

/* 3. Theme text drawn with pseudo-elements (content: attr(...) etc.) */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-block::before,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-block::after,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-text-box::before,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-text-box::after,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) figure::before,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) figure::after,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) figure a::before,
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) figure a::after{
  content:none !important;
  display:none !important;
}

/* 4. Any extra block placed directly inside the project block (hover popups, clones) */
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-block > *:not(.project-transition):not(.project-text-box),
:is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) > *:not(.project-block){
  display:none !important;
}


/* ==========================================================
   SPECIFICITY BOOST - wins against ANY theme / Elementor hover rule
   :is(#page, body) counts as an ID, so these rules outrank
   theme .elementor-27 .elementor-element.elementor-element-34a982ds, even ones that also use !important.
   Closed panels only. Must stay at the END of the file.
   ========================================================== */

/* 1. Extra text: never visible on a closed panel, hover or not */
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-content,
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-content *,
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-location,
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-date,
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-category{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  pointer-events:none !important;
}

/* 2. Text box stays a full-size, invisible holder (no theme hover layout) */
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-text-box{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  background:none !important;
  padding:0 !important;
  margin:0 !important;
  pointer-events:none !important;
}

/* 3. The title stays vertical, bottom-right, same size, hover or not */
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-caption{
  position:absolute !important;
  bottom:var(--ds-bottom) !important;
  right:var(--ds-right) !important;
  left:auto !important;
  top:auto !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
  z-index:5 !important;
}
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title{
  writing-mode:vertical-lr !important;
  transform:rotate(180deg) !important;
  white-space:nowrap !important;
  display:block !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  line-height:1.15 !important;
  font-size:var(--ds-fit, clamp(20px, calc((var(--ds-height) - 240px) / 14), 56px)) !important;
}
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title a{
  display:inline !important;
  white-space:nowrap !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:var(--ds-weight) !important;
  color:var(--ds-text) !important;
  -webkit-text-fill-color:var(--ds-text) !important;
  -webkit-text-stroke:0 !important;
  text-decoration:none !important;
  pointer-events:auto;
}

/* 4. While one panel is open, the other strips keep the outlined title */
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) .antra-list-wrapper.has-open li.antra-item:not(.is-open) .project-loop-title a{
  color:transparent !important;
  -webkit-text-fill-color:transparent !important;
  -webkit-text-stroke:1px var(--ds-text) !important;
}

/* Responsive sizes for the boosted title */
@media (max-width:1200px){
  :is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title{
    font-size:clamp(18px, calc((var(--ds-height) - 240px) / 16), 44px) !important;
  }
}
@media (max-width:767px){
  :is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open) .project-loop-title{
    font-size:clamp(14px, calc((var(--ds-height) - 120px) / 20), 24px) !important;
  }
}


/* ==========================================================
   HOVER ZOOM - image zooms gently on hover (no text, no expand).
   Click 1 = panel opens full width, click 2 = project page.
   Hover zoom only where a real mouse exists (not on touch screens).
   ========================================================== */

/* smooth zoom, image never leaves its panel */
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item figure,
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item .project-transition{
  overflow:hidden !important;
}
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item img{
  transition:transform .9s cubic-bezier(.22,.61,.36,1) !important;
  will-change:transform;
}

@media (hover:hover){
  /* closed panel: zoom in while the mouse is over it */
  :is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item:not(.is-open):hover img{
    transform:scale(1.08) !important;
  }
  /* open panel: a little extra zoom on hover */
  :is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open:hover img{
    transform:scale(1.08) !important;
  }
}

/* open panel at rest: slight zoom (full image look) */
:is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item.is-open img{
  transform:scale(1.04) !important;
}

@media (prefers-reduced-motion:reduce){
  :is(#page, body) :is(.ds-panel, .dsh-panel, .dsr-panel) li.antra-item img{
    transition:none !important;
  }
}/* End custom CSS */