/* v3: fixes the actual production geometry from the supplied screenshots. */
.signal-page {
  overflow-x: clip !important;
}

/* The legal footer is injected into a constrained page footer. Let its visual
   surface escape to the viewport while keeping the content aligned. */
.signal-final {
  width: 100% !important;
  padding-bottom: 112px !important;
}
.signal-final footer {
  left: 0 !important;
  right: 0 !important;
  padding-inline: max(24px, calc((100vw - 1380px) / 2)) !important;
}
.signal-final::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  bottom: 0;
  width: 100vw;
  height: 112px;
  transform: translateX(-50%);
  pointer-events: none;
  background: linear-gradient(180deg, rgba(15,9,30,.1), rgba(15,9,30,.72));
  border-top: 1px solid rgba(194,160,255,.1);
}

.aim-footer-enhanced {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
}
.aim-footer-enhanced > .aim-legal-footer {
  width: min(1440px, calc(100% - 64px)) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
}

/* Status panel should never touch CTA copy. */
.signal-hero-actions {
  margin-bottom: clamp(44px, 6vw, 88px) !important;
}
.signal-status {
  clear: both;
  margin-top: clamp(30px, 4vw, 62px) !important;
}

/* Replace the flat square treatment with a portrait, layered card composition. */
.signal-model-card {
  min-height: 382px !important;
  border-radius: 24px !important;
  padding: 25px !important;
  background:
    radial-gradient(ellipse at 85% 28%, color-mix(in srgb, var(--model-color) 22%, transparent), transparent 40%),
    linear-gradient(145deg, rgba(28,21,49,.96), rgba(11,10,21,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 16px 42px rgba(0,0,0,.22);
}
.signal-model-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .7;
  background:
    radial-gradient(circle at 90% 9%, color-mix(in srgb, var(--model-color) 30%, transparent), transparent 23%),
    linear-gradient(135deg, transparent 0 54%, color-mix(in srgb, var(--model-color) 13%, transparent) 100%);
}
.signal-model-card::after {
  content: "";
  position: absolute;
  right: -32px;
  bottom: 42px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  pointer-events: none;
  opacity: .2;
  background: color-mix(in srgb, var(--model-color) 35%, transparent);
  filter: blur(40px);
}
.signal-model-card > div:nth-of-type(2) {
  margin-top: 56px !important;
}
.signal-model-card h3 {
  max-width: 92%;
  font-size: clamp(23px, 2vw, 30px) !important;
  letter-spacing: -.025em;
}
.signal-model-card dl {
  margin-top: 26px !important;
  border-radius: 14px !important;
  overflow: hidden;
  background: rgba(8,6,17,.52) !important;
}
.signal-model-card dl > div {
  padding: 14px !important;
  background: rgba(15,12,27,.72) !important;
}

@media (max-width: 800px) {
  .signal-final { padding-bottom: 138px !important; }
  .signal-final::after { height: 138px; }
  .signal-final footer {
    min-height: 122px !important;
    padding: 18px !important;
  }
  .aim-footer-enhanced > .aim-legal-footer {
    width: calc(100% - 32px) !important;
  }
}
@media (max-width: 620px) {
  .signal-hero-actions { margin-bottom: 34px !important; }
  .signal-status { margin-top: 26px !important; }
  .signal-model-card { min-height: 330px !important; border-radius: 20px !important; }
}
