/* Review strip + trust cards (shared) */
/* ===== Trust & stats section (added after hero) ===== */
.trust-stats {
  background: #0a0803;
  padding: 6.8vw 0;
  position: relative;
  overflow: hidden;
}

.trust-stats .ts-glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(4.5vw);
  pointer-events: none;
  z-index: 0;
}

.trust-stats .ts-glow.g1 {
  width: 26vw;
  height: 26vw;
  top: -8vw;
  left: 4vw;
  background: radial-gradient(
    circle,
    rgba(238, 61, 37, 0.14) 0%,
    rgba(238, 61, 37, 0) 70%
  );
}

.trust-stats .ts-glow.g2 {
  width: 30vw;
  height: 30vw;
  bottom: -14vw;
  right: 2vw;
  background: radial-gradient(
    circle,
    rgba(84, 104, 255, 0.12) 0%,
    rgba(84, 104, 255, 0) 70%
  );
}

.trust-stats .container {
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  grid-gap: 3.33vw;
  position: relative;
  z-index: 2;
}

.trust-stats .ts-left {
  width: 47.5%;
}

.trust-stats .ts-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.9vw;
}

.trust-stats .ts-card {
  background: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.045) 0%,
    rgba(255, 255, 255, 0.015) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 1vw;
  padding: 1.3vw 1.4vw;
  position: relative;
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease;
}

.trust-stats a.ts-card {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

.trust-stats .ts-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(
    140deg,
    rgba(238, 61, 37, 0.35),
    rgba(255, 255, 255, 0) 40%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.trust-stats .ts-card:hover {
  transform: translateY(-0.28vw);
  border-color: #EE3D25 !important;
  background: linear-gradient(
    160deg,
    rgba(255, 255, 255, 0.07) 0%,
    rgba(255, 255, 255, 0.02) 100%
  );
  box-shadow:
    0 1vw 2.2vw rgba(0, 0, 0, 0.35),
    0 0 0 1px rgba(238, 61, 37, 0.08);
}

.trust-stats .ts-card:hover::before {
  opacity: 1;
}

.trust-stats .ts-card .ts-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-gap: 0.4vw;
}

.trust-stats .ts-logo {
  display: flex;
  align-items: center;
  grid-gap: 0.52vw;
  font-family: "Geometria", sans-serif;
  font-weight: 700;
  font-size: 1.15vw;
  color: #fff;
  white-space: nowrap;
}

.trust-stats .ts-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.7vw;
  height: 1.7vw;
  border-radius: 0.55vw;
  font-size: 0.94vw;
  font-weight: 800;
}

.trust-stats .ts-rating {
  display: flex;
  align-items: center;
  grid-gap: 0.3vw;
  font-family: "Geometria", sans-serif;
  font-weight: 700;
  font-size: 0.9vw;
  color: #fff;
  flex-shrink: 0;
  background: rgba(238, 61, 37, 0.12);
  border: 1px solid rgba(238, 61, 37, 0.25);
  border-radius: 999px;
  padding: 0.28vw 0.6vw;
}

.trust-stats .ts-rating svg {
  width: 0.78vw;
  height: 0.78vw;
}

.trust-stats .ts-card p {
  margin-top: 1vw;
  font-family: "Geometria", sans-serif;
  font-weight: 400;
  font-size: 0.78vw;
  line-height: 145%;
  color: rgba(255, 255, 255, 0.5);
}

.trust-stats .ts-caption {
  margin-top: 1.5vw;
  font-family: "Geometria", sans-serif;
  font-weight: 400;
  font-size: 0.94vw;
  line-height: 150%;
  color: rgba(255, 255, 255, 0.55);
  max-width: 90%;
  position: relative;
  padding-left: 1.1vw;
  border-left: 2px solid #EE3D25 !important;
}

.trust-stats .ts-right {
  width: 47.5%;
  padding-top: 0.6vw;
}

.trust-stats .ts-eyebrow {
  display: inline-flex;
  align-items: center;
  grid-gap: 0.55vw;
  font-family: "Geometria", sans-serif;
  font-weight: 600;
  font-size: 0.73vw;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.65);
}

.trust-stats .ts-eyebrow .dot {
  width: 0.42vw;
  height: 0.42vw;
  border-radius: 50%;
  background: #EE3D25;
  box-shadow: 0 0 0.7vw rgba(238, 61, 37, 0.9);
  flex-shrink: 0;
}

.trust-stats .ts-eyebrow-line {
  margin-top: 1.15vw;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0.18),
    rgba(255, 255, 255, 0)
  );
}

.trust-stats .ts-right h2 {
  margin-top: 1.35vw;
  font-family: "Geometria", sans-serif;
  font-weight: 500;
  font-size: 2.29vw;
  line-height: 122%;
  letter-spacing: -0.01em;
}

.trust-stats .ts-right h2 .ts-muted {
  color: #EE3D25;
}

.trust-stats .ts-right h2 .ts-bold {
  background: linear-gradient(120deg, #ffffff 0%, #d9d9d9 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  font-weight: 700;
}

.trust-stats .ts-stats {
  margin-top: 2.4vw;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.trust-stats .ts-stat {
  padding: 1.5vw 0 1.5vw 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  position: relative;
  transition: 0.35s ease;
}

.trust-stats .ts-stat:nth-child(2n) {
  padding-left: 2.6vw;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.trust-stats .ts-stat:hover {
  background: linear-gradient(
    180deg,
    rgba(238, 61, 37, 0.05),
    rgba(238, 61, 37, 0) 70%
  );
}

.trust-stats .ts-stat .num {
  font-family: "Geometria", sans-serif;
  font-weight: 700;
  font-size: 2.5vw;
  line-height: 100%;
  background: linear-gradient(160deg, #ffffff 0%, #b7b7b7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.trust-stats .ts-stat .label {
  margin-top: 0.6vw;
  font-family: "Geometria", sans-serif;
  font-weight: 400;
  font-size: 0.83vw;
  color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 700px) {
  .trust-stats {
    padding: 11.9vw 0;
  }

  .trust-stats .ts-glow {
    filter: blur(12vw);
  }

  .trust-stats .container {
    flex-direction: column;
    grid-gap: 11.9vw;
  }

  .trust-stats .ts-left,
  .trust-stats .ts-right {
    width: 100%;
  }

  .trust-stats .ts-grid {
    grid-gap: 2.98vw;
  }

  .trust-stats .ts-card {
    border-radius: 3.98vw;
    padding: 3.98vw;
  }

  .trust-stats .ts-card .ts-head {
    flex-wrap: wrap;
    grid-gap: 1.99vw;
  }

  .trust-stats .ts-icon {
    width: 6.97vw;
    height: 6.97vw;
    border-radius: 1.99vw;
    font-size: 3.48vw;
  }

  .trust-stats .ts-logo {
    font-size: 3.73vw;
    white-space: normal;
    grid-gap: 1.49vw;
  }

  .trust-stats .ts-rating {
    font-size: 3.23vw;
    padding: 0.99vw 1.99vw;
  }

  .trust-stats .ts-rating svg {
    width: 2.98vw;
    height: 2.98vw;
  }

  .trust-stats .ts-card p {
    margin-top: 2.98vw;
    font-size: 3.23vw;
  }

  .trust-stats .ts-caption {
    margin-top: 5.97vw;
    font-size: 3.73vw;
    max-width: 100%;
    padding-left: 2.98vw;
  }

  .trust-stats .ts-right {
    padding-top: 0;
  }

  .trust-stats .ts-eyebrow {
    font-size: 3.23vw;
  }

  .trust-stats .ts-eyebrow-line {
    margin-top: 3.98vw;
  }

  .trust-stats .ts-right h2 {
    margin-top: 3.98vw;
    font-size: 6.97vw;
  }

  .trust-stats .ts-stats {
    margin-top: 5.97vw;
  }

  .trust-stats .ts-stat {
    padding: 5.97vw 0;
  }

  .trust-stats .ts-stat:nth-child(2n) {
    padding-left: 5.97vw;
  }

  .trust-stats .ts-stat .num {
    font-size: 8.46vw;
  }

  .trust-stats .ts-stat .label {
    margin-top: 1.99vw;
    font-size: 3.48vw;
  }
}
    

/* =====================================================================
   Review platforms strip + Trust cards  (shared by every non-service page)
   ===================================================================== */

/* ---------- 1. Review platforms strip (animated pills) ---------- */
.logos-strip.rp-strip {
  position: relative;
  width: 100%;
  overflow: hidden;
  background:
    radial-gradient(40vw 8vw at 20% 0%, rgba(238, 61, 37, 0.14), transparent 70%),
    radial-gradient(40vw 8vw at 85% 100%, rgba(84, 104, 255, 0.10), transparent 70%),
    #0a0803;
  border-top: 1px solid rgba(255, 255, 255, 0.07);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  padding: 2.1vw 0;
}
.logos-strip.rp-strip::before,
.logos-strip.rp-strip::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0;
  width: 9vw;
  z-index: 3;
  pointer-events: none;
}
.logos-strip.rp-strip::before { left: 0;  background: linear-gradient(90deg, #0a0803 10%, rgba(10, 8, 3, 0)); }
.logos-strip.rp-strip::after  { right: 0; background: linear-gradient(270deg, #0a0803 10%, rgba(10, 8, 3, 0)); }

.logos-strip.rp-strip .line {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: auto;
  margin: 0;
  grid-gap: 1.6vw;
  padding-right: 1.6vw;
  will-change: transform;
  -webkit-animation: 45s linear infinite sbs-anim;
  animation: 45s linear infinite sbs-anim;
}
.logos-strip.rp-strip:hover .line { animation-play-state: paused; }

.logos-strip.rp-strip .line a.p.rp {
  --rp: #EE3D25;
  --rp-rgb: 238, 61, 37;
  position: relative;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  grid-gap: 0.75vw;
  padding: 0.62vw 1.7vw 0.62vw 0.7vw;
  border-radius: 999px;
  overflow: hidden;
  text-decoration: none;
  cursor: pointer;
  background: linear-gradient(160deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 0.5vw 1.2vw rgba(0, 0, 0, 0.35);
  transition:
    transform 0.4s cubic-bezier(0.2, 0.9, 0.3, 1.35),
    background 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}
.logos-strip.rp-strip .line a.p.rp[href*="goodfirms"]  { --rp: #fd6a3d; --rp-rgb: 253, 106, 61; }
.logos-strip.rp-strip .line a.p.rp[href*="cylex"]      { --rp: #39c6c0; --rp-rgb: 57, 198, 192; }
.logos-strip.rp-strip .line a.p.rp[href*="manta"]      { --rp: #f4a11e; --rp-rgb: 244, 161, 30; }
.logos-strip.rp-strip .line a.p.rp[href*="bark"]       { --rp: #17c3a2; --rp-rgb: 23, 195, 162; }
.logos-strip.rp-strip .line a.p.rp[href*="clutch"]     { --rp: #EE3D25; --rp-rgb: 238, 61, 37; }
.logos-strip.rp-strip .line a.p.rp[href*="trustpilot"] { --rp: #00b67a; --rp-rgb: 0, 182, 122; }

/* shine sweep */
.logos-strip.rp-strip .line a.p.rp::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.28) 50%, transparent 70%);
  transform: translateX(-130%);
  pointer-events: none;
}
.logos-strip.rp-strip .line a.p.rp svg {
  position: relative;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 2.5vw;
  height: 2.5vw;
  padding: 0.42vw;
  border-radius: 50%;
  background: rgba(var(--rp-rgb), 0.16);
  border: 1px solid rgba(var(--rp-rgb), 0.35);
  transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.5), background 0.35s ease, box-shadow 0.35s ease;
}
.logos-strip.rp-strip .line a.p.rp span {
  position: relative;
  font-family: "Geometria", sans-serif;
  font-weight: 700;
  font-size: 1.35vw;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.88);
  white-space: nowrap;
  opacity: 1;
  transition: color 0.3s ease, text-shadow 0.3s ease;
}

.logos-strip.rp-strip .line a.p.rp:hover,
.logos-strip.rp-strip .line a.p.rp:focus-visible {
  outline: none;
  transform: translateY(-0.6vw) scale(1.09);
  background: linear-gradient(160deg, rgba(var(--rp-rgb), 0.38), rgba(var(--rp-rgb), 0.10));
  border-color: var(--rp);
  box-shadow:
    0 1.2vw 2.2vw rgba(0, 0, 0, 0.55),
    0 0 1.8vw rgba(var(--rp-rgb), 0.5),
    inset 0 0 0 1px rgba(var(--rp-rgb), 0.35);
}
.logos-strip.rp-strip .line a.p.rp:hover::before,
.logos-strip.rp-strip .line a.p.rp:focus-visible::before {
  transform: translateX(130%);
  transition: transform 0.85s ease;
}
.logos-strip.rp-strip .line a.p.rp:hover svg,
.logos-strip.rp-strip .line a.p.rp:focus-visible svg {
  transform: rotate(-10deg) scale(1.14);
  background: rgba(var(--rp-rgb), 0.3);
  box-shadow: 0 0 1vw rgba(var(--rp-rgb), 0.7);
}
.logos-strip.rp-strip .line a.p.rp:hover span,
.logos-strip.rp-strip .line a.p.rp:focus-visible span {
  color: #fff;
  text-shadow: 0 0 1vw rgba(var(--rp-rgb), 0.8);
}

@media (max-width: 768px) {
  .logos-strip.rp-strip { padding: 5vw 0; }
  .logos-strip.rp-strip::before, .logos-strip.rp-strip::after { width: 10vw; }
  .logos-strip.rp-strip .line { grid-gap: 4vw; padding-right: 4vw; animation-duration: 32s; }
  .logos-strip.rp-strip .line a.p.rp { grid-gap: 2.4vw; padding: 1.8vw 4.6vw 1.8vw 2vw; }
  .logos-strip.rp-strip .line a.p.rp svg { width: 8vw; height: 8vw; padding: 1.4vw; }
  .logos-strip.rp-strip .line a.p.rp span { font-size: 4.2vw; }
  .logos-strip.rp-strip .line a.p.rp:hover, .logos-strip.rp-strip .line a.p.rp:focus-visible { transform: translateY(-1.2vw) scale(1.05); }
}

/* ---------- 2. Trust cards: entrance, running border beam, colourful hover ---------- */
@property --ts-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}

.trust-stats .ts-grid .ts-card {
  --c: #EE3D25;
  --c-rgb: 238, 61, 37;
  --i: 0;
  overflow: visible;
  background:
    radial-gradient(18vw 9vw at 100% 0%, rgba(var(--c-rgb), 0.07), transparent 70%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.015) 100%);
  transition:
    transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.25),
    border-color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.4s ease;
}
.trust-stats .ts-grid .ts-card:nth-child(1) { --c: #ff5a1f; --c-rgb: 255, 90, 31;  --i: 0; }
.trust-stats .ts-grid .ts-card:nth-child(2) { --c: #00b67a; --c-rgb: 0, 182, 122;  --i: 1; }
.trust-stats .ts-grid .ts-card:nth-child(3) { --c: #6b7bff; --c-rgb: 107, 123, 255; --i: 2; }
.trust-stats .ts-grid .ts-card:nth-child(4) { --c: #17c3a2; --c-rgb: 23, 195, 162;  --i: 3; }
.trust-stats .ts-grid .ts-card:nth-child(5) { --c: #EE3D25; --c-rgb: 238, 61, 37;  --i: 4; }
.trust-stats .ts-grid .ts-card:nth-child(6) { --c: #39c6c0; --c-rgb: 57, 198, 192; --i: 5; }

/* the border light that runs round each card, one card at a time (6 cards x 2s = 12s loop) */
.trust-stats .ts-grid .ts-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(
    from var(--ts-angle),
    rgba(var(--c-rgb), 0) 0deg,
    rgba(var(--c-rgb), 0) 245deg,
    rgba(var(--c-rgb), 0.55) 305deg,
    var(--c) 345deg,
    #fff 360deg
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  filter: drop-shadow(0 0 0.45vw var(--c));
  opacity: 0;
  pointer-events: none;
  animation: ts-beam 12s linear infinite both;
  animation-delay: calc(var(--i) * 2s);
}
@keyframes ts-beam {
  0%       { --ts-angle: 0deg;   opacity: 0; }
  1.5%     { opacity: 1; }
  15%      { opacity: 1; }
  16.66%   { --ts-angle: 360deg; opacity: 0; }
  100%     { --ts-angle: 360deg; opacity: 0; }
}

/* hover: pop up + colour change */
.trust-stats .ts-grid .ts-card:hover,
.trust-stats .ts-grid .ts-card:focus-visible {
  outline: none;
  transform: translateY(-0.55vw) scale(1.035);
  border-color: var(--c) !important;
  background:
    radial-gradient(18vw 9vw at 100% 0%, rgba(var(--c-rgb), 0.28), transparent 70%),
    linear-gradient(160deg, rgba(var(--c-rgb), 0.20) 0%, rgba(var(--c-rgb), 0.04) 100%);
  box-shadow:
    0 1.4vw 2.6vw rgba(0, 0, 0, 0.5),
    0 0 2vw rgba(var(--c-rgb), 0.35),
    inset 0 0 0 1px rgba(var(--c-rgb), 0.3);
  z-index: 3;
}
.trust-stats .ts-grid .ts-card:hover::before { opacity: 0; }
.trust-stats .ts-grid .ts-card .ts-icon {
  transition: transform 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.6), background 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}
.trust-stats .ts-grid .ts-card:hover .ts-icon,
.trust-stats .ts-grid .ts-card:focus-visible .ts-icon {
  transform: rotate(-10deg) scale(1.2);
  background: var(--c) !important;
  color: #fff !important;
  box-shadow: 0 0 1vw rgba(var(--c-rgb), 0.75);
}
.trust-stats .ts-grid .ts-card .ts-rating { transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease; }
.trust-stats .ts-grid .ts-card:hover .ts-rating,
.trust-stats .ts-grid .ts-card:focus-visible .ts-rating {
  background: rgba(var(--c-rgb), 0.28);
  border-color: var(--c);
  transform: scale(1.08);
}
.trust-stats .ts-grid .ts-card:hover .ts-rating svg path,
.trust-stats .ts-grid .ts-card:focus-visible .ts-rating svg path { fill: #fff; }
.trust-stats .ts-grid .ts-card p { transition: color 0.35s ease; }
.trust-stats .ts-grid .ts-card:hover p,
.trust-stats .ts-grid .ts-card:focus-visible p { color: rgba(255, 255, 255, 0.88); }

/* entrance: cards rise in one after another when the section scrolls into view */
.trust-stats.ts-anim .ts-grid .ts-card { opacity: 0; }
.trust-stats.ts-anim.is-in .ts-grid .ts-card {
  opacity: 1;
  animation: ts-rise 0.85s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
  animation-delay: calc(var(--i) * 0.12s);
}
/* keep the beam going after the entrance animation (re-declared because `animation` is a single property) */
.trust-stats.ts-anim.is-in .ts-grid .ts-card::after { animation: ts-beam 12s linear infinite both; animation-delay: calc(var(--i) * 2s); }
@keyframes ts-rise {
  from { opacity: 0; transform: translateY(2.4vw) scale(0.94); }
  to   { opacity: 1; transform: none; }
}
/* headline column + caption fade in too */
.trust-stats.ts-anim .ts-right, .trust-stats.ts-anim .ts-caption { opacity: 0; transform: translateY(1.6vw); transition: opacity 0.9s ease 0.3s, transform 0.9s ease 0.3s; }
.trust-stats.ts-anim.is-in .ts-right, .trust-stats.ts-anim.is-in .ts-caption { opacity: 1; transform: none; }

/* ambient glows drift slowly */
.trust-stats .ts-glow.g1 { animation: ts-drift 14s ease-in-out infinite alternate; }
.trust-stats .ts-glow.g2 { animation: ts-drift 18s ease-in-out infinite alternate-reverse; }
@keyframes ts-drift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(3vw, 2vw, 0) scale(1.15); } }

@media (max-width: 700px) {
  .trust-stats .ts-grid .ts-card:hover, .trust-stats .ts-grid .ts-card:focus-visible { transform: translateY(-1vw) scale(1.02); }
  .trust-stats .ts-grid .ts-card .ts-icon { width: 6vw; height: 6vw; font-size: 3vw; border-radius: 1.8vw; }
}

@media (prefers-reduced-motion: reduce) {
  .logos-strip.rp-strip .line { animation: none; }
  .trust-stats .ts-grid .ts-card::after, .trust-stats .ts-glow { animation: none !important; }
  .trust-stats.ts-anim .ts-grid .ts-card, .trust-stats.ts-anim .ts-right, .trust-stats.ts-anim .ts-caption { opacity: 1; transform: none; animation: none; transition: none; }
}

/* =====================================================================
   "Reviewed on" cards inside Let's talk (.lt-trust) - same animations
   4 cards x 2s = 8s loop for the running border
   ===================================================================== */
.lt-trust .ts-grid .ts-card {
  --c: #EE3D25;
  --c-rgb: 238, 61, 37;
  --i: 0;
  background:
    radial-gradient(14vw 7vw at 100% 0%, rgba(var(--c-rgb), 0.07), transparent 70%),
    linear-gradient(160deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.015) 100%);
  transition:
    transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1.25),
    border-color 0.35s ease,
    background 0.35s ease,
    box-shadow 0.4s ease;
}
.lt-trust .ts-grid .ts-card:nth-child(1) { --c: #ff5a1f; --c-rgb: 255, 90, 31;  --i: 0; }
.lt-trust .ts-grid .ts-card:nth-child(2) { --c: #00b67a; --c-rgb: 0, 182, 122;  --i: 1; }
.lt-trust .ts-grid .ts-card:nth-child(3) { --c: #6b7bff; --c-rgb: 107, 123, 255; --i: 2; }
.lt-trust .ts-grid .ts-card:nth-child(4) { --c: #17c3a2; --c-rgb: 23, 195, 162;  --i: 3; }

.lt-trust .ts-grid .ts-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 2px;
  background: conic-gradient(
    from var(--ts-angle),
    rgba(var(--c-rgb), 0) 0deg,
    rgba(var(--c-rgb), 0) 245deg,
    rgba(var(--c-rgb), 0.55) 305deg,
    var(--c) 345deg,
    #fff 360deg
  );
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  filter: drop-shadow(0 0 0.4vw var(--c));
  opacity: 0;
  pointer-events: none;
  animation: ts-beam4 8s linear infinite both;
  animation-delay: calc(var(--i) * 2s);
}
@keyframes ts-beam4 {
  0%     { --ts-angle: 0deg;   opacity: 0; }
  2.5%   { opacity: 1; }
  22.5%  { opacity: 1; }
  25%    { --ts-angle: 360deg; opacity: 0; }
  100%   { --ts-angle: 360deg; opacity: 0; }
}

/* hover: pop up + brand colour */
.lt-trust .ts-grid .ts-card:hover,
.lt-trust .ts-grid .ts-card:focus-visible {
  outline: none;
  transform: translateY(-0.45vw) scale(1.035);
  border-color: var(--c) !important;
  background:
    radial-gradient(14vw 7vw at 100% 0%, rgba(var(--c-rgb), 0.28), transparent 70%),
    linear-gradient(160deg, rgba(var(--c-rgb), 0.20) 0%, rgba(var(--c-rgb), 0.04) 100%);
  box-shadow:
    0 1.2vw 2.2vw rgba(0, 0, 0, 0.5),
    0 0 1.8vw rgba(var(--c-rgb), 0.35),
    inset 0 0 0 1px rgba(var(--c-rgb), 0.3);
  z-index: 3;
}
.lt-trust .ts-grid .ts-card:hover::before { opacity: 0; }
.lt-trust .ts-grid .ts-card .ts-icon {
  transition: transform 0.5s cubic-bezier(0.2, 0.9, 0.3, 1.6), background 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}
.lt-trust .ts-grid .ts-card:hover .ts-icon,
.lt-trust .ts-grid .ts-card:focus-visible .ts-icon {
  transform: rotate(-10deg) scale(1.2);
  background: var(--c) !important;
  color: #fff !important;
  box-shadow: 0 0 0.9vw rgba(var(--c-rgb), 0.75);
}
.lt-trust .ts-grid .ts-card .ts-rating { transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease; }
.lt-trust .ts-grid .ts-card:hover .ts-rating,
.lt-trust .ts-grid .ts-card:focus-visible .ts-rating {
  background: rgba(var(--c-rgb), 0.28);
  border-color: var(--c);
  transform: scale(1.08);
}
.lt-trust .ts-grid .ts-card:hover .ts-rating svg path,
.lt-trust .ts-grid .ts-card:focus-visible .ts-rating svg path { fill: #fff; }
.lt-trust .ts-grid .ts-card p { transition: color 0.35s ease; }
.lt-trust .ts-grid .ts-card:hover p,
.lt-trust .ts-grid .ts-card:focus-visible p { color: rgba(255, 255, 255, 0.88); }

/* entrance: cards rise in one after another */
.lt-trust.ts-anim .ts-grid .ts-card { opacity: 0; }
.lt-trust.ts-anim.is-in .ts-grid .ts-card {
  opacity: 1;
  animation: ts-rise 0.85s cubic-bezier(0.2, 0.8, 0.2, 1) backwards;
  animation-delay: calc(var(--i) * 0.12s);
}
.lt-trust.ts-anim.is-in .ts-grid .ts-card::after { animation: ts-beam4 8s linear infinite both; animation-delay: calc(var(--i) * 2s); }

@media (max-width: 700px) {
  .lt-trust .ts-grid .ts-card:hover, .lt-trust .ts-grid .ts-card:focus-visible { transform: translateY(-1vw) scale(1.02); }
}
@media (prefers-reduced-motion: reduce) {
  .lt-trust .ts-grid .ts-card::after { animation: none !important; }
  .lt-trust.ts-anim .ts-grid .ts-card { opacity: 1; animation: none; }
}
