:root{
  --bg:#020804;
  --panel:#061009;
  --panel-strong:#08170d;
  --green:#83ff43;
  --green-soft:#3fd22d;
  --cyan:#62eaff;
  --gold:#ffd267;
  --text:#f2f7f2;
  --muted:#aab9ad;
  --line:rgba(100,255,70,.28);
  --line-strong:rgba(100,255,70,.72);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:
    linear-gradient(rgba(80,255,50,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(80,255,50,.025) 1px, transparent 1px),
    radial-gradient(circle at 18% 0%, rgba(90,255,60,.10), transparent 32%),
    radial-gradient(circle at 90% 16%, rgba(70,230,255,.07), transparent 28%),
    var(--bg);
  background-size:
    34px 34px,
    34px 34px,
    auto,
    auto,
    auto;
  color:var(--text);
  font-family:Arial, Helvetica, sans-serif;
}

.signals-product-page{
  width:min(1540px, calc(100% - 36px));
  margin:0 auto;
  padding:30px 0 80px;
}

.signals-back-link{
  display:inline-flex;
  margin:0 0 24px;
  color:var(--cyan);
  font-weight:900;
  text-decoration:none;
}

.signals-hero{
  display:grid;
  grid-template-columns:minmax(420px,.82fr) minmax(560px,1.18fr);
  gap:42px;
  align-items:center;
  padding:44px;
  border:1px solid var(--line-strong);
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 12%, rgba(60,255,90,.10), transparent 35%),
    linear-gradient(135deg, rgba(7,19,10,.97), rgba(2,8,4,.98));
  box-shadow:
    0 0 42px rgba(80,255,60,.12),
    inset 0 0 28px rgba(80,255,60,.035);
}

.signals-status-badge,
.signals-section-heading > span,
.signals-commercial > div > span{
  display:inline-flex;
  padding:7px 12px;
  border:1px solid rgba(255,210,103,.62);
  border-radius:999px;
  color:var(--gold);
  background:rgba(255,210,103,.07);
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
}

.signals-eyebrow{
  margin:22px 0 8px;
  color:var(--green);
  font-size:13px;
  font-weight:900;
  letter-spacing:.18em;
}

.signals-hero h1{
  margin:0;
  color:#fff;
  font-size:clamp(52px,7vw,96px);
  line-height:.91;
  letter-spacing:-.055em;
  text-shadow:0 0 26px rgba(90,255,60,.18);
}

.signals-hero-lead{
  max-width:720px;
  margin:26px 0 0;
  color:#dce7df;
  font-size:19px;
  line-height:1.65;
}

.signals-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:28px;
}

.signals-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:45px;
  padding:11px 17px;
  border:1px solid rgba(110,255,70,.48);
  border-radius:9px;
  color:var(--green);
  background:rgba(0,0,0,.32);
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.signals-button.primary{
  border-color:var(--green);
  color:#021003;
  background:var(--green);
  box-shadow:0 0 20px rgba(110,255,70,.22);
}

.signals-display-frame{
  overflow:hidden;
  border:1px solid var(--line-strong);
  border-radius:18px;
  background:#000;
  box-shadow:0 0 32px rgba(80,255,60,.18);
}

.signals-display-frame img{
  display:block;
  width:100%;
  height:auto;
}

.signals-hero-caption{
  margin-top:9px;
  color:var(--muted);
  font-size:12px;
  text-align:right;
}

.signals-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}

.signals-summary-grid article{
  display:grid;
  gap:7px;
  padding:19px;
  border:1px solid var(--line);
  border-radius:13px;
  background:rgba(5,16,8,.86);
}

.signals-summary-grid strong{
  color:var(--green);
}

.signals-summary-grid span{
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}

.signals-section{
  margin-top:30px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    linear-gradient(145deg, rgba(7,18,10,.94), rgba(2,9,5,.95));
}

.signals-section-heading{
  max-width:970px;
  margin-bottom:25px;
}

.signals-section-heading h2,
.signals-commercial h2{
  margin:14px 0 9px;
  color:var(--green);
  font-size:clamp(29px,4vw,46px);
  line-height:1.06;
}

.signals-section-heading p,
.signals-commercial p{
  color:#d0ddd3;
  font-size:17px;
  line-height:1.65;
}

.signals-monitor-grid,
.signals-capability-grid,
.signals-roadmap-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
}

.signals-monitor-card,
.signals-capability-grid article,
.signals-roadmap-grid article{
  padding:24px;
  border:1px solid rgba(100,255,70,.25);
  border-radius:16px;
  background:rgba(0,0,0,.20);
}

.monitor-number{
  color:var(--cyan);
  font-family:monospace;
  font-size:13px;
  font-weight:900;
}

.signals-monitor-card h3,
.signals-capability-grid h3,
.signals-roadmap-grid h3{
  margin:12px 0 10px;
  color:var(--green);
  font-size:21px;
}

.signals-monitor-card p,
.signals-capability-grid li,
.signals-roadmap-grid p{
  color:var(--muted);
  line-height:1.55;
}

.signals-capability-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.signals-capability-grid ul{
  margin:0;
  padding-left:19px;
}

.signals-capability-grid li{
  margin:7px 0;
}

.signals-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:17px;
  align-items:center;
}

.signals-flow div{
  display:grid;
  gap:8px;
  min-height:122px;
  padding:21px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#020804;
}

.signals-flow strong{
  color:var(--green);
}

.signals-flow span{
  color:var(--muted);
}

.signals-flow b{
  color:var(--cyan);
  font-size:27px;
}

.signals-inline-link{
  display:inline-flex;
  margin-top:23px;
  color:var(--cyan);
  font-weight:900;
  text-decoration:none;
}

.evidence-policy{
  border-color:rgba(255,210,103,.42);
}

.evidence-policy p{
  color:#d9e2da;
  line-height:1.7;
}

.signals-roadmap-grid article > span{
  color:var(--gold);
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
}

.signals-commercial{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-top:30px;
  padding:34px;
  border:1px solid var(--line-strong);
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 10%, rgba(90,255,60,.10), transparent 34%),
    #061009;
}

.signals-commercial p{
  max-width:820px;
  margin-bottom:0;
}

@media(max-width:1100px){
  .signals-hero{
    grid-template-columns:1fr;
  }

  .signals-summary-grid,
  .signals-capability-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .signals-monitor-grid,
  .signals-roadmap-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .signals-product-page{
    width:min(100% - 18px, 1540px);
  }

  .signals-hero,
  .signals-section,
  .signals-commercial{
    padding:23px;
  }

  .signals-summary-grid,
  .signals-capability-grid{
    grid-template-columns:1fr;
  }

  .signals-flow{
    grid-template-columns:1fr;
  }

  .signals-flow b{
    transform:rotate(90deg);
    text-align:center;
  }

  .signals-commercial{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Phase 2-J1-P1B1 — Reduce screenshot gallery by 30% */

.signals-gallery-section{
  max-width:70%;
  margin-left:auto;
  margin-right:auto;
}

.signals-gallery-grid{
  gap:14px;
}

.signals-gallery-card img{
  aspect-ratio:16 / 9;
  max-height:260px;
  object-fit:cover;
  object-position:top center;
}

.signals-gallery-copy{
  padding:13px 15px 15px;
}

.signals-gallery-copy strong{
  font-size:16px;
}

.signals-gallery-copy small{
  font-size:11px;
}

/* Open lightbox initially at 70% of available width */
.signals-lightbox-stage img{
  width:70%;
}

@media(max-width:1100px){
  .signals-gallery-section{
    max-width:86%;
  }
}

@media(max-width:760px){
  .signals-gallery-section{
    max-width:100%;
  }

  .signals-lightbox-stage img{
    width:100%;
  }
}


/* =========================================================
   Phase 2-J1-P1B — Screenshot gallery and lightbox
   ========================================================= */

.signals-gallery-section{
  margin-top:30px;
  padding:34px;
  border:1px solid var(--line);
  border-radius:22px;
  background:
    radial-gradient(
      circle at 88% 4%,
      rgba(98,234,255,.065),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      rgba(7,18,10,.96),
      rgba(2,9,5,.97)
    );
}

.signals-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.signals-gallery-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(100,255,70,.30);
  border-radius:16px;
  background:#020704;
  color:inherit;
  cursor:pointer;
  font:inherit;
  text-align:left;
  appearance:none;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease;
}

.signals-gallery-card.featured{
  grid-column:span 2;
}

.signals-gallery-card:hover{
  transform:translateY(-3px);
  border-color:var(--green);
  box-shadow:
    0 0 28px rgba(100,255,60,.18),
    inset 0 0 18px rgba(100,255,60,.035);
}

.signals-gallery-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 9;
  object-fit:cover;
  object-position:top center;
  background:#000;
  border:0;
  border-bottom:1px solid rgba(100,255,70,.24);
}

.signals-gallery-copy{
  display:grid;
  gap:5px;
  width:100%;
  padding:14px 16px 17px;
  background:#020704;
}

.signals-gallery-copy b{
  color:var(--gold);
  font-size:10px;
  letter-spacing:.10em;
  text-transform:uppercase;
}

.signals-gallery-copy strong{
  color:var(--green);
  font-size:17px;
  line-height:1.2;
}

.signals-gallery-copy small{
  color:var(--muted);
  font-size:11px;
  line-height:1.5;
}

/* Lightbox must remain invisible until opened */

.signals-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:none;
  grid-template-rows:auto minmax(0,1fr) auto;
  background:rgba(0,5,2,.985);
  color:var(--text);
}

.signals-lightbox.open{
  display:grid;
}

.signals-lightbox-toolbar,
.signals-lightbox-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-width:0;
  padding:12px 18px;
  border-bottom:1px solid var(--line);
  background:rgba(3,12,6,.98);
}

.signals-lightbox-footer{
  border-top:1px solid var(--line);
  border-bottom:0;
}

.signals-lightbox-heading{
  display:flex;
  align-items:center;
  gap:15px;
  min-width:0;
}

.signals-lightbox-heading strong{
  overflow:hidden;
  color:var(--green);
  text-overflow:ellipsis;
  white-space:nowrap;
}

.signals-lightbox-heading span,
#signalsLightboxZoom{
  color:var(--gold);
  font-family:monospace;
  font-size:11px;
  white-space:nowrap;
}

.signals-lightbox-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
}

.signals-lightbox button{
  min-height:38px;
  padding:8px 12px;
  border:1px solid rgba(100,255,70,.48);
  border-radius:7px;
  background:#020704;
  color:var(--green);
  cursor:pointer;
  font-size:11px;
  font-weight:900;
}

.signals-lightbox-stage{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:auto;
  padding:18px;
  text-align:center;
}

.signals-lightbox-stage img{
  display:block;
  width:70%;
  max-width:none;
  height:auto;
  margin:auto;
  border:1px solid var(--line-strong);
  border-radius:8px;
  background:#000;
  box-shadow:0 0 35px rgba(100,255,60,.16);
}

.signals-lightbox-footer p{
  flex:1;
  margin:0;
  color:#cdd8cf;
  font-size:13px;
  line-height:1.45;
  text-align:center;
}

body.signals-lightbox-active{
  overflow:hidden;
}

/* Compact public gallery — 70% of main page width */

.signals-gallery-section{
  max-width:70%;
  margin-left:auto;
  margin-right:auto;
}

.signals-gallery-card img{
  max-height:260px;
}

@media(max-width:1100px){
  .signals-gallery-section{
    max-width:88%;
  }
}

@media(max-width:760px){
  .signals-gallery-section{
    max-width:100%;
    padding:22px;
  }

  .signals-gallery-grid{
    grid-template-columns:1fr;
  }

  .signals-gallery-card.featured{
    grid-column:auto;
  }

  .signals-lightbox-stage img{
    width:100%;
  }

  .signals-lightbox-toolbar,
  .signals-lightbox-footer{
    align-items:stretch;
    flex-direction:column;
  }

  .signals-lightbox-actions{
    width:100%;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
}


/* Phase 2-J1-P1B2 — Gallery full-width alignment */

.signals-gallery-section{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

@media(max-width:1100px){
  .signals-gallery-section{
    width:100% !important;
    max-width:none !important;
  }
}


/* =========================================================
   Signals Platform — Jetson technical-document section
   ========================================================= */

.signals-document-section{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:34px;
  align-items:center;
  border-color:rgba(98,234,255,.38);
  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(98,234,255,.10),
      transparent 35%
    ),
    radial-gradient(
      circle at 8% 92%,
      rgba(120,255,65,.07),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      rgba(6,18,12,.97),
      rgba(2,9,6,.98)
    );
}

.signals-document-copy h2{
  margin:14px 0 12px;
  color:var(--green);
  font-size:clamp(30px,4vw,46px);
  line-height:1.05;
}

.signals-document-copy p{
  max-width:900px;
  color:#d0ddd3;
  font-size:16px;
  line-height:1.65;
}

.signals-document-copy ul{
  margin:20px 0 0;
  padding-left:20px;
  color:var(--muted);
}

.signals-document-copy li{
  margin:8px 0;
  line-height:1.45;
}

.signals-document-badge{
  display:inline-flex;
  padding:7px 12px;
  border:1px solid rgba(98,234,255,.55);
  border-radius:999px;
  color:var(--cyan);
  background:rgba(98,234,255,.07);
  font-size:11px;
  font-weight:900;
  letter-spacing:.10em;
}

.signals-document-actions{
  display:grid;
  gap:11px;
  justify-items:stretch;
  padding:25px;
  border:1px solid rgba(98,234,255,.38);
  border-radius:17px;
  background:rgba(0,0,0,.28);
  box-shadow:
    0 0 26px rgba(98,234,255,.08),
    inset 0 0 18px rgba(98,234,255,.025);
}

.signals-document-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:68px;
  height:68px;
  border:1px solid rgba(255,210,103,.68);
  border-radius:12px;
  color:var(--gold);
  background:rgba(255,210,103,.06);
  font-family:monospace;
  font-size:20px;
  font-weight:900;
}

.signals-document-actions strong{
  color:var(--green);
  font-size:18px;
  line-height:1.25;
}

.signals-document-actions > span{
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

@media(max-width:900px){
  .signals-document-section{
    grid-template-columns:1fr;
  }

  .signals-document-actions{
    max-width:460px;
  }
}

