/*! WindspeedSEO Visual System - backlink monitoring objects v1.4.5
 * Objects built only for the Backlink monitoring page: an orbiting live link map (hero), a relevance filter that
 * sorts the link stream, four animated signal tiles, a gained-vs-lost referring-domain chart, a link-health
 * scanner, a referring-domain mosaic and a competitor link race. Same pattern as ws-visual-cx.css: one root class
 * (.ws-bl) on distinct element tags, styled by structure, with .ws-bl-on marking the item that matters most.
 * Colours: the WindspeedSEO brand kit only (slate, brand green, data blue, neutrals); the kit's error red appears only where it means a problem.
 * Loads after ws-visual-cx.css.
 */

/* two reporting-hero parts lost their single-use classes to free global class slots; they are styled by position now */
html .elementor .ws-hx-sheet--front > .e-con:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
html .elementor .ws-hx-verdict > .e-con:first-child { width: 26px; height: 26px; border-radius: 9999px; display: grid; place-items: center; flex: 0 0 auto; background: var(--ws-color-brand-green-500); color: #fff; }
html .elementor .ws-hx-verdict > .e-con:first-child .ws-icon { width: 14px; height: 14px; }

.elementor .ws-bl { --bl-blue: #347FA8; --bl-blue-d: #286788; --bl-green: #6B951B; --bl-green-l: #83B422; --bl-coral: #BE4943; --bl-amber: #83B422; --bl-violet: #4C9CC8; --bl-navy: #141B26; }
html .elementor .ws-bl .e-div-block-base { min-width: 0; }
html .elementor .ws-bl .e-paragraph-base { margin: 0; }

/* ============================================================ HERO: LIVE LINK MAP  (.ws-hero div.ws-bl) */
html .elementor .ws-hero div.ws-bl { --k: 1; position: relative; display: flex; flex-direction: column; gap: 14px; padding: 20px 22px 18px; border-radius: 24px; color: #fff; overflow: hidden;
  background: radial-gradient(120% 90% at 18% 8%, #286788 0%, rgba(40, 103, 136, 0) 55%), radial-gradient(90% 80% at 92% 100%, rgba(76, 156, 200, .55) 0%, rgba(76, 156, 200, 0) 60%), linear-gradient(160deg, #202A38 0%, #141B26 100%);
  box-shadow: 0 30px 60px -30px rgba(20, 27, 38, .75), inset 0 0 0 1px rgba(255, 255, 255, .08); }
html .elementor .ws-hero div.ws-bl > .e-con:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
html .elementor .ws-hero div.ws-bl > .e-con:first-child > :first-child { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #96C8E1; display: inline-flex; align-items: center; gap: 8px; }
html .elementor .ws-hero div.ws-bl > .e-con:first-child > :first-child::before { content: ""; width: 8px; height: 8px; border-radius: 9999px; background: var(--bl-green-l); box-shadow: 0 0 0 0 rgba(131, 180, 34, .6); animation: ws-bl-live 1.8s ease-out infinite; }
html .elementor .ws-hero div.ws-bl > .e-con:first-child > :last-child { font-family: var(--ws-mono); font-size: 12px; color: rgba(255, 255, 255, .62); }
@keyframes ws-bl-live { 0% { box-shadow: 0 0 0 0 rgba(131, 180, 34, .6); } 100% { box-shadow: 0 0 0 9px rgba(131, 180, 34, 0); } }

/* the orbit stage */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) { position: relative; height: calc(360px * var(--k)); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con { position: absolute; }
/* center: your site */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :first-child { left: 50%; top: 50%; translate: -50% -50%; z-index: 3; width: calc(112px * var(--k)); height: calc(112px * var(--k)); border-radius: 9999px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  background: radial-gradient(circle at 35% 30%, #4C9CC8, #347FA8 55%, #286788); box-shadow: 0 0 0 6px rgba(52, 127, 168, .18), 0 0 0 14px rgba(52, 127, 168, .08), 0 18px 40px -12px rgba(20, 27, 38, .6); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :first-child > :first-child { font-family: var(--ws-mono); font-size: calc(30px * var(--k)); font-weight: 800; line-height: 1; color: #fff; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :first-child > :last-child { font-size: calc(10.5px * var(--k)); font-weight: 600; line-height: 1.2; letter-spacing: .04em; color: rgba(255, 255, 255, .85); max-width: 84px; margin-top: 4px; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :first-child::after { content: ""; position: absolute; inset: -6px; border-radius: 9999px; border: 2px solid rgba(131, 180, 34, .7); opacity: 0; }
/* the two rings */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2), html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) { inset: 0; z-index: 2; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2) { --r: calc(104px * var(--k)); --spin: 360deg; --dur: 70s; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) { --r: calc(168px * var(--k)); --spin: -360deg; --dur: 110s; z-index: 1; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2)::after, html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3)::after { content: ""; position: absolute; left: 50%; top: 50%; width: calc(var(--r) * 2); height: calc(var(--r) * 2); translate: -50% -50%; border-radius: 9999px; border: 1px dashed rgba(150, 200, 225, .32); pointer-events: none; }
/* a node = a spoke from the center (rotated to its angle) with the domain chip at its outer end */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con { position: absolute; left: 50%; top: 50%; width: var(--r); height: 0; transform-origin: 0 0; rotate: var(--a); --c: #4C9CC8; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con::before { content: ""; position: absolute; left: calc(60px * var(--k)); right: 10px; top: -1px; height: 2px; border-radius: 2px; opacity: .55;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, var(--c) 45%, rgba(255, 255, 255, 0) 55%) 0 0 / 300% 100% no-repeat; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con > .e-paragraph-base { position: absolute; left: 100%; top: 0; translate: -50% -50%; rotate: calc(-1 * var(--a)); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
  padding: 5px 10px 5px 8px; border-radius: 9999px; font-size: calc(11.5px * var(--k)); font-weight: 600; line-height: 1.2; color: #fff; background: rgba(20, 27, 38, .88); border: 1.5px solid var(--c); box-shadow: 0 8px 18px -10px rgba(20, 27, 38, .8); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con > .e-paragraph-base::before { content: ""; width: 8px; height: 8px; flex: 0 0 8px; border-radius: 9999px; background: var(--c); }
/* angles and link status: green = new, coral = lost, amber = redirected, violet = recovered, blue = steady */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(1) { --a: -60deg; --c: var(--bl-green-l); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(2) { --a: 30deg; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(3) { --a: 125deg; --c: var(--bl-coral); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(4) { --a: 210deg; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(1) { --a: -95deg; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(2) { --a: -25deg; --c: var(--bl-green-l); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(3) { --a: 40deg; --c: var(--bl-amber); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(4) { --a: 100deg; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(5) { --a: 165deg; --c: #96C8E1; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(6) { --a: 230deg; --c: var(--bl-green-l); }
/* lost link chip: dashed, coral */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(3) > .e-paragraph-base { border-style: dashed; color: #FFF0EF; }
/* floating summary chips */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4), html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { z-index: 4; display: flex; flex-direction: column; gap: 1px; width: max-content; max-width: 70%; padding: 8px 12px; border-radius: 12px; background: #fff; color: var(--bl-navy); box-shadow: 0 14px 30px -14px rgba(20, 27, 38, .7); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4) { left: 0; top: 4px; border-left: 4px solid var(--bl-green); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { right: 0; bottom: 4px; border-left: 4px solid var(--bl-coral); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4) > :first-child, html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) > :first-child { font-family: var(--ws-mono); font-size: 18px; font-weight: 800; line-height: 1.1; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4) > :first-child { color: #537418; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) > :first-child { color: #BE4943; }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4) > :last-child, html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) > :last-child { font-size: 11px; font-weight: 600; color: #4D5C74; }
/* legend */
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) > .e-paragraph-base { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, .78); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) > .e-paragraph-base::before { content: ""; width: 10px; height: 10px; border-radius: 3px; background: var(--c, #4C9CC8); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) > :nth-child(1) { --c: var(--bl-green-l); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) > :nth-child(2) { --c: var(--bl-coral); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) > :nth-child(3) { --c: var(--bl-amber); }
html .elementor .ws-hero div.ws-bl > .e-con:nth-child(3) > :nth-child(4) { --c: #96C8E1; }
/* motion: the rings turn (chips stay upright), link signals flow into the center, new links ping, lost links fade */
.ws-js .ws-in .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(2), .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(2),
.ws-js .ws-in .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(3), .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) { animation: ws-bl-spin var(--dur) linear infinite; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con > .e-paragraph-base { animation: ws-bl-upright var(--dur) linear infinite; }
@keyframes ws-bl-spin { from { rotate: 0deg; } to { rotate: var(--spin); } }
@keyframes ws-bl-upright { from { rotate: calc(-1 * var(--a)); } to { rotate: calc(-1 * var(--a) - var(--spin)); } }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con::before { animation: ws-bl-flow 2.8s linear infinite; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > .e-con > :nth-child(2n)::before { animation-delay: -1.2s; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > .e-con > :nth-child(3n)::before { animation-duration: 3.6s; }
@keyframes ws-bl-flow { from { background-position: 0% 0; } to { background-position: 100% 0; } }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(3) { animation: ws-bl-fade 4.2s ease-in-out 1.5s infinite; }
@keyframes ws-bl-fade { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :first-child::after { animation: ws-bl-ping 2.4s ease-out 1s infinite; }
@keyframes ws-bl-ping { 0% { opacity: .9; scale: 1; } 100% { opacity: 0; scale: 1.45; } }
.ws-js .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con { opacity: 0; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con { opacity: 1; transition: opacity 600ms ease-out; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(1) { transition-delay: 500ms; } .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(2) { transition-delay: 650ms; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(2) > :nth-child(4) { transition-delay: 800ms; } .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(1) { transition-delay: 950ms; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(2) { transition-delay: 1100ms; } .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(3) { transition-delay: 1250ms; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(4) { transition-delay: 1400ms; } .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(5) { transition-delay: 1550ms; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(3) > :nth-child(6) { transition-delay: 1700ms; }
.ws-js .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4), .ws-js .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { opacity: 0; translate: 0 10px; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(4), .ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { opacity: 1; translate: 0 0; transition: opacity 500ms ease-out 1.9s, translate 600ms var(--ws-ease-out) 1.9s; animation: ws-bl-bob 5s ease-in-out 2.6s infinite; }
.ws-js .ws-hero.ws-in div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { transition-delay: 2.2s; animation-delay: 3.4s; }
@keyframes ws-bl-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -6px; } }
@media (max-width: 1024px) { html .elementor .ws-hero div.ws-bl { --k: .86; } }
@media (max-width: 767px) {
  html .elementor .ws-hero div.ws-bl { --k: .64; padding: 16px 14px 14px; }
  html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) { height: calc(420px * var(--k)); }
  html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > .e-con > .e-con > .e-paragraph-base { padding: 4px 8px 4px 6px; gap: 5px; }
  html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4), html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { padding: 6px 10px; }
  html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4) > :first-child, html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) > :first-child { font-size: 15px; }
  html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(4) { top: -6px; } html .elementor .ws-hero div.ws-bl > .e-con:nth-child(2) > :nth-child(5) { bottom: -6px; }
}

/* ============================================================ A. RELEVANCE FILTER  (article.ws-bl) */
html .elementor article.ws-bl { display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1.25fr); align-items: stretch; gap: 14px; }
html .elementor article.ws-bl > .e-con:first-child, html .elementor article.ws-bl > .e-con:last-child { display: flex; flex-direction: column; gap: 10px; padding: 16px; border-radius: 18px; }
html .elementor article.ws-bl > .e-con:first-child { background: #F1F8FC; border: 1px solid #E2F1F8; }
html .elementor article.ws-bl > .e-con:last-child { background: linear-gradient(165deg, #FFFFFF 0%, #F7FBEF 100%); border: 1.5px solid #BEDD79; box-shadow: 0 20px 40px -26px rgba(83, 116, 24, .55); }
html .elementor article.ws-bl > .e-con:first-child > :nth-child(1), html .elementor article.ws-bl > .e-con:last-child > :nth-child(1) { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #8190A5; }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(1) { color: #537418; }
html .elementor article.ws-bl > .e-con:first-child > :nth-child(2), html .elementor article.ws-bl > .e-con:last-child > :nth-child(2) { font-family: var(--ws-mono); font-size: 34px; font-weight: 800; line-height: 1; color: #8190A5; }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(2) { color: #537418; }
/* the raw stream: grey pills scrolling upward on a loop (the list is written twice) */
html .elementor article.ws-bl > .e-con:first-child > :nth-child(3) { position: relative; flex: 1 1 auto; min-height: 236px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, transparent 0, #141B26 14%, #141B26 86%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #141B26 14%, #141B26 86%, transparent 100%); }
html .elementor article.ws-bl > .e-con:first-child > :nth-child(3) > .e-con { position: absolute; left: 0; right: 0; top: 0; display: flex; flex-direction: column; gap: 8px; }
html .elementor article.ws-bl > .e-con:first-child > :nth-child(3) > .e-con > .e-paragraph-base { font-family: var(--ws-mono); font-size: 12px; line-height: 1.3; padding: 7px 10px; border-radius: 8px; background: #fff; border: 1px solid #E2F1F8; color: #8190A5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html .elementor article.ws-bl > .e-con:first-child > :nth-child(3) > .e-con > :nth-child(4n+2) { border-left: 3px solid #83B422; color: #435168; }
html .elementor article.ws-bl > .e-con:first-child > :nth-child(3) > .e-con > :nth-child(5n+4) { border-left: 3px solid var(--bl-coral); color: #435168; }
.ws-js article.ws-bl.ws-in > .e-con:first-child > :nth-child(3) > .e-con { animation: ws-bl-stream 16s linear infinite; }
@keyframes ws-bl-stream { from { translate: 0 0; } to { translate: 0 calc(-50% - 4px); } }
/* the gate */
html .elementor article.ws-bl > .e-con:nth-child(2) { position: relative; display: flex; align-items: center; justify-content: center; }
html .elementor article.ws-bl > .e-con:nth-child(2)::before { content: ""; position: absolute; left: 50%; top: 6%; bottom: 6%; width: 6px; translate: -50% 0; border-radius: 9999px; background: linear-gradient(180deg, #347FA8, #4C9CC8, #6B951B); opacity: .9; }
html .elementor article.ws-bl > .e-con:nth-child(2)::after { content: ""; position: absolute; left: 50%; top: 6%; width: 22px; height: 60px; translate: -50% 0; border-radius: 9999px; background: radial-gradient(closest-side, rgba(255, 255, 255, .95), rgba(76, 156, 200, 0)); }
html .elementor article.ws-bl > .e-con:nth-child(2) > .e-paragraph-base { position: relative; z-index: 1; writing-mode: vertical-rl; rotate: 180deg; padding: 12px 7px; border-radius: 9999px; background: #fff; border: 1.5px solid #BFDDED; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #286788; box-shadow: 0 10px 24px -14px rgba(76, 156, 200, .7); }
.ws-js article.ws-bl.ws-in > .e-con:nth-child(2)::after { animation: ws-bl-gate 2.6s ease-in-out infinite; }
@keyframes ws-bl-gate { 0% { top: 6%; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { top: calc(94% - 60px); opacity: 0; } }
/* the short list */
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) { display: flex; flex-direction: column; gap: 9px; }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) > .e-con { --c: var(--bl-green); display: flex; flex-direction: column; gap: 2px; padding: 10px 12px 10px 14px; border-radius: 12px; background: #fff; border: 1px solid #E2F1F8; border-left: 4px solid var(--c); box-shadow: 0 8px 18px -14px rgba(20, 27, 38, .5); }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) > :nth-child(2) { --c: var(--bl-coral); }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) > :nth-child(3) { --c: var(--bl-amber); }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) > :nth-child(4) { --c: var(--bl-violet); }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) > .e-con > :first-child { font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--ws-text-primary); }
html .elementor article.ws-bl > .e-con:last-child > :nth-child(3) > .e-con > :last-child { font-size: 12px; font-weight: 700; color: var(--c); filter: brightness(.82); }
.ws-js article.ws-bl > .e-con:last-child > :nth-child(3) > .e-con { opacity: 0; translate: -22px 0; }
.ws-js article.ws-bl.ws-in > .e-con:last-child > :nth-child(3) > .e-con { opacity: 1; translate: 0 0; transition: opacity 450ms ease-out, translate 650ms cubic-bezier(.34, 1.4, .64, 1); }
.ws-js article.ws-bl.ws-in > .e-con:last-child > :nth-child(3) > :nth-child(1) { transition-delay: 600ms; } .ws-js article.ws-bl.ws-in > .e-con:last-child > :nth-child(3) > :nth-child(2) { transition-delay: 1000ms; }
.ws-js article.ws-bl.ws-in > .e-con:last-child > :nth-child(3) > :nth-child(3) { transition-delay: 1400ms; } .ws-js article.ws-bl.ws-in > .e-con:last-child > :nth-child(3) > :nth-child(4) { transition-delay: 1800ms; }
@media (max-width: 767px) {
  html .elementor article.ws-bl { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  html .elementor article.ws-bl > .e-con:first-child > :nth-child(3) { min-height: 150px; }
  html .elementor article.ws-bl > .e-con:nth-child(2) { height: 44px; }
  html .elementor article.ws-bl > .e-con:nth-child(2)::before { top: 50%; bottom: auto; left: 8%; right: 8%; width: auto; height: 6px; translate: 0 -50%; background: linear-gradient(90deg, #347FA8, #4C9CC8, #6B951B); }
  html .elementor article.ws-bl > .e-con:nth-child(2)::after { display: none; }
  html .elementor article.ws-bl > .e-con:nth-child(2) > .e-paragraph-base { writing-mode: horizontal-tb; rotate: 0deg; padding: 7px 14px; }
}

/* ============================================================ B. SIGNAL TILES  (footer.ws-bl) */
html .elementor footer.ws-bl { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
html .elementor footer.ws-bl > .e-con { --c: var(--bl-green); --t: #EDF6DB; display: flex; flex-direction: column; border-radius: 20px; overflow: hidden; background: #fff; border: 1px solid #E2F1F8; box-shadow: 0 22px 40px -30px rgba(20, 27, 38, .55); transition: translate 300ms var(--ws-ease-out), box-shadow 300ms var(--ws-ease-out); }
html .elementor footer.ws-bl > .e-con:hover { translate: 0 -6px; box-shadow: 0 30px 50px -30px rgba(20, 27, 38, .6); }
html .elementor footer.ws-bl > :nth-child(2) { --c: var(--bl-coral); --t: #FFF0EF; }
html .elementor footer.ws-bl > :nth-child(3) { --c: var(--bl-amber); --t: #EDF6DB; }
html .elementor footer.ws-bl > :nth-child(4) { --c: var(--bl-violet); --t: #F1F8FC; }
/* the glyph band */
html .elementor footer.ws-bl > .e-con > .e-con:first-child { position: relative; height: 124px; display: flex; align-items: center; justify-content: center; gap: 6px; background: radial-gradient(circle at 50% 110%, color-mix(in srgb, var(--c) 30%, transparent), transparent 70%), var(--t); overflow: hidden; }
html .elementor footer.ws-bl > .e-con > .e-heading-base { font-size: 18px; line-height: 1.3; padding: 18px 20px 0; margin: 0; color: var(--ws-text-primary); }
html .elementor footer.ws-bl > .e-con > .e-paragraph-base { font-size: 14.5px; line-height: 1.55; padding: 8px 20px 22px; color: var(--ws-text-secondary, #4D5C74); }
/* 1: new referring domain - a node with a plus and rippling rings */
html .elementor footer.ws-bl > :nth-child(1) > .e-con:first-child::before { content: "+"; position: relative; inset: auto; z-index: 1; width: 52px; height: 52px; border-radius: 9999px; display: grid; place-items: center; font-size: 30px; font-weight: 700; line-height: 1; color: #fff; background: linear-gradient(145deg, #83B422, #6B951B); box-shadow: 0 10px 22px -10px rgba(83, 116, 24, .9); }
html .elementor footer.ws-bl > :nth-child(1) > .e-con:first-child::after { content: ""; position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 9999px; border: 2px solid #6B951B; opacity: 0; }
.ws-js footer.ws-bl.ws-in > :nth-child(1) > .e-con:first-child::after { animation: ws-bl-ripple 2.2s ease-out infinite; }
@keyframes ws-bl-ripple { 0% { opacity: .9; scale: 1; } 100% { opacity: 0; scale: 2.3; } }
/* 2: lost backlink - two chain links drifting apart and rejoining */
html .elementor footer.ws-bl > :nth-child(2) > .e-con:first-child::before, html .elementor footer.ws-bl > :nth-child(2) > .e-con:first-child::after { content: ""; position: relative; inset: auto; display: block; box-sizing: border-box; width: 46px; height: 26px; border-radius: 9999px; border: 6px solid var(--bl-coral); }
html .elementor footer.ws-bl > :nth-child(2) > .e-con:first-child::after { border-color: #E7A6A2; }
.ws-js footer.ws-bl.ws-in > :nth-child(2) > .e-con:first-child::before { animation: ws-bl-apart-l 3.4s ease-in-out infinite; }
.ws-js footer.ws-bl.ws-in > :nth-child(2) > .e-con:first-child::after { animation: ws-bl-apart-r 3.4s ease-in-out infinite; }
@keyframes ws-bl-apart-l { 0%, 100% { translate: 12px 0; rotate: 0deg; } 45%, 60% { translate: -8px 0; rotate: -14deg; } }
@keyframes ws-bl-apart-r { 0%, 100% { translate: -12px 0; rotate: 0deg; } 45%, 60% { translate: 8px 0; rotate: 14deg; } }
/* 3: broken target - an address bar flipping from 404 to a clean redirect */
html .elementor footer.ws-bl > :nth-child(3) > .e-con:first-child::before { content: "/old-guide"; position: relative; inset: auto; display: block; width: auto; height: auto; font-family: var(--ws-mono); font-size: 13px; font-weight: 600; padding: 8px 12px; border-radius: 10px; background: #fff; color: #2A3546; border: 1px solid #D8ECAE; box-shadow: 0 8px 18px -12px rgba(83, 116, 24, .6); }
html .elementor footer.ws-bl > :nth-child(3) > .e-con:first-child::after { content: "404"; position: relative; inset: auto; display: block; height: auto; min-width: 64px; text-align: center; font-family: var(--ws-mono); font-size: 13px; font-weight: 800; padding: 8px 10px; border-radius: 10px; color: #fff; background: var(--bl-coral); }
.ws-js footer.ws-bl.ws-in > :nth-child(3) > .e-con:first-child::after { animation: ws-bl-fix 4s steps(1, end) infinite; }
@keyframes ws-bl-fix { 0% { content: "404"; background: #BE4943; } 50% { content: "301 ✓"; background: #6B951B; } }
/* 4: link pattern - a bar sparkline with one violet spike */
html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child { align-items: flex-end; padding-bottom: 28px; gap: 7px; }
html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > .e-con { width: 12px; height: var(--h, 20px); border-radius: 4px 4px 2px 2px; background: #BFDDED; transform-origin: bottom center; }
html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > :nth-child(1) { --h: 18px; } html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > :nth-child(2) { --h: 26px; }
html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > :nth-child(3) { --h: 20px; } html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > :nth-child(4) { --h: 30px; }
html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > :nth-child(5) { --h: 72px; background: linear-gradient(180deg, #96C8E1, #4C9CC8); }
html .elementor footer.ws-bl > :nth-child(4) > .e-con:first-child > :nth-child(6) { --h: 24px; }
.ws-js footer.ws-bl.ws-in > :nth-child(4) > .e-con:first-child > :nth-child(5) { animation: ws-bl-spike 2.6s ease-in-out infinite; }
@keyframes ws-bl-spike { 0%, 100% { scale: 1 .45; } 40%, 60% { scale: 1 1; } }
.ws-js footer.ws-bl > .e-con { opacity: 0; translate: 0 22px; }
.ws-js footer.ws-bl.ws-in > .e-con { opacity: 1; translate: 0 0; transition: opacity 500ms ease-out, translate 650ms var(--ws-ease-out); }
.ws-js footer.ws-bl.ws-in > :nth-child(2) { transition-delay: 140ms; } .ws-js footer.ws-bl.ws-in > :nth-child(3) { transition-delay: 280ms; } .ws-js footer.ws-bl.ws-in > :nth-child(4) { transition-delay: 420ms; }
@media (max-width: 1024px) { html .elementor footer.ws-bl { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { html .elementor footer.ws-bl { grid-template-columns: minmax(0, 1fr); } html .elementor footer.ws-bl > .e-con > .e-con:first-child { height: 104px; } }

/* ============================================================ C. GAINED VS LOST CHART  (aside.ws-bl) */
html .elementor aside.ws-bl { display: flex; flex-direction: column; gap: 22px; }
html .elementor aside.ws-bl > .e-con:first-child { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
html .elementor aside.ws-bl > .e-con:first-child > .e-con { --c: #537418; --t: #EDF6DB; display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 14px; background: var(--t); }
html .elementor aside.ws-bl > .e-con:first-child > :nth-child(2) { --c: #BE4943; --t: #FFF0EF; }
html .elementor aside.ws-bl > .e-con:first-child > :nth-child(3) { --c: #286788; --t: #E2F1F8; }
html .elementor aside.ws-bl > .e-con:first-child > .e-con > :first-child { font-family: var(--ws-mono); font-size: 30px; font-weight: 800; line-height: 1.05; color: var(--c); }
html .elementor aside.ws-bl > .e-con:first-child > .e-con > :last-child { font-size: 13px; font-weight: 600; color: #4D5C74; }
/* the plot: 12 weekly columns, new referring domains grow up from the axis and lost backlinks grow down */
html .elementor aside.ws-bl > .e-con:nth-child(2) { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 10px; height: 240px; padding-inline: 4px; }
html .elementor aside.ws-bl > .e-con:nth-child(2)::after { content: ""; position: absolute; left: 0; right: 0; top: 160px; height: 2px; background: #BFDDED; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > .e-con { position: relative; display: grid; grid-template-rows: 160px 80px; justify-items: center; border-radius: 8px; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > .e-con > .e-con { width: 100%; max-width: 30px; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > .e-con > :first-child { align-self: end; height: calc(var(--u) * 13px); border-radius: 6px 6px 0 0; background: linear-gradient(180deg, #83B422, #6B951B); transform-origin: bottom center; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > .e-con > :last-child { align-self: start; margin-top: 2px; height: calc(var(--d) * 13px); border-radius: 0 0 6px 6px; background: linear-gradient(180deg, #BE4943, #E7A6A2); transform-origin: top center; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(1) { --u: 4; --d: 2; --i: 0; } html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(2) { --u: 6; --d: 1; --i: 1; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(3) { --u: 3; --d: 3; --i: 2; } html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(4) { --u: 7; --d: 1; --i: 3; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(5) { --u: 5; --d: 2; --i: 4; } html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(6) { --u: 8; --d: 4; --i: 5; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(7) { --u: 4; --d: 1; --i: 6; } html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(8) { --u: 9; --d: 2; --i: 7; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(9) { --u: 6; --d: 1; --i: 8; } html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(10) { --u: 5; --d: 3; --i: 9; }
html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(11) { --u: 11; --d: 1; --i: 10; } html .elementor aside.ws-bl > .e-con:nth-child(2) > :nth-child(12) { --u: 7; --d: 1; --i: 11; }
/* this week */
html .elementor aside.ws-bl > .e-con:nth-child(2) > .ws-bl-on { background: rgba(52, 127, 168, .1); box-shadow: inset 0 0 0 1.5px rgba(52, 127, 168, .45); }
html .elementor aside.ws-bl > .e-con:nth-child(2) > .ws-bl-on::before { content: "+7"; position: absolute; right: auto; bottom: auto; width: auto; height: auto; line-height: 1.2; top: calc(160px - var(--u) * 13px - 30px); left: 50%; translate: -50% 0; font-family: var(--ws-mono); font-size: 12px; font-weight: 800; padding: 3px 8px; border-radius: 9999px; background: #537418; color: #fff; white-space: nowrap; }
html .elementor aside.ws-bl > .e-con:nth-child(3) { display: flex; justify-content: space-between; gap: 12px; }
html .elementor aside.ws-bl > .e-con:nth-child(3) > .e-paragraph-base { font-size: 12px; font-weight: 600; color: var(--ws-text-muted); }
html .elementor aside.ws-bl > .e-con:nth-child(3) > :nth-child(2) { display: inline-flex; gap: 14px; }
.ws-js aside.ws-bl > .e-con:nth-child(2) > .e-con > .e-con { scale: 1 0; }
.ws-js aside.ws-bl.ws-in > .e-con:nth-child(2) > .e-con > .e-con { scale: 1 1; transition: scale 800ms cubic-bezier(.34, 1.3, .64, 1) calc(300ms + var(--i, 0) * 90ms); }
.ws-js aside.ws-bl.ws-in > .e-con:nth-child(2) > .e-con > :last-child { transition-delay: calc(1300ms + var(--i, 0) * 70ms); }
.ws-js aside.ws-bl > .e-con:nth-child(2) > .ws-bl-on::before { opacity: 0; }
.ws-js aside.ws-bl.ws-in > .e-con:nth-child(2) > .ws-bl-on::before { opacity: 1; transition: opacity 400ms ease-out 2.4s; animation: ws-bl-bob 3s ease-in-out 3s infinite; }
.ws-js aside.ws-bl.ws-in > .e-con:nth-child(2) > .ws-bl-on { animation: ws-bl-week 3s ease-in-out 2.6s infinite; }
@keyframes ws-bl-week { 0%, 100% { background: rgba(52, 127, 168, .08); } 50% { background: rgba(52, 127, 168, .2); } }
@media (max-width: 767px) {
  html .elementor aside.ws-bl > .e-con:first-child { gap: 8px; }
  html .elementor aside.ws-bl > .e-con:first-child > .e-con { padding: 10px; }
  html .elementor aside.ws-bl > .e-con:first-child > .e-con > :first-child { font-size: 22px; }
  html .elementor aside.ws-bl > .e-con:first-child > .e-con > :last-child { font-size: 11.5px; line-height: 1.3; }
  html .elementor aside.ws-bl > .e-con:nth-child(2) { gap: 4px; }
}

/* ============================================================ D. LINK-HEALTH SCANNER  (section.ws-bl) */
html .elementor section.ws-bl { position: relative; display: flex; flex-direction: column; gap: 8px; }
html .elementor section.ws-bl > .e-con:not(:last-child) { --c: #537418; --t: #EDF6DB; position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) 132px; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 12px; background: #fff; border: 1px solid #E2F1F8; }
html .elementor section.ws-bl > .e-con:first-child { background: none; border: 0; padding-block: 0 4px; }
html .elementor section.ws-bl > .e-con:first-child > .e-paragraph-base { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ws-text-muted); }
html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(1) { font-size: 14px; font-weight: 600; color: var(--ws-text-primary); }
html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(2) { font-family: var(--ws-mono); font-size: 13px; color: #286788; display: inline-flex; align-items: center; gap: 8px; }
html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(2)::before { content: "→"; color: #AFBAC9; font-family: inherit; }
html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(3) { justify-self: end; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; padding: 5px 10px; border-radius: 9999px; background: var(--t); color: var(--c); white-space: nowrap; }
html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(3)::before { content: ""; width: 7px; height: 7px; border-radius: 9999px; background: currentColor; }
html .elementor section.ws-bl > .e-con:not(:last-child):nth-child(3) { --c: #537418; --t: #EDF6DB; }
html .elementor section.ws-bl > .e-con:not(:last-child):nth-child(4) { --c: #BE4943; --t: #FFF0EF; }
html .elementor section.ws-bl > .e-con:not(:last-child):nth-child(6) { --c: #4C9CC8; --t: #F1F8FC; }
html .elementor section.ws-bl > .e-con.ws-bl-on { border-color: #E7A6A2; background: linear-gradient(90deg, #FFF0EF, #fff 60%); box-shadow: 0 14px 28px -20px rgba(190, 73, 67, .7); }
/* the recommended fix */
html .elementor section.ws-bl > .e-con:last-child { display: flex; align-items: center; gap: 12px; margin-top: 8px; padding: 14px 16px; border-radius: 14px; background: linear-gradient(120deg, #202A38, #286788); color: #fff; }
html .elementor section.ws-bl > .e-con:last-child::before { content: "✓"; position: static; width: 30px; height: 30px; flex: 0 0 30px; border-radius: 9999px; display: grid; place-items: center; font-weight: 800; background: var(--bl-green); color: #fff; }
html .elementor section.ws-bl > .e-con:last-child > .e-paragraph-base { font-size: 14px; font-weight: 600; line-height: 1.45; color: #fff; }
/* scan line */
html .elementor section.ws-bl::after { content: ""; position: absolute; left: -6px; right: -6px; top: 28px; height: 3px; border-radius: 9999px; background: linear-gradient(90deg, rgba(52, 127, 168, 0), #347FA8 30%, #4C9CC8 70%, rgba(76, 156, 200, 0)); box-shadow: 0 0 18px 4px rgba(52, 127, 168, .35); opacity: 0; pointer-events: none; }
.ws-js section.ws-bl.ws-in::after { animation: ws-bl-scan 5.5s ease-in-out 600ms infinite; }
@keyframes ws-bl-scan { 0% { opacity: 0; translate: 0 0; } 8% { opacity: 1; } 80% { opacity: 1; translate: 0 calc(6 * 54px); } 100% { opacity: 0; translate: 0 calc(6 * 54px); } }
html .elementor section.ws-bl > :nth-child(2) { --i: 0; } html .elementor section.ws-bl > :nth-child(3) { --i: 1; } html .elementor section.ws-bl > :nth-child(4) { --i: 2; }
html .elementor section.ws-bl > :nth-child(5) { --i: 3; } html .elementor section.ws-bl > :nth-child(6) { --i: 4; } html .elementor section.ws-bl > :nth-child(7) { --i: 5; }
.ws-js section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(3) { opacity: 0; scale: .6; }
.ws-js section.ws-bl.ws-in > .e-con:not(:first-child):not(:last-child) > :nth-child(3) { opacity: 1; scale: 1; transition: opacity 300ms ease-out calc(900ms + var(--i) * 380ms), scale 500ms cubic-bezier(.34, 1.6, .64, 1) calc(900ms + var(--i) * 380ms); }
.ws-js section.ws-bl.ws-in > .e-con.ws-bl-on { animation: ws-bl-alarm 2.4s ease-in-out 2.4s infinite; }
@keyframes ws-bl-alarm { 0%, 100% { box-shadow: 0 14px 28px -20px rgba(190, 73, 67, .7), 0 0 0 0 rgba(190, 73, 67, 0); } 50% { box-shadow: 0 14px 28px -20px rgba(190, 73, 67, .7), 0 0 0 5px rgba(190, 73, 67, .18); } }
.ws-js section.ws-bl > .e-con:last-child { opacity: 0; translate: 0 12px; }
.ws-js section.ws-bl.ws-in > .e-con:last-child { opacity: 1; translate: 0 0; transition: opacity 500ms ease-out 3.4s, translate 600ms var(--ws-ease-out) 3.4s; }
@media (max-width: 767px) {
  html .elementor section.ws-bl > .e-con:first-child { display: none; }
  html .elementor section.ws-bl > .e-con:not(:last-child) { grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; padding: 10px 12px; }
  html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(2) { grid-row: 2; grid-column: 1; font-size: 12px; }
  html .elementor section.ws-bl > .e-con:not(:first-child):not(:last-child) > :nth-child(3) { grid-row: 1 / span 2; grid-column: 2; }
  html .elementor section.ws-bl::after { display: none; }
}

/* ============================================================ E. REFERRING-DOMAIN MOSAIC  (header.ws-bl) */
html .elementor header.ws-bl { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-rows: repeat(3, 92px); grid-template-areas: "a a a b b b" "a a a c c d" "e e f f f d"; gap: 8px; overflow: hidden; border-radius: 18px; }
html .elementor header.ws-bl > .e-con { --bg: linear-gradient(145deg, #347FA8, #286788); display: flex; flex-direction: column; justify-content: flex-end; gap: 2px; padding: 12px 14px; border-radius: 12px; background: var(--bg); color: #fff; overflow: hidden; }
html .elementor header.ws-bl > :nth-child(1) { grid-area: a; }
html .elementor header.ws-bl > :nth-child(2) { grid-area: b; --bg: linear-gradient(145deg, #83B422, #6B951B); }
html .elementor header.ws-bl > :nth-child(3) { grid-area: c; --bg: linear-gradient(145deg, #96C8E1, #4C9CC8); }
html .elementor header.ws-bl > :nth-child(4) { grid-area: d; --bg: linear-gradient(160deg, #BEDD79, #6B951B); }
html .elementor header.ws-bl > :nth-child(5) { grid-area: e; --bg: linear-gradient(145deg, #E7A6A2, #BE4943); }
html .elementor header.ws-bl > :nth-child(6) { grid-area: f; --bg: linear-gradient(145deg, #347FA8, #202A38); }
html .elementor header.ws-bl > .e-con > :first-child { font-family: var(--ws-mono); font-size: 24px; font-weight: 800; line-height: 1; }
html .elementor header.ws-bl > :nth-child(1) > :first-child { font-size: 46px; }
html .elementor header.ws-bl > .e-con > :last-child { font-size: 13px; font-weight: 600; line-height: 1.25; opacity: .92; }
html .elementor header.ws-bl > .ws-bl-on { background: radial-gradient(circle at 80% 15%, rgba(255, 255, 255, .28), transparent 45%), var(--bg); }
/* shimmer passing across the mosaic */
html .elementor header.ws-bl::after { content: ""; position: absolute; top: -20%; bottom: -20%; width: 28%; left: -40%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .28), rgba(255, 255, 255, 0)); pointer-events: none; }
.ws-js header.ws-bl.ws-in::after { animation: ws-bl-shimmer 6s ease-in-out 1.8s infinite; }
@keyframes ws-bl-shimmer { 0% { left: -40%; } 45%, 100% { left: 120%; } }
.ws-js header.ws-bl > .e-con { opacity: 0; scale: .82; }
.ws-js header.ws-bl.ws-in > .e-con { opacity: 1; scale: 1; transition: opacity 450ms ease-out, scale 650ms cubic-bezier(.34, 1.45, .64, 1); }
.ws-js header.ws-bl.ws-in > :nth-child(2) { transition-delay: 150ms; } .ws-js header.ws-bl.ws-in > :nth-child(3) { transition-delay: 300ms; }
.ws-js header.ws-bl.ws-in > :nth-child(4) { transition-delay: 450ms; } .ws-js header.ws-bl.ws-in > :nth-child(5) { transition-delay: 600ms; } .ws-js header.ws-bl.ws-in > :nth-child(6) { transition-delay: 750ms; }
.ws-js header.ws-bl.ws-in > .ws-bl-on { animation: ws-bl-breathe 4s ease-in-out 1.5s infinite; }
@keyframes ws-bl-breathe { 0%, 100% { filter: saturate(1) brightness(1); } 50% { filter: saturate(1.2) brightness(1.08); } }
@media (max-width: 767px) {
  html .elementor header.ws-bl { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(4, 80px); grid-template-areas: "a a b" "a a c" "d e e" "d f f"; }
  html .elementor header.ws-bl > :nth-child(1) > :first-child { font-size: 36px; }
  html .elementor header.ws-bl > .e-con > :first-child { font-size: 20px; }
  html .elementor header.ws-bl > .e-con > :last-child { font-size: 12px; }
  html .elementor header.ws-bl > .e-con { padding: 10px; }
}

/* ============================================================ F. COMPETITOR LINK RACE  (.ws-section div.ws-bl) */
html .elementor .ws-section div.ws-bl { display: flex; flex-direction: column; gap: 14px; }
html .elementor .ws-section div.ws-bl > .e-con { --c: #4C9CC8; --lane: #E2F1F8; display: grid; grid-template-columns: 96px minmax(0, 1fr) 76px; align-items: center; gap: 14px; }
html .elementor .ws-section div.ws-bl > .ws-bl-on { --c: #6B951B; --lane: #EDF6DB; }
html .elementor .ws-section div.ws-bl > :nth-child(3) { --c: #96C8E1; --lane: #F1F8FC; }
html .elementor .ws-section div.ws-bl > .e-con > :first-child { font-size: 14px; font-weight: 700; color: var(--ws-text-primary); }
html .elementor .ws-section div.ws-bl > .e-con > :last-child { justify-self: end; font-family: var(--ws-mono); font-size: 18px; font-weight: 800; color: var(--c); filter: brightness(.8); }
html .elementor .ws-section div.ws-bl > .e-con > .e-con { position: relative; height: 44px; border-radius: 9999px; background: var(--lane); overflow: hidden; }
html .elementor .ws-section div.ws-bl > .e-con > .e-con::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: var(--w, 60%); border-radius: 9999px; background: linear-gradient(90deg, color-mix(in srgb, var(--c) 25%, transparent), color-mix(in srgb, var(--c) 60%, transparent)); transform-origin: left center; }
html .elementor .ws-section div.ws-bl > :nth-child(1) > .e-con { --w: 92%; --sp: 5s; } html .elementor .ws-section div.ws-bl > :nth-child(2) > .e-con { --w: 62%; --sp: 6.5s; } html .elementor .ws-section div.ws-bl > :nth-child(3) > .e-con { --w: 42%; --sp: 8s; }
/* each dot is a newly earned referring domain travelling down the lane */
html .elementor .ws-section div.ws-bl > .e-con > .e-con > .e-con { position: absolute; top: 50%; left: 0; width: 16px; height: 16px; margin-top: -8px; border-radius: 9999px; background: #fff; border: 4px solid var(--c); box-shadow: 0 4px 10px -4px rgba(20, 27, 38, .35); opacity: 0; }
.ws-js .ws-section div.ws-bl > .e-con > .e-con::before { scale: 0 1; }
.ws-js .ws-section div.ws-bl.ws-in > .e-con > .e-con::before { scale: 1 1; transition: scale 1400ms var(--ws-ease-out) 300ms; }
.ws-js .ws-section div.ws-bl.ws-in > .e-con > .e-con > .e-con { animation: ws-bl-race var(--sp) linear infinite; }
.ws-js .ws-section div.ws-bl.ws-in > .e-con > .e-con > :nth-child(2) { animation-delay: calc(var(--sp) * -.2); } .ws-js .ws-section div.ws-bl.ws-in > .e-con > .e-con > :nth-child(3) { animation-delay: calc(var(--sp) * -.4); }
.ws-js .ws-section div.ws-bl.ws-in > .e-con > .e-con > :nth-child(4) { animation-delay: calc(var(--sp) * -.6); } .ws-js .ws-section div.ws-bl.ws-in > .e-con > .e-con > :nth-child(5) { animation-delay: calc(var(--sp) * -.8); }
@keyframes ws-bl-race { 0% { left: 0; opacity: 0; } 8% { opacity: 1; } 88% { opacity: 1; } 100% { left: calc(var(--w) - 18px); opacity: 0; } }
@media (max-width: 767px) {
  html .elementor .ws-section div.ws-bl > .e-con { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
  html .elementor .ws-section div.ws-bl > .e-con > .e-con { grid-column: 1 / -1; grid-row: 2; height: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  .ws-js .ws-bl *, .ws-js .ws-bl::after, .ws-js .ws-bl *::before, .ws-js .ws-bl *::after { animation: none !important; }
}
