@charset "UTF-8";
/* ==========================================================================
   eComBuilderInsider — front page
   Child theme: freetrialchild (Kadence) · loaded after design-system.css and
   after Elementor's per-page stylesheet.

   The homepage layout lives in Elementor (page 3541), so this file restyles
   the existing, named Elementor containers instead of replacing them. Every
   container on that page carries a stable `data-id`, which Elementor mirrors
   as a class: `.elementor-element-home-hero`, `.elementor-element-hero-row`,
   `.elementor-element-hero-copy`, `.elementor-element-picker`,
   `.elementor-element-cat1`…`cat4`, and so on.

   Selectors are written as `body.home .elementor-3541 .elementor-element-x` so
   they outrank Elementor's own `.elementor-3541 .elementor-element.elementor-
   element-x` rules on specificity rather than on load order.

   Structure of the page after this file is applied:
     1.  Page surface — warm paper with ledger rules
     2.  Dateline strip (injected by freetrialchild/functions.php)
     3.  Header
     4.  Type scale
     5.  Buttons
     6.  Hero — copy left, verdict card right
     7.  Tool strip
     8.  "Why trust this site" panel — copy + measured list
     9.  Category cards
    10.  Three rails (Head-to-head / Reviews / Guides)
    11.  About the author   12.  Closing CTA band
   13.  Responsive
   14.  Reduced motion + print

   Two constraints shape this file:

   1.  Elementor prints an inline `!important` rule that strips background-image
       from the third and later `.e-con.e-parent` containers (and everything
       inside them) until its lazy-load observer adds `.e-lazyloaded`. On this
       site the Elementor frontend bundle throws, so that class never arrives
       and those backgrounds never paint. Every surface below therefore uses
       `background-color`, never `background-image`. The page's ledger rules are
       painted on <body>, which is not an `.e-con`, so they are unaffected.
   2.  Elementor applies container padding to `.e-con-inner`, not to the `.e-con`
       itself, which is why `--padding-*` is set here rather than `padding`.
   ========================================================================== */

/* 1. Page surface ---------------------------------------------------------
   The ledger paper is painted on <body> so it runs the full viewport width;
   .site is white by default and would otherwise cover it. ------------------ */
body.home {
  background-color: var(--ebi-paper, #f6f6f1);
  background-image: repeating-linear-gradient(
    to bottom,
    var(--ebi-rule, rgba(15, 27, 45, 0.055)) 0,
    var(--ebi-rule, rgba(15, 27, 45, 0.055)) 1px,
    transparent 1px,
    transparent 44px
  );
}
body.home .site { background-color: transparent; }
body.home #inner-wrap,
body.home .content-area,
body.home .site-container,
body.home .site-main,
body.home .content-wrap,
body.home .entry-content-wrap,
body.home .entry-content.single-content { background-color: transparent; }

/* Nothing on this page should be clipped — the verdict card draws a hard
   offset shadow that lives outside its own box. */
body.home .site-main,
body.home .entry-content-wrap { overflow: visible; }

/* 2. Dateline strip -------------------------------------------------------
   `ebi_front_page_kicker()` prints this as the first child of <main>, above
   the Elementor hero. The Kadence header is absolutely positioned over the top
   of the page, so the strip carries the clearance for it. ------------------ */
body.home .site-main > .ebi-section.ebi-ledger {
  background-color: transparent;
  background-image: none;
  /* The desktop header is 101px tall over this page; clear it plus a margin. */
  padding-top: 128px;
  padding-bottom: 16px;
  margin: 0;
}
/* Match the Elementor hero's content inset (24px inside .site-container). */
body.home .site-main > .ebi-section.ebi-ledger .site-container { max-width: 1240px; }
body.home .site-main > .ebi-section.ebi-ledger .ebi-kicker {
  font-family: var(--ebi-font-ui);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: 0.005em;
  text-transform: none;
  color: var(--ebi-muted);
  gap: 0.4rem;
  margin: 0;
}
body.home .site-main > .ebi-section.ebi-ledger .ebi-kicker a {
  color: var(--ebi-accent-ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(15, 111, 92, 0.35);
}
body.home .site-main > .ebi-section.ebi-ledger .ebi-kicker a:hover,
body.home .site-main > .ebi-section.ebi-ledger .ebi-kicker a:focus {
  color: var(--ebi-accent-dark);
  border-bottom-color: var(--ebi-accent-dark);
}

/* 3. Header ---------------------------------------------------------------
   Kadence ships this page with a transparent, absolutely positioned header,
   so it sits on the paper rather than on a bar of its own. ------------- */
body.home .site-header {
  background-color: transparent;
  border-bottom: 1px solid rgba(15, 27, 45, 0.08);
}
body.home .header-navigation .main-header-menu > .menu-item > .menu-link,
body.home .main-navigation .menu-link {
  font-family: var(--ebi-font-ui);
  font-weight: 500;
  font-size: 0.9375rem;
  letter-spacing: 0.002em;
}
body.home .main-navigation .menu-item.current-menu-item > .menu-link,
body.home .main-navigation .menu-link:hover,
body.home .main-navigation .menu-link:focus { color: var(--ebi-accent-ink); }
body.home .main-navigation .sub-menu,
body.home .header-navigation .sub-menu {
  border: 1px solid var(--ebi-border);
  border-radius: 10px;
  box-shadow: var(--ebi-shadow-lg);
  overflow: hidden;
}

/* 4. Type scale ----------------------------------------------------------- */
body.home .elementor-3541 h1.elementor-heading-title,
body.home .elementor-3541 h2.elementor-heading-title,
body.home .elementor-3541 h3.elementor-heading-title,
body.home .elementor-3541 .elementor-heading-title {
  font-family: var(--ebi-font-display);
  color: var(--ebi-ink);
  text-transform: none;
}
body.home .elementor-3541 h1.elementor-heading-title {
  font-size: clamp(2.25rem, 1rem + 4.6vw, 4.05rem);
  font-weight: 800;
  line-height: 1.03;
  letter-spacing: -0.035em;
  margin: 0;
  text-wrap: balance;
}
body.home .elementor-3541 h2.elementor-heading-title {
  font-size: clamp(1.55rem, 1.1rem + 1.75vw, 2.3rem);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: -0.022em;
  margin: 0;
  text-wrap: balance;
}
body.home .elementor-3541 h3.elementor-heading-title {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.015em;
  margin: 0;
}
body.home .elementor-3541 .elementor-widget-text-editor p {
  font-family: var(--ebi-font-body);
  color: var(--ebi-text);
  margin: 0;
}
/* Small caps label used by the kicker / tool strip / measure list. */
body.home .elementor-3541 .elementor-element-hero-kicker .elementor-heading-title,
body.home .elementor-3541 .elementor-element-tool-h .elementor-heading-title,
body.home .elementor-3541 .elementor-element-testing-k .elementor-heading-title {
  font-family: var(--ebi-font-ui);
  font-weight: 600;
  font-size: 0.6875rem;
  line-height: 1.4;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ebi-accent-ink);
  margin: 0;
}

/* 5. Buttons ------------------------------------------------------------- */
body.home .elementor-3541 .elementor-button {
  font-family: var(--ebi-font-ui);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.2;
  letter-spacing: 0;
  border-radius: 8px;
  border: 2px solid var(--ebi-accent);
  background-color: var(--ebi-accent);
  color: #fff;
  padding: 0.9em 1.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  text-decoration: none;
  box-shadow: none;
  transition: background-color 0.16s ease, border-color 0.16s ease,
    color 0.16s ease, transform 0.16s ease;
}
body.home .elementor-3541 .elementor-button:hover,
body.home .elementor-3541 .elementor-button:focus {
  background-color: var(--ebi-accent-dark);
  border-color: var(--ebi-accent-dark);
  color: #fff;
}
/* Outlined variant: the second button of each pair. */
body.home .elementor-3541 .elementor-element-hero-b .elementor-button,
body.home .elementor-3541 .elementor-element-testing-b .elementor-button,
body.home .elementor-3541 .elementor-element-about-b .elementor-button {
  background-color: transparent;
  border-color: var(--ebi-ink);
  color: var(--ebi-ink);
}
body.home .elementor-3541 .elementor-element-hero-b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-hero-b .elementor-button:focus,
body.home .elementor-3541 .elementor-element-testing-b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-testing-b .elementor-button:focus,
body.home .elementor-3541 .elementor-element-about-b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-about-b .elementor-button:focus {
  background-color: var(--ebi-ink);
  border-color: var(--ebi-ink);
  color: #fff;
}
body.home .elementor-3541 .elementor-button .elementor-button-content-wrapper {
  justify-content: center;
  gap: 0.55rem;
}

/* 6. Hero ----------------------------------------------------------------- */
body.home .elementor-3541 .elementor-element-home-hero {
  --padding-top: 28px;
  --padding-bottom: 76px;
  --padding-left: 24px;
  --padding-right: 24px;
  background-color: transparent;
}
body.home .elementor-3541 .elementor-element-hero-row {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  --content-width: 100%;
}
/* Two columns: headline left, verdict card right. Elementor stacks these two
   containers (each is width:100%), which is why the hero previously ran as one
   tall centred block. A grid fixes the columns without touching the markup. */
body.home .elementor-3541 .elementor-element-hero-row > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  justify-items: stretch;
  align-items: start;
  gap: 48px 56px;
}
body.home .elementor-3541 .elementor-element-hero-copy {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  --content-width: 100%;
}
/* Let the two hero buttons share a line instead of stacking as full-width
   blocks. Their wrapper columns stay in normal flow. */
body.home .elementor-3541 .elementor-element-hero-copy > .e-con-inner {
  display: block;
}
body.home .elementor-3541 .elementor-element-hero-a,
body.home .elementor-3541 .elementor-element-hero-b {
  display: inline-block;
  width: auto;
  max-width: 100%;
  vertical-align: top;
  margin: 0 12px 0 0;
}
body.home .elementor-3541 .elementor-element-hero-a .elementor-widget-container,
body.home .elementor-3541 .elementor-element-hero-b .elementor-widget-container,
body.home .elementor-3541 .elementor-element-hero-a .elementor-button-wrapper,
body.home .elementor-3541 .elementor-element-hero-b .elementor-button-wrapper {
  width: auto;
}
body.home .elementor-3541 .elementor-element-hero-kicker { margin: 0 0 20px; }
body.home .elementor-3541 .elementor-element-hero-kicker .elementor-heading-title {
  display: inline-block;
  padding: 0.5em 0.9em 0.45em;
  border: 1px solid rgba(15, 111, 92, 0.28);
  border-radius: 999px;
  background-color: rgba(15, 111, 92, 0.06);
}
body.home .elementor-3541 .elementor-element-hero-h { margin: 0 0 22px; max-width: 22ch; }
body.home .elementor-3541 .elementor-element-hero-p { margin: 0 0 32px; max-width: 46ch; }
body.home .elementor-3541 .elementor-element-hero-p p {
  font-family: var(--ebi-font-ui);
  font-weight: 400;
  font-size: clamp(1.03rem, 0.98rem + 0.3vw, 1.2rem);
  line-height: 1.62;
  color: var(--ebi-muted);
}

/* Verdict card — the reference design's right-hand summary panel. */
body.home .elementor-3541 .elementor-element-picker {
  --padding-top: 32px;
  --padding-bottom: 32px;
  --padding-left: 30px;
  --padding-right: 30px;
  --content-width: 100%;
  background-color: #fffef9;
  border: 2px solid var(--ebi-ink);
  border-radius: 14px;
  box-shadow: 10px 10px 0 var(--ebi-ink), inset 0 6px 0 var(--ebi-deal);
}
body.home .elementor-3541 .elementor-element-picker-h { margin: 6px 0 10px; }
body.home .elementor-3541 .elementor-element-picker-h h2.elementor-heading-title {
  font-size: 1.38rem;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.018em;
}
body.home .elementor-3541 .elementor-element-picker-p { margin: 0 0 22px; }
body.home .elementor-3541 .elementor-element-picker-p p {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--ebi-muted);
}
/* The three picker buttons become full-width rows inside the card. */
body.home .elementor-3541 .elementor-element-pick1,
body.home .elementor-3541 .elementor-element-pick2,
body.home .elementor-3541 .elementor-element-pick3 { margin: 0 0 10px; }
body.home .elementor-3541 .elementor-element-pick3 { margin-bottom: 0; }
body.home .elementor-3541 .elementor-element-pick1 .elementor-button,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button {
  display: flex;
  justify-content: space-between;
  width: 100%;
  background-color: #fff;
  border: 1px solid var(--ebi-border-strong);
  border-radius: 9px;
  color: var(--ebi-ink);
  font-size: 0.92rem;
  padding: 0.85em 1em;
  text-align: left;
}
body.home .elementor-3541 .elementor-element-pick1 .elementor-button::after,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button::after,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button::after {
  content: "\2192";
  font-family: var(--ebi-font-ui);
  color: var(--ebi-accent);
  transition: transform 0.16s ease;
}
body.home .elementor-3541 .elementor-element-pick1 .elementor-button:hover,
body.home .elementor-3541 .elementor-element-pick1 .elementor-button:focus,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button:hover,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button:focus,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button:hover,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button:focus {
  background-color: var(--ebi-accent);
  border-color: var(--ebi-accent);
  color: #fff;
}
body.home .elementor-3541 .elementor-element-pick1 .elementor-button:hover::after,
body.home .elementor-3541 .elementor-element-pick1 .elementor-button:focus::after,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button:hover::after,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button:focus::after,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button:hover::after,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button:focus::after {
  color: #fff;
  transform: translateX(4px);
}
body.home .elementor-3541 .elementor-element-pick1 .elementor-button-content-wrapper,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button-content-wrapper,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button-content-wrapper {
  justify-content: flex-start;
  flex: 1 1 auto;
  min-width: 0;
}
body.home .elementor-3541 .elementor-element-pick1 .elementor-button-text,
body.home .elementor-3541 .elementor-element-pick2 .elementor-button-text,
body.home .elementor-3541 .elementor-element-pick3 .elementor-button-text { text-align: left; }

/* 7. Tool strip ----------------------------------------------------------- */
body.home .elementor-3541 .elementor-element-tool-strip {
  --padding-top: 22px;
  --padding-bottom: 22px;
  --padding-left: 24px;
  --padding-right: 24px;
  --content-width: 100%;
  background-color: transparent;
  border-top: 1px solid rgba(15, 27, 45, 0.1);
  border-bottom: 1px solid rgba(15, 27, 45, 0.1);
}
body.home .elementor-3541 .elementor-element-tool-strip > .e-con-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px 28px;
}
body.home .elementor-3541 .elementor-element-tool-strip .elementor-element-tool-h,
body.home .elementor-3541 .elementor-element-tool-strip .elementor-element-tool-p { margin: 0; }
body.home .elementor-3541 .elementor-element-tool-p p {
  font-family: var(--ebi-font-display);
  font-weight: 600;
  font-size: clamp(1rem, 0.9rem + 0.75vw, 1.32rem);
  line-height: 1.35;
  letter-spacing: 0.005em;
  color: rgba(15, 27, 45, 0.62);
  text-align: right;
}

/* 8. "Why trust this site" panel ------------------------------------------ */
body.home .elementor-3541 .elementor-element-testing {
  --padding-top: 60px;
  --padding-bottom: 60px;
  --padding-left: 48px;
  --padding-right: 48px;
  --content-width: 100%;
  background-color: #fff;
  border: 1px solid var(--ebi-border);
  border-radius: 18px;
  box-shadow: var(--ebi-shadow-sm);
}
body.home .elementor-3541 .elementor-element-testing-row,
body.home .elementor-3541 .elementor-element-testing-copy,
body.home .elementor-3541 .elementor-element-testing-list {
  --padding-top: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --padding-right: 0;
  --content-width: 100%;
}
body.home .elementor-3541 .elementor-element-testing-row > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: start;
  gap: 40px 64px;
}
body.home .elementor-3541 .elementor-element-testing-k { margin: 0 0 14px; }
body.home .elementor-3541 .elementor-element-testing-h { margin: 0 0 18px; }
body.home .elementor-3541 .elementor-element-testing-p { margin: 0 0 26px; }
body.home .elementor-3541 .elementor-element-testing-p p {
  font-size: 1.03125rem;
  line-height: 1.68;
  color: var(--ebi-text);
}
body.home .elementor-3541 .elementor-element-testing-b .elementor-button {
  font-size: 0.9rem;
  padding: 0.8em 1.35em;
}
/* The measured list reads as a numbered ledger. */
body.home .elementor-3541 .elementor-element-measure-h { margin: 0 0 18px; }
body.home .elementor-3541 .elementor-element-measure-h h3.elementor-heading-title {
  font-size: 1.18rem;
  font-weight: 700;
  letter-spacing: -0.012em;
}
body.home .elementor-3541 .elementor-element-testing-list > .e-con-inner { counter-reset: ebi-measure; }
body.home .elementor-3541 .elementor-element-m1,
body.home .elementor-3541 .elementor-element-m2,
body.home .elementor-3541 .elementor-element-m3,
body.home .elementor-3541 .elementor-element-m4,
body.home .elementor-3541 .elementor-element-m5 {
  counter-increment: ebi-measure;
  display: grid;
  grid-template-columns: 2.1rem minmax(0, 1fr);
  align-items: baseline;
  gap: 0 10px;
  padding: 14px 0;
  border-top: 1px solid var(--ebi-border);
}
body.home .elementor-3541 .elementor-element-m1::before,
body.home .elementor-3541 .elementor-element-m2::before,
body.home .elementor-3541 .elementor-element-m3::before,
body.home .elementor-3541 .elementor-element-m4::before,
body.home .elementor-3541 .elementor-element-m5::before {
  content: counter(ebi-measure, decimal-leading-zero);
  font-family: var(--ebi-font-display);
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  color: var(--ebi-accent);
}
body.home .elementor-3541 .elementor-element-m1 p,
body.home .elementor-3541 .elementor-element-m2 p,
body.home .elementor-3541 .elementor-element-m3 p,
body.home .elementor-3541 .elementor-element-m4 p,
body.home .elementor-3541 .elementor-element-m5 p {
  font-size: 1rem;
  line-height: 1.62;
  color: var(--ebi-text);
}

/* 9. Category cards ------------------------------------------------------- */
body.home .elementor-3541 .elementor-element-categories {
  --padding-top: 76px;
  --padding-bottom: 76px;
  --padding-left: 24px;
  --padding-right: 24px;
  --content-width: 100%;
  background-color: transparent;
}
body.home .elementor-3541 .elementor-element-categories-h { margin: 0 0 14px; }
body.home .elementor-3541 .elementor-element-categories-p { margin: 0 0 34px; max-width: 62ch; }
body.home .elementor-3541 .elementor-element-categories-p p {
  font-family: var(--ebi-font-ui);
  font-size: 1.03125rem;
  line-height: 1.62;
  color: var(--ebi-muted);
}
body.home .elementor-3541 .elementor-element-cat-grid > .e-con-inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
body.home .elementor-3541 .elementor-element-cat1,
body.home .elementor-3541 .elementor-element-cat2,
body.home .elementor-3541 .elementor-element-cat3,
body.home .elementor-3541 .elementor-element-cat4 {
  --padding-top: 30px;
  --padding-bottom: 30px;
  --padding-left: 30px;
  --padding-right: 30px;
  --content-width: 100%;
  background-color: #fff;
  border: 1px solid var(--ebi-border);
  border-radius: 14px;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
body.home .elementor-3541 .elementor-element-cat1:hover,
body.home .elementor-3541 .elementor-element-cat2:hover,
body.home .elementor-3541 .elementor-element-cat3:hover,
body.home .elementor-3541 .elementor-element-cat4:hover {
  border-color: rgba(15, 111, 92, 0.45);
  box-shadow: 0 12px 26px rgba(15, 27, 45, 0.08);
  transform: translateY(-2px);
}
body.home .elementor-3541 .elementor-element-cat1h,
body.home .elementor-3541 .elementor-element-cat2h,
body.home .elementor-3541 .elementor-element-cat3h,
body.home .elementor-3541 .elementor-element-cat4h { margin: 0 0 12px; }
body.home .elementor-3541 .elementor-element-cat1p,
body.home .elementor-3541 .elementor-element-cat2p,
body.home .elementor-3541 .elementor-element-cat3p,
body.home .elementor-3541 .elementor-element-cat4p { margin: 0 0 22px; }
body.home .elementor-3541 .elementor-element-cat1p p,
body.home .elementor-3541 .elementor-element-cat2p p,
body.home .elementor-3541 .elementor-element-cat3p p,
body.home .elementor-3541 .elementor-element-cat4p p {
  font-size: 0.97rem;
  line-height: 1.65;
  color: var(--ebi-muted);
}
/* Card CTAs read as text links with a travelling arrow. */
body.home .elementor-3541 .elementor-element-cat1b .elementor-button,
body.home .elementor-3541 .elementor-element-cat2b .elementor-button,
body.home .elementor-3541 .elementor-element-cat3b .elementor-button,
body.home .elementor-3541 .elementor-element-cat4b .elementor-button {
  background-color: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  color: var(--ebi-accent-ink);
  font-size: 0.9375rem;
}
body.home .elementor-3541 .elementor-element-cat1b .elementor-button::after,
body.home .elementor-3541 .elementor-element-cat2b .elementor-button::after,
body.home .elementor-3541 .elementor-element-cat3b .elementor-button::after,
body.home .elementor-3541 .elementor-element-cat4b .elementor-button::after {
  content: "\2192";
  color: var(--ebi-accent);
  transition: transform 0.16s ease;
}
body.home .elementor-3541 .elementor-element-cat1b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-cat1b .elementor-button:focus,
body.home .elementor-3541 .elementor-element-cat2b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-cat2b .elementor-button:focus,
body.home .elementor-3541 .elementor-element-cat3b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-cat3b .elementor-button:focus,
body.home .elementor-3541 .elementor-element-cat4b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-cat4b .elementor-button:focus {
  background-color: transparent;
  color: var(--ebi-accent-dark);
}
body.home .elementor-3541 .elementor-element-cat1b .elementor-button:hover::after,
body.home .elementor-3541 .elementor-element-cat2b .elementor-button:hover::after,
body.home .elementor-3541 .elementor-element-cat3b .elementor-button:hover::after,
body.home .elementor-3541 .elementor-element-cat4b .elementor-button:hover::after {
  transform: translateX(4px);
}
body.home .elementor-3541 .elementor-element-cat1b .elementor-button-content-wrapper,
body.home .elementor-3541 .elementor-element-cat2b .elementor-button-content-wrapper,
body.home .elementor-3541 .elementor-element-cat3b .elementor-button-content-wrapper,
body.home .elementor-3541 .elementor-element-cat4b .elementor-button-content-wrapper {
  justify-content: flex-start;
}
/* Push the card CTA to the foot of every card so the four align. */
body.home .elementor-3541 .elementor-element-cat1 > .e-con-inner,
body.home .elementor-3541 .elementor-element-cat2 > .e-con-inner,
body.home .elementor-3541 .elementor-element-cat3 > .e-con-inner,
body.home .elementor-3541 .elementor-element-cat4 > .e-con-inner {
  height: 100%;
}
body.home .elementor-3541 .elementor-element-cat1b,
body.home .elementor-3541 .elementor-element-cat2b,
body.home .elementor-3541 .elementor-element-cat3b,
body.home .elementor-3541 .elementor-element-cat4b { margin-top: auto; }

/* 10. Three rails ---------------------------------------------------------
   The page root becomes a grid so the three single-content rails
   (Head-to-head, Hands-on reviews, Buying guides) sit side by side instead of
   stacking as three near-empty full-width bands. ------------------------ */
body.home .entry-content > .elementor-3541 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 20px;
  row-gap: 0;
}
body.home .elementor-3541 > .elementor-element-home-hero,
body.home .elementor-3541 > .elementor-element-tool-strip,
body.home .elementor-3541 > .elementor-element-testing,
body.home .elementor-3541 > .elementor-element-categories,
body.home .elementor-3541 > .elementor-element-about,
body.home .elementor-3541 > .elementor-element-home-cta { grid-column: 1 / -1; }

body.home .elementor-3541 .elementor-element-comparisons,
body.home .elementor-3541 .elementor-element-reviews,
body.home .elementor-3541 .elementor-element-guides {
  --padding-top: 30px;
  --padding-bottom: 30px;
  --padding-left: 24px;
  --padding-right: 24px;
  --content-width: 100%;
  background-color: transparent;
}
body.home .elementor-3541 .elementor-element-comp-h,
body.home .elementor-3541 .elementor-element-rev-h,
body.home .elementor-3541 .elementor-element-guides-h {
  padding-top: 18px;
  border-top: 2px solid var(--ebi-ink);
  margin: 0 0 12px;
}
body.home .elementor-3541 .elementor-element-comp-h h2.elementor-heading-title,
body.home .elementor-3541 .elementor-element-rev-h h2.elementor-heading-title,
body.home .elementor-3541 .elementor-element-guides-h h2.elementor-heading-title {
  font-size: 1.42rem;
  letter-spacing: -0.02em;
}
body.home .elementor-3541 .elementor-element-comp-p,
body.home .elementor-3541 .elementor-element-rev-p,
body.home .elementor-3541 .elementor-element-guides-p { margin: 0 0 18px; }
body.home .elementor-3541 .elementor-element-comp-p p,
body.home .elementor-3541 .elementor-element-rev-p p,
body.home .elementor-3541 .elementor-element-guides-p p {
  font-size: 0.95rem;
  line-height: 1.62;
  color: var(--ebi-muted);
}
/* These three widgets are Elementor "Posts" widgets. When their query returns
   posts, render them as a tidy vertical list inside each rail. */
body.home .elementor-3541 .elementor-element-comp-posts .elementor-posts-container,
body.home .elementor-3541 .elementor-element-rev-posts .elementor-posts-container,
body.home .elementor-3541 .elementor-element-guide-posts .elementor-posts-container {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin: 0;
}
body.home .elementor-3541 .elementor-element-comp-posts .elementor-post,
body.home .elementor-3541 .elementor-element-rev-posts .elementor-post,
body.home .elementor-3541 .elementor-element-guide-posts .elementor-post {
  border-top: 1px solid var(--ebi-border);
  padding-top: 14px;
}
body.home .elementor-3541 .elementor-element-comp-posts .elementor-post__title,
body.home .elementor-3541 .elementor-element-rev-posts .elementor-post__title,
body.home .elementor-3541 .elementor-element-guide-posts .elementor-post__title {
  font-family: var(--ebi-font-display);
  font-size: 1.02rem;
  line-height: 1.35;
  letter-spacing: -0.01em;
  margin: 0;
}

/* 11. About the author ---------------------------------------------------- */
body.home .elementor-3541 .elementor-element-about {
  --padding-top: 44px;
  --padding-bottom: 44px;
  --padding-left: 44px;
  --padding-right: 44px;
  --content-width: 100%;
  margin-top: 20px;
  background-color: #fff;
  border: 1px solid var(--ebi-border);
  border-left: 4px solid var(--ebi-accent);
  border-radius: 18px;
  box-shadow: var(--ebi-shadow-sm);
}
body.home .elementor-3541 .elementor-element-about > .e-con-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 16px 56px;
}
body.home .elementor-3541 .elementor-element-about-h { grid-column: 1; grid-row: 1; margin: 0; }
body.home .elementor-3541 .elementor-element-about-p { grid-column: 1; grid-row: 2; margin: 0; }
body.home .elementor-3541 .elementor-element-about-a { grid-column: 2; grid-row: 1; margin: 0; }
body.home .elementor-3541 .elementor-element-about-b { grid-column: 2; grid-row: 2; margin: 8px 0 0; }
body.home .elementor-3541 .elementor-element-about-p p,
body.home .elementor-3541 .elementor-element-about-a p {
  font-size: 1.03125rem;
  line-height: 1.68;
  color: var(--ebi-text);
}
body.home .elementor-3541 .elementor-element-about-a strong { color: var(--ebi-ink); }

/* 12. Closing CTA band ---------------------------------------------------- */
body.home .elementor-3541 .elementor-element-home-cta {
  --padding-top: 60px;
  --padding-bottom: 60px;
  --padding-left: 52px;
  --padding-right: 52px;
  --content-width: 100%;
  margin-top: 20px;
  margin-bottom: 72px;
  background-color: var(--ebi-deep, #05053d);
  border-top: 3px solid var(--ebi-deal);
  border-radius: 20px;
}
body.home .elementor-3541 .elementor-element-home-cta > .e-con-inner {
  display: block;
  max-width: 100%;
}
body.home .elementor-3541 .elementor-element-cta-h { margin: 0 0 16px; }
body.home .elementor-3541 .elementor-element-cta-h h2.elementor-heading-title { color: #fff; }
body.home .elementor-3541 .elementor-element-cta-p { margin: 0 0 30px; }
body.home .elementor-3541 .elementor-element-cta-p p {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.74);
  max-width: 58ch;
}
body.home .elementor-3541 .elementor-element-cta-a,
body.home .elementor-3541 .elementor-element-cta-b {
  display: inline-block;
  width: auto;
  vertical-align: top;
  margin: 0 12px 0 0;
}
body.home .elementor-3541 .elementor-element-cta-a .elementor-widget-container,
body.home .elementor-3541 .elementor-element-cta-b .elementor-widget-container,
body.home .elementor-3541 .elementor-element-cta-a .elementor-button-wrapper,
body.home .elementor-3541 .elementor-element-cta-b .elementor-button-wrapper { width: auto; }
body.home .elementor-3541 .elementor-element-cta-b .elementor-button {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
}
body.home .elementor-3541 .elementor-element-cta-b .elementor-button:hover,
body.home .elementor-3541 .elementor-element-cta-b .elementor-button:focus {
  background-color: #fff;
  border-color: #fff;
  color: var(--ebi-deep, #05053d);
}

/* 13. Responsive --------------------------------------------------------- */
@media (max-width: 1200px) {
  body.home .elementor-3541 .elementor-element-hero-h { max-width: 26ch; }
}
@media (max-width: 1024px) {
  body.home .elementor-3541 .elementor-element-hero-row > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
  body.home .elementor-3541 .elementor-element-hero-copy { --content-width: 100%; }
  body.home .elementor-3541 .elementor-element-picker { max-width: 620px; }
  body.home .elementor-3541 .elementor-element-testing-row > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }
  body.home .entry-content > .elementor-3541 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.home .elementor-3541 > .elementor-element-comparisons { grid-column: 1 / 2; }
  body.home .elementor-3541 > .elementor-element-reviews { grid-column: 2 / 3; }
  body.home .elementor-3541 > .elementor-element-guides { grid-column: 1 / -1; }
  body.home .elementor-3541 .elementor-element-about > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }
  body.home .elementor-3541 .elementor-element-about-h { grid-column: 1; grid-row: 1; }
  body.home .elementor-3541 .elementor-element-about-p { grid-column: 1; grid-row: 2; }
  body.home .elementor-3541 .elementor-element-about-a { grid-column: 1; grid-row: 3; }
  body.home .elementor-3541 .elementor-element-about-b { grid-column: 1; grid-row: 4; }
}
@media (max-width: 900px) {
  body.home .entry-content > .elementor-3541 { grid-template-columns: minmax(0, 1fr); }
  body.home .elementor-3541 > .elementor-element-comparisons,
  body.home .elementor-3541 > .elementor-element-reviews,
  body.home .elementor-3541 > .elementor-element-guides { grid-column: 1 / -1; }
  /* The three rail rules would otherwise stack as three parallel lines. */
  body.home .elementor-3541 .elementor-element-comp-h,
  body.home .elementor-3541 .elementor-element-rev-h,
  body.home .elementor-3541 .elementor-element-guides-h { padding-top: 16px; }
  body.home .elementor-3541 .elementor-element-cat-grid > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  body.home .elementor-3541 .elementor-element-tool-strip > .e-con-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  body.home .elementor-3541 .elementor-element-tool-p p { text-align: left; }
}
@media (max-width: 1024px) {
  /* Kadence swaps to the mobile header (82px) from here down. */
  body.home .site-main > .ebi-section.ebi-ledger { padding-top: 104px; }
}
@media (max-width: 768px) {
  body.home .site-main > .ebi-section.ebi-ledger { padding-top: 100px; }
  body.home .elementor-3541 .elementor-element-testing {
    --padding-left: 26px;
    --padding-right: 26px;
    border-radius: 14px;
  }
  body.home .elementor-3541 .elementor-element-about {
    --padding-left: 26px;
    --padding-right: 26px;
    border-radius: 14px;
  }
  body.home .elementor-3541 .elementor-element-home-cta {
    --padding-left: 28px;
    --padding-right: 28px;
    border-radius: 16px;
  }
}
@media (max-width: 600px) {
  body.home .elementor-3541 .elementor-element-hero-a,
  body.home .elementor-3541 .elementor-element-hero-b,
  body.home .elementor-3541 .elementor-element-cta-a,
  body.home .elementor-3541 .elementor-element-cta-b {
    display: block;
    width: 100%;
    margin: 0 0 12px;
  }
  body.home .elementor-3541 .elementor-element-hero-a .elementor-button,
  body.home .elementor-3541 .elementor-element-hero-b .elementor-button,
  body.home .elementor-3541 .elementor-element-cta-a .elementor-button,
  body.home .elementor-3541 .elementor-element-cta-b .elementor-button {
    display: flex;
    width: 100%;
  }
  body.home .elementor-3541 .elementor-element-hero-a .elementor-widget-container,
  body.home .elementor-3541 .elementor-element-hero-b .elementor-widget-container { width: 100%; }
  body.home .elementor-3541 .elementor-element-picker { box-shadow: 6px 6px 0 var(--ebi-ink), inset 0 6px 0 var(--ebi-deal); }
  body.home .elementor-3541 .elementor-element-home-cta { margin-bottom: 48px; }
}
@media (max-width: 480px) {
  body.home .elementor-3541 .elementor-element-picker { --padding-left: 22px; --padding-right: 22px; }
  body.home .elementor-3541 .elementor-element-cat1,
  body.home .elementor-3541 .elementor-element-cat2,
  body.home .elementor-3541 .elementor-element-cat3,
  body.home .elementor-3541 .elementor-element-cat4 { --padding-left: 22px; --padding-right: 22px; }
  body.home .elementor-3541 .elementor-element-m1,
  body.home .elementor-3541 .elementor-element-m2,
  body.home .elementor-3541 .elementor-element-m3,
  body.home .elementor-3541 .elementor-element-m4,
  body.home .elementor-3541 .elementor-element-m5 { grid-template-columns: 1.6rem minmax(0, 1fr); gap: 0 6px; }
}

/* 14. Reduced motion + print --------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  body.home .elementor-3541 .elementor-button,
  body.home .elementor-3541 .elementor-element-cat1,
  body.home .elementor-3541 .elementor-element-cat2,
  body.home .elementor-3541 .elementor-element-cat3,
  body.home .elementor-3541 .elementor-element-cat4,
  body.home .elementor-3541 .elementor-button::after { transition: none; }
  body.home .elementor-3541 .elementor-button:hover,
  body.home .elementor-3541 .elementor-element-cat1:hover,
  body.home .elementor-3541 .elementor-element-cat2:hover,
  body.home .elementor-3541 .elementor-element-cat3:hover,
  body.home .elementor-3541 .elementor-element-cat4:hover { transform: none; }
}
@media print {
  body.home { background-image: none; }
  body.home .elementor-3541 .elementor-element-picker { box-shadow: none; }
  body.home .elementor-3541 .elementor-element-home-cta {
    background-color: #fff;
    border: 1px solid #000;
  }
  body.home .elementor-3541 .elementor-element-cta-h h2.elementor-heading-title,
  body.home .elementor-3541 .elementor-element-cta-p p { color: #000; }
}
