/* ---- gooey custom buttons (.fl-btn) — used inside HTML widgets ---- */
.fl-btn{--fl:#0097B2;color:var(--fl);font-family:"DM Sans",sans-serif;font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:2px;text-decoration:none;padding:1em 2.2em;cursor:pointer;display:inline-block;vertical-align:middle;position:relative;z-index:1;border:3px solid var(--fl);border-radius:0;transition:color 600ms ease;}
.fl-btn__blobs{height:100%;filter:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3Cfilter%20id%3D%27goo%27%20color-interpolation-filters%3D%27sRGB%27%3E%3CfeGaussianBlur%20in%3D%27SourceGraphic%27%20stdDeviation%3D%2710%27%20result%3D%27blur%27%2F%3E%3CfeColorMatrix%20in%3D%27blur%27%20mode%3D%27matrix%27%20values%3D%271%200%200%200%200%20%200%201%200%200%200%20%200%200%201%200%200%20%200%200%200%2018%20-7%27%20result%3D%27goo%27%2F%3E%3CfeBlend%20in%3D%27SourceGraphic%27%20in2%3D%27goo%27%2F%3E%3C%2Ffilter%3E%3C%2Fsvg%3E#goo");overflow:hidden;position:absolute;top:0;left:0;bottom:-3px;right:-1px;z-index:-1;}
.fl-btn__blobs i{background:var(--fl);width:34%;height:100%;border-radius:100%;position:absolute;display:block;transform:scale(1.4) translateY(125%) translateZ(0);transition:transform 700ms ease;}
.fl-btn__blobs i:nth-child(1){left:-5%;}
.fl-btn__blobs i:nth-child(2){left:30%;transition-delay:60ms;}
.fl-btn__blobs i:nth-child(3){left:66%;transition-delay:25ms;}
.fl-btn:hover{color:#fff;}
.fl-btn:hover .fl-btn__blobs i{transform:scale(1.4) translateY(0) translateZ(0);}
.fl-btn--teal{--fl:#0097B2;}
.fl-btn--orange{--fl:#F74A30;}
.fl-btn--ghost{--fl:#F0EDE6;}
.fl-btn--ghost:hover{color:#023D4B;}

/* ---- simple fill on EVERY site button (fallback for un-converted buttons) ---- */
.btn,.elementor-button{--fl-fill:#0097B2;position:relative;overflow:hidden;z-index:0;}
.btn::before,.elementor-button::before{content:"";position:absolute;left:-10%;right:-10%;bottom:0;height:150%;background:var(--fl-fill);border-radius:45% 45% 0 0;transform:translateY(101%);transition:transform 650ms cubic-bezier(.22,1,.36,1);z-index:-1;}
.btn:hover::before,.elementor-button:hover::before{transform:translateY(0);}
.btn:hover,.elementor-button:hover{color:#fff;}
.btn-outline{--fl-fill:#0097B2;}
.btn-primary{--fl-fill:#0a2e38;}
.fl-fill-orange{--fl-fill:#F74A30;}
.fl-fill-teal{--fl-fill:#0097B2;}
@media (prefers-reduced-motion:reduce){.btn::before,.elementor-button::before,.fl-btn__blobs i{transition:none;}}
/* ===== Services nav dropdown (embedded nav) ===== */
.fl-svc-dd{position:relative;display:inline-block;vertical-align:middle;}
.fl-svc-dd>a{color:#fff !important;font-size:16px !important;font-weight:700 !important;text-transform:none !important;padding:13px 20px !important;display:inline-block;}
.fl-svc-dd>a::after{content:" \25BE";font-size:.7em;opacity:.85;}
.fl-svc-menu{position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:215px;background:#023D4B;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:8px 0;display:none;z-index:99999;box-shadow:0 14px 34px rgba(0,0,0,.4);}
.fl-svc-dd:hover .fl-svc-menu,.fl-svc-dd:focus-within .fl-svc-menu{display:block;}
.fl-svc-menu a{display:block;padding:10px 20px;color:#F0EDE6 !important;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:600;text-transform:none;white-space:nowrap;text-decoration:none;}
.fl-svc-menu a:hover{background:#0097B2;color:#fff !important;}

/* ===== Mobile: disable gooey hover (touch has no hover) ===== */
@media (max-width:1024px),(hover:none){
.fl-btn__blobs{display:none !important;}
.fl-btn{background:var(--fl) !important;color:#fff !important;}
.fl-btn--ghost{background:#F0EDE6 !important;color:#023D4B !important;border-color:#F0EDE6 !important;}
.btn::before,.elementor-button::before{display:none !important;}
}

/* ===== Mobile header: logo + hamburger menu ===== */
.fl-burger{display:none;}
.fl-close{display:none;}
@media (max-width:768px){
.logo-img{width:132px !important;height:auto !important;max-width:42vw !important;}
header{position:relative;}
.nav-mobile{margin-left:auto !important;padding:9px 13px !important;font-size:12.5px !important;}
.fl-burger{display:inline-flex !important;align-items:center;justify-content:center;font-size:26px;line-height:1;color:#fff;cursor:pointer;padding:7px 11px !important;margin-left:12px !important;order:99;text-decoration:none;background:rgba(255,255,255,.12);border-radius:8px;}
#flnav:target{display:flex !important;flex-direction:column !important;position:absolute;top:100%;left:0;right:0;background:#023D4B;padding:8px 0;z-index:99999;box-shadow:0 16px 34px rgba(0,0,0,.45);}
#flnav:target>li{width:100%;}
#flnav:target a{display:block;padding:14px 24px;}
#flnav:target .fl-close{display:block;text-align:right;padding:8px 22px;font-size:26px;color:#F0EDE6;}
#flnav:target .fl-svc-menu{position:static !important;display:block !important;transform:none !important;background:transparent !important;box-shadow:none !important;border:none !important;padding:0 0 8px 18px !important;}
}

/* ===== About page tweaks ===== */
.fla-hero-overlay{background:linear-gradient(90deg,rgba(2,61,75,.92) 0%,rgba(2,61,75,.55) 50%,rgba(2,61,75,.12) 100%) !important;}
.fla-hero-media{background:#023D4B url('/wp-content/uploads/2026/04/IMG_2220-1536x1152.jpg') center/cover no-repeat !important;}
.fla-hero-media img{display:none !important;}
.fla-story .fla-col-img{background:#e9e6df url('/wp-content/uploads/2026/04/IMG_2646-1024x768.jpg') center/cover no-repeat !important;min-height:420px;border-radius:6px;}
.fla-story .fla-col-img img{display:none !important;}

/* ===== Homepage hero fit (CTA above fold) ===== */
.home .hero .display-xl{font-size:clamp(34px,4.6vw,56px) !important;line-height:1.02 !important;margin-bottom:16px !important;}
.home .hero{min-height:auto !important;padding-top:90px !important;padding-bottom:64px !important;}

/* ===== Branded content pages heading font ===== */
.page-id-15 .elementor-heading-title,.page-id-17 .elementor-heading-title,.page-id-19 .elementor-heading-title,.page-id-20 .elementor-heading-title,.page-id-21 .elementor-heading-title{font-family:'Bebas Neue','Barlow Condensed',sans-serif !important;font-style:normal !important;letter-spacing:.5px;}

/* ===== fl-rev review band ===== */
.fl-rev{background:#F0EDE6;padding:56px 0;}
.fl-rev-wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.fl-rev-head{text-align:center;margin-bottom:32px;}
.fl-rev-stars{color:#FFC400;font-size:30px;letter-spacing:3px;display:block;line-height:1;}
.fl-rev-count{display:block;margin-top:10px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:#023D4B;font-size:16px;}
.fl-rev-count strong{color:#0097B2;}
.fl-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.fl-rev-card{background:#fff;border-radius:10px;padding:24px 22px;box-shadow:0 10px 30px rgba(2,61,75,.07);display:flex;flex-direction:column;}
.fl-rev-cardstars{color:#FFC400;font-size:15px;letter-spacing:2px;margin-bottom:10px;}
.fl-rev-card p{font-size:15px;line-height:1.6;color:#33444c;margin:0 0 14px;flex:1;}
.fl-rev-card cite{font-style:normal;font-weight:700;color:#023D4B;font-size:14px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.04em;}
.fl-rev-card cite span{color:#0097B2;}
@media(max-width:900px){.fl-rev-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.fl-rev-grid{grid-template-columns:1fr;}}

/* flc-card li:before fix */
.flc-card li:before{content:"✓" !important;}
