/* Each half is a complete, identical ribbon, including its final separator. */
.home .project-picnic .project-art > img { object-fit: cover; object-position: 50% 48%; background: #211b1b; }
.type-ribbon > .ribbon-track {
  display: flex;
  width: max-content;
  animation: ribbon-move 42s linear infinite;
  will-change: transform;
}
.type-ribbon .ribbon-group {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-around;
  min-width: 100vw;
}
.type-ribbon .ribbon-group > span { flex: 0 0 auto; }
.type-ribbon .ribbon-group > i { flex: 0 0 auto; margin: 0 clamp(24px, 3vw, 54px); }
.campaign-results strong { font-variant-numeric: tabular-nums; white-space: nowrap; }
.campaign-results strong > span { font: inherit; color: inherit; }
.campaign-results .metric-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.method-section.process-enhanced { overflow: visible; }
.process-stage { position: relative; }
.process-enhanced .section-title { margin-bottom: 32px; }
.process-enhanced .section-title h1,
.process-enhanced .section-title .embedded-title { font-size: clamp(38px, 4vw, 62px); line-height: 1.06; }
.process-enhanced .process-track { margin-bottom: 32px; }
.process-enhanced .process-panels { min-height: var(--process-panel-height, 0px); }
.process-scroll-live .process-stage { position: sticky; top: var(--process-top, 102px); }
.process-enhanced .process-panel { min-height: var(--process-panel-height, 0px); }
.process-tabs button:focus-visible { outline: 2px solid #ffb57e; outline-offset: 8px; border-radius: 4px; }

@media (max-width: 760px) {
  .process-enhanced .section-title { margin-bottom: 28px; }
  .process-enhanced .process-track { margin-bottom: 26px; }
  .process-enhanced .process-panels { min-height: var(--process-panel-height, 0px); }
  .type-ribbon > .ribbon-track { animation-duration: 36s; }
}
@media (prefers-reduced-motion: reduce) {
  .type-ribbon > .ribbon-track { animation: none; transform: none; }
  .process-stage { position: relative !important; top: auto !important; }
  .method-section.process-scroll-live { height: auto !important; }
}
