/* Shape Edge overlay. Independent of existing Elementor background and layout. */
.fcwidget-edge-container{position:relative}
.fcwidget-edge-container>.fcwidget-edge-shape{position:absolute;left:50%;width:100%;height:100px;
 transform:translateX(calc(-50% + var(--fcwidget-edge-offset-x,0px))) translateY(var(--fcwidget-edge-offset-y,0px));
 z-index:0;pointer-events:none;overflow:hidden;color:#00a4d8;line-height:0;box-sizing:border-box;max-width:none}
.fcwidget-edge-container>.fcwidget-edge-shape--top{top:0}
.fcwidget-edge-container>.fcwidget-edge-shape--bottom{bottom:0}
.fcwidget-edge-container>.fcwidget-edge-shape.fcwidget-edge--front{z-index:10}
.fcwidget-edge-container>.fcwidget-edge-shape>.fcwidget-edge-layer{width:var(--fcwidget-edge-draw-width,100%);height:100%;position:absolute;top:0;left:50%;display:block;transform-origin:center center;translate:-50% 0}
.fcwidget-edge-container>.fcwidget-edge-shape.fcwidget-edge--flip>.fcwidget-edge-layer{transform:scaleX(-1)}
.fcwidget-edge-container>.fcwidget-edge-shape--bottom>.fcwidget-edge-layer{transform:rotate(180deg)}
.fcwidget-edge-container>.fcwidget-edge-shape--bottom.fcwidget-edge--flip>.fcwidget-edge-layer{transform:rotate(180deg) scaleX(-1)}
.fcwidget-edge-container>.fcwidget-edge-shape.fcwidget-edge--invert>.fcwidget-edge-layer{transform:scaleY(-1)}
.fcwidget-edge-container>.fcwidget-edge-shape.fcwidget-edge--invert.fcwidget-edge--flip>.fcwidget-edge-layer{transform:scale(-1,-1)}
.fcwidget-edge-container>.fcwidget-edge-shape--bottom.fcwidget-edge--invert>.fcwidget-edge-layer{transform:none}
.fcwidget-edge-container>.fcwidget-edge-shape--bottom.fcwidget-edge--invert.fcwidget-edge--flip>.fcwidget-edge-layer{transform:scaleX(-1)}
.fcwidget-edge-container>.fcwidget-edge-shape svg path:not([fill^="url("]){fill:currentColor}
@media(prefers-reduced-motion:reduce){.fcwidget-edge-shape,.fcwidget-edge-shape *{animation:none!important;transition:none!important}}
/* Keep decorative backgrounds behind the content of native Elementor
 * Containers/Sections. "Bring to Front" intentionally overrides this layer. */
.fcwidget-edge-container > .e-con-inner,
.fcwidget-edge-container > .elementor-container { position: relative; z-index: 1; }

/* v0.0.6.25 — CSS from the supplied Three Ways section HTML.
 * These rules are strictly opt-in via Container/Section Style switches.
 */
.fcwidget-corner-container{position:relative;isolation:isolate}
.fcwidget-corner-container>.fcwidget-cbsa-corner{
 --fcwidget-corner-x:0px;--fcwidget-corner-y:0px;--fcwidget-corner-rotate:0deg;
 --fcwidget-corner-color:#53d4ff;--fcwidget-corner-hover-color:var(--fcwidget-corner-color);
 position:absolute;width:175px;height:175px;max-width:none;pointer-events:none;
 z-index:1;opacity:.24;line-height:0;
 transform:translate(var(--fcwidget-corner-x),var(--fcwidget-corner-y)) rotate(var(--fcwidget-corner-rotate));
 transition:opacity .24s ease,transform .24s ease,color .24s ease;
}
.fcwidget-cbsa-corner--top-left{top:0;left:0}
.fcwidget-cbsa-corner--top-right{top:0;right:0}
.fcwidget-cbsa-corner--bottom-left{bottom:0;left:0}
.fcwidget-cbsa-corner--bottom-right{bottom:0;right:0}
.fcwidget-corner-container>.fcwidget-cbsa-corner>.fcwidget-cbsa-corner-shape{
 width:100%;height:100%;display:flex;align-items:center;justify-content:center;
 color:var(--fcwidget-corner-color);background:var(--fcwidget-corner-color);
 border:0 solid transparent;border-radius:50%;overflow:hidden;
}
.fcwidget-corner-container:hover>.fcwidget-cbsa-corner>.fcwidget-cbsa-corner-shape{color:var(--fcwidget-corner-hover-color);background-color:var(--fcwidget-corner-hover-color)}
.fcwidget-corner-container>.fcwidget-cbsa-corner--ring>.fcwidget-cbsa-corner-shape{background:transparent;border:21px solid var(--fcwidget-corner-color)}
.fcwidget-corner-container:hover>.fcwidget-cbsa-corner--ring>.fcwidget-cbsa-corner-shape{background:transparent;border-color:var(--fcwidget-corner-hover-color)}
.fcwidget-corner-container>.fcwidget-cbsa-corner--square>.fcwidget-cbsa-corner-shape{border-radius:22%}
.fcwidget-corner-container>.fcwidget-cbsa-corner--blob>.fcwidget-cbsa-corner-shape{border-radius:53% 47% 61% 39%/41% 63% 37% 59%}
.fcwidget-corner-container>.fcwidget-cbsa-corner--triangle>.fcwidget-cbsa-corner-shape{border-radius:0;clip-path:polygon(50% 0,0 100%,100% 100%)}
.fcwidget-corner-container>.fcwidget-cbsa-corner--image>.fcwidget-cbsa-corner-shape,.fcwidget-corner-container>.fcwidget-cbsa-corner--icon>.fcwidget-cbsa-corner-shape{background:transparent}
.fcwidget-corner-container>.fcwidget-cbsa-corner--image img{display:block;width:100%;height:100%;object-fit:contain}
.fcwidget-corner-container>.fcwidget-cbsa-corner--icon i{font-size:clamp(20px,7vw,95px);color:inherit;line-height:1}
.fcwidget-corner-container>.e-con-inner,.fcwidget-corner-container>.elementor-container{position:relative;z-index:2}
/* CBSA is only a paint layer: Elementor alone owns sizing, display,
 * flex/grid direction, alignment, padding and content widths. */
.fcwidget-cbsa-section{
 --fcwidget-cbsa-bg1:#0ca9e2;--fcwidget-cbsa-bg2:#088bd2;
 position:relative;isolation:isolate;
 background:linear-gradient(129deg,var(--fcwidget-cbsa-bg1),var(--fcwidget-cbsa-bg2));
}
.fcwidget-cbsa-section.fcwidget-cbsa-dots:before{
 content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background-image:radial-gradient(rgba(255,255,255,.15) 1.1px,transparent 1.5px);
 background-size:18px 18px;opacity:.7;
}
.fcwidget-cbsa-section>.fcwidget-cbsa-section-header{
 display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.7fr);
 gap:35px;align-items:end;width:100%;max-width:1150px;margin:0 auto 30px;
 position:relative;z-index:3;color:#fff;min-height:135px;
}
.fcwidget-cbsa-section .fcwidget-cbsa-eyebrow{font-size:12px;font-weight:600;letter-spacing:.01em;line-height:1.2;margin:0 0 11px;color:#e8faff}
.fcwidget-cbsa-section .fcwidget-cbsa-heading{font-size:clamp(28px,3.05vw,48px);font-weight:800;letter-spacing:-.045em;line-height:1.05;margin:0;white-space:pre-line;color:#fff}
.fcwidget-cbsa-section .fcwidget-cbsa-intro{font-size:13px;line-height:1.45;justify-self:end;max-width:330px;margin:0 0 3px;color:#e7f8ff}
.fcwidget-cbsa-section>.fcwidget-cbsa-section-footer{
 color:#e9faff;text-align:center;font-size:12.5px;position:relative;z-index:3;
 margin:25px auto 0;max-width:1150px;width:100%;
}
.fcwidget-cbsa-section > .e-con-inner,.fcwidget-cbsa-section > .elementor-container,
.fcwidget-cbsa-section > .elementor-widget,.fcwidget-cbsa-section > .e-con{position:relative;z-index:3}
@media(max-width:860px){.fcwidget-cbsa-section>.fcwidget-cbsa-section-header{gap:25px}.fcwidget-cbsa-section .fcwidget-cbsa-heading{font-size:34px}}
@media(max-width:530px){
 .fcwidget-cbsa-section>.fcwidget-cbsa-section-header{grid-template-columns:1fr;gap:14px;margin-bottom:23px;min-height:0}
 .fcwidget-cbsa-section .fcwidget-cbsa-heading{font-size:30px}
 .fcwidget-cbsa-section .fcwidget-cbsa-eyebrow{font-size:10px;margin-bottom:8px}
 .fcwidget-cbsa-section .fcwidget-cbsa-intro{font-size:12px;max-width:100%;justify-self:start}
 .fcwidget-cbsa-section>.fcwidget-cbsa-section-footer{font-size:11px;margin-top:25px}
}
@media(prefers-reduced-motion:reduce){.fcwidget-cbsa-corner{transition:none!important}}
