.elementor-492 .elementor-element.elementor-element-262100db{--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;--padding-top:150px;--padding-bottom:150px;--padding-left:125px;--padding-right:125px;}.elementor-492 .elementor-element.elementor-element-262100db:not(.elementor-motion-effects-element-type-background), .elementor-492 .elementor-element.elementor-element-262100db > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://trinity-888.com/wp-content/uploads/2026/01/4477b5c4-90fc-4226-9d0a-cf2821a012c0.png");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-492 .elementor-element.elementor-element-579613ac{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-492 .elementor-element.elementor-element-1aeb18c{width:var( --container-widget-width, 375px );max-width:375px;--container-widget-width:375px;--container-widget-flex-grow:0;text-align:center;}.elementor-492 .elementor-element.elementor-element-1aeb18c.elementor-element{--align-self:center;}.elementor-492 .elementor-element.elementor-element-1aeb18c .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:32px;font-weight:300;line-height:48px;color:#FF3131;}.elementor-492 .elementor-element.elementor-element-1b4b5850.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-492 .elementor-element.elementor-element-1b4b5850{text-align:center;}.elementor-492 .elementor-element.elementor-element-1b4b5850 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:64px;font-weight:600;line-height:84px;color:#FFFFFF;}.elementor-492 .elementor-element.elementor-element-5f31943b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:75px;--padding-bottom:75px;--padding-left:150px;--padding-right:150px;}.elementor-492 .elementor-element.elementor-element-5f31943b:not(.elementor-motion-effects-element-type-background), .elementor-492 .elementor-element.elementor-element-5f31943b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-posts .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-posts .elementor-post__title, .elementor-widget-posts .elementor-post__title a{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-posts .elementor-post__meta-data{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .elementor-post__excerpt p{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-posts .elementor-post__read-more{color:var( --e-global-color-accent );}.elementor-widget-posts a.elementor-post__read-more{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-posts .elementor-post__card .elementor-post__badge{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-posts .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-posts .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-492 .elementor-element.elementor-element-65df35df{--grid-row-gap:60px;--grid-column-gap:40px;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.8 * 100% );}.elementor-492 .elementor-element.elementor-element-65df35df:after{content:"0.8";}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__thumbnail__link{width:100%;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__meta-data span + span:before{content:"•";}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__card{border-width:0px;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__title, .elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__title a{color:#1C244B;font-family:"Poppins", Sans-serif;font-size:22px;font-weight:600;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__title{margin-bottom:8px;}.elementor-492 .elementor-element.elementor-element-349b5d1b{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:30px 30px;--row-gap:30px;--column-gap:30px;--padding-top:150px;--padding-bottom:150px;--padding-left:150px;--padding-right:150px;}.elementor-492 .elementor-element.elementor-element-4f5c7918{--grid-row-gap:80px;--grid-column-gap:60px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.8 * 100% );}.elementor-492 .elementor-element.elementor-element-4f5c7918:after{content:"0.8";}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__thumbnail__link{width:100%;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__meta-data span + span:before{content:"•";}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__card{border-width:0px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__text{padding:0 0px;margin-top:20px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__meta-data{padding:10px 0px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__avatar{padding-right:0px;padding-left:0px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__title, .elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__title a{color:#1C244B;font-family:"Poppins", Sans-serif;font-size:22px;font-weight:600;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1.2em;letter-spacing:0px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__title{margin-bottom:8px;}body.elementor-page-492:not(.elementor-motion-effects-element-type-background), body.elementor-page-492 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}@media(min-width:768px){.elementor-492 .elementor-element.elementor-element-262100db{--content-width:1400px;}.elementor-492 .elementor-element.elementor-element-5f31943b{--content-width:1400px;}.elementor-492 .elementor-element.elementor-element-349b5d1b{--content-width:1520px;}}@media(max-width:1024px){.elementor-492 .elementor-element.elementor-element-262100db{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-492 .elementor-element.elementor-element-1b4b5850 .elementor-heading-title{font-size:44px;line-height:54px;}.elementor-492 .elementor-element.elementor-element-5f31943b{--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;--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-492 .elementor-element.elementor-element-349b5d1b{--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-492 .elementor-element.elementor-element-4f5c7918{--grid-row-gap:71px;}}@media(max-width:767px){.elementor-492 .elementor-element.elementor-element-262100db{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-492 .elementor-element.elementor-element-1b4b5850 .elementor-heading-title{font-size:30px;line-height:42px;}.elementor-492 .elementor-element.elementor-element-5f31943b{--padding-top:25px;--padding-bottom:25px;--padding-left:50px;--padding-right:50px;}.elementor-492 .elementor-element.elementor-element-65df35df{--grid-row-gap:30px;--grid-column-gap:30px;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-492 .elementor-element.elementor-element-65df35df:after{content:"0.5";}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__thumbnail__link{width:100%;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__title, .elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__title a{font-size:18px;}.elementor-492 .elementor-element.elementor-element-65df35df .elementor-post__title{margin-bottom:9px;}.elementor-492 .elementor-element.elementor-element-349b5d1b{--padding-top:50px;--padding-bottom:50px;--padding-left:50px;--padding-right:50px;}.elementor-492 .elementor-element.elementor-element-4f5c7918{--grid-row-gap:30px;--grid-column-gap:30px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-posts-container .elementor-post__thumbnail{padding-bottom:calc( 0.5 * 100% );}.elementor-492 .elementor-element.elementor-element-4f5c7918:after{content:"0.5";}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__thumbnail__link{width:100%;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__title, .elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__title a{font-size:18px;}.elementor-492 .elementor-element.elementor-element-4f5c7918 .elementor-post__title{margin-bottom:9px;}}/* Start custom CSS for posts, class: .elementor-element-65df35df *//* Let the card grow with content (prevents text overlay) */
.project-posts article,
.project-posts .elementor-post,
.project-posts .e-loop-item{
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: auto;      /* IMPORTANT: remove ratio from the whole card */
  height: auto;
  display: flex;           /* stack thumbnail + text */
  flex-direction: column;
}

/* Make ONLY the thumbnail area keep a ratio */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link,
.project-posts .e-loop-thumbnail{
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
  flex: 0 0 auto;
}

/* Image covers the thumbnail area */
.project-posts .elementor-post__thumbnail img,
.project-posts .e-loop-thumbnail img,
.project-posts img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Ensure the text area is BELOW the image (not absolutely positioned) */
.project-posts .elementor-post__text,
.project-posts .elementor-post__content,
.project-posts .e-loop-item .elementor-widget-container{
  position: static !important;
  flex: 1 1 auto;
}

/* If Elementor/theme is forcing an overlay via absolute positioning, kill it */
.project-posts .elementor-post__text{
  transform: none !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

/* Optional: add spacing so it looks intentional */
.project-posts .elementor-post__text{
  padding: 14px 16px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5f31943b *//* =========================================================
   PROJECT POSTS (Elementor Posts + Loop Grid)
   Add class to widget: project-posts
   NO image zoom — professional hover
   ========================================================= */

/* 1) Card base */
.project-posts article,
.project-posts .elementor-post,
.project-posts .e-loop-item {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 320px;              /* adjust */
  background: #000;

  transition: transform .25s ease, box-shadow .25s ease;
}

/* 2) Make thumbnail fill the card */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link,
.project-posts .elementor-post__thumbnail img,
.project-posts .elementor-post__thumbnail a img,
.project-posts .elementor-loop-container .e-loop-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Posts widget structure fix: ensure the thumbnail area fills */
.project-posts .elementor-post__thumbnail__link {
  display: block;
  height: 100%;
}

/* 3) Dark overlay */
.project-posts article::before,
.project-posts .elementor-post::before,
.project-posts .e-loop-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.10) 0%,
    rgba(0,0,0,0.55) 60%,
    rgba(0,0,0,0.75) 100%
  );
  z-index: 1;
  pointer-events: none;

  transition: background .25s ease;
}

/* 4) Ensure text sits above overlay */
.project-posts .elementor-post__text,
.project-posts .elementor-post__meta-data,
.project-posts .elementor-post__title,
.project-posts .elementor-post__excerpt {
  position: relative;
  z-index: 2;
}

/* Bottom-left text block */
.project-posts .elementor-post__text {
  position: absolute;
  left: 26px;
  right: 90px; /* space for arrow button */
  bottom: 22px;
  padding: 0;
}

/* Title */
.project-posts .elementor-post__title,
.project-posts .elementor-post__title a {
  color: #fff !important;
  font-weight: 700;
  margin: 0 0 8px 0;
  font-size: 20px;
  line-height: 1.15;
}

/* Meta (date) */
.project-posts .elementor-post__meta-data,
.project-posts .elementor-post__meta-data * {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500;
  font-size: 14px;
}

/* 5) Divider line above title */
.project-posts .elementor-post__text::before {
  content: "";
  display: block;
  height: 1px;
  background: rgba(255,255,255,0.65);
  margin: 0 0 14px 0;

  width: 48%;
  opacity: .7;
  transition: width .25s ease, opacity .25s ease;
}

/* 6) Hide excerpt (optional) */
.project-posts .elementor-post__excerpt {
  display: none;
}

/* =========================================================
   RED CIRCLE ARROW (uses Read More link)
   ========================================================= */

.project-posts .elementor-post__read-more {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 3;

  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: #FF3131;
  display: grid;
  place-items: center;

  /* hide text but keep link functional */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;

  box-shadow: 0 12px 26px rgba(255,49,49,0.35);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}

/* Arrow symbol */
.project-posts .elementor-post__read-more::before {
  content: "→";
  font-size: 22px;
  line-height: 1;
  color: #fff;
}

/* =========================================================
   PROFESSIONAL HOVER (NO ZOOM)
   ========================================================= */

/* Lift card */
.project-posts article:hover,
.project-posts .elementor-post:hover,
.project-posts .e-loop-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.45);
}

/* Stronger overlay on hover */
.project-posts article:hover::before,
.project-posts .elementor-post:hover::before,
.project-posts .e-loop-item:hover::before {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.65) 55%,
    rgba(0,0,0,0.85) 100%
  );
}

/* Divider line expands */
.project-posts article:hover .elementor-post__text::before,
.project-posts .elementor-post:hover .elementor-post__text::before {
  width: 100%;
  opacity: 1;
}

/* Arrow emphasis */
.project-posts article:hover .elementor-post__read-more,
.project-posts .elementor-post:hover .elementor-post__read-more,
.project-posts .e-loop-item:hover .elementor-post__read-more {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 16px 34px rgba(255,49,49,0.45);
  filter: brightness(1.03);
}

/* =========================================================
   Mobile adjustments
   ========================================================= */
@media (max-width: 767px){
  .project-posts article,
  .project-posts .elementor-post,
  .project-posts .e-loop-item{
    min-height: 260px;
    border-radius: 16px;
  }

  .project-posts .elementor-post__text{
    left: 18px;
    right: 80px;
    bottom: 18px;
  }

  .project-posts .elementor-post__read-more{
    right: 16px;
    bottom: 16px;
    width: 48px;
    height: 48px;
  }
}
/* =========================================================
   REMOVE GREY BARS (thumbnail container not filling card)
   Paste at the very bottom — does NOT modify your main code
   ========================================================= */

/* Force the thumbnail layer to fill the entire card */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link,
.project-posts .elementor-post__thumbnail a,
.project-posts .elementor-post__thumbnail img,
.project-posts .elementor-loop-container .e-loop-item .elementor-post__thumbnail,
.project-posts .elementor-loop-container .e-loop-item .elementor-post__thumbnail__link,
.project-posts .elementor-loop-container .e-loop-item img {
  height: 100% !important;
}

/* Make the thumbnail wrapper stretch full card height */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link {
  position: absolute !important;
  inset: 0 !important;
}

/* Kill any default background showing as the grey bar */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link {
  background: transparent !important;
}

/* Remove inline-image baseline gaps (can create a strip) */
.project-posts .elementor-post__thumbnail__link,
.project-posts .elementor-post__thumbnail img {
  display: block !important;
  line-height: 0 !important;
  font-size: 0 !important;
}/* End custom CSS */
/* Start custom CSS for posts, class: .elementor-element-4f5c7918 *//* Let the card grow with content (prevents text overlay) */
.project-posts article,
.project-posts .elementor-post,
.project-posts .e-loop-item{
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: auto;      /* IMPORTANT: remove ratio from the whole card */
  height: auto;
  display: flex;           /* stack thumbnail + text */
  flex-direction: column;
}

/* Make ONLY the thumbnail area keep a ratio */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link,
.project-posts .e-loop-thumbnail{
  aspect-ratio: 4 / 3;
  width: 100%;
  overflow: hidden;
  flex: 0 0 auto;
}

/* Image covers the thumbnail area */
.project-posts .elementor-post__thumbnail img,
.project-posts .e-loop-thumbnail img,
.project-posts img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Ensure the text area is BELOW the image (not absolutely positioned) */
.project-posts .elementor-post__text,
.project-posts .elementor-post__content,
.project-posts .e-loop-item .elementor-widget-container{
  position: static !important;
  flex: 1 1 auto;
}

/* If Elementor/theme is forcing an overlay via absolute positioning, kill it */
.project-posts .elementor-post__text{
  transform: none !important;
  bottom: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
}

/* Optional: add spacing so it looks intentional */
.project-posts .elementor-post__text{
  padding: 14px 16px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-349b5d1b *//* =========================================================
   PROJECT POSTS (Elementor Posts + Loop Grid)
   Add class to widget: project-posts
   NO image zoom — professional hover
   ========================================================= */

/* 1) Card base */
.project-posts article,
.project-posts .elementor-post,
.project-posts .e-loop-item {
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  min-height: 320px;              /* adjust */
  background: #000;

  transition: transform .25s ease, box-shadow .25s ease;
}

/* 2) Make thumbnail fill the card */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link,
.project-posts .elementor-post__thumbnail img,
.project-posts .elementor-post__thumbnail a img,
.project-posts .elementor-loop-container .e-loop-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Posts widget structure fix: ensure the thumbnail area fills */
.project-posts .elementor-post__thumbnail__link {
  display: block;
  height: 100%;
}

/* 3) Dark overlay */
.project-posts article::before,
.project-posts .elementor-post::before,
.project-posts .e-loop-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.10) 0%,
    rgba(0,0,0,0.55) 60%,
    rgba(0,0,0,0.75) 100%
  );
  z-index: 1;
  pointer-events: none;

  transition: background .25s ease;
}

/* 4) Ensure text sits above overlay */
.project-posts .elementor-post__text,
.project-posts .elementor-post__meta-data,
.project-posts .elementor-post__title,
.project-posts .elementor-post__excerpt {
  position: relative;
  z-index: 2;
}

/* Bottom-left text block */
.project-posts .elementor-post__text {
  position: absolute;
  left: 26px;
  right: 90px; /* space for arrow button */
  bottom: 22px;
  padding: 0;
}

/* Title */
.project-posts .elementor-post__title,
.project-posts .elementor-post__title a {
  color: #fff !important;
  font-weight: 700;
  margin: 0 0 8px 0;
  font-size: 20px;
  line-height: 1.15;
}

/* Meta (date) */
.project-posts .elementor-post__meta-data,
.project-posts .elementor-post__meta-data * {
  color: rgba(255,255,255,0.85) !important;
  font-weight: 500;
  font-size: 14px;
}

/* 5) Divider line above title */
.project-posts .elementor-post__text::before {
  content: "";
  display: block;
  height: 1px;
  background: rgba(255,255,255,0.65);
  margin: 0 0 14px 0;

  width: 48%;
  opacity: .7;
  transition: width .25s ease, opacity .25s ease;
}

/* 6) Hide excerpt (optional) */
.project-posts .elementor-post__excerpt {
  display: none;
}

/* =========================================================
   RED CIRCLE ARROW (uses Read More link)
   ========================================================= */

.project-posts .elementor-post__read-more {
  position: absolute;
  right: 22px;
  bottom: 22px;
  z-index: 3;

  width: 54px;
  height: 54px;
  border-radius: 999px;
  background: #FF3131;
  display: grid;
  place-items: center;

  /* hide text but keep link functional */
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;

  box-shadow: 0 12px 26px rgba(255,49,49,0.35);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}

/* Arrow symbol */
.project-posts .elementor-post__read-more::before {
  content: "→";
  font-size: 22px;
  line-height: 1;
  color: #fff;
}

/* =========================================================
   PROFESSIONAL HOVER (NO ZOOM)
   ========================================================= */

/* Lift card */
.project-posts article:hover,
.project-posts .elementor-post:hover,
.project-posts .e-loop-item:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 50px rgba(0,0,0,0.45);
}

/* Stronger overlay on hover */
.project-posts article:hover::before,
.project-posts .elementor-post:hover::before,
.project-posts .e-loop-item:hover::before {
  background: linear-gradient(
    180deg,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.65) 55%,
    rgba(0,0,0,0.85) 100%
  );
}

/* Divider line expands */
.project-posts article:hover .elementor-post__text::before,
.project-posts .elementor-post:hover .elementor-post__text::before {
  width: 100%;
  opacity: 1;
}

/* Arrow emphasis */
.project-posts article:hover .elementor-post__read-more,
.project-posts .elementor-post:hover .elementor-post__read-more,
.project-posts .e-loop-item:hover .elementor-post__read-more {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 16px 34px rgba(255,49,49,0.45);
  filter: brightness(1.03);
}

/* =========================================================
   Mobile adjustments
   ========================================================= */
@media (max-width: 767px){
  .project-posts article,
  .project-posts .elementor-post,
  .project-posts .e-loop-item{
    min-height: 260px;
    border-radius: 16px;
  }

  .project-posts .elementor-post__text{
    left: 18px;
    right: 80px;
    bottom: 18px;
  }

  .project-posts .elementor-post__read-more{
    right: 16px;
    bottom: 16px;
    width: 48px;
    height: 48px;
  }
}
/* =========================================================
   REMOVE GREY BARS (thumbnail container not filling card)
   Paste at the very bottom — does NOT modify your main code
   ========================================================= */

/* Force the thumbnail layer to fill the entire card */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link,
.project-posts .elementor-post__thumbnail a,
.project-posts .elementor-post__thumbnail img,
.project-posts .elementor-loop-container .e-loop-item .elementor-post__thumbnail,
.project-posts .elementor-loop-container .e-loop-item .elementor-post__thumbnail__link,
.project-posts .elementor-loop-container .e-loop-item img {
  height: 100% !important;
}

/* Make the thumbnail wrapper stretch full card height */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link {
  position: absolute !important;
  inset: 0 !important;
}

/* Kill any default background showing as the grey bar */
.project-posts .elementor-post__thumbnail,
.project-posts .elementor-post__thumbnail__link {
  background: transparent !important;
}

/* Remove inline-image baseline gaps (can create a strip) */
.project-posts .elementor-post__thumbnail__link,
.project-posts .elementor-post__thumbnail img {
  display: block !important;
  line-height: 0 !important;
  font-size: 0 !important;
}/* End custom CSS */