.recent-project-card--gnss .recent-project-media--gnss {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  aspect-ratio: auto;
  background: #e9e7df;
}
.recent-project-media--gnss::after { display: none; }
.gnss-preview-status {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 25px 28px 18px;
  color: #76572f;
  font: 700 12px/1.4 var(--mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.gnss-preview-status::before {
  content: "";
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #98703d;
}
.gnss-preview-scene { width: 100%; min-width: 0; }
.gnss-preview-scene .journey-animation { border-bottom: 0; isolation: auto; }
.gnss-preview-scene .journey-animation-toggle { z-index: 3; min-height: 44px; }
.gnss-preview-scene > .journey-map { display: block; width: 100%; height: auto; }
.gnss-preview-scene.journey-animation-ready > .journey-map { display: none; }
.gnss-preview-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 22px;
  padding: 18px 28px 24px;
  color: #5b6057;
  font-size: 11px;
  line-height: 1.5;
}
.gnss-preview-legend > span { display: inline-flex; align-items: center; gap: 9px; }
.gnss-preview-legend i { width: 26px; border-top: 3px solid #437c6e; }
.gnss-preview-legend .gnss-preview-estimate { border-top-color: #98703d; border-top-style: dashed; }
.recent-project-card--gnss .gnss-preview-link { color: inherit; text-decoration: none; }
.gnss-preview-link::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.recent-project-card--gnss:has(.gnss-preview-link:focus-visible) { outline: 3px solid var(--gold); outline-offset: 5px; }
.recent-project-card--gnss .gnss-preview-link:focus-visible { outline: none; }
.gnss-preview-scene .route-before,.gnss-preview-scene .route-after,.gnss-preview-scene .route-future { fill: none; stroke-width: 8; stroke-linecap: round; stroke-linejoin: round; }
.gnss-preview-scene .route-before { stroke: #437c6e; }
.gnss-preview-scene .route-after { stroke: #98703d; stroke-dasharray: 9 8; }
.gnss-preview-scene .route-future { stroke: #c1bfb4; stroke-width: 5; stroke-dasharray: 3 12; }
.gnss-preview-scene .reference-halo { fill: #437c6e; fill-opacity: .11; stroke: #437c6e; stroke-width: 1; stroke-dasharray: 3 5; }
.gnss-preview-scene .reference-dot { fill: #437c6e; stroke: #faf8f2; stroke-width: 3; }
.gnss-preview-scene .point-halo { fill: #98703d; fill-opacity: .12; stroke: #98703d; stroke-opacity: .3; stroke-dasharray: 3 6; }
.gnss-preview-scene .point-ring { fill: #98703d; stroke: #faf8f2; stroke-width: 4; }
.gnss-preview-scene .pause-marker { opacity: 0; }
@media (max-width: 560px) {
  .gnss-preview-status { padding: 20px 20px 12px; font-size: 11px; }
  .gnss-preview-legend { padding: 14px 20px 20px; font-size: 10px; gap: 7px 18px; }
}
@media print {
  .gnss-preview-scene.journey-animation-ready > .journey-map { display: block; }
}
