/* Factory shared background decoration v0.11.0
   One SVG coordinate system keeps the accent stripe exactly parallel to the
   lower edge of the side triangle at every responsive width/height. */
.fpm-side-decor{
  position:absolute;
  width:var(--fpm-side-width,24%);
  height:var(--fpm-side-height,84%);
  max-width:55%;
  max-height:100%;
  min-width:0;
  z-index:1;
  pointer-events:none;
  user-select:none;
  overflow:hidden;
  opacity:var(--fpm-side-opacity,1);
  contain:paint;
}
.fpm-side-decor.is-left{left:0;right:auto}
.fpm-side-decor.is-right{right:0;left:auto}
.fpm-side-decor.pos-center{top:50%;bottom:auto;transform:translateY(-50%)}
.fpm-side-decor.is-right.pos-center{transform:translateY(-50%) scaleX(-1)}
.fpm-side-decor.pos-top{top:0;bottom:auto;transform:none}
.fpm-side-decor.is-right.pos-top{transform:scaleX(-1)}
.fpm-side-decor.pos-bottom{top:auto;bottom:0;transform:none}
.fpm-side-decor.is-right.pos-bottom{transform:scaleX(-1)}
.fpm-side-decor-svg{display:block;width:100%;height:100%;overflow:hidden}
.fpm-side-triangle{fill:var(--fpm-side-triangle,#071b27)}
.fpm-side-accent{
  fill:none;
  stroke:var(--fpm-side-line,#ffb703);
  stroke-width:var(--fpm-side-line-thickness,12px);
  stroke-linecap:butt;
  shape-rendering:geometricPrecision;
}
/* Keep decoration behind actual module content while above the base background. */
.fpmx>.fpmx-wrap,.fpm-about>.fpm-about-wrap,.fpm-contact>.fpm-contact-wrap,.fpm-showcase>.fpm-header,.fpm-showcase>.fpm-stage,.fpm-text-element>.fpm-text-element-inner{position:relative;z-index:2}
.fpm-contact.has-side-decor>.fpm-contact-wrap{z-index:2}
.fpm-showcase>.fpm-side-decor{z-index:0}
.fpm-about>.fpm-side-decor,.fpm-contact>.fpm-side-decor,.fpmx>.fpm-side-decor,.fpm-text-element>.fpm-side-decor{z-index:1}
@media(max-width:767px){
  .fpm-side-decor.hide-mobile{display:none!important}
  .fpm-side-decor:not(.hide-mobile){width:min(var(--fpm-side-width,24%),38%)}
}
@media(prefers-reduced-motion:reduce){.fpm-side-decor{transition:none!important}}
