/*
 * Factory Industrial Elements — Source Fidelity layer v0.6.0
 * Calibrated against the supplied Production Factory Pro MHTML.
 * IMPORTANT: isolated to .fpmx modules; does not touch .fpm-showcase.
 */
.fpmx{
  font-family:var(--fpmx-body-font,Montserrat,sans-serif);
  background-color:var(--fpmx-bg,#fff);
  background-image:linear-gradient(var(--fpmx-overlay,rgba(0,0,0,0)),var(--fpmx-overlay,rgba(0,0,0,0))),var(--fpmx-bg-image,none);
  background-size:var(--fpmx-bg-size,cover);
  background-position:var(--fpmx-bg-position,center center);
  background-repeat:no-repeat;
  overflow:hidden;
}
.fpmx-wrap{width:min(1320px,calc(100% - 30px));overflow:visible}
.fpmx-header{margin-bottom:var(--fpmx-header-gap,48px);min-height:0;overflow:visible}
.fpmx-header h2{font-family:var(--fpmx-title-font,Montserrat,sans-serif);font-size:var(--fpmx-title-size,28px);font-weight:var(--fpmx-title-weight,600);line-height:1.2;margin:0 0 var(--fpmx-title-gap,10px)}
.fpmx-header p{font-family:var(--fpmx-sub-font,Montserrat,sans-serif);font-size:var(--fpmx-sub-size,20px);font-weight:var(--fpmx-sub-weight,500);line-height:1.45;margin:0}

/* Exact reference-style full-bleed yellow header band: solid body + outer extension + triangular nose. */
.fpmx-header-band{width:var(--fpmx-band-width,44%);min-height:var(--fpmx-band-height,84px);padding:20px 0;background:var(--fpmx-band,#ffb703);overflow:visible;display:flex;align-items:center;position:relative}
.fpmx-header-band::before,.fpmx-header-band::after{content:"";position:absolute;top:0;bottom:0;background:var(--fpmx-band,#ffb703);pointer-events:none;z-index:0}
.fpmx-header-band.fpmx-band-left::before{left:0;width:82%;transform:translateX(calc(0% - var(--fpmx-band-extension,70%)));clip-path:none}
.fpmx-header-band.fpmx-band-left::after{right:0;width:var(--fpmx-band-tip,90px);transform:translateX(calc(var(--fpmx-band-tip,90px) - 1px));clip-path:polygon(0 0,0 100%,100% 0)}
.fpmx-header-band.fpmx-band-right::before{right:0;left:auto;width:82%;transform:translateX(var(--fpmx-band-extension,70%));clip-path:none}
.fpmx-header-band.fpmx-band-right::after{left:0;right:auto;width:var(--fpmx-band-tip,90px);transform:translateX(calc(1px - var(--fpmx-band-tip,90px)));clip-path:polygon(100% 0,100% 100%,0 0)}
.fpmx-header-band .fpmx-header-inner{z-index:1}

/* Source animation timing: theme uses 2s wow/animate.css transitions. */
[data-fpmx-animate].fpmx-inview{animation-duration:var(--fpmx-duration,2000ms);animation-timing-function:ease}

/* ========================================================
   WHY INDUSTRY LEADERS CHOOSE US
   Source: 40/60 layout, 510x687 image, 70px icons,
   progressive 345/430/509/586/664px yellow bars + 75px wedge.
   ======================================================== */
.fpmx-why{--fpmx-title:#fff;--fpmx-subtitle:#fff;--fpmx-body:#fff}
.fpmx-why .fpmx-header{margin-bottom:24px}
.fpmx-why-grid{grid-template-columns:var(--fpmx-image-col,40%) minmax(0,1fr);gap:32px;align-items:center}
.fpmx-why-image{align-self:end}
.fpmx-why-image img,.fpmx-why-image .fpmx-image-placeholder{width:100%;height:auto;min-height:0;aspect-ratio:510/687;object-fit:cover}
.fpmx-why-image:hover img{animation:fpmxRefPulse 1s ease infinite}
.fpmx-choices{gap:var(--fpmx-feature-gap,20px);align-items:flex-start;padding-left:var(--fpmx-feature-wedge,75px)}
.fpmx-choice-bar{width:min(var(--bar-w,100%),100%);min-height:var(--fpmx-feature-h,100px);padding:15px 20px;gap:18px;transition:none}
.fpmx-choice-wedge{left:calc(1px - var(--fpmx-feature-wedge,75px));width:var(--fpmx-feature-wedge,75px);clip-path:polygon(100% 0,0 100%,100% 100%)}
.fpmx-choice-bar h3{font-family:Montserrat,sans-serif;font-size:24px;font-weight:600;line-height:1.25;color:var(--fpmx-feature-text,#1b263b)}
.fpmx-feature-icon{width:70px;height:70px;flex:0 0 70px}
.fpmx-choice-bar:hover{transform:none}
.fpmx-choice-bar:hover .fpmx-feature-icon{animation:fpmxRefPulse 1s ease infinite}
@keyframes fpmxRefPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.055)}}

/* ========================================================
   MANUFACTURING PROCESS
   Exact U-shaped masks derived from source upper/bottom SVG geometry.
   ======================================================== */
.fpmx-process .fpmx-header-band{width:var(--fpmx-band-width,44%);margin-bottom:88px}
.fpmx-process-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--fpmx-step-gap,22px);min-height:530px;align-items:start}
.fpmx-step.is-bottom{padding-top:var(--fpmx-step-offset,170px)}
.fpmx-step-text{position:relative;font-family:Montserrat,sans-serif}
.fpmx-step-text h3{font-size:20px;font-weight:600;color:var(--fpmx-dark);margin:0 0 14px}
.fpmx-step-text p{font-size:15px;font-weight:400;line-height:20px;color:var(--fpmx-body);margin:0}
.fpmx-step.is-top .fpmx-step-text{margin-bottom:50px}
.fpmx-step.is-bottom .fpmx-step-text{margin-top:50px}
.fpmx-step.is-top .fpmx-step-text::after,.fpmx-step.is-bottom .fpmx-step-text::before{content:"";position:absolute;left:0;right:0;margin:auto;width:15px;height:15px;border-radius:50%}
.fpmx-step.is-top .fpmx-step-text::after{bottom:-30px;background:var(--fpmx-accent)}
.fpmx-step.is-bottom .fpmx-step-text::before{top:-30px;background:var(--fpmx-dark)}
.fpmx-step-arc{height:138px;border:0!important;border-radius:0!important;position:relative;overflow:visible;background:transparent}
.fpmx-step-arc::before{content:"";position:absolute;inset:0;background:var(--fpmx-dark);-webkit-mask:url("data:image/svg+xml,%3Csvg%20width%3D%22287%22%20height%3D%22138%22%20viewBox%3D%220%200%20287%20138%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M272.784%20137.5C280.585%20137.5%20286.988%20131.157%20286.155%20123.4C282.793%2092.1137%20268.318%2062.714%20244.92%2040.2728C218.034%2014.4866%20181.569%200%20143.547%200C105.525%200%2069.0603%2014.4865%2042.1746%2040.2728C18.7765%2062.714%204.30157%2092.1137%200.939924%20123.4C0.106498%20131.157%206.50892%20137.5%2014.3103%20137.5C22.1116%20137.5%2028.3391%20131.148%2029.3759%20123.415C32.6054%2099.3298%2044.0544%2076.7891%2062.1512%2059.4324C83.7388%2038.7276%20113.018%2027.0958%20143.547%2027.0958C174.077%2027.0958%20203.356%2038.7276%20224.943%2059.4324C243.04%2076.7891%20254.489%2099.3299%20257.719%20123.415C258.755%20131.148%20264.983%20137.5%20272.784%20137.5Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20width%3D%22287%22%20height%3D%22138%22%20viewBox%3D%220%200%20287%20138%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M272.784%20137.5C280.585%20137.5%20286.988%20131.157%20286.155%20123.4C282.793%2092.1137%20268.318%2062.714%20244.92%2040.2728C218.034%2014.4866%20181.569%200%20143.547%200C105.525%200%2069.0603%2014.4865%2042.1746%2040.2728C18.7765%2062.714%204.30157%2092.1137%200.939924%20123.4C0.106498%20131.157%206.50892%20137.5%2014.3103%20137.5C22.1116%20137.5%2028.3391%20131.148%2029.3759%20123.415C32.6054%2099.3298%2044.0544%2076.7891%2062.1512%2059.4324C83.7388%2038.7276%20113.018%2027.0958%20143.547%2027.0958C174.077%2027.0958%20203.356%2038.7276%20224.943%2059.4324C243.04%2076.7891%20254.489%2099.3299%20257.719%20123.415C258.755%20131.148%20264.983%20137.5%20272.784%20137.5Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.fpmx-step.is-bottom .fpmx-step-arc::before{background:var(--fpmx-accent);-webkit-mask:url("data:image/svg+xml,%3Csvg%20width%3D%22286%22%20height%3D%22138%22%20viewBox%3D%220%200%20286%20138%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.8284%200.500183C6.02948%200.500183%20-0.370941%206.84085%200.461975%2014.5952C3.82275%2045.8836%2018.2979%2075.285%2041.6971%2097.7272C68.5828%20123.513%20105.048%20138%20143.07%20138C181.092%20138%20217.557%20123.513%20244.442%2097.7272C267.842%2075.285%20282.317%2045.8836%20285.677%2014.5952C286.51%206.84088%20280.11%200.500198%20272.311%200.500198C264.512%200.500198%20258.286%206.85049%20257.25%2014.5803C254.022%2038.6697%20242.571%2061.2142%20224.472%2078.5735C202.883%2099.2798%20173.601%20110.913%20143.07%20110.913C112.538%20110.913%2083.2567%2099.2798%2061.6675%2078.5735C43.5681%2061.2142%2032.1178%2038.6697%2028.8891%2014.5803C27.853%206.85048%2021.6273%200.500183%2013.8284%200.500183Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg%20width%3D%22286%22%20height%3D%22138%22%20viewBox%3D%220%200%20286%20138%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M13.8284%200.500183C6.02948%200.500183%20-0.370941%206.84085%200.461975%2014.5952C3.82275%2045.8836%2018.2979%2075.285%2041.6971%2097.7272C68.5828%20123.513%20105.048%20138%20143.07%20138C181.092%20138%20217.557%20123.513%20244.442%2097.7272C267.842%2075.285%20282.317%2045.8836%20285.677%2014.5952C286.51%206.84088%20280.11%200.500198%20272.311%200.500198C264.512%200.500198%20258.286%206.85049%20257.25%2014.5803C254.022%2038.6697%20242.571%2061.2142%20224.472%2078.5735C202.883%2099.2798%20173.601%20110.913%20143.07%20110.913C112.538%20110.913%2083.2567%2099.2798%2061.6675%2078.5735C43.5681%2061.2142%2032.1178%2038.6697%2028.8891%2014.5803C27.853%206.85048%2021.6273%200.500183%2013.8284%200.500183Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E") center/100% 100% no-repeat}
.fpmx-step-icon{width:var(--fpmx-step-icon,148px);height:var(--fpmx-step-icon,148px);background:transparent!important;color:var(--fpmx-dark);z-index:2;overflow:visible}
.fpmx-step-icon img{width:100%;height:100%;object-fit:contain}
.fpmx-step-icon span{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#fff;border:4px solid currentColor}

/* ========================================================
   REAL-WORLD IMPACT — header belongs to first column in source.
   ======================================================== */
.fpmx-impact{--fpmx-title:#fff;--fpmx-subtitle:#fff;--fpmx-body:#fff}
.fpmx-impact .fpmx-header{margin-bottom:80px}
.fpmx-impact-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:70px;align-items:start}
.fpmx-impact-column-after{padding-top:calc(var(--fpmx-title-size,28px) * 1.2 + var(--fpmx-sub-size,20px) * 1.45 + 80px)}
.fpmx-impact-image{overflow:visible}
.fpmx-impact-image img,.fpmx-impact-image .fpmx-image-placeholder{height:var(--fpmx-impact-img-h,350px);object-fit:cover;transition:3s ease}
.fpmx-impact-image h3{left:auto;right:-1px;top:-30px;bottom:auto;width:75%;height:60px;padding:0 22px;display:flex;align-items:center;justify-content:center;text-align:center;font:600 20px/1.2 Montserrat,sans-serif;clip-path:polygon(100% 100%,50% 100%,25% 100%,12.5% 100%,6.506% 100%,0 0,100% 0);transition:width .8s ease}
.fpmx-impact-image::after{content:"";position:absolute;left:0;bottom:-30px;width:75%;height:60px;background:var(--fpmx-impact-label,#ffb703);clip-path:polygon(0 0,50% 0,75% 0,87.5% 0,93.495% 0,100% 100%,0 100%);transition:width .8s ease;z-index:1}
.fpmx-impact-card:hover .fpmx-impact-image h3,.fpmx-impact-card:hover .fpmx-impact-image::after{width:100%}
.fpmx-impact-card:nth-child(1) .fpmx-impact-image img{animation:fpmxImpactFade 3s ease infinite alternate}
.fpmx-impact-column-after .fpmx-impact-image img{animation:fpmxImpactFade 3s ease 3s infinite alternate}
@keyframes fpmxImpactFade{from{transform:scale(1);filter:grayscale(1)}to{transform:scale(1.12);filter:none}}
.fpmx-impact-copy{margin-top:56px;color:#fff;font-family:Montserrat,sans-serif}
.fpmx-impact-copy p{font-size:16px;font-weight:500;line-height:27px}
.fpmx-impact-copy ul{padding-left:24px;margin:0}
.fpmx-impact-copy li{font-size:16px;font-weight:500;line-height:27px;color:#fff}
.fpmx-impact-arrow{top:48%;width:120px;pointer-events:none}
.fpmx-impact-arrow-css{background:transparent;color:var(--fpmx-accent);box-shadow:none;font-size:64px}

/* ========================================================
   CAROUSEL CHROME — source-like square arrows at the sides.
   ======================================================== */
.fpmx-carousel{overflow:visible}
.fpmx-carousel-window{overflow:hidden}
.fpmx-carousel-controls{margin-top:22px;min-height:48px;position:relative}
.fpmx-carousel-controls .fpmx-prev,.fpmx-carousel-controls .fpmx-next{position:absolute;top:-190px;width:48px;height:48px;border:4px solid currentColor;background:#fff;color:var(--fpmx-dark);font-size:32px;font-weight:500;padding:0;display:grid;place-items:center}
.fpmx-carousel-controls .fpmx-prev{left:-62px}.fpmx-carousel-controls .fpmx-next{right:-62px;color:var(--fpmx-accent)}
.fpmx-carousel-controls button:hover{background:#fff;color:var(--fpmx-accent);border-color:currentColor}
.fpmx-dots{justify-content:center}

/* ========================================================
   DRIVEN BY VISION — reference card proportions/corner accents.
   ======================================================== */
.fpmx-leadership .fpmx-header-band{width:var(--fpmx-band-width,65%);margin-bottom:88px}
.fpmx-leader-carousel .fpmx-carousel-track{transform-origin:center}
.fpmx-leader-card{position:relative;border:0;background:transparent;padding:0;min-height:339px;overflow:visible}
.fpmx-leader-card::before,.fpmx-leader-card::after{content:"";position:absolute;width:200px;height:200px;z-index:0;transition:.8s ease;pointer-events:none}
.fpmx-leader-card::before{left:0;bottom:0;border-left:7px solid var(--fpmx-dark);border-bottom:7px solid var(--fpmx-dark)}
.fpmx-leader-card::after{right:0;top:0;border-right:7px solid transparent;border-top:7px solid transparent}
.fpmx-leader-card.is-active-visible::before{visibility:hidden}
.fpmx-leader-card.is-active-visible::after{border-right-color:var(--fpmx-accent);border-top-color:var(--fpmx-accent)}
.fpmx-leader-card>div{position:relative;z-index:1}
.fpmx-leader-card{display:grid;grid-template-columns:var(--fpmx-portrait,45%) 1fr;align-items:center}
.fpmx-leader-img,.fpmx-leader-copy{border-top:2px solid var(--fpmx-card-border,#1b263b);border-bottom:2px solid var(--fpmx-card-border,#1b263b);background:var(--fpmx-card-bg,#fff);min-height:339px}
.fpmx-leader-img{border-left:2px solid var(--fpmx-card-border,#1b263b);padding:10px 0 10px 10px;display:flex;align-items:center}
.fpmx-leader-copy{border-right:2px solid var(--fpmx-card-border,#1b263b);padding:26px 24px;display:flex;flex-direction:column;justify-content:center}
.fpmx-leader-card.is-active-visible .fpmx-leader-img,.fpmx-leader-card.is-active-visible .fpmx-leader-copy{border-color:var(--fpmx-accent)}
.fpmx-leader-img img,.fpmx-leader-img .fpmx-image-placeholder{width:100%;height:319px;object-fit:cover}
.fpmx-leader-copy h3{font:600 20px/1.3 Montserrat,sans-serif;margin:0 0 15px;color:var(--fpmx-dark)}
.fpmx-leader-copy h4{font:500 16px/1.3 Montserrat,sans-serif;margin:0 0 15px;color:var(--fpmx-dark)}
.fpmx-leader-copy p{font:400 15px/20px Montserrat,sans-serif;margin:0;color:var(--fpmx-body)}
.fpmx-leader-card:hover .fpmx-leader-img,.fpmx-leader-card:hover .fpmx-leader-copy{background:rgba(255,184,3,.337)}

/* ========================================================
   WHAT OUR CLIENTS SAY — exact floating avatar/title/rating geometry.
   ======================================================== */
.fpmx-clients{--fpmx-title:#fff;--fpmx-subtitle:#fff}
.fpmx-clients .fpmx-header{margin-bottom:48px}
.fpmx-client-carousel .fpmx-carousel-track{padding:45px 0 40px}
.fpmx-client-card{position:relative;overflow:visible;background:var(--fpmx-client-bg,#fff);box-shadow:none;padding:32px 32px 42px;min-height:330px;transition:background-color .5s ease}
.fpmx-client-card:hover{background:var(--fpmx-client-hover,#ffeec2)}
.fpmx-client-avatar{position:absolute;top:-35px;left:15px;width:70px;height:70px;margin:0;border-radius:10px;border:2px solid #fff;z-index:3;overflow:hidden}
.fpmx-client-card h3{position:absolute;top:-20px;right:0;width:72%;height:40px;margin:0;padding:0 55px;display:flex;align-items:center;background:var(--fpmx-client-title-bg,#415a77);color:#fff;font:600 20px/1.2 Montserrat,sans-serif;clip-path:polygon(100% 100%,50% 100%,25% 100%,12.5% 100%,6.506% 100%,0 0,100% 0);transition:background-color .5s ease}
.fpmx-client-card>p{font:500 15px/20px Montserrat,sans-serif;color:#231b3b;margin:40px 0;min-height:140px}
.fpmx-rating{position:absolute;left:0;bottom:-20px;width:80%;height:40px;margin:0;padding:0 22px;background:var(--fpmx-rating-bg,#415a77);clip-path:polygon(0 0,50% 0,75% 0,87.5% 0,93.495% 0,100% 100%,0 100%);display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:16px;font:600 16px/20px Montserrat,sans-serif}
.fpmx-client-card:hover h3,.fpmx-client-card:hover .fpmx-rating{background:var(--fpmx-accent)!important}
.fpmx-client-card:hover .fpmx-client-avatar{animation:fpmxRefPulse 1s ease infinite}
.fpmx-gear{border:3px dashed rgba(65,90,119,.42);animation:none}
.fpmx-client-card:hover .fpmx-gear{animation:fpmxGear 2s linear infinite;filter:sepia(1) saturate(4)}
.fpmx-gear.g1{right:-5px;bottom:-15px;top:auto;width:36px;height:37px}.fpmx-gear.g2{right:-30px;bottom:-30px;top:auto;width:31px;height:31px}.fpmx-gear.g3{right:-29px;bottom:4px;top:auto;width:28px;height:28px}

/* ========================================================
   INSIGHTS & INNOVATIONS I
   Source geometry: 3px blue frame, 186px image, 80/83% top
   bars, 80% bottom bar, outlined yellow Read More.
   ======================================================== */
.fpmx-insights-posts .fpmx-header-band,.fpmx-insights-gallery .fpmx-header-band{width:var(--fpmx-band-width,46%);margin-bottom:64px}
.fpmx-insights-carousel .fpmx-carousel-track{padding:40px 0}
.fpmx-insight-card{position:relative;overflow:visible;background:var(--fpmx-card-bg,#fff);box-shadow:none;padding:10px 18px 25px;border:3px solid var(--fpmx-blue);transition:border-color .5s ease;z-index:1}
.fpmx-insight-card::before{content:"";position:absolute;right:-3px;top:-12px;width:80%;height:40px;background:var(--fpmx-blue);clip-path:polygon(100% 100%,50% 100%,25% 100%,12.5% 100%,6.506% 100%,0 0,100% 0);transition:.5s ease;z-index:2}
.fpmx-insight-card::after{content:"";position:absolute;bottom:-12px;left:-3px;width:80%;height:40px;background:var(--fpmx-blue);clip-path:polygon(0 0,50% 0,75% 0,87.5% 0,93.495% 0,100% 100%,0 100%);transition:.5s ease;z-index:-1}
.fpmx-insight-top-under{position:absolute;right:-4px;top:0;width:83%;height:40px;background:#fff;clip-path:polygon(100% 100%,50% 100%,25% 100%,12.5% 100%,6.506% 100%,0 0,100% 0);transition:.5s ease;z-index:1;pointer-events:none}
.fpmx-insight-image{display:block;position:relative;z-index:3;overflow:hidden;margin:0 0 32px}
.fpmx-insight-image img,.fpmx-insight-image .fpmx-image-placeholder{position:relative;width:100%;height:var(--fpmx-insight-img,186px);object-fit:cover;transform:none!important;transition:none}
.fpmx-insight-copy{padding:0;background:transparent;border:0;position:relative;z-index:1}
.fpmx-insight-copy::before,.fpmx-insight-copy::after{content:none!important}
.fpmx-insight-copy h3{font:600 20px/1.35 Montserrat,sans-serif;margin:0 0 1.4rem;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.fpmx-insight-copy h3 a{color:var(--fpmx-dark)}
.fpmx-insight-copy h3 a:hover{color:var(--fpmx-accent)}
.fpmx-insight-copy p{font:500 14px/20px Montserrat,sans-serif;color:#231b3b;margin:0 0 10px}
.fpmx-readmore{display:block;width:max-content;margin:0 0 0 auto;padding:14px 32px;border:2px solid var(--fpmx-accent);background:#fff;color:var(--fpmx-accent);font:700 14px/1 Montserrat,sans-serif;transition:.5s ease}
.fpmx-readmore:hover{background:var(--fpmx-accent);color:#fff}
.fpmx-insight-card:hover{border-color:var(--fpmx-accent)}
.fpmx-insight-card:hover::before,.fpmx-insight-card:hover::after{width:95%;background:var(--fpmx-accent)}
.fpmx-insight-card:hover .fpmx-insight-top-under{width:98%}

/* ========================================================
   INSIGHTS & INNOVATIONS II — source mosaic proportions/hover.
   ======================================================== */
.fpmx-gallery{gap:20px}.fpmx-gallery-row{gap:20px;height:var(--fpmx-gallery-h,241px)}
.fpmx-gallery-cell{position:relative;overflow:hidden}
.fpmx-gallery-cell::after{content:"";position:absolute;inset:0;border:4px solid var(--fpmx-accent);opacity:0;transition:opacity .5s ease;pointer-events:none;z-index:2}
.fpmx-gallery-cell img{filter:brightness(.7);transition:1s ease}
.fpmx-gallery-cell:hover::after{opacity:1}.fpmx-gallery-cell:hover img{filter:brightness(1);transform:scale(1.2)!important}
.fpmx-gallery-cta{border-width:4px;padding:36px;background:var(--fpmx-cta-bg,#1b263b)}
.fpmx-gallery-cta h3{font:600 26px/1.3 Montserrat,sans-serif;color:#fff}.fpmx-gallery-cta h4{font:500 18px/1.4 Montserrat,sans-serif;color:#fff}
.fpmx-gallery-cta a{padding:14px 24px;background:var(--fpmx-accent);color:#fff;font:600 15px/1 Montserrat,sans-serif}

/* ========================================================
   STAY AHEAD NEWSLETTER — 150px strip + exact clipped CF7 form.
   ======================================================== */
.fpmx-newsletter{min-height:150px;padding:30px 0;--fpmx-title:#fff;--fpmx-subtitle:#fff}
.fpmx-newsletter-row{grid-template-columns:1fr 1fr;gap:48px;min-height:90px}
.fpmx-newsletter .fpmx-header{margin:0}
.fpmx-newsletter .fpmx-header h2{font-size:30px}.fpmx-newsletter .fpmx-header p{font-size:20px}
.fpmx-newsletter-form form,.fpmx-newsletter-form form p{width:95%;margin-left:auto;display:flex;align-items:stretch}
.fpmx-native-form input,.fpmx-shortcode-form input[type=email],.fpmx-shortcode-form input[type=text]{border:0;border-radius:0;outline:0;font:400 16px/1.2 Montserrat,sans-serif;padding:17px 45px 17px 25px;background:var(--fpmx-input-bg,#fff);clip-path:polygon(92.009% 100%,0 100%,0 0,100% 0,90% 100%)}
.fpmx-native-form button,.fpmx-shortcode-form input[type=submit],.fpmx-shortcode-form button{border:0;outline:0;background:var(--fpmx-button-bg,#ffb703);color:var(--fpmx-button-color,#fff);padding:15px 25px 15px 55px;font:500 18px/1.2 Montserrat,sans-serif;clip-path:polygon(100% 100%,0 100%,20% 0,25% 0,50% 0,100% 0);margin-left:-28px}
.fpmx-newsletter.is-clipped .fpmx-native-form input,.fpmx-newsletter.is-clipped .fpmx-shortcode-form input[type=email]{clip-path:polygon(92.009% 100%,0 100%,0 0,100% 0,90% 100%);padding-right:45px}
.fpmx-newsletter.is-clipped .fpmx-native-form button,.fpmx-newsletter.is-clipped .fpmx-shortcode-form input[type=submit]{clip-path:polygon(100% 100%,0 100%,20% 0,25% 0,50% 0,100% 0);margin-left:-28px;padding-left:55px}

/* ========================================================
   FROM WORKSHOP TO INDUSTRY LEADER — source tabs + decorated image.
   ======================================================== */
.fpmx-workshop .fpmx-header-band{width:var(--fpmx-band-width,44%);margin-bottom:44px;padding-top:15px;padding-bottom:15px}
.fpmx-tab-buttons{gap:0;margin-bottom:40px;align-items:center}
.fpmx-tab-btn{position:relative;width:202px;height:44px;padding:0;border:1px solid var(--fpmx-accent);background:var(--fpmx-accent);clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);font:600 15px/1 Montserrat,sans-serif;color:var(--fpmx-dark);display:grid;place-items:center}
.fpmx-tab-btn::before{content:"";position:absolute;inset:2px;background:var(--fpmx-tab-bg,#fff);clip-path:inherit;z-index:-1}
.fpmx-tab-btn.is-active{background:var(--fpmx-accent);color:var(--fpmx-tab-active-text,#1b263b)}
.fpmx-tab-btn.is-active::before{background:var(--fpmx-tab-active,#ffb703)}
.fpmx-tab-panel{grid-template-columns:1fr 1fr;gap:50px;align-items:end}
.fpmx-tab-image{position:relative;margin-top:33px;margin-bottom:33px;overflow:visible}
.fpmx-tab-image::before,.fpmx-tab-image::after{content:"";position:absolute;height:65px;width:80%;background:var(--fpmx-blue);z-index:2;transition:.8s cubic-bezier(.42,0,.58,1);pointer-events:none}
.fpmx-tab-image::before{top:-33px;right:-1px;clip-path:polygon(100% 100%,50% 100%,25% 100%,12.5% 100%,6.506% 100%,0 0,100% 0)}
.fpmx-tab-image::after{bottom:-33px;left:-1px;clip-path:polygon(0 0,50% 0,75% 0,87.5% 0,93.494% 0,100% 100%,0 100%)}
.fpmx-tab-image:hover::before,.fpmx-tab-image:hover::after{width:100%;background:var(--fpmx-accent)}
.fpmx-tab-image img,.fpmx-tab-image .fpmx-image-placeholder{height:var(--fpmx-tab-img-h,570px);object-fit:cover}
.fpmx-tab-copy h3{font:600 28px/1.35 Montserrat,sans-serif;color:var(--fpmx-dark);margin:0 0 24px}
.fpmx-tab-copy ul{padding-left:24px;margin:0;font:500 24px/48px Montserrat,sans-serif;color:var(--fpmx-dark)}
.fpmx-tab-copy a{display:inline-block;margin-top:22px;padding:14px 24px;background:var(--fpmx-accent);color:var(--fpmx-dark);font:600 15px/1 Montserrat,sans-serif}

/* Responsive calibration mirrors the supplied source: bands collapse, process becomes 3/2 columns, cards stack cleanly. */
@media(max-width:1200px){
 .fpmx-carousel-controls .fpmx-prev{left:4px}.fpmx-carousel-controls .fpmx-next{right:4px}
 .fpmx-choice-bar h3{font-size:21px}
 .fpmx-tab-copy ul{font-size:20px;line-height:38px}
}
@media(max-width:980px){
 .fpmx-header-band{width:min(var(--fpmx-band-width,70%),70%)}
 .fpmx-why-grid{grid-template-columns:1fr;gap:34px}.fpmx-why-image{order:2}.fpmx-choices{order:1;padding-left:0}.fpmx-choice-bar{width:100%!important}.fpmx-choice-wedge{display:none}
 .fpmx-process-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px;min-height:0}.fpmx-step.is-bottom{padding-top:0}.fpmx-step.is-top .fpmx-step-text,.fpmx-step.is-bottom .fpmx-step-text{margin:0 0 45px;order:0}.fpmx-step-arc{order:1!important}
 .fpmx-impact-grid{grid-template-columns:1fr;gap:70px}.fpmx-impact-column-after{padding-top:0}.fpmx-impact-arrow{display:none}
 .fpmx-client-card h3{padding:0 38px}
 .fpmx-tab-panel{gap:36px}.fpmx-tab-copy ul{font-size:18px;line-height:34px}
}
@media(max-width:767px){
 .fpmx-wrap{width:min(92%,1320px)}
 .fpmx-header-band{width:100%!important;padding:15px 18px}.fpmx-header-band::before,.fpmx-header-band::after{display:none}
 .fpmx-why .fpmx-header{text-align:center}.fpmx-why-image img,.fpmx-why-image .fpmx-image-placeholder{aspect-ratio:auto;height:auto;max-height:540px}.fpmx-choice-bar h3{font-size:18px}.fpmx-feature-icon{width:56px;height:56px;flex-basis:56px}
 .fpmx-process-row{grid-template-columns:1fr;gap:44px}.fpmx-step.is-bottom{padding-top:0}.fpmx-step-arc{max-width:286px;width:100%;margin:auto}
 .fpmx-impact-image h3{width:82%;font-size:18px}.fpmx-impact-image::after{width:82%}
 .fpmx-carousel-controls .fpmx-prev,.fpmx-carousel-controls .fpmx-next{position:static;width:44px;height:44px}.fpmx-carousel-controls{display:flex;min-height:44px}.fpmx-dots{order:2}.fpmx-prev{order:1}.fpmx-next{order:3}
 .fpmx-leader-card{grid-template-columns:1fr}.fpmx-leader-img,.fpmx-leader-copy{min-height:0;border:2px solid var(--fpmx-card-border,#1b263b)}.fpmx-leader-img{padding:10px}.fpmx-leader-copy{border-top:0}.fpmx-leader-card::before,.fpmx-leader-card::after{display:none}
 .fpmx-client-carousel .fpmx-carousel-track{padding-top:20px}.fpmx-client-card{padding:24px;min-height:0}.fpmx-client-avatar{position:static;margin:0 auto 14px}.fpmx-client-card h3{position:static;width:100%;height:auto;min-height:44px;padding:10px 18px;justify-content:center;text-align:center;clip-path:none}.fpmx-client-card>p{min-height:0;margin:22px 0}.fpmx-rating{position:static;width:100%;height:auto;clip-path:none;margin:0;padding:10px;justify-content:center}.fpmx-gear{display:none}
 .fpmx-insight-card{padding-bottom:0}.fpmx-insight-copy::before,.fpmx-insight-copy::after,.fpmx-insight-card::after{display:none}.fpmx-insight-copy{border:3px solid var(--fpmx-blue);padding:18px}.fpmx-insight-image{margin:0;transform:none}
 .fpmx-gallery-row{height:auto}.fpmx-gallery-cell{min-height:220px}
 .fpmx-newsletter-row{grid-template-columns:1fr;gap:22px}.fpmx-newsletter .fpmx-header{text-align:center}.fpmx-newsletter-form form,.fpmx-newsletter-form form p{width:100%;margin:0;flex-direction:column}.fpmx-native-form input,.fpmx-native-form button,.fpmx-shortcode-form input{clip-path:none!important;margin:0!important;padding:16px 20px!important}
 .fpmx-tab-buttons{display:grid;grid-template-columns:1fr;gap:6px}.fpmx-tab-btn{width:100%;clip-path:none}.fpmx-tab-btn::before{clip-path:none}.fpmx-tab-panel.is-active{grid-template-columns:1fr}.fpmx-tab-image img,.fpmx-tab-image .fpmx-image-placeholder{height:auto;max-height:570px}.fpmx-tab-copy ul{font-size:16px;line-height:30px}
}
@media(prefers-reduced-motion:reduce){.fpmx-why-image:hover img,.fpmx-choice-bar:hover .fpmx-feature-icon,.fpmx-impact-card .fpmx-impact-image img,.fpmx-client-card:hover .fpmx-client-avatar,.fpmx-client-card:hover .fpmx-gear{animation:none!important}}
/* ========================================================
   FINAL SOURCE-PRECISION OVERRIDES v0.6.0
   ======================================================== */
/* Keep source-style bands visible outside the internal container. */
.fpmx .fpmx-wrap,.fpmx-header-band{overflow:visible}
.fpmx-header-band .fpmx-header-inner{padding-left:0;padding-right:0}
.fpmx-header-band.fpmx-band-right .fpmx-header-inner{text-align:right}

/* Why: preserve literal progressive widths on wide screens. */
@media(min-width:1201px){.fpmx-why .fpmx-choices{justify-self:start}.fpmx-why .fpmx-choice-bar{max-width:none}}

/* Process source icon is 148x148 and arcs are 286/287x138. */
.fpmx-process .fpmx-step-arc{width:100%;max-width:287px;margin-inline:auto}
.fpmx-process .fpmx-step-icon{width:var(--fpmx-step-icon,148px);height:var(--fpmx-step-icon,148px);background:transparent!important;border-radius:50%;overflow:visible}
.fpmx-process .fpmx-step-icon img{width:100%;height:100%;object-fit:contain}

/* Leadership reference visually scales the carousel track slightly. */
.fpmx-leader-carousel .fpmx-carousel-window{padding:10px 4px;overflow:hidden;transform:scale(1.04);transform-origin:center}
.fpmx-leader-carousel .fpmx-carousel-track{transform-origin:center}
.fpmx-leader-card.is-active-visible::before{visibility:hidden;transition:none}
.fpmx-leader-card.is-active-visible{border-color:var(--fpmx-accent)}
.fpmx-leader-card.is-active-visible::after{border-right-color:var(--fpmx-accent);border-top-color:var(--fpmx-accent)}

/* Client source cards have no generic shadow and use floating geometry. */
.fpmx-client-card{box-shadow:none;overflow:visible}
.fpmx-client-carousel .fpmx-carousel-window{padding:0 4px;overflow:hidden}

/* Gallery rows use exact source proportions; prevent flex shrink distortion. */
.fpmx-gallery-row{width:100%}
.fpmx-gallery-cell.w44{flex:0 0 calc(44% - (var(--fpmx-gallery-gap,20px) * .75))}
.fpmx-gallery-cell.w16{flex:0 0 calc(16% - (var(--fpmx-gallery-gap,20px) * .75))}
.fpmx-gallery-cell.w20{flex:0 0 calc(20% - (var(--fpmx-gallery-gap,20px) * .75))}
.fpmx-gallery-row:nth-child(2) .fpmx-gallery-cell.w30{flex:0 0 calc(30% - (var(--fpmx-gallery-gap,20px) * .6667))}
.fpmx-gallery-row:nth-child(2) .fpmx-gallery-cta{flex:0 0 calc(40% - (var(--fpmx-gallery-gap,20px) * .6667))}

/* Workshop tabs: exact 202x44 outer / 197x40 inner impression. */
.fpmx-tab-btn{position:relative;width:202px;height:44px;padding:2px 3px 2px 2px;background:var(--fpmx-accent)!important;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);display:flex;align-items:center;justify-content:center;color:transparent!important}
.fpmx-tab-btn::before{content:attr(data-label);width:197px;height:40px;display:flex;align-items:center;justify-content:center;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);background:var(--fpmx-tab-bg,#fff);color:var(--fpmx-dark);font:600 14px/1 Montserrat,sans-serif}
.fpmx-tab-btn.is-active::before{background:var(--fpmx-tab-active,#ffb703);color:var(--fpmx-tab-active-text,#1b263b)}

/* Respect explicit animation switch: decorative recurring image animations are tied to content animation state via class set by PHP/JS where possible. */
@media(prefers-reduced-motion:reduce){.fpmx *{scroll-behavior:auto!important}}


/* Final responsive corrections after source-precision overrides. */
@media(max-width:980px){
  .fpmx-gallery-cell.w44,.fpmx-gallery-cell.w16,.fpmx-gallery-cell.w20,
  .fpmx-gallery-row:nth-child(2) .fpmx-gallery-cell.w30,
  .fpmx-gallery-row:nth-child(2) .fpmx-gallery-cta{flex:1 1 calc(50% - var(--fpmx-gallery-gap,20px))}
}
@media(max-width:767px){
  .fpmx-tab-btn{width:100%;height:44px;clip-path:none;padding:2px;color:transparent!important}
  .fpmx-tab-btn::before{width:100%;height:40px;clip-path:none}
  .fpmx-insight-card{padding:18px;border:3px solid var(--fpmx-blue)}
  .fpmx-insight-card::before,.fpmx-insight-card::after,.fpmx-insight-top-under{display:none}
  .fpmx-insight-image{margin:0 0 20px}
  .fpmx-gallery-cell.w44,.fpmx-gallery-cell.w16,.fpmx-gallery-cell.w20,
  .fpmx-gallery-row:nth-child(2) .fpmx-gallery-cell.w30,
  .fpmx-gallery-row:nth-child(2) .fpmx-gallery-cta{flex-basis:100%}
}
