/* Category grid (BROWSE WHAT WE COVER): the source relies on Elementor JS (stripped by the
   clone) to size the CTA background, which is normally an absolutely-positioned image layer.
   We instead render the photo as a NORMAL-FLOW <img> with aspect-ratio:1/1 so every tile is
   a 1:1 SQUARE at any column width (4 cols desktop -> 2 cols tablet/phone).
   Why in-flow rather than aspect-ratio/padding on the box: each tile is a CSS-grid item, and
   an absolutely-positioned image (or a padding-%/aspect-ratio box) contributes NO height to
   grid row sizing -> on the 2-col breakpoints the rows collapsed to the caption height and
   clipped the photo away entirely. A flowed replaced element (the <img>) reliably drives the
   row height, so the square renders at every width. The dark hover overlay stays absolute. */
.elementor-cta{position:relative !important;display:block !important;height:auto !important;min-height:0 !important;overflow:hidden !important;border-radius:8px 8px 0 0}
.elementor-cta__bg-wrapper{position:relative !important;inset:auto !important;width:100% !important;height:auto !important;min-height:0 !important}
.elementor-cta__bg{position:relative !important;inset:auto !important;width:100% !important;height:auto !important;opacity:1 !important;visibility:visible !important;transform:none !important;z-index:1 !important}
.elementor-cta__bg img{position:relative !important;inset:auto !important;width:100% !important;height:auto !important;aspect-ratio:1 / 1 !important;object-fit:cover !important;display:block !important}
.elementor-cta__bg-overlay{position:absolute !important;inset:0 !important;background-color:rgba(0,0,0,.12) !important;z-index:2 !important}

/* Remove the "Research you can trust" / reviewed-brands band */
.elementor-element-36cc8ff4{display:none !important}

/* Network brand lockup (replaces cf-logo.svg): ✓ badge + serif wordmark.
   Dark (navy) on the light header; white on the dark #123A36 footer (.is-light). */
.cf-brand{display:inline-flex;align-items:center;gap:9px;font-family:Georgia,'Times New Roman',serif;color:#185C52;line-height:1;text-decoration:none}
.cf-brand .mark{width:30px;height:30px;border:2.5px solid currentColor;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-weight:900;font-size:21px;line-height:1;flex:none}
.cf-brand .wordmark{font-size:29px;font-weight:700;letter-spacing:-.01em;color:inherit}
.cf-brand.is-light{color:#fff}
@media (max-width:760px){.cf-brand .wordmark{font-size:23px}.cf-brand .mark{width:25px;height:25px;font-size:17px}}

/* ===== unified header bar + mobile hamburger (homepage; mirrors the rules in site.css used by the
   legal/404 pages). Literal colors because this page doesn't load site.css / its CSS vars. ===== */
.topbar{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #e4e9f0}
.topbar .bar{position:relative;max-width:1080px;margin:0 auto;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.topnav{display:flex;align-items:center;gap:26px}
.topnav a{font-size:15px;font-weight:600;color:#185C52;text-decoration:none}
.topnav a:hover{color:#C2410C}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;margin:-8px -8px;padding:8px;background:none;border:0;cursor:pointer}
.nav-toggle span{display:block;height:2px;width:26px;background:#185C52;border-radius:2px;transition:transform .22s ease,opacity .18s ease}
/* keep the toggle transparent on tap/focus — the cloned theme paints button:focus #3f4047 grey */
.nav-toggle{-webkit-tap-highlight-color:transparent}
.topbar .nav-toggle:hover,.topbar .nav-toggle:focus,.topbar .nav-toggle:active,.topbar .nav-toggle:focus-visible{background:none;color:inherit;box-shadow:none;outline:none}
@media (max-width:760px){
  .topbar .bar{padding:16px 18px}
  .nav-toggle{display:flex}
  .topnav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid #e4e9f0;box-shadow:0 18px 34px -20px rgba(21,53,92,.55);max-height:0;overflow:hidden;visibility:hidden;transition:max-height .26s ease,visibility 0s linear .26s}
  .topbar.nav-open .topnav{max-height:75vh;visibility:visible;transition:max-height .26s ease}
  .topnav a{padding:15px 22px;font-size:16px;border-top:1px solid #e4e9f0}
  .topnav a:first-child{border-top:0}
  .topbar.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .topbar.nav-open .nav-toggle span:nth-child(2){opacity:0}
  .topbar.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
