/*! WindspeedSEO Visual System - technical SEO monitoring objects v1.4.7
 * Objects built only for the Technical SEO monitoring page: a live site-health monitor (hero), a release
 * timeline with a caught regression, a panel of check modules with status LEDs, Core Web Vitals gauges,
 * an issue-to-traffic impact trace and a verification console. Same pattern as the other page files: one root
 * class (.ws-tm) on distinct element tags, styled by structure, with .ws-tm-on marking the key item.
 * 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-cg.css.
 */

/* two rank-tracking hero parts lost their single-use classes to free global class slots; styled by position now */
html .elementor .ws-hx-rank > .e-con:nth-child(3) { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 12px; }
html .elementor .ws-hx.ws-hx-rank > .e-con:nth-child(3) > * { width: auto; }
html .elementor .ws-hx.ws-hx-rank > .e-con:nth-child(3) .ws-spark { width: 140px; height: 32px; }
.ws-js .ws-hx-rank > .e-con:nth-child(3) { opacity: 0; }
.ws-js .ws-in .ws-hx-rank > .e-con:nth-child(3) { opacity: 1; transition: opacity 600ms var(--ws-ease-out) 1000ms; }
.ws-js .ws-in .ws-hx-rank .ws-hx-rrow--you > .ws-hx-chip { animation: ws-hx-delta 9s ease-in-out 1.4s infinite; }

@property --tm-p { syntax: "<percentage>"; inherits: true; initial-value: 0%; }
.elementor .ws-tm { --tm-bg: #141B26; --tm-bg2: #202A38; --tm-cyan: #347FA8; --tm-lime: #83B422; --tm-coral: #E7A6A2; --tm-amber: #BEDD79; --tm-violet: #96C8E1; --tm-ink: #202A38; }
html .elementor .ws-tm .e-div-block-base { min-width: 0; }
html .elementor .ws-tm .e-paragraph-base { margin: 0; }

/* ============================================================ HERO: LIVE SITE MONITOR  (.ws-hero div.ws-tm) */
html .elementor .ws-hero div.ws-tm { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 24px; color: #fff;
  background: radial-gradient(90% 60% at 100% 0%, rgba(150, 200, 225, .35), transparent 60%), radial-gradient(70% 60% at 0% 100%, rgba(52, 127, 168, .18), transparent 60%), linear-gradient(165deg, #202A38, #141B26);
  border: 1px solid rgba(150, 200, 225, .28); box-shadow: 0 34px 70px -34px rgba(20, 27, 38, .9), inset 0 1px 0 rgba(255, 255, 255, .06); }
html .elementor .ws-hero div.ws-tm > .e-con:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 6px 14px; flex-wrap: wrap; }
html .elementor .ws-hero div.ws-tm > .e-con:first-child > :first-child { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--tm-cyan); }
html .elementor .ws-hero div.ws-tm > .e-con:first-child > :first-child::before { content: ""; width: 8px; height: 8px; border-radius: 9999px; background: var(--tm-lime); box-shadow: 0 0 10px var(--tm-lime); animation: ws-tm-blink 1.4s steps(2, end) infinite; }
@keyframes ws-tm-blink { 50% { opacity: .25; } }
html .elementor .ws-hero div.ws-tm > .e-con:first-child > :last-child { font-family: var(--ws-mono); font-size: 12px; color: rgba(255, 255, 255, .6); }
/* vitals: score ring + heartbeat */
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 14px; align-items: stretch; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child { --tm-p: 96%; position: relative; width: 124px; height: 124px; border-radius: 9999px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: conic-gradient(var(--tm-lime) var(--tm-p), rgba(255, 255, 255, .1) 0); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child::after { content: ""; position: absolute; top: 11px; left: 11px; right: 11px; bottom: 11px; width: auto; height: auto; border-radius: 9999px; background: #202A38; z-index: 0; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child > .e-paragraph-base { position: relative; z-index: 1; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child > :first-child { font-family: var(--ws-mono); font-size: 34px; font-weight: 800; line-height: 1; color: var(--tm-lime); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child > :last-child { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .7); margin-top: 4px; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :last-child { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 16px; background: rgba(20, 27, 38, .25); border: 1px solid rgba(52, 127, 168, .2); overflow: hidden; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :last-child > :first-child { display: flex; justify-content: space-between; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .6); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :last-child > .e-con { flex: 1 1 auto; min-height: 70px; border-radius: 8px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='70' viewBox='0 0 240 70'%3E%3Cpolyline fill='none' stroke='%236FB2D5' stroke-width='2.5' stroke-linejoin='round' stroke-linecap='round' points='0,42 44,42 56,42 63,24 71,58 79,8 88,54 96,42 142,42 152,35 162,42 240,42'/%3E%3C/svg%3E"), linear-gradient(rgba(52, 127, 168, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(52, 127, 168, .07) 1px, transparent 1px);
  background-size: 240px 100%, 14px 14px, 14px 14px; background-repeat: repeat-x, repeat, repeat; background-position: 0 center, 0 0, 0 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #141B26 12%, #141B26 88%, transparent); mask-image: linear-gradient(90deg, transparent, #141B26 12%, #141B26 88%, transparent); }
/* checks */
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) { display: flex; flex-direction: column; gap: 6px; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) > .e-con { --c: var(--tm-lime); display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-radius: 10px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .06); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) > :nth-child(4) { --c: var(--tm-amber); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) > .e-con > :first-child { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .9); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) > .e-con > :last-child { display: inline-flex; align-items: center; gap: 6px; font-family: var(--ws-mono); font-size: 11.5px; font-weight: 700; color: var(--c); white-space: nowrap; }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) > .e-con > :last-child::before { content: ""; width: 7px; height: 7px; border-radius: 9999px; background: var(--c); box-shadow: 0 0 8px var(--c); }
/* the alert */
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(4) { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-radius: 12px; background: rgba(231, 166, 162, .14); border: 1px solid rgba(231, 166, 162, .45); border-left: 4px solid var(--tm-coral); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(4) > :first-child { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--tm-coral); }
html .elementor .ws-hero div.ws-tm > .e-con:nth-child(4) > :last-child { font-size: 13px; font-weight: 600; color: #FFF0EF; }
/* motion */
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(2) > :last-child > .e-con { animation: ws-tm-ecg 2.6s linear infinite; }
@keyframes ws-tm-ecg { from { background-position: 0 center, 0 0, 0 0; } to { background-position: -240px center, 0 0, 0 0; } }
.ws-js .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child { --tm-p: 0%; }
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(2) > :first-child { --tm-p: 96%; transition: --tm-p 1600ms var(--ws-ease-out) 400ms; }
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(3) > .e-con { animation: ws-tm-scanrow 7.5s ease-in-out infinite; }
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(3) > :nth-child(1) { animation-delay: 1.0s; } .ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(3) > :nth-child(2) { animation-delay: 2.5s; }
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(3) > :nth-child(3) { animation-delay: 4.0s; } .ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(3) > :nth-child(4) { animation-delay: 5.5s; }
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(3) > :nth-child(5) { animation-delay: 7.0s; }
@keyframes ws-tm-scanrow { 0%, 14% { background: rgba(52, 127, 168, .16); border-color: rgba(52, 127, 168, .5); } 24%, 100% { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .06); } }
.ws-js .ws-hero div.ws-tm > .e-con:nth-child(4) { opacity: 0; translate: 0 10px; }
.ws-js .ws-hero.ws-in div.ws-tm > .e-con:nth-child(4) { opacity: 1; translate: 0 0; transition: opacity 500ms ease-out 1.8s, translate 600ms var(--ws-ease-out) 1.8s; animation: ws-tm-alert 3s ease-in-out 2.6s infinite; }
@keyframes ws-tm-alert { 0%, 100% { box-shadow: 0 0 0 0 rgba(231, 166, 162, 0); } 50% { box-shadow: 0 0 0 5px rgba(231, 166, 162, .18); } }
@media (max-width: 767px) {
  html .elementor .ws-hero div.ws-tm { padding: 16px; gap: 12px; }
  html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) { grid-template-columns: 96px minmax(0, 1fr); gap: 10px; }
  html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child { width: 96px; height: 96px; }
  html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child::after { top: 9px; left: 9px; right: 9px; bottom: 9px; }
  html .elementor .ws-hero div.ws-tm > .e-con:nth-child(2) > :first-child > :first-child { font-size: 26px; }
  html .elementor .ws-hero div.ws-tm > .e-con:nth-child(3) > .e-con > :first-child { font-size: 12px; }
}

/* ============================================================ A. RELEASE TIMELINE  (article.ws-tm) */
html .elementor article.ws-tm { position: relative; padding: 22px 20px 20px; border-radius: 22px; background: linear-gradient(165deg, #202A38, #141B26); box-shadow: 0 30px 60px -34px rgba(20, 27, 38, .85); color: #fff; }
html .elementor article.ws-tm > .e-con { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; padding-top: 10px; }
html .elementor article.ws-tm > .e-con::before { content: ""; position: absolute; left: 10%; right: 10%; top: 58px; bottom: auto; width: auto; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #347FA8, #96C8E1 45%, #E7A6A2 55%, #BEDD79 75%, #83B422); opacity: .6; }
/* the playhead */
html .elementor article.ws-tm > .e-con::after { content: ""; position: absolute; left: 10%; right: auto; bottom: auto; top: 48px; width: 22px; height: 22px; margin-left: -11px; border-radius: 9999px; background: radial-gradient(circle, #fff 0 30%, rgba(52, 127, 168, .9) 32%, rgba(52, 127, 168, 0) 70%); opacity: 0; }
.ws-js article.ws-tm.ws-in > .e-con::after { animation: ws-tm-play 8s linear 1s infinite; }
@keyframes ws-tm-play { 0% { left: 10%; opacity: 0; } 5% { opacity: 1; } 92% { opacity: 1; } 100% { left: 90%; opacity: 0; } }
html .elementor article.ws-tm > .e-con > .e-con { --c: var(--tm-cyan); position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
html .elementor article.ws-tm > .e-con > :nth-child(3) { --c: var(--tm-coral); }
html .elementor article.ws-tm > .e-con > :nth-child(4) { --c: var(--tm-amber); }
html .elementor article.ws-tm > .e-con > :nth-child(5) { --c: var(--tm-lime); }
html .elementor article.ws-tm > .e-con > .e-con > :first-child { font-family: var(--ws-mono); font-size: 11.5px; font-weight: 700; color: var(--c); min-height: 30px; display: flex; align-items: flex-end; }
html .elementor article.ws-tm > .e-con > .e-con::before { content: ""; position: relative; top: auto; left: auto; order: 1; width: 22px; height: 22px; border-radius: 9999px; background: #141B26; border: 4px solid var(--c); box-shadow: 0 0 14px color-mix(in srgb, var(--c) 70%, transparent); z-index: 1; }
html .elementor article.ws-tm > .e-con > .e-con > :last-child { order: 2; font-size: 12.5px; font-weight: 600; line-height: 1.35; color: rgba(255, 255, 255, .85); }
html .elementor article.ws-tm > .e-con > .ws-tm-on > :last-child { color: #FFF0EF; }
html .elementor article.ws-tm > .e-con > .ws-tm-on::before { background: var(--tm-coral); }
.ws-js article.ws-tm.ws-in > .e-con > .e-con::before { animation: ws-tm-hit 8s ease-out infinite; }
.ws-js article.ws-tm.ws-in > .e-con > :nth-child(1)::before { animation-delay: 1.8s; } .ws-js article.ws-tm.ws-in > .e-con > :nth-child(2)::before { animation-delay: 3.4s; }
.ws-js article.ws-tm.ws-in > .e-con > :nth-child(3)::before { animation-delay: 5.0s; } .ws-js article.ws-tm.ws-in > .e-con > :nth-child(4)::before { animation-delay: 6.6s; }
.ws-js article.ws-tm.ws-in > .e-con > :nth-child(5)::before { animation-delay: 8.2s; }
@keyframes ws-tm-hit { 0% { scale: 1; } 3% { scale: 1.6; } 10%, 100% { scale: 1; } }
.ws-js article.ws-tm > .e-con > .e-con { opacity: 0; translate: 0 10px; }
.ws-js article.ws-tm.ws-in > .e-con > .e-con { opacity: 1; translate: 0 0; transition: opacity 450ms ease-out calc(var(--ws-i, 0) * 150ms), translate 600ms var(--ws-ease-out) calc(var(--ws-i, 0) * 150ms); }
@media (max-width: 767px) {
  html .elementor article.ws-tm { padding: 16px 14px; }
  html .elementor article.ws-tm > .e-con { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 0 0 0 30px; }
  html .elementor article.ws-tm > .e-con::before { left: 10px; right: auto; top: 6px; bottom: 6px; width: 3px; height: auto; background: linear-gradient(180deg, #347FA8, #96C8E1 45%, #E7A6A2 55%, #BEDD79 75%, #83B422); }
  html .elementor article.ws-tm > .e-con::after { display: none; }
  html .elementor article.ws-tm > .e-con > .e-con { align-items: flex-start; text-align: left; gap: 2px; }
  html .elementor article.ws-tm > .e-con > .e-con::before { position: absolute; left: -29px; top: 2px; width: 18px; height: 18px; border-width: 3px; }
  html .elementor article.ws-tm > .e-con > .e-con > :first-child { min-height: 0; }
}

/* ============================================================ B. CHECK MODULES  (header.ws-tm) */
html .elementor header.ws-tm { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
html .elementor header.ws-tm > .e-con { --c: var(--tm-lime); --u: #E7A6A2; position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px 16px 16px; border-radius: 18px; overflow: hidden; color: #fff; background: linear-gradient(160deg, #2A3546, #141B26); border: 1px solid rgba(150, 200, 225, .25); box-shadow: 0 22px 40px -28px rgba(20, 27, 38, .9); }
html .elementor header.ws-tm > :nth-child(3) { --c: var(--tm-coral); }
html .elementor header.ws-tm > :nth-child(4), html .elementor header.ws-tm > :nth-child(6) { --c: var(--tm-amber); }
html .elementor header.ws-tm > :is(:nth-child(4), :nth-child(6), :nth-child(7)) { --u: #BEDD79; }
html .elementor header.ws-tm > :nth-child(8) { --u: #347FA8; }
/* the status LED */
html .elementor header.ws-tm > .e-con::before { content: ""; position: absolute; top: 16px; right: 16px; left: auto; bottom: auto; width: 12px; height: 12px; border-radius: 9999px; background: var(--c); box-shadow: 0 0 12px var(--c); }
/* a scan bar along the top edge */
html .elementor header.ws-tm > .e-con::after { content: ""; position: absolute; top: 0; left: -40%; right: auto; bottom: auto; width: 40%; height: 3px; background: linear-gradient(90deg, transparent, var(--tm-cyan), transparent); }
html .elementor header.ws-tm > .e-con > :nth-child(1) { font-size: 15px; font-weight: 700; line-height: 1.25; padding-right: 22px; }
html .elementor header.ws-tm > .e-con > :nth-child(2) { font-family: var(--ws-mono); font-size: 13px; font-weight: 700; color: var(--c); }
html .elementor header.ws-tm > .e-con > :nth-child(3) { align-self: flex-start; margin-top: 4px; padding: 3px 9px; border-radius: 9999px; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--u); background: color-mix(in srgb, var(--u) 16%, transparent); border: 1px solid color-mix(in srgb, var(--u) 45%, transparent); }
.ws-js header.ws-tm.ws-in > .e-con::before { animation: ws-tm-led 2.4s ease-in-out calc(var(--ws-i, 0) * 180ms) infinite; }
@keyframes ws-tm-led { 0%, 60%, 100% { opacity: 1; scale: 1; } 70% { opacity: .3; scale: .8; } 80% { opacity: 1; scale: 1.2; } }
.ws-js header.ws-tm.ws-in > .e-con::after { animation: ws-tm-scanbar 4s ease-in-out calc(var(--ws-i, 0) * 250ms) infinite; }
@keyframes ws-tm-scanbar { 0% { left: -40%; } 50%, 100% { left: 110%; } }
.ws-js header.ws-tm > .e-con { opacity: 0; scale: .9; }
.ws-js header.ws-tm.ws-in > .e-con { opacity: 1; scale: 1; transition: opacity 400ms ease-out calc(var(--ws-i, 0) * 90ms), scale 550ms cubic-bezier(.34, 1.4, .64, 1) calc(var(--ws-i, 0) * 90ms); }
@media (max-width: 1024px) { html .elementor header.ws-tm { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { html .elementor header.ws-tm { gap: 10px; } html .elementor header.ws-tm > .e-con { padding: 14px 12px 12px; } html .elementor header.ws-tm > .e-con > :nth-child(1) { font-size: 13.5px; } html .elementor header.ws-tm > .e-con > :nth-child(2) { font-size: 12px; } }

/* ============================================================ C. CORE WEB VITALS GAUGES  (aside.ws-tm) */
html .elementor aside.ws-tm { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
html .elementor aside.ws-tm > .e-con { --r: -50deg; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 22px 16px 18px; border-radius: 20px; background: #fff; border: 1px solid #E2F1F8; box-shadow: 0 22px 40px -30px rgba(32, 42, 56, .7); text-align: center; }
html .elementor aside.ws-tm > :nth-child(2) { --r: -40deg; }
html .elementor aside.ws-tm > :nth-child(3) { --r: 8deg; }
/* the dial: a half ring in three zones with a needle */
html .elementor aside.ws-tm > .e-con > .e-con:first-child { position: relative; width: 180px; max-width: 100%; aspect-ratio: 2 / 1; border-radius: 180px 180px 0 0; overflow: hidden; margin-bottom: 6px;
  background: conic-gradient(from -90deg at 50% 100%, #83B422 0deg 70deg, #BEDD79 70deg 120deg, #E7A6A2 120deg 180deg, transparent 180deg); }
html .elementor aside.ws-tm > .e-con > .e-con:first-child::after { content: ""; position: absolute; left: 22%; right: 22%; bottom: -56%; top: auto; width: auto; height: auto; aspect-ratio: 1; border-radius: 9999px; background: #fff; }
html .elementor aside.ws-tm > .e-con > .e-con:first-child > .e-con { position: absolute; left: 50%; bottom: 0; width: 4px; height: 86%; margin-left: -2px; border-radius: 4px 4px 0 0; background: #202A38; transform-origin: 50% 100%; rotate: var(--r); z-index: 2; }
html .elementor aside.ws-tm > .e-con > .e-con:first-child > .e-con::after { content: ""; position: absolute; left: -7px; bottom: -9px; top: auto; right: auto; width: 18px; height: 18px; border-radius: 9999px; background: #202A38; }
html .elementor aside.ws-tm > .e-con > :nth-child(2) { font-family: var(--ws-mono); font-size: 30px; font-weight: 800; line-height: 1; color: var(--tm-ink); }
html .elementor aside.ws-tm > .e-con > :nth-child(3) { font-size: 14px; font-weight: 700; color: #364357; }
html .elementor aside.ws-tm > .e-con > :nth-child(4) { margin-top: 4px; padding: 4px 12px; border-radius: 9999px; font-size: 12px; font-weight: 800; color: #537418; background: #EDF6DB; }
html .elementor aside.ws-tm > :nth-child(3) > :nth-child(4) { color: #537418; background: #EDF6DB; }
.ws-js aside.ws-tm > .e-con > .e-con:first-child > .e-con { rotate: -90deg; }
.ws-js aside.ws-tm.ws-in > .e-con > .e-con:first-child > .e-con { rotate: var(--r); transition: rotate 1400ms cubic-bezier(.34, 1.3, .64, 1) calc(300ms + var(--ws-i, 0) * 250ms); animation: ws-tm-jitter 3s ease-in-out calc(2s + var(--ws-i, 0) * .4s) infinite; }
@keyframes ws-tm-jitter { 0%, 100% { translate: 0 0; rotate: var(--r); } 50% { rotate: calc(var(--r) + 6deg); } }
@media (max-width: 767px) {
  html .elementor aside.ws-tm { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  html .elementor aside.ws-tm > .e-con { display: grid; grid-template-columns: 130px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 14px; row-gap: 4px; text-align: left; align-items: center; padding: 16px; }
  html .elementor aside.ws-tm > .e-con > .e-con:first-child { grid-row: 1 / span 3; width: 130px; margin: 0; }
  html .elementor aside.ws-tm > .e-con > :nth-child(4) { justify-self: start; }
  html .elementor aside.ws-tm > .e-con > :nth-child(2) { font-size: 24px; }
}

/* ============================================================ D. ISSUE -> PAGES -> TRAFFIC TRACE  (section.ws-tm) */
html .elementor section.ws-tm { display: grid; grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1.15fr) 56px minmax(0, .9fr); align-items: center; }
html .elementor section.ws-tm > .e-con:nth-child(1) { display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid #E7A6A2; border-top: 6px solid var(--tm-coral); box-shadow: 0 22px 40px -28px rgba(190, 73, 67, .6); }
html .elementor section.ws-tm > .e-con:nth-child(1) > :nth-child(1) { font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #BE4943; }
html .elementor section.ws-tm > .e-con:nth-child(1) > :nth-child(2) { font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--tm-ink); }
html .elementor section.ws-tm > .e-con:nth-child(1) > :nth-child(3) { font-size: 12.5px; font-weight: 600; color: #4D5C74; }
/* connectors: dashes flowing to the right */
html .elementor section.ws-tm > .e-con:is(:nth-child(2), :nth-child(4)) { position: relative; height: 4px; border-radius: 4px; background: repeating-linear-gradient(90deg, #96C8E1 0 8px, transparent 8px 14px); background-size: 28px 4px; }
html .elementor section.ws-tm > .e-con:is(:nth-child(2), :nth-child(4))::after { content: ""; position: absolute; right: -2px; top: -5px; left: auto; bottom: auto; width: 0; height: 0; border-left: 10px solid #96C8E1; border-top: 7px solid transparent; border-bottom: 7px solid transparent; }
.ws-js section.ws-tm.ws-in > .e-con:is(:nth-child(2), :nth-child(4)) { animation: ws-tm-flow .9s linear infinite; }
@keyframes ws-tm-flow { from { background-position: 0 0; } to { background-position: 28px 0; } }
/* affected pages */
html .elementor section.ws-tm > .e-con:nth-child(3) { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; padding: 16px; border-radius: 18px; background: #F1F8FC; border: 1px dashed #BFDDED; }
html .elementor section.ws-tm > .e-con:nth-child(3) > .e-paragraph-base { font-family: var(--ws-mono); font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 8px; background: #fff; color: #286788; border: 1px solid #E2F1F8; box-shadow: 0 6px 12px -10px rgba(32, 42, 56, .6); }
/* the traffic at stake */
html .elementor section.ws-tm > .e-con:nth-child(5) { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 20px 16px; border-radius: 20px; color: #fff; background: linear-gradient(150deg, #4C9CC8, #E7A6A2); box-shadow: 0 26px 46px -26px rgba(76, 156, 200, .9); }
html .elementor section.ws-tm > .e-con:nth-child(5) > :nth-child(1) { font-family: var(--ws-mono); font-size: 34px; font-weight: 800; line-height: 1; }
html .elementor section.ws-tm > .e-con:nth-child(5) > :nth-child(2) { font-size: 13px; font-weight: 600; line-height: 1.35; opacity: .95; }
html .elementor section.ws-tm > .e-con:nth-child(5) > :nth-child(3) { margin-top: 6px; padding: 4px 12px; border-radius: 9999px; font-size: 12px; font-weight: 800; background: rgba(255, 255, 255, .22); }
.ws-js section.ws-tm > .e-con:nth-child(3) > .e-paragraph-base { opacity: 0; scale: .6; }
.ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > .e-paragraph-base { opacity: 1; scale: 1; transition: opacity 350ms ease-out, scale 500ms cubic-bezier(.34, 1.6, .64, 1); }
.ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > :nth-child(1) { transition-delay: 600ms; } .ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > :nth-child(2) { transition-delay: 720ms; }
.ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > :nth-child(3) { transition-delay: 840ms; } .ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > :nth-child(4) { transition-delay: 960ms; }
.ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > :nth-child(5) { transition-delay: 1080ms; } .ws-js section.ws-tm.ws-in > .e-con:nth-child(3) > :nth-child(6) { transition-delay: 1200ms; }
.ws-js section.ws-tm.ws-in > .e-con:nth-child(5) { animation: ws-tm-stake 2.8s ease-in-out 1.8s infinite; }
@keyframes ws-tm-stake { 0%, 100% { scale: 1; } 50% { scale: 1.04; } }
.ws-js section.ws-tm.ws-in > .e-con:nth-child(1) { animation: ws-tm-alert 2.8s ease-in-out 1s infinite; }
@media (max-width: 1024px) {
  html .elementor section.ws-tm { grid-template-columns: minmax(0, 1fr); justify-items: stretch; }
  html .elementor section.ws-tm > .e-con:is(:nth-child(2), :nth-child(4)) { justify-self: center; width: 4px; height: 40px; background: repeating-linear-gradient(180deg, #96C8E1 0 8px, transparent 8px 14px); background-size: 4px 28px; }
  html .elementor section.ws-tm > .e-con:is(:nth-child(2), :nth-child(4))::after { right: auto; left: -5px; top: auto; bottom: -4px; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 10px solid #96C8E1; border-bottom: 0; }
  .ws-js section.ws-tm.ws-in > .e-con:is(:nth-child(2), :nth-child(4)) { animation-name: ws-tm-flow-v; }
  @keyframes ws-tm-flow-v { from { background-position: 0 0; } to { background-position: 0 28px; } }
}

/* ============================================================ E. VERIFICATION CONSOLE  (footer.ws-tm) */
html .elementor footer.ws-tm { position: relative; border-radius: 18px; overflow: hidden; background: #141B26; box-shadow: 0 30px 60px -34px rgba(20, 27, 38, .9); border: 1px solid rgba(150, 200, 225, .25); }
html .elementor footer.ws-tm > .e-con:nth-child(1) { display: flex; align-items: center; gap: 12px; padding: 10px 14px; background: #202A38; }
html .elementor footer.ws-tm > .e-con:nth-child(1)::before { content: ""; position: static; width: 44px; height: 12px; flex: 0 0 44px; background: radial-gradient(circle at 6px 6px, #E7A6A2 5px, transparent 5.5px), radial-gradient(circle at 22px 6px, #BEDD79 5px, transparent 5.5px), radial-gradient(circle at 38px 6px, #83B422 5px, transparent 5.5px); }
html .elementor footer.ws-tm > .e-con:nth-child(1) > .e-paragraph-base { font-family: var(--ws-mono); font-size: 12px; color: rgba(255, 255, 255, .6); }
html .elementor footer.ws-tm > .e-con:nth-child(2) { display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 22px; }
html .elementor footer.ws-tm > .e-con:nth-child(2) > .e-paragraph-base { font-family: var(--ws-mono); font-size: 13.5px; line-height: 1.4; color: #BFDDED; white-space: pre; overflow: hidden; }
html .elementor footer.ws-tm > .e-con:nth-child(2) > :first-child { color: var(--tm-cyan); }
html .elementor footer.ws-tm > .e-con:nth-child(2) > :not(:first-child) { color: var(--tm-lime); }
html .elementor footer.ws-tm > .e-con:nth-child(2) > :last-child::after { content: "▌"; margin-left: 4px; color: var(--tm-cyan); }
/* the stamp */
html .elementor footer.ws-tm > .e-con:nth-child(3) { position: absolute; right: 22px; bottom: 22px; width: max-content; height: auto; padding: 8px 16px; border-radius: 10px; border: 3px solid var(--tm-lime); rotate: -8deg; }
html .elementor footer.ws-tm > .e-con:nth-child(3) > .e-paragraph-base { font-size: 18px; font-weight: 900; letter-spacing: .14em; color: var(--tm-lime); }
.ws-js footer.ws-tm > .e-con:nth-child(2) > .e-paragraph-base { clip-path: inset(0 100% 0 0); }
.ws-js footer.ws-tm.ws-in > .e-con:nth-child(2) > .e-paragraph-base { clip-path: inset(0 0 0 0); transition: clip-path 900ms steps(24, end) calc(400ms + var(--ws-i, 0) * 850ms); }
.ws-js footer.ws-tm.ws-in > .e-con:nth-child(2) > :last-child::after { animation: ws-tm-blink 1s steps(2, end) infinite; }
.ws-js footer.ws-tm > .e-con:nth-child(3) { opacity: 0; scale: 2.2; }
.ws-js footer.ws-tm.ws-in > .e-con:nth-child(3) { opacity: 1; scale: 1; transition: opacity 250ms ease-out 5s, scale 400ms cubic-bezier(.3, 1.6, .5, 1) 5s; animation: ws-tm-stamp 3s ease-in-out 6s infinite; }
@keyframes ws-tm-stamp { 0%, 100% { box-shadow: 0 0 0 0 rgba(131, 180, 34, 0); } 50% { box-shadow: 0 0 18px 2px rgba(131, 180, 34, .45); } }
@media (max-width: 560px) {
  html .elementor footer.ws-tm > .e-con:nth-child(2) { padding: 14px 12px 70px; }
  html .elementor footer.ws-tm > .e-con:nth-child(2) > .e-paragraph-base { font-size: 11px; }
  html .elementor footer.ws-tm > .e-con:nth-child(3) { right: 14px; bottom: 14px; }
  html .elementor footer.ws-tm > .e-con:nth-child(3) > .e-paragraph-base { font-size: 15px; }
}

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