/* Tags4Lives mission system — shared visual language for frontline-focused pages. */
:root {
  --mission-yellow:#ffd400;
  --mission-blue:#4d7cff;
  --mission-orange:#ff6a1a;
  --mission-red:#ff4655;
  --mission-green:#8aa05a;
  --mission-bg:#07090b;
  --mission-surface:#0d1014;
  --mission-line:rgba(255,255,255,.11);
  --mission-muted:#8c959e;
}

/* Five categories, one linked system. */
.site-header { position:relative; }
.site-header::after {
  content:"";
  position:absolute;
  z-index:5;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,
    var(--mission-yellow) 0 20%,
    var(--mission-blue) 20% 40%,
    var(--mission-orange) 40% 60%,
    var(--mission-red) 60% 80%,
    var(--mission-green) 80% 100%);
  opacity:.82;
}

.mission-system-label {
  color:#737c85;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:9px;
  font-weight:900;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.mission-scale-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--mission-line);
  background:var(--mission-bg);
  color:#f6f7f4;
}
.mission-scale-strip > div {
  min-width:0;
  padding:24px 26px;
  border-right:1px solid var(--mission-line);
}
.mission-scale-strip > div:last-child { border-right:0; }
.mission-scale-strip strong {
  display:block;
  margin-bottom:8px;
  color:white;
  font-size:clamp(28px,3vw,44px);
  line-height:1;
  letter-spacing:-.04em;
}
.mission-scale-strip span {
  display:block;
  color:#a4adb5;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:9px;
  font-weight:850;
  letter-spacing:.08em;
  line-height:1.45;
  text-transform:uppercase;
}
.mission-scale-strip small {
  display:block;
  margin-top:7px;
  color:#69727b;
  font-size:10px;
  line-height:1.45;
}

/* Live Honor Signal — real community messages from the Stories database. */
.home-honor-signal {
  position:relative;
  display:grid;
  grid-template-columns:minmax(210px,.26fr) minmax(0,1fr);
  min-height:106px;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.10);
  border-bottom:1px solid rgba(255,255,255,.10);
  background:#07090b;
  color:#f6f7f4;
}
.home-honor-signal::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:32px 32px;
}
.home-honor-signal-head {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:20px 26px 20px 6vw;
  border-right:1px solid rgba(255,255,255,.10);
  background:rgba(7,9,11,.90);
}
.home-honor-signal-head > span:first-child {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--mission-yellow);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:9px;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.home-honor-signal-head > span:first-child::before {
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--mission-yellow);
  box-shadow:0 0 12px rgba(255,212,0,.85);
  animation:honorSignalPulse 1.8s ease-in-out infinite;
}
.home-honor-signal-head strong {
  margin-top:7px;
  font-size:18px;
  letter-spacing:-.02em;
}
.home-honor-signal-head a {
  width:fit-content;
  margin-top:7px;
  color:#9ca5ad;
  font-size:10px;
  font-weight:800;
  border-bottom:1px solid rgba(255,212,0,.55);
}
.home-honor-signal-window {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  min-width:0;
  overflow:hidden;
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.home-honor-signal-track {
  display:flex;
  align-items:center;
  width:max-content;
  min-width:max-content;
  animation:honorSignalMove 58s linear infinite;
  will-change:transform;
}
.home-honor-signal-window:hover .home-honor-signal-track { animation-play-state:paused; }
.honor-signal-message {
  --signal-color:#f6f7f4;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  padding:20px 28px;
  color:#d9dee2;
  font-size:14px;
  line-height:1.5;
  white-space:nowrap;
}
.honor-signal-message::before {
  content:"";
  flex:0 0 auto;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--signal-color);
  box-shadow:0 0 10px color-mix(in srgb,var(--signal-color) 65%,transparent);
}
.honor-signal-title {
  color:var(--signal-color);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:10px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.honor-signal-title::after {
  content:" /";
  color:#58616a;
}
.honor-signal-message q {
  display:inline-block;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}
.honor-signal-message small {
  color:#747d86;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.honor-signal-separator {
  color:#3d454d;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:10px;
  letter-spacing:.14em;
}
@keyframes honorSignalPulse { 0%,100%{opacity:.45;transform:scale(.82)} 50%{opacity:1;transform:scale(1.18)} }
@keyframes honorSignalMove { to { transform:translateX(-50%); } }

/* Business-forward pathways, used on Partners / Get Involved. */
.mission-pathway-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--mission-line);
  background:var(--mission-line);
}
.mission-pathway {
  position:relative;
  min-width:0;
  padding:30px 26px;
  background:#0b0e11;
  color:#f6f7f4;
}
.mission-pathway::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:42%;
  height:2px;
  background:var(--path-accent,var(--mission-yellow));
  box-shadow:0 0 12px color-mix(in srgb,var(--path-accent,var(--mission-yellow)) 45%,transparent);
}
.mission-pathway > span {
  color:#656e77;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  font-size:8px;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.mission-pathway h3 { margin:18px 0 10px; color:white; font-size:21px; }
.mission-pathway p { margin:0; color:#9fa8b0; font-size:13px; line-height:1.6; }
.mission-pathway strong { color:#fff; }
.mission-pathway a {
  display:inline-block;
  margin-top:18px;
  padding-bottom:3px;
  border-bottom:1px solid var(--path-accent,var(--mission-yellow));
  color:#e8ebed;
  font-size:11px;
  font-weight:900;
}

.activation-amount-note {
  margin:12px 0 0;
  padding:11px 13px;
  border-left:2px solid #ffd400;
  background:rgba(255,212,0,.04);
  color:#77818a;
  font-size:10px;
  line-height:1.55;
}
.activation-amount-note strong { color:#d9dee2; }

/* Story category color reinforcement. */
.story-card[data-cause="Public Works"] .cause-badge { background:var(--mission-yellow); color:#080a0c; }
.story-card[data-cause="Protection"] .cause-badge { background:var(--mission-blue); color:white; }
.story-card[data-cause="Firefighters"] .cause-badge { background:var(--mission-orange); color:#080a0c; }
.story-card[data-cause="Medical"] .cause-badge { background:var(--mission-red); color:white; }
.story-card[data-cause="Military"] .cause-badge { background:var(--mission-green); color:#080a0c; }
.story-card[data-cause="The Frontline"] .cause-badge,
.story-card[data-cause="General"] .cause-badge { background:#151a20; color:#f6f7f4; border:1px solid rgba(255,255,255,.15); }

.mission-message-note {
  margin-top:14px;
  padding:14px 16px;
  border-left:2px solid var(--mission-yellow);
  background:rgba(255,212,0,.04);
  color:#666f78;
  font-size:11px;
  line-height:1.55;
}
.mission-message-note strong { color:#222; }
.proof-page .mission-message-note strong { color:#1d2227; }

@media (max-width:980px) {
  .mission-pathway-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-honor-signal { grid-template-columns:1fr; }
  .home-honor-signal-head { padding:18px 6vw; border-right:0; border-bottom:1px solid rgba(255,255,255,.10); }
}
@media (max-width:720px) {
  .mission-scale-strip { grid-template-columns:1fr; }
  .mission-scale-strip > div { border-right:0; border-bottom:1px solid var(--mission-line); }
  .mission-scale-strip > div:last-child { border-bottom:0; }
  .mission-pathway-grid { grid-template-columns:1fr; }
  .honor-signal-message { padding:16px 20px; font-size:12px; }
  .honor-signal-title { font-size:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-honor-signal-track { animation:none; }
  .home-honor-signal-window { overflow-x:auto; mask-image:none; }
  .home-honor-signal-head > span:first-child::before { animation:none; }
}
