/* Watch upload explainer: a decorative pulse illustrates steps, never live upload status. */
.ev-journey-flow { margin: 16px 0 24px; padding: 18px 22px 12px; border: 1px solid #2a3035; border-radius: 16px; background: linear-gradient(110deg,#141719,#0c1110); }
.ev-journey-flow__intro { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ev-journey-flow__eyebrow { margin: 0 0 5px; color: #aeb5ba; font-size: 9px; font-weight: 750; letter-spacing: .14em; }
.ev-journey-flow h2 { margin: 0; color: #f4f5f6; font-size: clamp(18px,2vw,23px); font-weight: 750; line-height: 1.2; letter-spacing: -.02em; }
.ev-journey-flow__intro p:not(.ev-journey-flow__eyebrow) { margin: 6px 0 0; color: #adb5bb; font-size: 12px; line-height: 1.5; }
.ev-journey-flow__cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; flex: none; min-height: 44px; padding: 0 15px; border: 1px solid #465b51; border-radius: 10px; color: #e5f8ed; font-size: 12px; font-weight: 700; text-decoration: none; background: #18221d; }
.ev-journey-flow__cta:hover { background: #21352a; color: #fff; text-decoration: none; }
.ev-journey-flow__cta:focus-visible { outline: 2px solid #62e5ae; outline-offset: 3px; }
.ev-journey-flow__track { position: relative; margin-top: 18px; }
.ev-journey-flow__signal { position: absolute; width: 100%; height: 44px; top: 0; left: 0; overflow: visible; pointer-events: none; }
.ev-journey-flow__line { fill: none;  stroke-width: 2; opacity: .45; vector-effect: non-scaling-stroke; }
.ev-journey-flow__pulse { fill: none; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 25 1000; vector-effect: non-scaling-stroke; animation: ev-journey-flow-travel 4.8s linear infinite; filter: drop-shadow(0 0 4px currentColor); }
.ev-journey-flow__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: 0; }
.ev-journey-flow__steps li { --flow-color: #f16868; --flow-delay: .6s; display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 0; }
.ev-journey-flow__steps li:nth-child(2) { --flow-color: #eeb674; --flow-delay: 1.8s; }
.ev-journey-flow__steps li:nth-child(3) { --flow-color: #bbce80; --flow-delay: 3s; }
.ev-journey-flow__steps li:nth-child(4) { --flow-color: #62e5ae; --flow-delay: 4.2s; }
.ev-journey-flow__node { position: relative; display: grid; place-items: center; flex: none; width: 44px; height: 44px; border: 1px solid var(--flow-color); border-radius: 50%; color: var(--flow-color); background: #111716; }
.ev-journey-flow__node::after { content: ""; position: absolute; inset: -3px; border: 2px solid var(--flow-color); border-radius: inherit; opacity: 0; animation: ev-journey-flow-beat 4.8s linear var(--flow-delay) infinite; }
.ev-journey-flow__steps strong { margin-top: 9px; color: #e7ebee; font-size: 13px; line-height: 1.3; }
.ev-journey-flow__steps li:last-child strong { color: #62e5ae; }
.ev-journey-flow__hint { margin-top: 3px; color: #a6b1b8; font-size: 10px; line-height: 1.4; }
.ev-journey-flow__foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 10px; border-top: 1px solid #252d2a; }
.ev-journey-flow__foot p { margin: 8px 0; color: #9ca7ae; font-size: 10px; line-height: 1.5; max-width: 75ch; }
.ev-journey-flow__pause { display: inline-flex; align-items: center; flex: none; gap: 7px; min-height: 44px; color: #b6c0c5; font-size: 10px; cursor: pointer; }
.ev-journey-flow__pause input { width: 16px; height: 16px; margin: 0; accent-color: #34d399; }
.ev-journey-flow:has(.ev-journey-flow__pause input:checked) .ev-journey-flow__pulse,
.ev-journey-flow:has(.ev-journey-flow__pause input:checked) .ev-journey-flow__node::after { animation-play-state: paused; }
@keyframes ev-journey-flow-travel {
  0% { stroke-dashoffset: 1000; stroke: #ef4444; color: #ef4444; opacity: 0; }
  5% { opacity: 1; }
  45% { stroke: #e3a34f; color: #e3a34f; }
  90% { stroke: #34d399; color: #34d399; opacity: 1; }
  100% { stroke-dashoffset: 0; stroke: #34d399; color: #34d399; opacity: 0; }
}
@keyframes ev-journey-flow-beat {
  0% { opacity: .9; transform: scale(.95); }
  18% { opacity: 0; transform: scale(1.45); }
  100% { opacity: 0; transform: scale(1.45); }
}
@media (max-width: 600px) {
  .ev-journey-flow { padding: 16px 12px 6px; border-radius: 12px; }
  .ev-journey-flow__intro { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ev-journey-flow__cta { width: 100%; box-sizing: border-box; }
  .ev-journey-flow__steps strong { font-size: 11px; }
  .ev-journey-flow__hint { max-width: 9ch; font-size: 9px; }
  .ev-journey-flow__foot { align-items: flex-start; gap: 10px; }
  .ev-journey-flow__foot p { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .ev-journey-flow__pulse, .ev-journey-flow__node::after { animation: none; opacity: 0; }
  .ev-journey-flow__pause { display: none; }
}


/* Educational page introductions share one surface, without clipping breakout mascots. */
.ev-page-journey { margin:24px 0; border:1px solid #2a3035; border-radius:16px; background-color:#0b0d10; background-size:cover; background-position:center; background-repeat:no-repeat; }
body.ev-theme .ev-page-journey > :is(header,section) { margin:0; border:0; background:none !important; border-radius:16px 16px 0 0; }
body.ev-theme .ev-page-journey > :is(header,section)::after { content:none; display:none; animation:none; }
body.ev-theme .ev-page-journey > .ev-journey-flow { padding:18px 22px 12px; border-radius:0 0 16px 16px; }
.ev-journey-flow__intro { display:block; }
.ev-journey-flow__intro > p:first-child { margin:0 0 5px; }
.ev-journey-flow__intro > p:last-child { margin:6px 0 0; }
.ev-page-journey--charts { background-image:url('../images/journeys/charts.svg'); }
.ev-page-journey--network { background-image:url('../images/journeys/network.svg'); }
.ev-page-journey--identity { background-image:url('../images/journeys/identity.svg'); }
.ev-page-journey--music { background-image:url('../images/journeys/music.svg'); }
.ev-page-journey--editorial { background-image:url('../images/journeys/editorial.svg'); }
.ev-page-journey--lab { background-image:url('../images/journeys/lab.svg'); }
.ev-page-journey > :is(.ev-press-hero,.ev-press-pagehead,.ev-page__head) { padding:18px 22px; }
.ev-page-journey > :is(.ev-press-hero,.ev-press-pagehead) h1 { font-size:clamp(26px,3vw,42px); line-height:1.1; }
.ev-page-journey > .ev-inbox-hero { border-radius:16px 16px 0 0; }
.ev-page-journey > .ev-industry-hero { padding:20px 22px; }
.ev-page-journey > .ev-industry-hero .ev-industry-hero__visual { max-height:200px; }
.ev-page-journey > .ev-industry-hero .ev-industry-hero__visual svg { max-height:200px; }
.ev-page-journey > .ev-opps-hero .ev-opps-hero__inner { background:none; }
@media(max-width:1100px) { .ev-page-journey { margin-top:52px; } }
@media(max-width:600px) {
 .ev-page-journey { border-radius:12px; }
 body.ev-theme .ev-page-journey > .ev-journey-flow { padding:16px 12px 8px; }
 .ev-journey-flow__steps strong { overflow-wrap:anywhere; font-size:11px; }
 .ev-journey-flow__hint { max-width:12ch; }
 .ev-page-journey > :is(.ev-press-hero,.ev-press-pagehead,.ev-page__head) { padding:16px 12px; }
}

.ev-page-journey > .ev-guest-product__hero { padding:22px; }
.ev-page-journey > .ev-guest-product__hero::before { display:none; }
.ev-page-journey > .ev-sx__hero { min-width:0; }
@media(max-width:600px) { .ev-page-journey > .ev-guest-product__hero { padding:16px 12px; } }
