.elementor-53 .elementor-element.elementor-element-6ac2374{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--padding-top:10px;--padding-bottom:0px;--padding-left:25px;--padding-right:25px;--z-index:999;}.elementor-53 .elementor-element.elementor-element-6ac2374:not(.elementor-motion-effects-element-type-background), .elementor-53 .elementor-element.elementor-element-6ac2374 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-53 .elementor-element.elementor-element-8d64a3b{padding:0px 0px 0px 0px;}.elementor-53 .elementor-element.elementor-element-2c9160f{--display:flex;--padding-top:8px;--padding-bottom:025px;--padding-left:025px;--padding-right:025px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-53 .elementor-element.elementor-element-b7f95c8{--grid-columns:3;--grid-row-gap:5px;--grid-column-gap:5px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-53 .elementor-element.elementor-element-b7f95c8{--grid-columns:2;}}@media(min-width:768px){.elementor-53 .elementor-element.elementor-element-6ac2374{--content-width:100%;}.elementor-53 .elementor-element.elementor-element-2c9160f{--content-width:100%;}}@media(max-width:767px){.elementor-53 .elementor-element.elementor-element-6ac2374{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:15px;--padding-bottom:0px;--padding-left:05px;--padding-right:05px;--z-index:1;}.elementor-53 .elementor-element.elementor-element-8d64a3b{z-index:100;}.elementor-53 .elementor-element.elementor-element-2c9160f{--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:5px;--padding-bottom:150px;--padding-left:05px;--padding-right:05px;--z-index:1;}.elementor-53 .elementor-element.elementor-element-b7f95c8{--grid-columns:2;--grid-row-gap:3px;z-index:1;--grid-column-gap:3px;}.elementor-53 .elementor-element.elementor-element-b7f95c8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:00px 00px 00px 00px;border-radius:0px 0px 0px 0px;}.elementor-53 .elementor-element.elementor-element-b7f95c8.elementor-element{--align-self:center;}}/* Start custom CSS for html, class: .elementor-element-8d64a3b *//* --- Filters layout (centered; small spacing between lines) --- */
.ui-filters{ margin-bottom:18px; }
.ui-row.gap{
  display:flex; justify-content:center; align-items:center;
  gap:28px; flex-wrap:wrap;
}
#ui-level2{ margin-top:5px; }

/* --- Buttons: Inter, 14px, uppercase; BLACK always; no hover/active font change --- */
.ui-btn{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; -webkit-appearance:none; appearance:none; -webkit-tap-highlight-color:transparent;
  padding:8px 0; cursor:pointer;

  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:14px; text-transform:uppercase; letter-spacing:0.04em; line-height:1;
  color:#000 !important;

  font-weight:400;                 /* fixed weight so labels never move */
  transition: opacity .15s ease;
  position:relative;               /* for underline pseudo-element */
}

/* Thin underline — positioned VERY close to the text with no layout shift */
.ui-btn::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;                        /* ← closer than before (was -3px) */
  transform:translateX(-50%);
  width:100%;
  height:1px;
  background:#000;
  opacity:0;
  transition: opacity .18s ease;
  pointer-events:none;
}
.ui-btn.active::after{ opacity:1; }

/* Child row fade when changing parent */
#ui-level2{
  opacity:1;
  transition: opacity .25s ease;
}
#ui-level2.is-fading-out{ opacity:0; }
#ui-level2.is-fading-in{ opacity:1; }

/* Grid fade (container) when swapping; per-image lazy reveal stays as you have it */
#ui-loop-grid{ transition: opacity .25s ease; will-change: opacity; }
#ui-loop-grid img.ui-lazy{
  opacity:0; transform: translateY(6px);
  transition: opacity .35s ease, transform .35s ease;
  will-change: opacity, transform;
}
#ui-loop-grid img.ui-lazy.is-visible{
  opacity:1; transform:none;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  #ui-loop-grid, #ui-level2{ transition:none; }
  #ui-loop-grid img.ui-lazy{ transition:none; }
  .ui-btn{ transition:none; }
}

/* --- Your existing styles (kept as-is; they won’t conflict) --- */
.proj-filters{ display:flex; gap:1rem; align-items:center; margin-bottom:1rem; }
.proj-filters label{ display:flex; flex-direction:column; font-size:19rem; }
.proj-filters select{ min-width:220px; }/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-b7f95c8 *//* MOBILE ONLY: keep Elementor gutter controls; safe tweaks only */
@media (max-width: 767px){

  /* Widget wrapper — don’t touch Elementor gap vars */
  .elementor-53 .elementor-element.elementor-element-b7f95c8{
    margin:0 !important;
    padding:0 !important;
  }

  /* Items: don’t add phantom spacing */
  .elementor-53 .elementor-element.elementor-element-b7f95c8 .elementor-loop-item,
  .elementor-53 .elementor-element.elementor-element-b7f95c8 .elementor-grid-item{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  /* Only reset inner spacing inside the project card, not globally */
  .elementor-53 .elementor-element.elementor-element-b7f95c8 .project-card .elementor-widget,
  .elementor-53 .elementor-element.elementor-element-b7f95c8 .project-card .elementor-widget-container{
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }

  /* Prevent baseline slivers; safe for masonry */
  .elementor-53 .elementor-element.elementor-element-b7f95c8 figure,
  .elementor-53 .elementor-element.elementor-element-b7f95c8 img{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    line-height:0 !important;
  }

  /* Optional: disable image zoom on phones */
  .elementor-53 .elementor-element.elementor-element-b7f95c8 .project-card:hover img{
    transform:none !important;
  }
}/* End custom CSS */