/* v0.7.4: About modules preserve the site/Divi font family everywhere. The module itself does not choose a typeface. */
/* Factory About Element — isolated styles, safe full-bleed geometry. */
.fpm-about{
  position:relative;
  width:100%;max-width:100%;min-width:0;
  padding:var(--fpm-about-pad-top,58px) 0 var(--fpm-about-pad-bottom,64px);
  background:var(--fpm-about-bg,#fff);
  overflow:visible;
  isolation:isolate;
  box-sizing:border-box;
  font-family:inherit!important;
}
.fpm-about,.fpm-about *{box-sizing:border-box;min-width:0}
.fpm-about img,.fpm-about svg{max-width:100%}
.fpm-about-wrap{position:relative;z-index:2;width:min(var(--fpm-about-max,1320px),90%);margin:0 auto;max-width:100%}

/* Header: same visual language as Showcase, using measured client-width geometry. */
.fpm-about-header{position:relative;z-index:3;margin:0 0 var(--fpm-about-header-gap,52px);max-width:100%;min-width:0;overflow:visible}
.fpm-about-header-inner{position:relative;z-index:2;width:100%}
.fpm-about-header h2{margin:0 0 var(--fpm-about-header-text-gap,8px)!important;padding:0!important;color:var(--fpm-about-header-title,#fff)!important;font-size:var(--fpm-about-header-title-size,44px)!important;font-weight:var(--fpm-about-header-title-weight,700)!important;line-height:var(--fpm-about-header-title-lh,1.12)!important;overflow-wrap:anywhere}
.fpm-about-header p{margin:0!important;padding:0!important;color:var(--fpm-about-header-sub,#fff)!important;font-size:var(--fpm-about-header-sub-size,16px)!important;font-weight:var(--fpm-about-header-sub-weight,400)!important;line-height:var(--fpm-about-header-sub-lh,1.65)!important;overflow-wrap:anywhere}
.fpm-about-header.is-band_ltr,.fpm-about-header.is-band_rtl{min-height:var(--fpm-about-header-h,82px);display:flex;align-items:center;padding:var(--fpm-about-header-pad-y,13px) var(--fpm-about-header-pad-x,24px)}
.fpm-about-header.is-band_ltr::before,.fpm-about-header.is-band_rtl::before{content:"";position:absolute;top:0;bottom:0;width:var(--fpm-about-band-safe,100%);max-width:var(--fpm-about-client-width,100%);background:var(--fpm-about-band,#ffb703);z-index:0;pointer-events:none}
.fpm-about-header.is-band_ltr::before{left:calc(-1 * var(--fpm-about-bleed-left,0px));clip-path:polygon(0 0,94% 0,100% 100%,0 100%)}
.fpm-about-header.is-band_rtl::before{right:calc(-1 * var(--fpm-about-bleed-right,0px));clip-path:polygon(6% 0,100% 0,100% 100%,0 100%)}
.fpm-about-header.align-left{text-align:left;direction:ltr}.fpm-about-header.align-center{text-align:center}.fpm-about-header.align-right{text-align:right;direction:rtl}
.fpm-about-header.align-auto.is-band_rtl{text-align:right;direction:rtl}.fpm-about-header.align-auto.is-band_ltr,.fpm-about-header.align-auto.is-plain{text-align:left}

/* Main two-column body. */
.fpm-about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,var(--fpm-about-image-col,48%));gap:var(--fpm-about-col-gap,54px);align-items:var(--fpm-about-v-align,center);width:100%;max-width:100%}
.fpm-about.text-right .fpm-about-grid{grid-template-columns:minmax(260px,var(--fpm-about-image-col,48%)) minmax(0,1fr)}
.fpm-about.text-right .fpm-about-visual{order:1}.fpm-about.text-right .fpm-about-copy{order:2}
.fpm-about.without-about-image .fpm-about-grid{grid-template-columns:minmax(0,1fr)!important;gap:0!important}
.fpm-about.without-about-image .fpm-about-copy{order:1!important;width:100%;max-width:100%}
.fpm-about-copy{text-align:var(--fpm-about-text-align,start);max-width:100%}
.fpm-about-eyebrow{margin:0 0 12px;color:var(--fpm-about-eyebrow,#ffb703);font-size:var(--fpm-about-eyebrow-size,13px);font-weight:var(--fpm-about-eyebrow-weight,700);letter-spacing:var(--fpm-about-eyebrow-ls,1.2px);line-height:1.4;text-transform:uppercase}
.fpm-about-content-title{margin:0 0 22px!important;padding:0!important;color:var(--fpm-about-title,#1b263b)!important;font-size:var(--fpm-about-title-size,36px)!important;font-weight:var(--fpm-about-title-weight,700)!important;line-height:var(--fpm-about-title-lh,1.25)!important;overflow-wrap:anywhere}
.fpm-about-body,.fpm-about-body p,.fpm-about-body li{color:var(--fpm-about-body,#415a77);font-size:var(--fpm-about-body-size,16px);font-weight:var(--fpm-about-body-weight,400);line-height:var(--fpm-about-body-lh,1.75)}
.fpm-about-body p{margin:0 0 16px}.fpm-about-body p:last-child{margin-bottom:0}.fpm-about-body ul,.fpm-about-body ol{padding-inline-start:1.3em;margin:16px 0}.fpm-about-body a{color:var(--fpm-about-bar-hover,#ffb703);text-decoration:underline;text-underline-offset:3px}

/* Featured-image frame derived from Factory Post Showcase. */
.fpm-about-visual{width:100%;max-width:100%;min-width:0}
.fpm-about-image-wrap{position:relative;width:100%;max-width:100%;padding:var(--fpm-about-bar-h,30px) 0;overflow:hidden;box-shadow:0 10px var(--fpm-about-shadow-blur,0px) var(--fpm-about-shadow,rgba(27,38,59,0))}
.fpm-about-image-wrap::before,.fpm-about-image-wrap::after{content:"";position:absolute;width:var(--fpm-about-bar-w,80%);height:var(--fpm-about-bar-h,30px);background:var(--fpm-about-bar,#415a77);z-index:3;pointer-events:none;transition:width var(--fpm-about-hover-duration,700ms) cubic-bezier(.42,0,.58,1),background-color var(--fpm-about-hover-duration,700ms) cubic-bezier(.42,0,.58,1)}
.fpm-about-image-wrap::before{top:calc(var(--fpm-about-bar-h,30px) * .60);right:-1px;clip-path:polygon(0 0,100% 0,100% 100%,var(--fpm-about-cut,7%) 100%)}
.fpm-about-image-wrap::after{bottom:calc(var(--fpm-about-bar-h,30px) * .60);left:-1px;clip-path:polygon(0 0,calc(100% - var(--fpm-about-cut,7%)) 0,100% 100%,0 100%)}
.fpm-about-image-wrap>img,.fpm-about-image-placeholder{display:block;width:100%;height:var(--fpm-about-img-h,430px);object-fit:var(--fpm-about-img-fit,cover);object-position:var(--fpm-about-img-pos,center center);background:#e7ebef;filter:none!important;opacity:1!important;mix-blend-mode:normal!important;transition:transform var(--fpm-about-hover-duration,700ms) ease}
.fpm-about-image-placeholder{display:grid;place-items:center;color:#415a77;font-size:50px;font-weight:300;background:linear-gradient(135deg,#eef1f4,#f8edd0)}
.fpm-about.has-image-hover .fpm-about-image-wrap:hover::before,.fpm-about.has-image-hover .fpm-about-image-wrap:hover::after{width:var(--fpm-about-bar-hover-w,100%);background:var(--fpm-about-bar-hover,#ffb703)}
.fpm-about.has-image-hover .fpm-about-image-wrap:hover>img{transform:scale(var(--fpm-about-zoom,1.05))}

/* Button. */
.fpm-about-button{display:inline-flex;align-items:center;justify-content:center;margin-top:26px;padding:var(--fpm-about-button-pad-y,12px) var(--fpm-about-button-pad-x,22px);background:var(--fpm-about-button-bg,#ffb703);color:var(--fpm-about-button-color,#1b263b)!important;font-size:var(--fpm-about-button-size,14px);font-weight:var(--fpm-about-button-weight,700);line-height:1.25;text-decoration:none!important;transition:background-color .25s ease,color .25s ease,transform .25s ease}
.fpm-about-button.is-angled{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
.fpm-about-button:hover{background:var(--fpm-about-button-hover-bg,#1b263b);color:var(--fpm-about-button-hover-color,#fff)!important;transform:translateY(-2px)}

/* Prevent long content from creating horizontal overflow. */
.fpm-about h1,.fpm-about h2,.fpm-about h3,.fpm-about h4,.fpm-about h5,.fpm-about h6,.fpm-about p,.fpm-about li,.fpm-about a{overflow-wrap:anywhere;word-break:normal}

@media(max-width:980px){
  .fpm-about-wrap{width:min(var(--fpm-about-max,1320px),92%)}
  .fpm-about-grid{grid-template-columns:1fr;gap:min(var(--fpm-about-col-gap,54px),42px)}

  /* Responsive column order. 'follow' mirrors the selected desktop order. */
  .fpm-about.mobile-follow.text-left .fpm-about-copy{order:1!important}
  .fpm-about.mobile-follow.text-left .fpm-about-visual{order:2!important}
  .fpm-about.mobile-follow.text-right .fpm-about-visual{order:1!important}
  .fpm-about.mobile-follow.text-right .fpm-about-copy{order:2!important}
  .fpm-about.mobile-text_first .fpm-about-copy{order:1!important}
  .fpm-about.mobile-text_first .fpm-about-visual{order:2!important}
  .fpm-about.mobile-image_first .fpm-about-visual{order:1!important}
  .fpm-about.mobile-image_first .fpm-about-copy{order:2!important}

  .fpm-about-header h2{font-size:min(var(--fpm-about-header-title-size,44px),36px)!important}
}
@media(max-width:767px){
  .fpm-about{padding-top:calc(var(--fpm-about-pad-top,58px)*.75);padding-bottom:calc(var(--fpm-about-pad-bottom,64px)*.75)}
  .fpm-about-wrap{width:min(var(--fpm-about-max,1320px),94%)}
  .fpm-about-header.is-band_ltr,.fpm-about-header.is-band_rtl{padding:10px 14px}
  .fpm-about-header h2{font-size:min(var(--fpm-about-header-title-size,44px),30px)!important}
  .fpm-about-content-title{font-size:min(var(--fpm-about-title-size,36px),30px)!important}
  .fpm-about-image-wrap>img,.fpm-about-image-placeholder{height:min(var(--fpm-about-img-h,430px),360px)}
}
@media(prefers-reduced-motion:reduce){
  .fpm-about-image-wrap::before,.fpm-about-image-wrap::after,.fpm-about-image-wrap>img,.fpm-about-button{transition:none!important}
}


/* v0.11.2 Responsive spacing controls */
@media (max-width:980px){
 .fpm-about{padding-top:var(--fpm-about-tablet-pad-top,42px);padding-bottom:var(--fpm-about-tablet-pad-bottom,46px)}
 .fpm-about-header{margin-bottom:var(--fpm-about-tablet-header-gap,36px)}
 .fpm-about-grid{gap:var(--fpm-about-tablet-col-gap,30px)}
}
@media (max-width:767px){
 .fpm-about{padding-top:var(--fpm-about-mobile-pad-top,28px);padding-bottom:var(--fpm-about-mobile-pad-bottom,30px)}
 .fpm-about-header{margin-bottom:var(--fpm-about-mobile-header-gap,24px)}
 .fpm-about-grid{gap:var(--fpm-about-mobile-col-gap,22px)}
 .fpm-about-visual{margin-bottom:var(--fpm-about-mobile-image-gap,24px)}
}


/* v0.11.3: force the desktop RTL text-side grid override to release on mobile/tablet. */
@media(max-width:980px){
  .fpm-about.text-right .fpm-about-grid,
  .fpm-about.text-left .fpm-about-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .fpm-about.text-right .fpm-about-copy,
  .fpm-about.text-right .fpm-about-visual,
  .fpm-about.text-left .fpm-about-copy,
  .fpm-about.text-left .fpm-about-visual{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
}
@media(max-width:767px){
  .fpm-about .fpm-about-grid{
    display:flex!important;
    flex-direction:column;
    gap:var(--fpm-about-mobile-col-gap,22px)!important;
  }
  .fpm-about .fpm-about-copy,
  .fpm-about .fpm-about-visual{
    flex:0 0 auto!important;
    order:initial;
  }
}
