.elementor-3712 .elementor-element.elementor-element-f8ec8b5{--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:0px;--margin-left:0px;--margin-right:0px;--padding-top:15px;--padding-bottom:15px;--padding-left:15px;--padding-right:15px;}.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-post__thumbnail__link{padding-bottom:calc( 1.31 * 100% );}.elementor-3712 .elementor-element.elementor-element-8e49799:after{content:"1.31";position:absolute;color:transparent;}.elementor-3712 .elementor-element.elementor-element-8e49799{--grid-row-gap:15px;--grid-column-gap:15px;}.elementor-3712 .elementor-element.elementor-element-8e49799 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-3712 .elementor-element.elementor-element-8e49799 a .elementor-portfolio-item__overlay{background-color:var( --e-global-color-a6c5df0 );}.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio-item__title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(max-width:1024px){.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio-item__title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}@media(max-width:767px){.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio-item__title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}}/* Start custom CSS for portfolio, class: .elementor-element-8e49799 *//* ==== Taller tiles = less cropping (Grid skin) ==== */
.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio__image,
.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio__image a {
  display: block;
  aspect-ratio: 2 / 3;              /* was 4/5 —> try 2/3 for much more headroom */
}

/* Fallback for older browsers */
@supports not (aspect-ratio: 1) {
  .elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio__image { position: relative; }
  .elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio__image::before {
    content: ""; display: block; padding-top: 150%; /* 2/3 = 150% */
  }
  .elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio__image img { position: absolute; inset: 0; }
}

/* Keep images filling the tile, but bias the crop higher */
.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio__image img,
.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-portfolio-item .elementor-portfolio__image img,
.elementor-3712 .elementor-element.elementor-element-8e49799 .elementor-post__thumbnail img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;      /* equal tiles, no letterbox */
  object-position: 50% 12% !important; /* raise focus more (try 10–15%) */
}/* End custom CSS */
/* Start custom CSS *//* ---- Page 3712: wide 3-across portraits without cropping heads ---- */
:root {
  --portrait-w: 600px;          /* max width per portrait */
  --portrait-ratio: 600 / 703;  /* keep original proportions */
  --focus-y: 20%;               /* crop bias upward */
  --portrait-gap: 24px;         /* space between images */
}

body.page-id-3712 .elementor-widget-image-box:not(footer * ) .elementor-image-box-img,
body.page-id-3712 .elementor-widget-flip-box:not(footer * ) .elementor-flip-box {
  width: min(100%, var(--portrait-w)) !important;
  aspect-ratio: var(--portrait-ratio);
  margin: 0 auto;
  overflow: hidden;
  display: block;
}

/* Maintain face framing */
body.page-id-3712 .elementor-widget-image-box:not(footer * ) .elementor-image-box-img img,
body.page-id-3712 .elementor-widget-image:not(footer * ) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 50% var(--focus-y);
  display: block;
}

/* Flip box BG images keep same focus */
body.page-id-3712 .elementor-flip-box__front,
body.page-id-3712 .elementor-flip-box__back {
  background-size: cover;
  background-position: 50% var(--focus-y);
}

/* Force the row to fit 3 across by controlling gap and wrapping */
body.page-id-3712 .elementor-row,
body.page-id-3712 .e-con {
  display: flex;
  justify-content: center;
  gap: var(--portrait-gap);
  flex-wrap: wrap;
}/* End custom CSS */