/* Fix edge-clipped hero image on service/solution pages */
.elementor-element-0de3264 > .elementor-container {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
}
@media (max-width: 1024px) {
    .elementor-element-0de3264 > .elementor-container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Soften ultra-bold (900) section headings on service/solution pages */
.elementor-widget-text-editor h4 strong,
.elementor-widget-text-editor h4 {
    font-weight: 600;
}

/* Make MORE toggle buttons teal */
a.elementor-toggle-title { color: #437884 !important; }

/* Remove unintended dot bullets from nav menu (bug fix: global "ul li::before" rule was leaking into the header nav) */
.elementor-nav-menu li::before {
	  content: none !important;
}

/* ============================================================
   BLOG ARCHIVE — page canvas
   Card/grid styling now lives in the "Blog Archive 2026"
   Elementor template (Page Settings > Custom CSS).
   ============================================================ */
body.blog, body.archive, body.search{background:#FBF9F5;}

/* ============================================================
   FEATURED HERO — newest post, blog index page 1 only
   Makes the first card span the grid and lay out side-by-side.
   Delete this block to return every card to the same size.
   ============================================================ */
@media (min-width:1025px){
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child{grid-column:1 / -1;}
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__card{
    display:grid;grid-template-columns:1fr 1.05fr;grid-template-rows:1fr auto;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__thumbnail__link{
    grid-column:2;grid-row:1 / 3;height:100%;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__thumbnail{
    padding-bottom:0 !important;height:100% !important;min-height:440px;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__text{
    grid-column:1;grid-row:1;align-self:end;flex:0 0 auto !important;padding:56px 52px 0 !important;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__title{
    font-size:34px !important;line-height:1.16 !important;margin-bottom:14px !important;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__excerpt p{
    font-size:16px !important;-webkit-line-clamp:4;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__meta-data{
    grid-column:1;grid-row:2;align-self:start;border-top:0 !important;padding:16px 52px 56px !important;margin-top:0;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__card:hover{transform:none;}

  /* image must fill the hero panel — override Elementor's centring transform */
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__thumbnail img{
    position:absolute;top:0;left:0;transform:none;
    width:100%;height:100%;max-width:none;object-fit:cover;
  }
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child:hover .elementor-post__thumbnail img{
    transform:scale(1.045);
  }
  /* category badge sits on the image, not the text panel */
  body.blog:not(.paged) .elementor-grid > .elementor-grid-item:first-child .elementor-post__badge{
    top:auto !important;bottom:22px !important;left:auto !important;right:22px !important;
    margin:0 !important;font-size:10.8px !important;letter-spacing:1.26px !important;padding:6.5px 13px !important;
  }

}