/* Tether photos + motion on flashusdtsoftware.info — never start hidden */
@keyframes fi-ken{
  from{transform:scale(1) translate3d(0,0,0)}
  to{transform:scale(1.08) translate3d(-12px,8px,0)}
}
@keyframes fi-bob{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}
@keyframes fi-glow{
  0%,100%{box-shadow:0 16px 36px rgba(38,161,123,.22)}
  50%{box-shadow:0 22px 48px rgba(38,161,123,.42)}
}
@keyframes fi-spin{to{transform:rotate(360deg)}}
@keyframes fi-coin{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-16px) scale(1.05)}
}
@keyframes fi-grid{from{background-position:0 0}to{background-position:48px 32px}}

html body .ts-slide-bg,html body img.ts-slide-bg,html body .ts-flag-bg,html body img.ts-flag-bg{
  opacity:1 !important;visibility:visible !important;
  animation:fi-ken 22s ease-in-out infinite alternate !important;
  filter:saturate(1.05) contrast(1.04);
  border-radius:0 !important;
}
.ts-hero-frame,.ts-hero{overflow:hidden;position:relative}
.ts-hero-frame::before{
  content:"";position:absolute;inset:-8%;z-index:1;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpolygon points='50,6 93,28 93,72 50,94 7,72 7,28' fill='none' stroke='%2326A17B' stroke-width='1.2' opacity='.35'/%3E%3C/svg%3E") center/min(52vw,520px) no-repeat;
  animation:fi-spin 36s linear infinite;
  opacity:1;
}
.ts-hero-frame::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(circle at 12% 28%, #26A17B 0 14px, #0B1612 16px 22px, transparent 23px),
    radial-gradient(circle at 88% 22%, #50AF95 0 11px, #0B1612 13px 18px, transparent 19px),
    radial-gradient(circle at 18% 78%, #26A17B 0 10px, #0B1612 12px 16px, transparent 17px),
    radial-gradient(circle at 84% 72%, #D4AF5A 0 8px, #26A17B 9px 14px, transparent 15px);
  animation:fi-coin 5.2s ease-in-out infinite;
  opacity:1;
}
.ts-slide-in{position:relative;z-index:3}

.ts-hero img:not(.logo-mark):not(.ts-slide-bg):not(.ts-flag-bg),
.section img, .card img, .blog-card img, .project-item img,
.img-card img, .about-image img, .team-card img,
.ts-rail img, .ts-card img, .ts-media img, .ts-shot img,
.preview-section img, .lux-extra img, article img,
img[src*="ts-p"], img[src*="ts-h"], img[src*="ts-s"],
img[src*="ts-t"], img[src*="ts-lux"], img[src*="ts-orb"],
img[src*="ts-tether"], img[src*="Project-"]{
  opacity:1 !important;visibility:visible !important;filter:none !important;
  border-radius:22px !important;
  animation:fi-bob 4.6s ease-in-out infinite, fi-glow 3.8s ease-in-out infinite !important;
}
.section img:nth-of-type(2n), .card img:nth-of-type(2n), img[src*="ts-p"]:nth-of-type(2n){animation-delay:.35s !important}
.section img:nth-of-type(3n), img[src*="ts-h"]{animation-delay:.7s !important}

.logo-mark, .ts-logo img, header img.logo-mark, a.ts-logo img,
img[src*="logo-mark"], img[src*="favicon"]{
  animation:none !important;
  transform:none !important;
  box-shadow:none !important;
  border-radius:12px !important;
}

body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.22;
  background-image:
    linear-gradient(rgba(38,161,123,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(80,175,149,.05) 1px,transparent 1px);
  background-size:48px 48px;
  animation:fi-grid 32s linear infinite;
}
body > *{position:relative;z-index:1}

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