/* ============================================================
   SIGNAL LOST widgets -- ported 1:1 from the ratified prototypes.
   Class prefix sl- throughout; tokens come from the theme.
   ============================================================ */

/* ---- sl_pointcloud: the statue hero ---- */
.sl-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:flex-end;overflow:hidden;padding-bottom:clamp(2rem,6vh,4.5rem)}
.sl-hero__fxback{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%}
.sl-hero__cloud{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%}
.sl-hero__fx{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;pointer-events:none}
.sl-hero__title{position:relative;z-index:3;margin:0;
  font-size:clamp(4.2rem,15.5vw,16rem);text-align:center;width:100%;white-space:nowrap;
  animation:sl-tbase 4.7s steps(1) infinite}
.sl-hero__title::before,.sl-hero__title::after{content:attr(data-text);position:absolute;
  left:0;right:0;top:0;pointer-events:none;opacity:0;z-index:-1}
.sl-hero__title::before{color:#fefaf4;animation:sl-tglitch1 4.7s steps(1) infinite}
.sl-hero__title::after{color:#0a0305;animation:sl-tglitch2 4.7s steps(1) infinite}
@keyframes sl-tbase{0%,91.9%,97%,100%{transform:none}92%{transform:translateX(4px)}94.5%{transform:translateX(-3px)}}
@keyframes sl-tglitch1{0%,91.9%,96.5%,100%{opacity:0}
  92%{opacity:1;transform:translate(-10px,3px);clip-path:inset(8% 0 58% 0)}
  94.5%{opacity:1;transform:translate(7px,-2px);clip-path:inset(55% 0 12% 0)}}
@keyframes sl-tglitch2{0%,92.4%,96.8%,100%{opacity:0}
  92.5%{opacity:1;transform:translate(9px,-3px);clip-path:inset(30% 0 34% 0)}
  95%{opacity:1;transform:translate(-6px,2px);clip-path:inset(70% 0 2% 0)}}
.sl-hero__strip{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:.4em 2em;
  justify-content:center;align-items:baseline;margin-top:var(--sp-3)}
.sl-hero__sub{margin:0;color:#1a0808;font-size:clamp(14px,1.45vw,18px);background:var(--sl-red);padding:.08em .45em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.sl-hero__sub .dim{color:#4a1114}
.sl-hero__cursor{display:inline-block;width:.58ch;height:1.02em;vertical-align:-.14em;
  background:#1a0808;margin-left:.22ch;animation:sl-blink 1.1s steps(1) infinite}
@keyframes sl-blink{50%{opacity:0}}
.sl-hero__ctaRow{position:absolute;z-index:4;right:var(--gutter);bottom:4.6rem;margin:0}
@media(max-width:1100px){.sl-hero__ctaRow{position:static;text-align:center;margin-top:var(--sp-4)}}
.sl-hero__cta{display:inline-block;font-family:var(--sl-display);text-transform:uppercase;
  letter-spacing:.10em;color:#1a0808;border:3px solid #1a0808;padding:.5em 1.5em;
  background:var(--sl-red);
  text-decoration:none;font-size:clamp(.95rem,1.5vw,1.25rem);transition:background .15s,color .15s}
.sl-hero__cta:hover,.sl-hero__cta:focus-visible{background:#1a0808;color:var(--sl-red)}
.sl-hero__cat{font-family:var(--sl-pixel);color:#4a1114;font-size:clamp(15px,1.6vw,21px);letter-spacing:.06em;background:var(--sl-red);padding:.08em .45em}



/* ---- sl_index: the file cabinet ---- */
.sl-index{padding:var(--sp-7) 0 var(--sp-7)}
.sl-index__head{display:flex;align-items:baseline;gap:1.2em;flex-wrap:wrap;margin-bottom:var(--sp-5)}
.sl-index__title{margin:0;font-size:clamp(2.6rem,7vw,5.2rem)}
.sl-index__note{color:var(--sl-bone-dim);font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.sl-row{display:grid;grid-template-columns:7.5rem 1fr auto;gap:0 var(--sp-4);align-items:center;
  padding:1.05rem 0;border-top:1px solid var(--sl-bone-faint);position:relative;
  text-decoration:none;color:inherit}
.sl-row:last-child{border-bottom:1px solid var(--sl-bone-faint)}
.sl-row__no{font-family:var(--sl-pixel);font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--sl-amber);letter-spacing:.03em}
.sl-row__main{min-width:0}
.sl-row__subject{font-family:var(--sl-display);text-transform:uppercase;line-height:1;
  font-size:clamp(1.5rem,3.6vw,2.7rem);color:var(--sl-bone);display:block}
.sl-row__meta{display:flex;gap:1.6em;flex-wrap:wrap;margin-top:.35em;
  font-size:clamp(12px,1vw,14px);color:var(--sl-bone-dim)}
.sl-row__meta .yr{color:var(--sl-amber);font-family:var(--sl-mono)}
.sl-row__status{justify-self:end}
/* live row: photocopy flicker + red ink sweep on hover */
.sl-row--live{cursor:pointer}
.sl-row--live::after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:3px;
  background:var(--sl-red);transition:right .45s var(--ease)}
.sl-row--live:hover::after,.sl-row--live:focus-visible::after{right:0}
.sl-row--live:hover .sl-row__subject{animation:sl-flick 340ms steps(2) 1}
@keyframes sl-flick{0%{opacity:.4;transform:translateX(1px)}40%{opacity:1;transform:none}
  60%{opacity:.55;transform:translateX(-1px)}100%{opacity:1}}
/* sealed rows: subject is a redaction slab */
.sl-row--sealed{opacity:.85}
.sl-row--sealed .bar{display:inline-block;height:.9em;background:var(--sl-bone-dim);
  vertical-align:-.08em;opacity:.55}
/* stamps — rubber ink, grunge-eaten */
.stamp{display:inline-block;font-family:var(--sl-display);text-transform:uppercase;
  line-height:1;padding:.22em .5em .16em;letter-spacing:.06em;
  border:.22em solid currentColor;transform:rotate(-7deg);
  -webkit-mask:var(--grunge);mask:var(--grunge);-webkit-mask-size:180px 180px;mask-size:180px 180px}
.stamp--open{color:var(--sl-red);font-size:clamp(.85rem,1.6vw,1.15rem)}
.stamp--sealed{color:var(--sl-bone-faint);font-size:clamp(.8rem,1.5vw,1.05rem);transform:rotate(-4deg)}
:root{--grunge:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.07' numOctaves='3'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 -1.3 1.15'/></filter><rect width='100%25' height='100%25' filter='url(%23g)'/></svg>")}
@media(max-width:640px){
  .sl-row{grid-template-columns:1fr;gap:.4rem}
  .sl-row__status{justify-self:start}
}



/* ---- THE FILE ON US plate helpers (plain Elementor sections) ---- */
.sl-us{background:var(--sl-red);color:#0c0505;position:relative;overflow:hidden;
  padding:var(--sp-7) 0}
/* halftone tooth on the red field */
.sl-us::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;
  background-image:radial-gradient(#0c0505 22%,transparent 23%);background-size:5px 5px;
  mix-blend-mode:multiply}
.sl-us::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.25;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='p'><feTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='2'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23p)'/></svg>")}
.sl-us .wrap{z-index:2}
.sl-us__label{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:#0c0505;opacity:.75;margin:0 0 var(--sp-3)}
.sl-us__title{margin:0 0 var(--sp-5);font-size:clamp(3rem,9vw,7rem);color:#0c0505;filter:url(#press-1)}
.sl-us__grid{display:grid;grid-template-columns:1.25fr .9fr;gap:var(--sp-6)}
.sl-us__body{font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.9;max-width:60ch}
.sl-us__body p{margin:0 0 1.1em}
.sl-us dt{font-family:var(--sl-display);text-transform:uppercase;font-size:.95rem;letter-spacing:.08em;margin-bottom:.25em}
.sl-us dd{margin:0 0 1.2em;font-size:.95rem;line-height:1.8}
.sl-us dl{margin:0}
/* redaction on red: black ink bars that slide off */
.sl-redact{position:relative;display:inline-block;white-space:nowrap}
.sl-redact::after{content:"";position:absolute;inset:-.04em -.14em;background:#0c0505;
  transform-origin:left center;transition:transform .7s var(--ease),opacity .7s var(--ease)}
.sl-redact.revealed::after{transform:translateX(102%) skewX(-8deg);opacity:0}
.sl-us__cred{margin-top:var(--sp-6);border-top:2px solid #0c0505;padding-top:var(--sp-4);
  display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1em}
.sl-us__logo{display:inline-flex;align-items:center;gap:1em;text-decoration:none;color:#0c0505}
.sl-us__logoMark{font-family:var(--sl-display);background:#0c0505;color:var(--sl-red);
  padding:.32em .55em .24em;font-size:clamp(1.2rem,2.2vw,1.6rem);letter-spacing:.06em;line-height:1}
.sl-us__logoText{font-family:var(--sl-type);font-size:clamp(.85rem,1.4vw,1rem);letter-spacing:.2em;
  text-transform:uppercase;border-bottom:2px solid #0c0505;padding-bottom:.15em}
.sl-us__logo:hover .sl-us__logoText{border-bottom-color:transparent}
.sl-us__letter a{color:#0c0505;text-decoration:none;border-bottom:2px solid #0c0505}
.sl-us__seal{font-family:var(--sl-pixel);font-size:1.3rem;color:#0c0505;letter-spacing:.04em}
@media(max-width:760px){.sl-us__grid{grid-template-columns:1fr}}



/* ---- sl_video ---- */
.sl-player{margin:var(--sp-6) 0 var(--sp-3);position:relative;background:var(--sl-black-2);
  aspect-ratio:16/9;border:1px solid var(--sl-bone-faint);display:flex;
  align-items:center;justify-content:center;cursor:pointer}
.sl-player__play{width:0;height:0;border-left:46px solid var(--sl-bone);
  border-top:27px solid transparent;border-bottom:27px solid transparent;opacity:.9}
.sl-player:hover .sl-player__play{border-left-color:var(--sl-red)}
.sl-player__bar{position:absolute;left:0;right:0;bottom:0;height:38px;display:flex;align-items:center;
  gap:1em;padding:0 1em;background:rgba(10,9,8,.82);border-top:1px solid var(--sl-bone-faint)}
.sl-player__scrub{flex:1;height:3px;background:var(--sl-bone-faint);position:relative}
.sl-player__scrub::before{content:"";position:absolute;left:0;top:0;bottom:0;width:18%;background:var(--sl-red)}
.sl-player__tc{font-family:var(--sl-pixel);color:var(--sl-amber);font-size:17px;letter-spacing:.05em}
.sl-player__note{position:absolute;top:.8em;left:1em;font-size:11px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--sl-bone-faint)}
.sl-player__ytrow{display:flex;justify-content:space-between;gap:1em;flex-wrap:wrap;
  font-size:13px;color:var(--sl-bone-dim);margin-top:.6em}
.sl-player__ytrow a{text-decoration:none;border-bottom:1px solid var(--sl-bone-faint);padding-bottom:.15em}
.sl-player__ytrow a:hover{color:var(--sl-red)}


.sl-player__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.sl-player--pending{cursor:default}
.sl-player--pending .sl-player__note{position:static;font-size:13px;letter-spacing:.3em}

/* ---- sl_redact ---- */
/* redaction: the bar slides OFF on scroll — the signature reveal */
.sl-redact{position:relative;white-space:nowrap}
.sl-redact::after{content:"";position:absolute;inset:-1px -2px;background:var(--sl-bone-dim);
  transition:transform .9s var(--ease) .15s;transform-origin:right center}
.sl-redact.on::after{transform:scaleX(0)}



/* ---- sl_sources ---- */
.sl-sources{border-top:1px solid var(--sl-bone-faint);padding:var(--sp-5) 0}
.sl-sources h2{font-family:var(--sl-display);text-transform:uppercase;font-weight:400;
  font-size:clamp(1.2rem,2.2vw,1.7rem);letter-spacing:.04em;margin:0 0 var(--sp-4)}
.sl-sources ol{margin:0;padding-left:2.2em;color:var(--sl-bone-dim);font-size:14px}
.sl-sources li{margin-bottom:.55em}
.sl-sources li::marker{font-family:var(--sl-pixel);color:var(--sl-amber)}



/* ---- sl_evidence: everything filed through the xerox ---- */
.sl-evidence{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--sp-4);padding:var(--sp-5) 0}
.sl-evidence__item{margin:0;border:1px solid var(--sl-bone-faint);padding:.6rem;background:var(--sl-black-2)}
.sl-evidence__img{display:block;width:100%;height:auto;
  filter:grayscale(1) contrast(1.35) brightness(1.02) sepia(.28);
  mix-blend-mode:normal}
.sl-evidence__cap{font-family:var(--sl-type);font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sl-bone-dim);padding-top:.55rem}
.sl-evidence--empty{padding:var(--sp-5);text-align:center}
@media(max-width:480px){.sl-evidence{grid-template-columns:1fr}}
