/* EV Platform Theme: design system (Design System & Sitemap Spec v1.0)
   Tokens -> base -> layout -> components -> pages. Mobile first. */

:root {
  --ev-canvas: #090a0c;
  --ev-surface-1: #121417;
  --ev-surface-2: #191c20;
  --ev-border: #292d32;
  --ev-text: #f5f5f3;
  --ev-text-2: #a5a8ad;
  --ev-red: #e12635;
  --ev-gold: #d4af37;
  --ev-success: #42b883;
  --ev-warning: #e0a83e;
  --ev-error: #e05252;

  --ev-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ev-radius: 12px;
  --ev-radius-sm: 8px;
  --ev-wrap: 1200px;
  --ev-gutter: 16px;
  --ev-header-h: 120px;
  /* spacing scale: 4 8 12 16 24 32 48 64 96 */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px; --s8: 64px; --s9: 96px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body.ev-theme {
  margin: 0;
  background: var(--ev-canvas);
  color: var(--ev-text);
  font: 400 16px/1.6 var(--ev-font);
  -webkit-font-smoothing: antialiased;
}
img, video, svg { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
h1, h2, h3, h4 { margin: 0 0 var(--s3); font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; color: var(--ev-text); }
h1 { font-size: clamp(2rem, 6vw, 3rem); }
h2 { font-size: clamp(1.5rem, 3.6vw, 2.125rem); }
h3 { font-size: 1.125rem; }
p { margin: 0 0 var(--s4); }
ul, ol { margin: 0; padding: 0; list-style: none; }

/* Accessibility: every interactive element has a visible focus ring; colour never carries state alone. */
:where(a, button, input, summary, [tabindex]):focus-visible { outline: 2px solid var(--ev-text); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }
.ev-skip { position: absolute; left: var(--s4); top: -100px; z-index: 200; background: var(--ev-text); color: var(--ev-canvas); padding: var(--s2) var(--s4); border-radius: var(--ev-radius-sm); }
.ev-skip:focus { top: var(--s2); }

.ev-wrap { width: 100%; max-width: var(--ev-wrap); margin-inline: auto; padding-inline: var(--ev-gutter); }
.ev-muted { color: var(--ev-text-2); }
.ev-eyebrow { display: inline-flex; align-items: center; gap: var(--s2); margin: 0 0 var(--s3); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-live { width: 8px; height: 8px; border-radius: 50%; background: var(--ev-red); display: inline-block; box-shadow: 0 0 0 0 rgba(225,38,53,.5); animation: ev-pulse 2s infinite; }
@keyframes ev-pulse { 70% { box-shadow: 0 0 0 8px rgba(225,38,53,0); } 100% { box-shadow: 0 0 0 0 rgba(225,38,53,0); } }

/* ---- Buttons: neutral primary keeps red meaningful ------------------------------------------------ */
.ev-btn { background: transparent; appearance: none; -webkit-appearance: none; white-space: nowrap; display: inline-flex; align-items: center; justify-content: center; gap: var(--s2); min-height: 44px; padding: 0 var(--s5); border: 1px solid transparent; border-radius: 999px; font: 600 14px/1 var(--ev-font); cursor: pointer; transition: background .15s, border-color .15s, transform .15s; }
.ev-btn:hover { text-decoration: none; }
.ev-btn--primary { background: var(--ev-text); color: var(--ev-canvas); }
.ev-btn--primary:hover { background: #fff; }
.ev-btn--neutral { background: var(--ev-surface-2); color: var(--ev-text); border-color: var(--ev-border); }
.ev-btn--neutral:hover { border-color: var(--ev-text-2); }
.ev-btn--ghost { color: var(--ev-text); border-color: var(--ev-border); }
.ev-btn--ghost:hover { border-color: var(--ev-text-2); }
.ev-btn--lg { min-height: 52px; padding: 0 var(--s6); font-size: 15px; }
.ev-link { font-size: 14px; font-weight: 600; color: var(--ev-text-2); }
.ev-link:hover { color: var(--ev-text); }

/* ---- Header --------------------------------------------------------------------------------------- */
.ev-header { position: sticky; top: 0; z-index: 100; background: rgba(9,10,12,.92); backdrop-filter: blur(10px); border-bottom: 1px solid var(--ev-border); }
.ev-header__bar { display: flex; align-items: center; gap: var(--s4); min-height: var(--ev-header-h); }
.ev-brand { display: inline-flex; align-items: center; gap: var(--s3); font-weight: 800; letter-spacing: .06em; font-size: 14px; }
.ev-brand:hover { text-decoration: none; }
.ev-brand__mark { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--ev-text); position: relative; }
.ev-brand__mark::after { content: ""; position: absolute; inset: 5px; border-radius: 50%; background: var(--ev-red); }
.ev-brand__word { font-size: 17px; font-weight: 800; letter-spacing: .02em; color: var(--ev-text); white-space: nowrap; }
.ev-brand__word b { color: var(--ev-red); font-weight: 800; }
.ev-brand__img { display: block; height: 104px; width: auto; object-fit: contain; flex: none; mix-blend-mode: screen; }
@media (max-width: 420px) { :root { --ev-header-h: 76px; } .ev-brand__img { height: 56px; } }
.custom-logo { max-height: 36px; width: auto; }

.ev-menu-toggle { margin-left: auto; width: 44px; height: 44px; background: none; border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); color: var(--ev-text); cursor: pointer; display: inline-grid; place-items: center; }
.ev-menu-toggle__bars, .ev-menu-toggle__bars::before, .ev-menu-toggle__bars::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; content: ""; position: relative; }
.ev-menu-toggle__bars::before { position: absolute; top: -6px; }
.ev-menu-toggle__bars::after { position: absolute; top: 6px; }

.ev-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--ev-surface-1); border-bottom: 1px solid var(--ev-border); padding: var(--s4) var(--ev-gutter) var(--s5); flex-direction: column; gap: var(--s4); }
.ev-nav.is-open { display: flex; }
.ev-nav__list { display: flex; flex-direction: column; }
.ev-nav__link { display: block; padding: var(--s3) 0; font-weight: 600; color: var(--ev-text-2); border-bottom: 1px solid var(--ev-border); }
.ev-nav__link:hover, .ev-nav__link.is-current { color: var(--ev-text); text-decoration: none; }
.ev-nav__link.is-current { box-shadow: inset 3px 0 0 var(--ev-red); padding-left: var(--s3); }
.ev-account { display: flex; gap: var(--s3); align-items: center; }
.ev-account__menu { position: relative; }
.ev-account__summary { list-style: none; cursor: pointer; display: inline-grid; min-width: 56px; min-height: 56px; place-items: center; }
.ev-account__summary::-webkit-details-marker { display: none; }
.ev-account__avatar { width: 40px; height: 40px; flex: none; object-fit: cover; display: block; border-radius: 50%; }
.ev-account__list { position: absolute; right: 0; top: calc(100% + 8px); min-width: 200px; background: var(--ev-surface-2); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); padding: var(--s2); z-index: 20; }
.ev-account__list a { display: block; padding: var(--s3); border-radius: 6px; }
.ev-account__list a:hover { background: var(--ev-surface-1); text-decoration: none; }

.ev-search__input { width: 100%; min-height: 44px; padding: 0 var(--s4); background: var(--ev-surface-2); border: 1px solid var(--ev-border); border-radius: 999px; color: var(--ev-text); font: inherit; font-size: 14px; }
.ev-search--header .ev-search__input { min-height: 56px; padding: 0 var(--s5); font-size: 16px; }
.ev-search__input::placeholder { color: var(--ev-text-2); }

/* ---- Cards (one shared system) -------------------------------------------------------------------- */
.ev-grid { display: grid; gap: var(--s5); grid-template-columns: 1fr; }
.ev-detail-grid { display: grid; gap: var(--s5); grid-template-columns: 1fr; margin-top: var(--s5); }
.ev-detail-grid h3 { font-size: .95rem; margin: 0 0 var(--s2); }
.ev-detail-grid p { color: var(--ev-text-2); white-space: pre-line; margin: 0; }
@media (min-width: 720px) { .ev-detail-grid { grid-template-columns: repeat(2, 1fr); } }
.ev-card { display: block; background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); overflow: hidden; transition: border-color .15s, transform .15s; }
.ev-card:hover { border-color: #3a3f46; }
.ev-card__media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--ev-surface-2); overflow: hidden; }
.ev-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-card__placeholder { position: absolute; inset: 0; background: radial-gradient(120% 120% at 20% 10%, #1d2126, #121417 60%); }
.ev-card__placeholder::after { content: ""; position: absolute; left: 50%; top: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px; border-radius: 50%; border: 2px solid var(--ev-border); }
.ev-card__play { position: absolute; left: var(--s3); bottom: var(--s3); width: 36px; height: 36px; border-radius: 50%; background: var(--ev-red); }
.ev-card__play::after { content: ""; position: absolute; left: 14px; top: 10px; border-left: 12px solid #fff; border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.ev-card__body { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s1); min-width: 0; }
.ev-card__title { margin: 0; font-size: 1.0625rem; line-height: 1.3; overflow-wrap: anywhere; }
.ev-card__title a:hover { text-decoration: underline; }
.ev-card__label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-card__meta { font-size: 13px; color: var(--ev-text-2); }
.ev-card--profile { display: flex; align-items: center; gap: var(--s4); padding: var(--s4); }
.ev-card--profile:hover { text-decoration: none; }

/* ---- Avatar: branded initials fallback, never a grey silhouette ---------------------------------- */
.ev-avatar { --size: 48px; flex: none; width: var(--size); height: var(--size); border-radius: 50%; overflow: hidden; display: inline-grid; place-items: center; background: hsl(var(--hue, 0) 38% 24%); border: 1px solid hsl(var(--hue, 0) 30% 34%); }
.ev-avatar--sm { --size: 32px; } .ev-avatar--md { --size: 48px; } .ev-avatar--lg { --size: 64px; } .ev-avatar--xl { --size: 120px; }
.ev-avatar--brand { border-radius: 22%; }
.ev-avatar__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-avatar__initials { font-weight: 800; letter-spacing: .02em; font-size: calc(var(--size) * .36); color: hsl(var(--hue, 0) 60% 88%); }

/* ---- Sections ------------------------------------------------------------------------------------- */
.ev-section { padding-block: var(--s7); }
.ev-section--band { background: var(--ev-surface-1); border-block: 1px solid var(--ev-border); }
.ev-section--cta { padding-block: var(--s8); }
.ev-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s5); }
.ev-section__head h2 { margin: 0; display: flex; align-items: center; gap: var(--s3); }

.ev-hero { padding: var(--s8) 0 var(--s7); background: radial-gradient(90% 120% at 85% -10%, rgba(225,38,53,.14), transparent 55%), var(--ev-canvas); border-bottom: 1px solid var(--ev-border); }
.ev-hero__title { max-width: 18ch; margin-bottom: var(--s4); font-size: clamp(2.25rem, 7vw, 4.5rem); line-height: 1.05; }
.ev-hero__lede { max-width: 46ch; font-size: 1.125rem; color: var(--ev-text-2); }
.ev-hero__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s5); }
.ev-stats { display: flex; flex-wrap: wrap; gap: var(--s6); margin: var(--s7) 0 0; }
.ev-stats dt { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-stats dd { margin: 0; font-size: 1.75rem; font-weight: 800; }

.ev-scroller { display: flex; gap: var(--s4); overflow-x: auto; padding-bottom: var(--s3); scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.ev-scroller__item { flex: 0 0 78%; max-width: 340px; scroll-snap-align: start; }

.ev-steps { display: grid; gap: var(--s5); grid-template-columns: 1fr; }
.ev-steps li { padding: var(--s5); background: var(--ev-canvas); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-steps__n { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ev-red); color: var(--ev-text); font-weight: 700; margin-bottom: var(--s3); }
.ev-steps p { color: var(--ev-text-2); margin: 0; }

.ev-cta { display: flex; flex-direction: column; gap: var(--s5); align-items: flex-start; padding: var(--s6); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-cta h2 { margin-bottom: var(--s2); } .ev-cta p { margin: 0; color: var(--ev-text-2); }

.ev-empty { padding: var(--s7) var(--s5); text-align: center; border: 1px dashed var(--ev-border); border-radius: var(--ev-radius); }
.ev-empty p { color: var(--ev-text-2); max-width: 46ch; margin-inline: auto; }

/* ---- Generic pages, directory, listings ----------------------------------------------------------- */
.ev-page { padding-block: var(--s7); min-height: 60vh; }
.ev-page__head { margin-bottom: var(--s6); }
.ev-filters { display: flex; flex-direction: column; gap: var(--s4); margin-bottom: var(--s6); }
.ev-tabs { display: flex; flex-wrap: wrap; gap: var(--s2); }
.ev-tab { display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--s4); border: 1px solid var(--ev-border); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ev-text-2); }
.ev-tab:hover { color: var(--ev-text); text-decoration: none; }
.ev-tab.is-current { color: var(--ev-canvas); background: var(--ev-text); border-color: var(--ev-text); }
.ev-pagination { display: flex; flex-wrap: wrap; gap: var(--s2); justify-content: center; margin-top: var(--s7); }
.ev-pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: 0 var(--s3); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); }
.ev-pagination .page-numbers.current { background: var(--ev-text); color: var(--ev-canvas); }
.ev-pagination a.page-numbers:hover { border-color: var(--ev-text-2); text-decoration: none; }

/* ---- Profile: owner banner -------------------------------------------------------------------------- */
.ev-owner-bar { background: var(--ev-surface-1); border-bottom: 1px solid var(--ev-red); }
.ev-owner-bar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); padding-block: var(--s3); }
.ev-owner-bar__title { margin: 0; display: flex; align-items: center; gap: var(--s2); font-weight: 700; }
.ev-owner-bar__title svg { color: var(--ev-red); }
.ev-owner-bar__hint { margin: 0; font-size: 13px; color: var(--ev-text-2); }
.ev-owner-bar__actions { display: flex; gap: var(--s3); }

/* ---- Profile -------------------------------------------------------------------------------------- */
.ev-profile__hero { position: relative; border-bottom: 1px solid var(--ev-border); background: linear-gradient(160deg, hsl(var(--hue, 0) 40% 16%), var(--ev-canvas) 70%); }
.ev-profile__cover { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .5; }
.ev-profile__cover::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--ev-canvas), rgba(9,10,12,.35)); }
.ev-profile__id { position: relative; display: flex; flex-direction: column; gap: var(--s4); padding-block: var(--s7) var(--s6); }
.ev-profile__name { margin: 0 0 var(--s2); display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); overflow-wrap: anywhere; }
.ev-profile__facts { color: var(--ev-text-2); margin: 0 0 var(--s4); }
.ev-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 0 var(--s3); border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .04em; border: 1px solid var(--ev-border); background: var(--ev-surface-2); }
.ev-badge--verified { color: var(--ev-success); border-color: rgba(66,184,131,.5); }
.ev-badge--verified svg { margin-right: 6px; }
.ev-badge--live { color: var(--ev-success); border-color: rgba(66,184,131,.5); }
.ev-profile__signal { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--ev-red); }
.ev-profile__signal svg { width: 16px; height: 16px; stroke: var(--ev-red); }
.ev-footprint { margin: var(--s5) 0 0; padding: var(--s4) var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-footprint__title { margin: 0 0 var(--s3); font-size: 13px; font-weight: 700; color: var(--ev-text-2); text-transform: uppercase; letter-spacing: .04em; }
.ev-footprint__list { display: grid; grid-template-columns: 1fr; gap: var(--s2); list-style: none; margin: 0; padding: 0; }
.ev-footprint__list li { display: flex; align-items: center; gap: var(--s2); font-size: 14px; }
.ev-footprint__list svg { width: 14px; height: 14px; stroke: var(--ev-success); flex-shrink: 0; }
@media (min-width: 560px) { .ev-footprint__list { grid-template-columns: repeat(2, 1fr); } }
.ev-subnav { position: sticky; top: var(--ev-header-h); z-index: 50; background: rgba(9,10,12,.95); backdrop-filter: blur(8px); border-bottom: 1px solid var(--ev-border); }
.ev-subnav a.is-current { color: var(--ev-text); box-shadow: inset 0 -2px 0 var(--ev-red); }
.ev-subnav__list { display: flex; gap: var(--s5); overflow-x: auto; white-space: nowrap; }
.ev-subnav a { display: inline-flex; align-items: center; min-height: 48px; font-size: 14px; font-weight: 600; color: var(--ev-text-2); }
.ev-subnav a:hover { color: var(--ev-text); text-decoration: none; }
.ev-profile__body { padding-block: var(--s6) var(--s8); }
.ev-block { padding-block: var(--s6); border-bottom: 1px solid var(--ev-border); scroll-margin-top: calc(var(--ev-header-h) + 56px); }
.ev-block:last-child { border-bottom: 0; }
.ev-claim { display: flex; flex-direction: column; gap: var(--s4); align-items: flex-start; padding: var(--s5); margin-bottom: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-warning); border-radius: var(--ev-radius); }
.ev-claim h2 { font-size: 1.125rem; margin-bottom: var(--s1); } .ev-claim p { margin: 0; color: var(--ev-text-2); }
.ev-links { display: flex; flex-wrap: wrap; gap: var(--s3); }
.ev-links a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--s4); border: 1px solid var(--ev-border); border-radius: 999px; font-weight: 600; font-size: 14px; }
.ev-links a:hover { border-color: var(--ev-text-2); text-decoration: none; }
.ev-press { display: grid; gap: var(--s4); }
.ev-press li { padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-press a { font-weight: 700; } .ev-press p { margin: var(--s2) 0 0; color: var(--ev-text-2); }

/* ---- Editorial ------------------------------------------------------------------------------------ */
.ev-article { display: grid; gap: var(--s7); padding-block: var(--s7); grid-template-columns: minmax(0, 1fr); }
.ev-article__head h1 { max-width: 22ch; }
.ev-article__hero { position: relative; margin: var(--s5) 0 0; border-radius: var(--ev-radius); overflow: hidden; aspect-ratio: 2 / 1; }
.ev-article__hero img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ev-article__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(9, 10, 12, .88) 0%, rgba(9, 10, 12, .4) 40%, transparent 75%); }
.ev-article__hero-overlay { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: var(--s6) var(--s5) var(--s5); }
.ev-article__hero-overlay .ev-eyebrow { color: rgba(255, 255, 255, .85); }
.ev-article__hero-overlay h1 { margin: 0; color: #fff; text-shadow: 0 2px 16px rgba(0, 0, 0, .55); }
@media (max-width: 480px) { .ev-article__hero { aspect-ratio: 4 / 3; } }
.ev-prose { font-size: 1.0625rem; line-height: 1.75; }
.ev-prose img, .ev-prose iframe, .ev-prose video { border-radius: var(--ev-radius-sm); }
.ev-prose a { color: var(--ev-text); text-decoration: underline; text-decoration-color: var(--ev-border); text-underline-offset: 3px; }
/* A button inside prose text is still a button: reassert its own color and no underline over the plain-link rule above. */
.ev-prose .ev-btn, .ev-prose .ev-btn:hover { text-decoration: none; }
.ev-prose .ev-btn--primary { color: var(--ev-canvas); }
.ev-prose .ev-btn--neutral, .ev-prose .ev-btn--ghost { color: var(--ev-text); }
.ev-prose a:hover { text-decoration-color: var(--ev-red); }
.ev-prose blockquote { margin: var(--s5) 0; padding-left: var(--s4); border-left: 3px solid var(--ev-red); color: var(--ev-text-2); }
.ev-rail__title { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-builder { min-height: 60vh; }

/* ---- Footer --------------------------------------------------------------------------------------- */
.ev-footer { position: relative; margin-top: var(--s8); padding: var(--s7) 0 var(--s6); border-top: 1px solid var(--ev-border); background: var(--ev-surface-1); overflow: hidden; }
.ev-footer::before { content: ""; position: absolute; top: -1px; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--ev-red) 20%, var(--ev-red) 80%, transparent); opacity: .75; }
.ev-footer__top { display: grid; gap: var(--s7); }
.ev-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: var(--s3); }
.ev-footer__logo { display: block; height: 56px; width: auto; object-fit: contain; mix-blend-mode: screen; }
.ev-footer__brand p { position: relative; margin: 0; padding-left: 16px; max-width: 30ch; color: var(--ev-text-2); }
.ev-footer__brand p::before { content: ""; position: absolute; left: 0; top: .5em; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: var(--ev-red); box-shadow: 0 0 0 0 rgba(225, 38, 53, .55); animation: ev-footerpulse 2.2s ease-in-out infinite; }
@keyframes ev-footerpulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(225, 38, 53, .55); } 50% { box-shadow: 0 0 0 5px rgba(225, 38, 53, 0); } }
@media (prefers-reduced-motion: reduce) { .ev-footer__brand p::before { animation: none; } }
.ev-footer__brandlinks { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin-top: var(--s1); }
.ev-footer__brandlinks a { font-size: 13px; font-weight: 600; color: var(--ev-text); }
.ev-footer__brandlinks a:hover { color: var(--ev-red); }
.ev-footer__groups { display: grid; gap: var(--s6); grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ev-footer__group h2 { position: relative; display: inline-block; margin-bottom: var(--s3); padding-bottom: var(--s2); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-footer__group h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 22px; height: 2px; background: var(--ev-red); }
.ev-footer__group li { margin-bottom: var(--s2); }
.ev-footer__group a { color: var(--ev-text); font-size: 14px; }
.ev-footer__group a:hover { color: var(--ev-red); }
.ev-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3); margin-top: var(--s7); padding-top: var(--s5); border-top: 1px solid var(--ev-border); }
.ev-footer__legal { margin: 0; color: var(--ev-text-2); font-size: 13px; }
.ev-footer__utility { display: flex; flex-wrap: wrap; gap: var(--s4); }
.ev-footer__utility a { font-size: 13px; color: var(--ev-text-2); }
.ev-footer__utility a:hover { color: var(--ev-red); }

/* ---- Breakpoints (Design System 22): >=768 tablet, >=1280 desktop --------------------------------- */
@media (min-width: 768px) {
  :root { --ev-gutter: 24px; }
  .ev-grid--profiles { grid-template-columns: repeat(2, 1fr); }
  .ev-grid--posts { grid-template-columns: repeat(2, 1fr); }
  .ev-steps { grid-template-columns: repeat(3, 1fr); }
  .ev-filters { flex-direction: row; justify-content: space-between; align-items: center; }
  .ev-search--inline { width: 280px; }
  .ev-cta { flex-direction: row; align-items: center; justify-content: space-between; }
  .ev-profile__id { flex-direction: row; align-items: flex-end; gap: var(--s6); }
  .ev-scroller__item { flex-basis: 300px; }
  .ev-footer__top { grid-template-columns: 260px 1fr; }
  .ev-claim { flex-direction: row; align-items: center; justify-content: space-between; }
}
@media (min-width: 1100px) {
  .ev-menu-toggle { display: none; }
  .ev-nav { display: flex; position: static; flex-direction: row; align-items: center; flex: 1; padding: 0; background: none; border: 0; gap: var(--s5); }
  .ev-nav__list { flex-direction: row; gap: var(--s5); }
  .ev-nav__link { border: 0; padding: var(--s2) 0; }
  .ev-nav__link.is-current { box-shadow: inset 0 -2px 0 var(--ev-red); padding-left: 0; }
  .ev-search { margin-left: auto; flex: 0 1 240px; min-width: 160px; }
  .ev-account .ev-btn { min-height: 40px; padding: 0 var(--s4); }
  .ev-header__bar { gap: var(--s6); }
}
@media (min-width: 1280px) {
  :root { --ev-gutter: 32px; }
  .ev-grid--profiles { grid-template-columns: repeat(4, 1fr); }
  .ev-grid--posts { grid-template-columns: repeat(3, 1fr); }
  .ev-hero { padding: var(--s9) 0 var(--s8); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ev-live { animation: none; }
  * { transition: none !important; }
}

/* ---- Polish: quiet, thin scrollbars on horizontal rails ------------------------------------------- */
.ev-scroller, .ev-subnav__list { scrollbar-width: thin; scrollbar-color: var(--ev-border) transparent; }
.ev-scroller::-webkit-scrollbar, .ev-subnav__list::-webkit-scrollbar { height: 6px; }
.ev-scroller::-webkit-scrollbar-thumb, .ev-subnav__list::-webkit-scrollbar-thumb { background: var(--ev-border); border-radius: 3px; }
.ev-scroller::-webkit-scrollbar-track, .ev-subnav__list::-webkit-scrollbar-track { background: transparent; }

/* ---- Watch (Design System 12): near-black, immersive, minimal chrome ------------------------------ */
body.ev-theme:has(.ev-watch) { background: #050607; }
.ev-watch { padding-block: var(--s5) var(--s7); }
.ev-watch__layout { display: grid; gap: var(--s6); grid-template-columns: minmax(0, 1fr); align-items: start; }
.ev-player { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: var(--ev-radius); overflow: hidden; border: 1px solid var(--ev-border); }
.ev-player__button { all: unset; box-sizing: border-box; position: absolute; inset: 0; cursor: pointer; display: grid; place-items: center; }
.ev-player__button:focus-visible { outline: 2px solid var(--ev-text); outline-offset: -4px; }
.ev-player__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: opacity .2s; }
.ev-player__button:hover .ev-player__poster { opacity: 1; }
.ev-player__play { position: relative; width: 76px; height: 76px; border-radius: 50%; background: var(--ev-red); box-shadow: 0 8px 32px rgba(0,0,0,.5); }
.ev-player__play::after { content: ""; position: absolute; left: 30px; top: 22px; border-left: 24px solid #fff; border-top: 16px solid transparent; border-bottom: 16px solid transparent; }
.ev-player__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ev-watch__meta { padding-top: var(--s5); }
.ev-watch__title { font-size: clamp(1.5rem, 4vw, 2.25rem); overflow-wrap: anywhere; }
.ev-watch__artist { margin: var(--s4) 0; max-width: 420px; }
.ev-watch__byline { color: var(--ev-text-2); }
.ev-watch__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s4); }
.ev-queue { display: grid; gap: var(--s3); }
.ev-queue__item { display: grid; grid-template-columns: 128px 1fr; gap: var(--s3); align-items: center; padding: var(--s2); border-radius: var(--ev-radius-sm); }
.ev-queue__item:hover { background: var(--ev-surface-1); text-decoration: none; }
.ev-queue__thumb { display: block; aspect-ratio: 16 / 9; background: var(--ev-surface-2); border-radius: 6px; overflow: hidden; }
.ev-queue__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-queue__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ev-queue__text strong { font-size: 14px; line-height: 1.3; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ev-watch__more { margin-top: var(--s8); }
@media (min-width: 1100px) {
  .ev-watch__layout { grid-template-columns: minmax(0, 1fr) 360px; }
}

/* ---- Matches (Design System 11) and the network lab ---------------------------------------------- */
.ev-btn--connect { background: var(--ev-red); color: #fff; border-color: var(--ev-red); }
.ev-btn--connect:hover { background: #ee3242; }
.ev-inline-form { display: inline; margin: 0; }
.ev-notice { padding: var(--s3) var(--s4); margin: 0 0 var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-success); border-radius: var(--ev-radius-sm); }
.ev-profile__counts { display: flex; flex-wrap: wrap; gap: var(--s5); margin: 0 0 var(--s4); color: var(--ev-text-2); font-size: 14px; }
.ev-profile__counts strong { color: var(--ev-text); font-size: 1.125rem; margin-right: 4px; }
.ev-matches__head { display: flex; flex-direction: column; gap: var(--s5); margin-bottom: var(--s6); }
.ev-matches__who { display: flex; align-items: center; gap: var(--s4); }
.ev-matches__who h1 { margin: 0; font-size: clamp(1.5rem, 4vw, 2.25rem); }
.ev-stats--tight { margin: 0; gap: var(--s5); }
.ev-stats--tight dd { font-size: 1.375rem; }
.ev-match { padding: var(--s6) var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); margin-bottom: var(--s6); }
.ev-match__identity { display: flex; align-items: center; gap: var(--s5); margin-bottom: var(--s5); }
.ev-match__identity h2 { margin-bottom: var(--s1); }
.ev-match__why { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-text-2); margin-bottom: var(--s3); }
.ev-reasons { display: grid; gap: var(--s3); margin: 0 0 var(--s4); }
.ev-reasons li { position: relative; padding-left: var(--s6); }
.ev-reasons li::before { content: ""; position: absolute; left: 0; top: .55em; width: 14px; height: 2px; background: var(--ev-red); }
.ev-cautions-title { margin: var(--s4) 0 var(--s2); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-warning); font-weight: 700; }
.ev-cautions { display: grid; gap: var(--s2); color: var(--ev-text-2); font-size: 14px; margin: 0 0 var(--s4); }
.ev-cautions li::before { content: "\2192\00a0"; }
.ev-match__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s5); align-items: center; }
.ev-nextlist { display: grid; gap: var(--s2); }
.ev-nextlist__item { display: flex; align-items: center; gap: var(--s4); padding: var(--s3); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); background: var(--ev-surface-1); }
.ev-nextlist__item:hover { border-color: #3a3f46; text-decoration: none; }
.ev-nextlist__item > span { display: flex; flex-direction: column; min-width: 0; }
.ev-lab { margin-top: var(--s8); padding: var(--s5); border: 1px dashed var(--ev-border); border-radius: var(--ev-radius); }
.ev-lab h3 { margin: var(--s5) 0 var(--s3); font-size: 1rem; }
.ev-lab__totals { display: grid; gap: var(--s3); margin: var(--s4) 0; }
.ev-lab__totals dt { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-lab__totals dd { margin: 0; font-size: .9375rem; overflow-wrap: anywhere; }
@media (min-width: 768px) { .ev-matches__head { flex-direction: row; justify-content: space-between; align-items: center; } .ev-match { padding: var(--s7) var(--s6); } .ev-lab__totals { grid-template-columns: repeat(2, 1fr); } }

/* ---- Forms, onboarding, dashboard and editor ------------------------------------------------------ */
.ev-form { display: grid; gap: var(--s5); max-width: 760px; }
.ev-field { margin: 0; padding: 0; border: 0; min-width: 0; }
.ev-field > label, .ev-field > legend, .ev-choices > legend { display: block; margin: 0 0 var(--s2); padding: 0; font-size: 14px; font-weight: 600; color: var(--ev-text); }
.ev-field input[type="text"], .ev-field input[type="url"], .ev-field input[type="email"], .ev-field input[type="password"], .ev-field textarea, .ev-field select {
  width: 100%; min-height: 46px; padding: 10px var(--s4); background: var(--ev-surface-2); color: var(--ev-text); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); font: inherit; font-size: 15px;
}
.ev-field textarea { min-height: 96px; resize: vertical; line-height: 1.5; }
.ev-field input:focus, .ev-field textarea:focus, .ev-field select:focus { outline: 2px solid var(--ev-text); outline-offset: 1px; }
.ev-field__hint { margin: var(--s2) 0 0; font-size: 13px; color: var(--ev-text-2); }
.ev-field__error { margin: var(--s2) 0 0; font-size: 14px; font-weight: 600; color: var(--ev-error); }
.ev-field__error::before { content: "Please check: "; font-weight: 700; }
.ev-field.has-error input, .ev-field.has-error textarea, .ev-field.has-error select { border-color: var(--ev-error); }
.ev-form__row { display: grid; gap: var(--s4); grid-template-columns: 1fr; }
.ev-form__actions { display: flex; flex-wrap: wrap; gap: var(--s3); align-items: center; }
.ev-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ev-choices__grid { display: flex; flex-wrap: wrap; gap: var(--s2); }
.ev-choice { display: inline-flex; align-items: center; gap: var(--s2); min-height: 40px; padding: 0 var(--s4); border: 1px solid var(--ev-border); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ev-text-2); cursor: pointer; background: var(--ev-surface-1); }
.ev-choice input { accent-color: #fff; width: 16px; height: 16px; margin: 0; }
.ev-choice:has(input:checked) { color: var(--ev-canvas); background: var(--ev-text); border-color: var(--ev-text); }
.ev-choice:has(input:focus-visible) { outline: 2px solid var(--ev-text); outline-offset: 2px; }
.ev-typecards__grid { display: grid; gap: var(--s3); grid-template-columns: 1fr; }
.ev-typecard { display: block; cursor: pointer; }
.ev-typecard input { position: absolute; opacity: 0; }
.ev-typecard__body { display: flex; flex-direction: column; gap: 2px; padding: var(--s4) var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-typecard__body span { font-size: 14px; color: var(--ev-text-2); }
.ev-typecard:hover .ev-typecard__body { border-color: #3a3f46; }
.ev-typecard input:checked + .ev-typecard__body { border-color: var(--ev-text); box-shadow: inset 0 0 0 1px var(--ev-text); }
.ev-typecard input:focus-visible + .ev-typecard__body { outline: 2px solid var(--ev-text); outline-offset: 2px; }
.ev-notice--error { border-left-color: var(--ev-error); }
.ev-notice p { margin: 0 0 var(--s1); } .ev-notice p:last-child { margin: 0; }
[data-ev-show-for][hidden] { display: none; }

.ev-dashnav { margin-bottom: var(--s6); }
.ev-dash__head { display: flex; flex-direction: column; gap: var(--s4); align-items: flex-start; }
.ev-dash__grid { display: grid; gap: var(--s5); grid-template-columns: 1fr; }
.ev-panel { padding: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-panel h2 { font-size: 1.125rem; margin-bottom: var(--s3); }
.ev-panel__actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin: var(--s4) 0 0; }
.ev-panel__title { font-size: 1.125rem; margin: 0 0 var(--s3); display: flex; align-items: center; gap: var(--s2); }
.ev-panel__cards { display: flex; flex-direction: column; gap: var(--s3); }
.ev-sparkline { display: flex; align-items: center; gap: var(--s3); margin-top: var(--s4); }
.ev-sparkline svg { width: 90px; height: 26px; flex-shrink: 0; }
.ev-sparkline svg polyline { stroke: var(--ev-red); stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.ev-sparkline__label { font-size: 13px; color: var(--ev-text-2); }

/* ---- Dashboard KPI row ------------------------------------------------------------------------------ */
.ev-kpi-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s4); margin-bottom: var(--s6); }
.ev-kpi { position: relative; padding: var(--s4) var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); display: flex; flex-direction: column; gap: var(--s2); }
.ev-kpi__icon { color: var(--ev-text-2); }
.ev-kpi__icon svg { width: 18px; height: 18px; }
.ev-kpi__label { font-size: 13px; color: var(--ev-text-2); }
.ev-kpi__value { font-size: 1.75rem; font-weight: 800; line-height: 1; }
.ev-kpi__trend { font-size: 12px; font-weight: 700; color: var(--ev-text-2); }
.ev-kpi__trend.is-up { color: var(--ev-success); }
.ev-kpi__trend.is-down { color: var(--ev-text-2); }
@media (min-width: 720px) { .ev-kpi-row { grid-template-columns: repeat(4, 1fr); } }
.ev-mix { margin-top: var(--s5); padding-top: var(--s5); border-top: 1px solid var(--ev-border); }
.ev-mix__row { display: grid; grid-template-columns: 90px 1fr 40px; align-items: center; gap: var(--s3); margin-top: var(--s2); font-size: 13px; }
.ev-mix__label { color: var(--ev-text-2); }
.ev-mix__bar { display: block; height: 6px; border-radius: 999px; background: var(--ev-surface-2); overflow: hidden; }
.ev-mix__bar span { display: block; height: 100%; background: var(--ev-red); border-radius: 999px; }
.ev-mix__pct { text-align: right; font-weight: 700; }
.ev-activity { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s4); }
.ev-activity li { display: flex; align-items: flex-start; gap: var(--s3); font-size: 14px; }
.ev-activity .ev-avatar { flex-shrink: 0; }
.ev-services { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--s3); }
.ev-services__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s3) 0; border-bottom: 1px solid var(--ev-border); font-size: 14px; }
.ev-services__row:last-child { border-bottom: 0; padding-bottom: 0; }
.ev-services__row .ev-muted { display: block; font-size: 12px; }
.ev-badge--status-completed { color: var(--ev-success); border-color: rgba(66,184,131,.5); }
.ev-badge--status-on-hold, .ev-badge--status-failed { color: var(--ev-error); border-color: rgba(224,82,82,.5); }
.ev-badge--status-cancelled, .ev-badge--status-refunded { color: var(--ev-text-2); }
.ev-services__dot { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: currentColor; }
.ev-services__dot--gray { background: var(--ev-text-2); }
.ev-services__dot--amber { background: #f0b429; }

/* ---- Profile: two-column overview (main content + sidebar) ---------------------------------------- */
.ev-profile__grid { display: grid; gap: var(--s6); grid-template-columns: 1fr; align-items: start; }
.ev-profile__main { min-width: 0; }
.ev-profile__side { display: flex; flex-direction: column; gap: var(--s5); }
.ev-profile__side .ev-block { border: 0; padding: 0; }
@media (min-width: 960px) {
  .ev-profile__grid { grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); }
  .ev-profile__side { position: sticky; top: calc(var(--ev-header-h) + 64px); }
}
.ev-featured-release { background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); padding: var(--s5); }
.ev-featured-release__grid { display: grid; gap: var(--s5); grid-template-columns: 1fr; margin-top: var(--s3); }
.ev-featured-release__grid h2 { margin: 0 0 var(--s2); font-size: 1.375rem; }
.ev-featured-release__art { display: block; aspect-ratio: 1 / 1; border-radius: var(--ev-radius-sm); overflow: hidden; background: var(--ev-surface-2); max-width: 220px; }
.ev-featured-release__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 560px) { .ev-featured-release__grid { grid-template-columns: 220px 1fr; align-items: center; } }
.ev-next { padding: var(--s5); margin-bottom: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-red); border-radius: var(--ev-radius); }
.ev-next h2 { font-size: 1.375rem; margin-bottom: var(--s4); }
.ev-progress { width: 100%; height: 8px; margin: 0 0 var(--s4); border-radius: 999px; overflow: hidden; appearance: none; -webkit-appearance: none; background: var(--ev-surface-2); border: 0; }
.ev-progress::-webkit-progress-bar { background: var(--ev-surface-2); }
.ev-progress::-webkit-progress-value { background: var(--ev-text); }
.ev-progress::-moz-progress-bar { background: var(--ev-text); }
.ev-checklist { display: grid; gap: var(--s2); }
.ev-checklist li { display: flex; align-items: center; gap: var(--s3); font-size: 14px; color: var(--ev-text-2); }
.ev-checklist li.is-done { color: var(--ev-text); }
.ev-checklist__mark { flex: none; width: 20px; height: 20px; display: inline-grid; place-items: center; border-radius: 50%; border: 1px solid var(--ev-border); font-size: 12px; }

/* ---- Dashboard: the EV Signal Path — one adaptive next step across 8 stages, rendered as a row of step cards. ----- */
.ev-path { margin-bottom: var(--s5); padding: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-red); border-radius: var(--ev-radius); }
.ev-path__progress { width: 100%; height: 6px; margin: 0 0 var(--s5); border-radius: 999px; overflow: hidden; appearance: none; -webkit-appearance: none; background: var(--ev-surface-2); border: 0; }
.ev-path__progress::-webkit-progress-bar { background: var(--ev-surface-2); border-radius: 999px; }
.ev-path__progress::-webkit-progress-value { background: var(--ev-red); border-radius: 999px; transition: width .3s ease; }
.ev-path__progress::-moz-progress-bar { background: var(--ev-red); border-radius: 999px; }
.ev-path__stages { display: flex; align-items: stretch; list-style: none; gap: var(--s3); margin: 0 0 var(--s3); padding: 2px; overflow-x: auto; scrollbar-width: none; }
.ev-path__stages::-webkit-scrollbar { display: none; }
.ev-path__scrollbar { position: relative; height: 6px; margin: 0 0 var(--s5); border-radius: 999px; background: var(--ev-surface-2); cursor: pointer; }
.ev-path__scrollbar-thumb { position: absolute; top: 0; height: 100%; min-width: 12%; border-radius: 999px; background: var(--ev-red); cursor: grab; touch-action: none; animation: ev-scrollpulse 1.8s ease-in-out infinite; }
.ev-path__scrollbar-thumb.is-dragging { cursor: grabbing; animation: none; background: #ff4a56; }
@keyframes ev-scrollpulse { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(225, 38, 53, .5); } 50% { opacity: .7; box-shadow: 0 0 7px 1px rgba(225, 38, 53, .55); } }
@media (prefers-reduced-motion: reduce) { .ev-path__scrollbar-thumb { animation: none; } }
.ev-path__stage { position: relative; flex: 1 0 156px; display: flex; flex-direction: column; align-items: center; text-align: center; padding: var(--s4) var(--s3); background: var(--ev-surface-2); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); transition: border-color .15s, background-color .15s; }
.ev-path__stage.is-active { background: rgba(225, 38, 53, .08); border-color: rgba(225, 38, 53, .55); box-shadow: 0 0 0 1px rgba(225, 38, 53, .2); }
.ev-path__stage.is-done { border-color: rgba(225, 38, 53, .3); }
.ev-path__node { position: relative; z-index: 1; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--ev-text-2); background: var(--ev-surface-1); border: 2px solid var(--ev-border); }
.ev-path__stage.is-done .ev-path__node { background: var(--ev-red); border-color: var(--ev-red); color: #fff; }
.ev-path__stage.is-active .ev-path__node { border-color: var(--ev-red); color: var(--ev-red); animation: ev-pathpulse 1.8s ease-in-out infinite; }
@keyframes ev-pathpulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(225, 38, 53, .55); } 50% { box-shadow: 0 0 0 7px rgba(225, 38, 53, 0); } }
@media (prefers-reduced-motion: reduce) { .ev-path__stage.is-active .ev-path__node { animation: none; box-shadow: 0 0 0 3px rgba(225, 38, 53, .4); } }
.ev-path__stagelabel { max-width: 140px; margin-top: var(--s3); font-size: 12px; font-weight: 600; line-height: 1.3; color: var(--ev-text-2); }
.ev-path__stage.is-active .ev-path__stagelabel, .ev-path__stage.is-done .ev-path__stagelabel { color: var(--ev-text); }
.ev-path__products { display: grid; gap: 6px; margin: var(--s3) 0 0; width: 100%; }
.ev-path__products a { display: block; padding: 5px 9px; font-size: 11.5px; line-height: 1.35; color: var(--ev-text-2); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: 6px; text-decoration: none; transition: border-color .15s, color .15s; }
.ev-path__products a:hover { color: var(--ev-text); border-color: var(--ev-red); }
.ev-path__noproduct { margin: var(--s3) 0 0; font-size: 11.5px; font-style: italic; color: var(--ev-text-2); }
.ev-path__goal h2 { margin: var(--s1) 0 var(--s2); font-size: clamp(1.25rem, 3vw, 1.5rem); }
.ev-path__goal > .ev-btn { margin-top: var(--s3); }
.ev-path__offer { margin: var(--s4) 0 0; padding-top: var(--s3); border-top: 1px solid var(--ev-border); font-size: 14px; }
.ev-path__offertag { display: inline-block; margin-right: var(--s2); padding: 2px 8px; border-radius: 999px; background: var(--ev-surface-2); color: var(--ev-text-2); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; vertical-align: 1px; }
.ev-path__offer a { color: var(--ev-text); text-decoration: underline; text-decoration-color: var(--ev-border); text-underline-offset: 3px; }

/* ---- Product pages: the Signal Path chip + integrity note (EV Product Portfolio report, 2026-09). One shared, ------ */
/* ---- animated class so every product page ties back to the same pulse language instead of a bolted-on banner. ---- */
.ev-sigchip { position: relative; margin: 0 0 var(--s5); padding: clamp(20px, 4vw, 32px); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-red); border-radius: var(--ev-radius); font-family: var(--ev-font); }
.ev-sigchip__tag { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 var(--s3); padding: 6px 14px; background: rgba(225, 38, 53, .1); border: 1px solid rgba(225, 38, 53, .35); border-radius: 999px; }
.ev-sigchip__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ev-red); animation: ev-sigdotpulse 1.8s ease-in-out infinite; }
@keyframes ev-sigdotpulse { 0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(225, 38, 53, .5); } 50% { opacity: .45; box-shadow: 0 0 0 5px rgba(225, 38, 53, 0); } }
@media (prefers-reduced-motion: reduce) { .ev-sigchip__dot { animation: none; } }
.ev-sigchip__taglabel { font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #ff8e95; }
.ev-sigchip__free { max-width: 760px; margin: 0 0 var(--s2); font-size: 14px; line-height: 1.75; color: var(--ev-text-2); }
.ev-sigchip__free a { color: var(--ev-text); text-decoration: underline; text-decoration-color: var(--ev-border); text-underline-offset: 3px; }
.ev-sigchip__integrity { max-width: 760px; margin: 0; font-size: 13px; line-height: 1.75; color: var(--ev-text-2); opacity: .85; }

/* ---- Services catalog: a callout routing agencies/labels/management to the Agency Press Desk instead. --------- */
.ev-agencycallout { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); margin: 0 0 var(--s6); padding: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-red); border-radius: var(--ev-radius); }
.ev-agencycallout__text { max-width: 640px; }
.ev-agencycallout__text p:last-child { margin: 0; color: var(--ev-text-2); font-size: 14px; line-height: 1.65; }

/* The Charts page hero: the same live-monitor pulse line, bigger, traced once behind the title. */
.ev-ihero--pulse { position: relative; overflow: hidden; }
.ev-chartspulse { position: absolute; inset: 0; opacity: .25; pointer-events: none; }
.ev-chartspulse svg { width: 100%; height: 100%; }
.ev-chartspulse polyline { fill: none; stroke: var(--ev-gold); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1000; stroke-dashoffset: 1000; animation: ev-sigtrace 4.4s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .ev-chartspulse polyline { animation: none; stroke-dashoffset: 0; } }
.ev-checklist li.is-done .ev-checklist__mark { background: var(--ev-success); border-color: var(--ev-success); color: #05140d; font-weight: 700; }
.ev-requests { display: grid; gap: var(--s3); }
.ev-request { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s3) var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-request__who { display: flex; align-items: center; gap: var(--s3); min-width: 0; }
.ev-request__who > span { display: flex; flex-direction: column; min-width: 0; }
.ev-request__actions { display: flex; gap: var(--s2); }
.ev-editor__layout { display: grid; gap: var(--s6); grid-template-columns: minmax(0, 1fr); }
.ev-editor__side { order: -1; }
.ev-editor__form { min-width: 0; }
.ev-editor__form > .ev-form { max-width: none; }
.ev-photo-editor__preview { display: block; width: 144px; aspect-ratio: 1; object-fit: cover; border: 1px solid var(--ev-border); border-radius: var(--ev-radius); background: var(--ev-surface-1); }
.ev-photo-editor input[type="file"] { display: block; max-width: 100%; color: var(--ev-text-2); }
.ev-editor .ev-block { scroll-margin-top: calc(var(--ev-header-h) + 24px); }
.ev-form__row--2 { grid-template-columns: 1fr; }
@media (min-width: 768px) {
  .ev-form__row { grid-template-columns: repeat(3, 1fr); }
  .ev-form__row--2 { grid-template-columns: repeat(2, 1fr); }
  .ev-typecards__grid { grid-template-columns: repeat(2, 1fr); }
  .ev-dash__head { flex-direction: row; justify-content: space-between; align-items: center; }
  .ev-dash__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1100px) {
  .ev-editor__layout { grid-template-columns: 280px minmax(0, 1fr); align-items: start; }
  .ev-editor__side { order: 0; position: sticky; top: calc(var(--ev-header-h) + 24px); }
}

/* Following feed */
.ev-feed { display: grid; gap: var(--s5); margin: var(--s5) 0; }
.ev-feed__via { margin: 0 0 var(--s2); color: var(--ev-text-muted, #9aa0a6); font-size: 0.875rem; }
.ev-feed__more { text-align: center; margin: var(--s5) 0; }
.ev-follow .ev-btn { min-width: 6.5rem; }

/* Discover facets */
.ev-facets { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s3); margin: 0 0 var(--s6); }
.ev-facets__field { display: grid; gap: var(--s1); font-size: 0.8125rem; color: var(--ev-text-muted, #9aa0a6); }
.ev-facets__field select { min-width: 10rem; max-width: 100%; min-height: 46px; padding: 10px var(--s4); background: var(--ev-surface-2); color: var(--ev-text); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); font: inherit; font-size: 15px; }
.ev-facets__field select:focus { outline: 2px solid var(--ev-text); outline-offset: 1px; }
@media (max-width: 600px) { .ev-facets__field, .ev-facets__field select { width: 100%; } }

/* ==== App shell (Design System 5, 6, 22) ======================================================== */
body.ev-theme { padding-bottom: 72px; }
.ev-header__bar--app { display: flex; align-items: center; gap: var(--s3); padding: 0 var(--ev-gutter); min-height: var(--ev-header-h); max-width: none; position: relative; }
.ev-search--header { flex: 1 1 auto; max-width: 640px; margin: 0 auto; display: none; }
.ev-header__actions { display: flex; align-items: center; gap: var(--s2); margin-left: auto; }
.ev-search-toggle { display: inline-grid; }
.ev-icon-btn { display: inline-grid; width: 56px; height: 56px; place-items: center; border-radius: 999px; color: var(--ev-text); border: 1px solid transparent; background: none; flex: none; }
.ev-icon-btn:hover { background: var(--ev-surface-2); text-decoration: none; }
.ev-headernav { display: inline-flex; align-items: stretch; gap: 2px; padding: 4px; background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); flex: none; }
.ev-headernav__item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 52px; padding: 6px 10px; border-radius: var(--ev-radius-sm); color: var(--ev-text); }
.ev-headernav__item:hover { background: var(--ev-surface-2); text-decoration: none; }
.ev-headernav__item .ev-icon { width: 22px; height: 22px; }
.ev-headernav__label { font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; line-height: 1; }
.ev-headernav__item--signal { color: var(--ev-red); }
.ev-headernav__item--signal:hover { background: rgba(225, 38, 53, .14); }
.ev-headernav__item--charts { color: var(--ev-gold); }
.ev-headernav__item--charts:hover { background: rgba(212, 175, 55, .14); }
@media (max-width: 480px) {
  .ev-headernav { padding: 2px; gap: 0; border-color: transparent; background: none; }
  .ev-headernav__item { min-width: 44px; padding: 10px; }
  .ev-headernav__label { display: none; }
  .ev-headernav__item--dashboard { display: none; }
}
.ev-btn--upload { gap: var(--s2); min-height: 52px; padding: 0 var(--s5); font-size: 15px; background: var(--ev-red); color: #fff; border-color: var(--ev-red); }
.ev-btn--upload:hover { background: #f03645; border-color: #f03645; }
.ev-btn--upload .ev-icon { flex: none; }
.ev-btn--upload span { display: none; }
.ev-btn--signin, .ev-btn--join { display: none; min-height: 52px; font-size: 15px; }
.ev-btn--connect { background: var(--ev-red); color: #fff; border-color: var(--ev-red); }
.ev-btn--connect:hover { background: #f03645; border-color: #f03645; }
.ev-search--open .ev-search--header { display: block; position: absolute; left: var(--ev-gutter); right: var(--ev-gutter); top: 10px; z-index: 5; max-width: none; }

.ev-shell { display: block; }
.ev-shell__main { min-width: 0; }
.ev-rail { display: none; }
.ev-rail__list { display: flex; flex-direction: column; gap: 2px; padding: var(--s3) var(--s1); }
.ev-rail__link { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 10px 2px; font-size: 11px; line-height: 1.2; text-align: center; color: var(--ev-text-2); border-radius: 10px; }
.ev-rail__link:hover { color: var(--ev-text); background: var(--ev-surface-1); text-decoration: none; }
.ev-rail__link.is-current { color: var(--ev-text); background: var(--ev-surface-2); }
.ev-rail__link.is-current .ev-icon { color: var(--ev-red); }
/* Upload is the one action, not a destination among destinations - a filled badge makes that obvious at a glance. */
.ev-rail__link--accent { background: color-mix(in srgb, var(--ev-red) 8%, transparent); }
.ev-rail__link--accent .ev-icon { width: 36px; height: 36px; padding: 6px; border-radius: 50%; background: var(--ev-red); color: #fff; }
.ev-rail__link--accent span { font-weight: 800; color: var(--ev-text); }
.ev-rail__link--accent:hover { background: color-mix(in srgb, var(--ev-red) 16%, transparent); }
.ev-rail__link--accent:hover .ev-icon, .ev-rail__link--accent.is-current .ev-icon { background: #f03645; color: #fff; }
/* The Signal's nav icon is already a pulse line (see icons.php); make it actually trace, like a live monitor. */
.ev-rail__link .ev-icon--signal path, .ev-bottomnav__link .ev-icon--signal path { stroke-dasharray: 34; stroke-dashoffset: 34; animation: ev-navtrace 2.8s ease-in-out infinite; }
@keyframes ev-navtrace { 0% { stroke-dashoffset: 34; } 45%, 100% { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .ev-rail__link .ev-icon--signal path, .ev-bottomnav__link .ev-icon--signal path { animation: none; stroke-dashoffset: 0; } }
.ev-rail__divider { height: 1px; background: var(--ev-border); margin: var(--s2) var(--s3); }

.ev-bottomnav { position: fixed; left: 0; right: 0; bottom: 0; z-index: 110; display: flex; background: rgba(9,10,12,.96); backdrop-filter: blur(10px); border-top: 1px solid var(--ev-border); padding-bottom: env(safe-area-inset-bottom); }
.ev-bottomnav__link { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; font-size: 11px; color: var(--ev-text-2); }
.ev-bottomnav__link:hover { text-decoration: none; color: var(--ev-text); }
.ev-bottomnav__link.is-current { color: var(--ev-text); }
.ev-bottomnav__link.is-current .ev-bottomnav__icon svg { color: var(--ev-red); }
.ev-bottomnav__link.is-create .ev-bottomnav__icon { display: grid; place-items: center; width: 44px; height: 32px; border-radius: 16px; background: var(--ev-text); color: var(--ev-canvas); }
.ev-bottomnav__link.is-create .ev-bottomnav__label { display: none; }

@media (min-width: 480px) { .ev-btn--upload span { display: inline; } .ev-btn--join { display: inline-flex; } }
@media (min-width: 768px) {
  .ev-search--header { display: block; }
  .ev-search-toggle { display: none; }
  .ev-btn--signin { display: inline-flex; }
}
@media (min-width: 1024px) {
  body.ev-theme { padding-bottom: 0; }
  .ev-bottomnav { display: none; }
  .ev-shell { display: grid; grid-template-columns: 76px minmax(0, 1fr) 76px; }
  .ev-rail { display: block; position: sticky; top: var(--ev-header-h); align-self: start; height: calc(100vh - var(--ev-header-h)); overflow-y: auto; border-left: 1px solid var(--ev-border); scrollbar-width: none; z-index: 60; background: rgba(9, 10, 12, .92); backdrop-filter: blur(10px); }
  .ev-rail::-webkit-scrollbar { display: none; }
  .ev-rail--feed { border-left: none; border-right: 1px solid var(--ev-border); }
}

/* Agency Press Desk (WPCode 158064) sizes its own content against raw 100vw, not the actual middle grid
   column, so between 1024-1460px it overflows ~112px past the real column edge and under the right rail
   (page-id-158065). The `html` prefix only bumps specificity so this wins over the snippet's own !important
   regardless of load order - it never touches that snippet directly. */
@media (min-width: 1024px) {
  html body.page-id-158065 .evapd2 { width: min(1420px, calc(100vw - 192px)) !important; }
}

/* ==== Video-first homepage ====================================================================== */
.ev-home--video { padding: var(--s3) var(--ev-gutter) var(--s8); max-width: 1440px; margin: 0 auto; }
.ev-chips { position: sticky; top: var(--ev-header-h); z-index: 40; margin: 0 calc(-1 * var(--ev-gutter)); padding: var(--s3) var(--ev-gutter); background: rgba(9,10,12,.94); backdrop-filter: blur(8px); }
.ev-chips ul { display: flex; gap: var(--s2); overflow-x: auto; scrollbar-width: none; }
.ev-chips ul::-webkit-scrollbar { display: none; }
.ev-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 var(--s3); border-radius: 999px; background: none; color: var(--ev-text-2); font-size: 14px; font-weight: 600; white-space: nowrap; }
.ev-chip:hover { color: var(--ev-text); background: var(--ev-surface-2); text-decoration: none; }
.ev-chip.is-current { background: var(--ev-text); color: var(--ev-canvas); }

.ev-strip { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3) var(--s5); padding: var(--s4) var(--s5); margin: var(--s3) 0 var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-strip--welcome { justify-content: space-between; margin-top: var(--s4); }
.ev-strip__title { margin: 0; font-size: 18px; font-weight: 700; }
.ev-strip__text { margin: var(--s1) 0 0; color: var(--ev-text-2); font-size: 14px; max-width: 60ch; }
.ev-strip__actions { display: flex; gap: var(--s3); flex-wrap: wrap; }
.ev-strip__label { margin: 0; color: var(--ev-text-2); font-size: 13px; }
.ev-strip__count { margin: 0; font-size: 14px; font-weight: 600; }
.ev-strip__next { margin: 0; color: var(--ev-text-2); font-size: 14px; flex: 1 1 200px; }
.ev-progress { flex: 1 1 120px; min-width: 100px; height: 4px; border-radius: 2px; background: var(--ev-border); overflow: hidden; }
.ev-progress span { display: block; height: 100%; background: var(--ev-red); border-radius: 2px; }
.ev-strip--footprint .ev-btn { min-height: 36px; }
.ev-strip__desc { margin: 2px 0 0; flex: 1 1 240px; color: var(--ev-text-2); font-size: 13px; }

.ev-shelf__desc { margin: 2px 0 0; color: var(--ev-text-2); font-size: 13px; max-width: 60ch; }
/* Homepage section headers (Originals/Watch Now/Rising): heading and description sit on one line at width,
   wrapping only when the row runs out of room - not a stacked two-line block eating vertical rhythm. */
.ev-shelf__head > div:first-child { display: flex; align-items: baseline; gap: var(--s3); flex-wrap: wrap; min-width: 0; }
.ev-shelf__head .ev-shelf__desc { margin: 0; max-width: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1100px) { .ev-shelf__head .ev-shelf__desc { display: none; } }

.ev-originals { margin-top: 26px; padding-bottom: 32px; border-bottom: 1px solid var(--ev-border); }
.ev-watchnow, .ev-rising { margin-top: 22px; }
.ev-originals .ev-shelf__head, .ev-watchnow .ev-shelf__head, .ev-rising .ev-shelf__head { margin-bottom: 19px; }

/* Your Signal: one thin horizontal strip - a restrained red-to-black identity zone (~30%), then the real
   footprint progress on one compact row. Not a dashboard card: the whole thing targets ~90-100px tall on
   desktop. Named .ev-signalbar (not .ev-signal) - that class already belongs to The Signal feed page, whose
   own max-width:760px rule was silently capping this component's width. */
.ev-signalbar { display: grid; gap: 0; width: 100%; margin: 0 0 var(--s4); border-radius: var(--ev-radius); overflow: hidden; border: 1px solid var(--ev-border); background: var(--ev-surface-1); }
.ev-signalbar__brand { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 16px var(--s4); background: linear-gradient(135deg, rgba(225,38,53,.35), rgba(9,10,12,.9) 70%); overflow: hidden; }
.ev-signalbar__wave { position: absolute; right: 6px; bottom: -6px; display: block; opacity: .18; color: var(--ev-text); pointer-events: none; }
.ev-signalbar__title { position: relative; margin: 0; font-size: 14px; font-weight: 800; line-height: 1.2; }
.ev-signalbar__tagline { position: relative; margin: 2px 0 0; color: var(--ev-text-2); font-size: 11px; line-height: 1.3; max-width: 30ch; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.ev-signalbar__progress { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); padding: 16px var(--s4); }
.ev-signalbar__progress .ev-strip__label { flex: none; }
.ev-signalbar__progress .ev-progress { flex: 1 1 100px; }
.ev-signalbar__progress .ev-strip__count { flex: none; }
.ev-signalbar__progress .ev-strip__next { flex: 0 1 220px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-signalbar__cta { flex: none; margin-left: auto; min-height: 32px; padding: 0 var(--s4); background: var(--ev-text); color: var(--ev-canvas); }
.ev-signalbar__cta:hover { background: #fff; }
@media (min-width: 760px) { .ev-signalbar { grid-template-columns: 30% minmax(0, 1fr); align-items: stretch; } }

/* EV Originals mosaic: one dominant feature, two smaller stories, one wide story - never four equal cards -
   held to one fixed height band on desktop so it reads as one dense row, not a stack of oversized cards.
   Named .ev-mosaic (not .ev-tile) - .ev-tile already belongs to the info-page tile grid, whose
   padding:var(--s5) rule was silently inset-padding every image here by 24px. */
.ev-originals__grid { display: grid; gap: var(--s3); margin-top: var(--s3); }
.ev-originals__right { display: grid; gap: var(--s3); }
.ev-originals__small { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); }
.ev-mosaic { position: relative; border-radius: var(--ev-radius); overflow: hidden; background: var(--ev-surface-1); }
.ev-mosaic__link { display: block; position: relative; color: var(--ev-text); height: 100%; }
.ev-mosaic__link:hover { text-decoration: none; }
.ev-mosaic__link:hover .ev-mosaic__media img { transform: scale(1.015); }
.ev-mosaic__media { display: block; aspect-ratio: 16 / 10; background: var(--ev-surface-2); overflow: hidden; }
.ev-mosaic__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.ev-mosaic__scrim { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,5,7,.92) 0%, rgba(5,5,7,.55) 46%, rgba(5,5,7,.05) 78%); }
.ev-mosaic__body { position: absolute; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; gap: 3px; padding: var(--s3); }
.ev-mosaic__label { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-red); }
.ev-mosaic__title { font-size: 18px; font-weight: 700; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-mosaic__deck { color: var(--ev-text-2); font-size: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-mosaic__cta { margin-top: 2px; font-size: 12px; font-weight: 700; color: var(--ev-red); }
.ev-mosaic--hero .ev-mosaic__media { aspect-ratio: 16 / 11; }
.ev-mosaic--hero .ev-mosaic__body { padding: var(--s4); gap: 4px; }
.ev-mosaic--hero .ev-mosaic__title { font-size: 28px; line-height: 1.15; -webkit-line-clamp: 3; }
.ev-mosaic--hero .ev-mosaic__deck { -webkit-line-clamp: 2; font-size: 13px; }
.ev-mosaic--horizontal .ev-mosaic__link { display: flex; align-items: stretch; }
.ev-mosaic--horizontal .ev-mosaic__media { flex: 0 0 42%; aspect-ratio: auto; }
.ev-mosaic--horizontal .ev-mosaic__scrim { background: linear-gradient(90deg, rgba(5,5,7,.05) 0%, rgba(5,5,7,.55) 54%, rgba(5,5,7,.92) 100%); }
.ev-mosaic--horizontal .ev-mosaic__body { position: static; flex: 1; justify-content: center; background: var(--ev-surface-1); }
.ev-mosaic--horizontal .ev-mosaic__deck { display: none; }
@media (min-width: 1024px) {
  .ev-originals__grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); height: 320px; }
  .ev-originals__right { grid-template-rows: 1fr 1fr; }
  .ev-originals__small, .ev-mosaic--horizontal { height: 100%; }
  .ev-mosaic--hero .ev-mosaic__media { aspect-ratio: auto; height: 100%; }
}

/* Watch Now: one compact horizontal media module, not a huge standalone video - a real identity/Follow/Signal/
   Share panel and a compact Up Next queue alongside it. */
.ev-watchnow__grid { display: grid; gap: var(--s4); margin-top: var(--s3); }
.ev-watchnow__media { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--ev-radius); overflow: hidden; background: var(--ev-surface-2); }
.ev-watchnow__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-watchnow__play { position: absolute; inset: 0; margin: auto; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: rgba(9,10,12,.7); color: var(--ev-text); }
.ev-watchnow__meta { display: grid; gap: 6px; align-content: center; }
.ev-watchnow__title { margin: 0; font-size: 15px; line-height: 1.3; }
.ev-watchnow__title a { color: var(--ev-text); }
.ev-watchnow__desc { margin: 0; color: var(--ev-text-2); font-size: 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-watchnow__identity { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.ev-watchnow__bar { display: flex; align-items: center; gap: var(--s3); }
.ev-watchnow__stat { display: inline-flex; align-items: center; gap: 4px; color: var(--ev-text-2); font-size: 13px; font-weight: 600; }
.ev-watchnow__stat svg { color: var(--ev-red); }
.ev-watchnow__share { min-height: 30px; padding: 0 var(--s3); font-size: 12px; }
.ev-watchnow__queue { border-top: 1px solid var(--ev-border); padding-top: var(--s3); }
.ev-watchnow__queue .ev-queue { gap: 6px; }
.ev-watchnow__queue .ev-queue__item { grid-template-columns: 84px 1fr; padding: 4px; }
@media (min-width: 1024px) {
  .ev-watchnow__grid { grid-template-columns: minmax(0, .9fr) minmax(0, .7fr) minmax(0, 1fr); align-items: stretch; height: 168px; }
  .ev-watchnow__media { aspect-ratio: auto; height: 100%; }
  .ev-watchnow__queue { border-top: none; padding-top: 0; height: 100%; overflow-y: auto; }
}

/* Rising on EV: the same weekly ranking as /charts, as a horizontal strip built for scanning and comparison. */
.ev-rising__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s3); margin: var(--s3) 0 0; padding: 0; list-style: none; }
@media (min-width: 640px) { .ev-rising__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .ev-rising__list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ev-rising__tile { position: relative; display: flex; align-items: center; gap: var(--s3); padding: var(--s3); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); }
.ev-rising__rank { flex: none; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ev-surface-2); font-size: 11px; font-weight: 700; color: var(--ev-text-2); }
.ev-rising__who { flex: 1; display: flex; align-items: center; gap: var(--s2); min-width: 0; color: var(--ev-text); }
.ev-rising__who:hover { text-decoration: none; }
.ev-rising__text { display: grid; gap: 1px; min-width: 0; }
.ev-rising__text strong { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-rising__net { color: var(--ev-success); font-size: 11px; font-weight: 600; }
.ev-rising__tile .ev-follow__btn, .ev-rising__tile .ev-btn { flex: none; min-height: 28px; padding: 0 var(--s2); font-size: 12px; }

.ev-feed__title { margin: var(--s5) 0 0; font-size: 18px; }

.ev-vgrid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s6) var(--s4); margin-top: var(--s4); }
.ev-vgrid__shelf { grid-column: 1 / -1; min-width: 0; }
@media (min-width: 560px) { .ev-vgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 900px) { .ev-vgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .ev-vgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ev-vcard { min-width: 0; }
.ev-vcard__media { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: var(--ev-radius); overflow: hidden; background: var(--ev-surface-2); }
.ev-vcard__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .25s; }
.ev-vcard:hover .ev-vcard__media img { transform: scale(1.03); }
.ev-vcard__play { position: absolute; right: var(--s2); bottom: var(--s2); display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(9,10,12,.8); color: var(--ev-text); opacity: 0; transition: opacity .15s; }
.ev-vcard:hover .ev-vcard__play, .ev-vcard:focus-within .ev-vcard__play { opacity: 1; }
.ev-vcard__body { display: flex; gap: var(--s3); margin-top: var(--s3); }
.ev-vcard__text { min-width: 0; }
.ev-vcard__title { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-vcard__title a { color: var(--ev-text); }
.ev-vcard__title a:hover { text-decoration: none; }
.ev-vcard__meta { margin: 2px 0 0; font-size: 13px; color: var(--ev-text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ev-vcard__artist:hover { text-decoration: underline; }
.ev-avatar--sm { flex: none; }

/* Compact video row: a line-item alternative to .ev-vcard's grid, for lists (Following's "Latest") where the video
   is one of several rather than the main event, so it does not need a full-width preview to be worth clicking. */
.ev-vidrows { display: grid; gap: var(--s1); }
.ev-vidrow { display: grid; grid-template-columns: 160px 1fr auto; align-items: center; gap: var(--s3); padding: var(--s2); border-radius: var(--ev-radius-sm); }
.ev-vidrow:hover { background: var(--ev-surface-1); }
.ev-vidrow__media { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; background: var(--ev-surface-2); }
.ev-vidrow__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-vidrow__play { position: absolute; right: var(--s2); bottom: var(--s2); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: rgba(9, 10, 12, .8); color: var(--ev-text); }
.ev-vidrow__text { min-width: 0; }
.ev-vidrow__title { margin: 0; font-size: 15px; font-weight: 600; line-height: 1.35; overflow-wrap: anywhere; }
.ev-vidrow__title a { color: var(--ev-text); }
.ev-vidrow__title a:hover { text-decoration: none; }
.ev-vidrow__artist { display: flex; align-items: center; gap: 6px; margin: var(--s1) 0 0; font-size: 13px; color: var(--ev-text-2); }
.ev-vidrow__artist a { color: inherit; }
.ev-vidrow__artist a:hover { color: var(--ev-text); }
.ev-vidrow__actions { flex: none; }
@media (max-width: 560px) {
  .ev-vidrow { grid-template-columns: 96px 1fr; }
  .ev-vidrow__actions { grid-column: 1 / -1; padding-left: calc(96px + var(--s3)); margin-top: -6px; }
}

.ev-shelf { padding: var(--s5) 0; border-top: 1px solid var(--ev-border); border-bottom: 1px solid var(--ev-border); }
.ev-shelf__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s4); margin-bottom: var(--s4); }
.ev-shelf__head h2 { margin: 0; font-size: 18px; display: flex; align-items: center; gap: var(--s2); }
.ev-shelf__head h2 .ev-icon { color: var(--ev-red); }
.ev-shelf__grid { display: grid; gap: var(--s4); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .ev-shelf__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .ev-shelf__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ev-shelf__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ev-mcard { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-mcard__who { display: flex; align-items: center; gap: var(--s3); color: var(--ev-text); }
.ev-mcard__who:hover { text-decoration: none; }
.ev-mcard__why { margin: 0; font-size: 14px; color: var(--ev-text-2); flex: 1; }
.ev-scroller__item--profile { flex-basis: 220px; }
.ev-feed__more { text-align: center; margin: var(--s6) 0; }

@media (prefers-reduced-motion: reduce) { .ev-vcard__media img, .ev-vcard__play { transition: none; } .ev-vcard:hover .ev-vcard__media img { transform: none; } }

/* ==== EV Originals lead row, matching explainer, slim welcome, upload form ===================== */
.ev-strip--welcome { padding: var(--s3) var(--s4); margin: var(--s3) 0 0; }
.ev-strip--welcome .ev-strip__title { font-size: 15px; }
.ev-strip__sub { display: none; color: var(--ev-text-2); font-weight: 400; margin-left: var(--s3); }
@media (min-width: 760px) { .ev-strip__sub { display: inline; } }

.ev-shelf--lead { border-top: 0; padding-top: var(--s2); padding-bottom: var(--s4); }
.ev-shelf--lead .ev-shelf__grid { display: flex; overflow-x: auto; gap: var(--s3); padding-bottom: var(--s2); scroll-snap-type: x proximity; scrollbar-width: thin; }
.ev-shelf--lead .ev-shelf__grid > * { flex: 0 0 78%; max-width: 340px; scroll-snap-align: start; }
@media (min-width: 700px) { .ev-shelf--lead .ev-shelf__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: visible; } .ev-shelf--lead .ev-shelf__grid > * { flex: none; max-width: none; } }
@media (min-width: 1100px) { .ev-shelf--lead .ev-shelf__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ev-shelf--explainer { padding: var(--s6) 0; }
.ev-how { display: grid; gap: var(--s6); align-items: center; grid-template-columns: 1fr; }
@media (min-width: 900px) { .ev-how { grid-template-columns: 1.4fr 1fr; } }
.ev-how__steps { display: grid; gap: var(--s4); margin: 0; padding: 0; list-style: none; }
.ev-how__steps li { display: flex; gap: var(--s4); align-items: flex-start; }
.ev-how__steps strong { display: block; font-size: 16px; }
.ev-how__steps li > span:last-child > span { display: block; margin-top: 2px; color: var(--ev-text-2); font-size: 14px; max-width: 58ch; }
.ev-how__n { flex: none; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ev-border); background: var(--ev-surface-2); font-weight: 700; font-size: 14px; }
.ev-how__tag { margin: 0 0 var(--s2); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-how__buttons { display: flex; gap: var(--s2); flex-wrap: wrap; }
.ev-how__buttons .ev-btn { min-height: 36px; pointer-events: none; }

.ev-upload { max-width: 760px; }
.ev-upload__form { display: grid; gap: var(--s5); }
.ev-center { text-align: center; }
.ev-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ==== Report ==================================================================== */
@media (max-width: 420px) { .ev-brand__word { font-size: 15px; } }

.ev-report { margin-top: var(--s5); border-top: 1px solid var(--ev-border); padding-top: var(--s4); }
.ev-report summary { cursor: pointer; color: var(--ev-text-2); font-size: 14px; font-weight: 600; }
.ev-report summary:hover { color: var(--ev-text); }
.ev-report__form { display: grid; gap: var(--s4); margin-top: var(--s4); max-width: 520px; }
.ev-report select, .ev-report textarea, .ev-report input[type="email"] { width: 100%; min-height: 44px; padding: 10px var(--s4); background: var(--ev-surface-2); color: var(--ev-text); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); font: inherit; font-size: 15px; }

/* ==== Watch: identity, one next step, EV editorial ============================================== */
.ev-watch__meta { padding-top: var(--s4); }
.ev-watch__title { font-size: clamp(1.25rem, 3.2vw, 1.75rem); line-height: 1.25; margin: 0 0 var(--s4); }
.ev-watch__identity { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3) var(--s5); }
.ev-watch__who { display: flex; align-items: center; gap: var(--s3); color: var(--ev-text); min-width: 0; }
.ev-watch__who:hover { text-decoration: none; }
.ev-watch__who strong { display: block; font-size: 16px; }
.ev-watch__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); margin: 0; }
.ev-watch__actions .ev-btn { min-height: 40px; }
.ev-btn--static { pointer-events: none; }
.ev-watch__why { margin: var(--s4) 0 0; padding: var(--s3) var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); font-size: 14px; }
.ev-watch__why-label { display: inline-flex; align-items: center; gap: var(--s2); margin-right: var(--s2); font-weight: 700; }
.ev-watch__why-label .ev-icon { color: var(--ev-red); }
.ev-watch__date { margin: var(--s4) 0 0; font-size: 13px; }
.ev-watch__about { margin: var(--s2) 0 0; color: var(--ev-text-2); font-size: 14px; max-width: 70ch; }

.ev-nextstep { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); margin-top: var(--s5); padding: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-nextstep__body { flex: 1 1 320px; min-width: 0; }
.ev-nextstep .ev-nextstep__private { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 var(--s3); padding: 4px 10px; border-radius: 999px; background: rgba(225,38,53,.12); border: 1px solid rgba(225,38,53,.35); color: var(--ev-red); font-size: 11px; font-weight: 700; }
.ev-nextstep .ev-nextstep__private svg { flex: none; width: 12px; height: 12px; color: var(--ev-red); }
.ev-nextstep h2 { margin: 0; font-size: 18px; }
.ev-nextstep p { margin: var(--s1) 0 0; color: var(--ev-text-2); font-size: 14px; max-width: 60ch; }
.ev-nextstep__close { position: absolute; top: var(--s3); right: var(--s3); display: grid; place-items: center; width: 26px; height: 26px; padding: 0; border-radius: 50%; background: var(--ev-surface-2); border: 1px solid var(--ev-border); color: var(--ev-text-2); cursor: pointer; }
.ev-nextstep__close:hover { color: var(--ev-text); background: var(--ev-surface-1); }
.ev-nextstep__close svg { width: 14px; height: 14px; }

/* Owner-only pitch + its EV-services offers read as one private card: a red-tinted border around the whole
   group, the offers list flush underneath as continuation rows rather than a second floating box. */
.ev-nextstep-group { margin-top: var(--s5); }
.ev-nextstep-group .ev-nextstep { margin-top: 0; padding-right: calc(var(--s5) + 34px); border-color: rgba(225,38,53,.35); border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: none; }
.ev-nextstep-group .ev-offers { margin-top: 0; gap: 0; border: 1px solid rgba(225,38,53,.35); border-top: none; border-bottom-left-radius: var(--ev-radius); border-bottom-right-radius: var(--ev-radius); overflow: hidden; }
.ev-nextstep-group.is-dismissed { display: none; }

.ev-offers { display: grid; gap: var(--s3); margin: var(--s3) 0 0; padding: 0; list-style: none; }
.ev-offer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s3); padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-nextstep-group .ev-offer { border: none; border-top: 1px solid var(--ev-border); border-radius: 0; background: var(--ev-surface-2); }
.ev-offer strong { display: block; }
.ev-offer__text { display: block; margin-top: 2px; color: var(--ev-text-2); font-size: 13px; max-width: 46ch; }
.ev-offer__buy { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s3); }
.ev-offer__price { font-weight: 700; }
.ev-offer .ev-btn { min-height: 36px; }

.ev-coverage { margin-top: var(--s6); }
.ev-coverage__grid { display: grid; gap: var(--s4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .ev-coverage__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.ev-watch__rail { display: grid; gap: var(--s6); align-content: start; }
.ev-rail__title { display: flex; align-items: center; gap: var(--s2); font-size: 16px; margin: 0 0 var(--s3); }
.ev-railmatches .ev-rail__title .ev-icon { color: var(--ev-red); }
.ev-request--stack { flex-direction: column; align-items: flex-start; gap: var(--s2); }
.ev-watch__more { margin-top: var(--s7); }

/* ==== Funnel rail: cards down the right side (below the content on smaller screens) ============= */
:root { --ev-wrap: 1360px; }
.ev-with-rail { display: block; }
.ev-with-rail__main { min-width: 0; }
.ev-funnel-rail { padding: var(--s6) var(--ev-gutter) var(--s7); }
.ev-funnel-rail__title { margin: 0 0 var(--s4); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-text-2); font-weight: 700; }
.ev-funnel-rail__list { display: grid; gap: var(--s3); margin: 0; padding: 0; list-style: none; grid-template-columns: 1fr; }
@media (min-width: 640px) and (max-width: 1279px) { .ev-funnel-rail__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ev-fcard { display: flex; gap: var(--s4); align-items: flex-start; height: 100%; padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); color: var(--ev-text); transition: border-color .15s, background .15s; }
.ev-fcard:hover { border-color: var(--ev-text-2); background: var(--ev-surface-2); text-decoration: none; }
.ev-fcard__icon { flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--ev-surface-2); color: var(--ev-text); }
.ev-fcard--join .ev-fcard__icon, .ev-fcard--matches .ev-fcard__icon { color: var(--ev-red); }
.ev-fcard__body { display: flex; flex-direction: column; gap: var(--s1); min-width: 0; }
.ev-fcard__body strong { font-size: 15px; line-height: 1.3; }
.ev-fcard__body > span:not(.ev-fcard__cta) { font-size: 13px; line-height: 1.5; color: var(--ev-text-2); }
.ev-fcard__cta { margin-top: var(--s1); font-size: 13px; font-weight: 700; }
.ev-fcard:hover .ev-fcard__cta { text-decoration: underline; }

@media (min-width: 1280px) {
  .ev-with-rail { display: grid; grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
  .ev-with-rail .ev-funnel-rail { position: sticky; top: calc(var(--ev-header-h) + var(--s4)); max-height: calc(100vh - var(--ev-header-h) - var(--s5)); overflow-y: auto; padding: var(--s5) var(--ev-gutter) var(--s5) 0; scrollbar-width: thin; }
  .ev-watch__rail .ev-funnel-rail { padding: 0; position: static; max-height: none; overflow: visible; }
}
.ev-watch__rail .ev-funnel-rail { padding: 0; }

/* Rail content cards: EV Originals (interview, video, Grind) mixed between the funnel cards */
.ev-ccard { display: block; overflow: hidden; background: var(--ev-canvas); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); color: var(--ev-text); transition: border-color .15s; }
.ev-ccard:hover { border-color: var(--ev-text-2); text-decoration: none; }
.ev-ccard__media { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--ev-surface-2); overflow: hidden; }
.ev-ccard__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-ccard__play { position: absolute; right: var(--s2); bottom: var(--s2); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(9,10,12,.8); color: var(--ev-text); }
.ev-ccard__body { display: flex; flex-direction: column; gap: var(--s1); padding: var(--s3) var(--s4) var(--s4); }
.ev-ccard__label { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-text-2); font-weight: 700; }
.ev-ccard--video .ev-ccard__label { color: var(--ev-red); }
.ev-ccard__body strong { font-size: 15px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ev-ccard__date { font-size: 12px; color: var(--ev-text-2); }

/* ==== Funnel rail v2: red signal theme, rail on every page from 1024px, fresh uploads at the end ==== */
/* Signal: a thin red border and a soft red glow on the funnel cards; the EV Originals content cards stay neutral. */
.ev-fcard { position: relative; border-color: rgba(225, 38, 53, .45); box-shadow: 0 0 0 1px rgba(225, 38, 53, .12), 0 10px 28px -14px rgba(225, 38, 53, .55); overflow: hidden; }
.ev-fcard::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--ev-red); }
.ev-fcard:hover { border-color: var(--ev-red); background: var(--ev-surface-2); box-shadow: 0 0 0 1px rgba(225, 38, 53, .35), 0 14px 34px -12px rgba(225, 38, 53, .75); }
.ev-fcard__icon { color: var(--ev-red); background: rgba(225, 38, 53, .12); }
.ev-fcard__cta { color: var(--ev-text); }
.ev-fcard__cta span { color: var(--ev-red); }

/* The rail sits on the right from 1024px, on every page that carries it (it used to wait until 1280px). */
@media (min-width: 1024px) and (max-width: 1279px) { .ev-with-rail { display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; } .ev-funnel-rail__list { grid-template-columns: 1fr; } }
@media (min-width: 1024px) {
  .ev-with-rail .ev-funnel-rail { position: sticky; top: calc(var(--ev-header-h) + var(--s4)); max-height: calc(100vh - var(--ev-header-h) - var(--s5)); overflow-y: auto; padding: var(--s5) var(--ev-gutter) var(--s5) 0; scrollbar-width: thin; }
}
.ev-with-rail .ev-funnel-rail::-webkit-scrollbar { width: 6px; }
.ev-with-rail .ev-funnel-rail::-webkit-scrollbar-thumb { background: var(--ev-border); border-radius: 3px; }

/* Just uploaded: the newest videos fill the end of the rail. */
.ev-rail-uploads { margin-top: var(--s5); padding-top: var(--s4); border-top: 1px solid var(--ev-border); }
.ev-rail-uploads__title { display: flex; align-items: center; gap: var(--s2); margin: 0 0 var(--s3); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-text-2); font-weight: 700; }
.ev-rail-uploads__list { display: grid; gap: var(--s2); margin: 0; padding: 0; list-style: none; }
.ev-mini { display: grid; grid-template-columns: 112px 1fr; gap: var(--s3); align-items: center; padding: var(--s1); border-radius: var(--ev-radius-sm); color: var(--ev-text); }
.ev-mini:hover { background: var(--ev-surface-1); text-decoration: none; }
.ev-mini__thumb { display: block; aspect-ratio: 16 / 9; background: var(--ev-surface-2); border-radius: 6px; overflow: hidden; }
.ev-mini__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-mini__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ev-mini__text strong { font-size: 13px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ev-mini__text span { font-size: 12px; color: var(--ev-text-2); }
@media (min-width: 640px) and (max-width: 1023px) { .ev-rail-uploads__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ==== The Signal ================================================================================ */
.ev-signal-btn__badge { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--ev-red); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.ev-bottomnav__link[href*="signal"] .ev-bottomnav__icon svg { color: var(--ev-red); }
@media (prefers-reduced-motion: no-preference) { .ev-signal-btn__badge { animation: ev-pulse 2.4s ease-in-out infinite; } }
@keyframes ev-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(225, 38, 53, .55); } 50% { box-shadow: 0 0 0 6px rgba(225, 38, 53, 0); } }

.ev-signal__head h1 { display: flex; align-items: center; gap: var(--s3); }
.ev-signal__head h1 .ev-icon { color: var(--ev-red); }
.ev-signal__back { margin: 0 0 var(--s4); }
.ev-signal__filter { margin: 0 0 var(--s4); color: var(--ev-text-2); }
.ev-chips--inline { position: static; margin: var(--s4) 0; padding: 0; background: none; backdrop-filter: none; }
.ev-signal__list, .ev-signal__thread { display: grid; gap: var(--s3); margin-top: var(--s3); }

/* Compact page intro: "The Signal" + one line, not a several-hundred-pixel hero. */
.ev-signal__head--compact { margin-bottom: 10px; }
.ev-signal__head--compact h1 { font-size: 26px; margin-bottom: 2px; }
.ev-signal__head--compact .ev-muted { margin: 0; font-size: 14px; }

/* Local Signal feed tabs get their own small red-pill active state, distinct from the neutral white active
   state other chip rows on the site use. */
.ev-chips--signal .ev-chip { min-height: 32px; font-size: 13px; }
.ev-chips--signal .ev-chip.is-current { background: var(--ev-red); color: #fff; }

/* Two-column Signal layout: dense feed + sticky contextual rail. Rail collapses above the feed on narrower
   screens rather than forcing horizontal scroll or a squeezed third column. */
.ev-signal-layout { display: grid; gap: 20px; align-items: start; }
.ev-signal-layout__main { min-width: 0; }
@media (min-width: 1100px) {
  .ev-signal-layout { grid-template-columns: minmax(0, 1fr) 360px; }
  .ev-signal-rail { position: sticky; top: calc(var(--ev-header-h) + var(--s4)); }
}

.ev-railcard { padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); margin-bottom: var(--s4); }
.ev-railcard__head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); margin-bottom: var(--s3); }
.ev-railcard__head h2 { display: flex; align-items: center; gap: var(--s2); margin: 0; font-size: 15px; }
.ev-railcard__head h2 .ev-icon { color: var(--ev-red); }
.ev-railcard__list { display: grid; gap: var(--s3); margin: 0; padding: 0; list-style: none; }
.ev-railcard__list--rank li { display: flex; align-items: center; gap: var(--s2); }
.ev-railcard__rank { flex: none; width: 18px; font-size: 12px; font-weight: 700; color: var(--ev-red); }
.ev-railcard__tag { flex: 1; min-width: 0; color: var(--ev-text); font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-railcard__tag:hover { color: var(--ev-red); text-decoration: none; }
.ev-railcard__count { flex: none; font-size: 12px; color: var(--ev-text-2); }
.ev-railcard__person { display: flex; align-items: center; gap: var(--s2); }
.ev-railcard__who { flex: 1; display: flex; align-items: center; gap: var(--s2); min-width: 0; color: var(--ev-text); }
.ev-railcard__who:hover { text-decoration: none; }
.ev-railcard__who span { min-width: 0; }
.ev-railcard__who strong { display: block; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-railcard__net { flex: none; display: inline-flex; align-items: center; gap: 3px; font-size: 12px; font-weight: 700; color: var(--ev-success); }
.ev-railcard__person .ev-btn, .ev-railcard__person .ev-follow__btn { flex: none; min-height: 28px; padding: 0 var(--s3); font-size: 12px; }
.ev-railcard__opp { display: flex; align-items: center; gap: var(--s3); }
.ev-railcard__oppmedia { flex: none; display: block; width: 48px; height: 48px; border-radius: var(--ev-radius-sm); overflow: hidden; background: var(--ev-surface-2); }
.ev-railcard__oppmedia img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-railcard__oppbody { display: grid; gap: 1px; min-width: 0; }
.ev-railcard__oppbody a { color: var(--ev-text); }
.ev-railcard__oppbody strong { font-size: 13px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* Compact composer: one line until the member interacts with it. */
.ev-composer2 { padding: var(--s3) var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); margin-bottom: var(--s4); }
.ev-composer2__row { display: flex; align-items: center; gap: var(--s3); }
.ev-composer2__row textarea { flex: 1; min-width: 0; resize: none; overflow: hidden; height: 40px; padding: 10px var(--s3); background: var(--ev-canvas); color: var(--ev-text); border: 1px solid var(--ev-border); border-radius: 999px; font: inherit; font-size: 15px; line-height: 1.3; }
.ev-composer2.is-open .ev-composer2__row textarea { border-radius: var(--ev-radius-sm); height: 84px; padding: var(--s3); }
.ev-composer2__row textarea:focus { outline: 2px solid var(--ev-red); outline-offset: 1px; }
.ev-composer2__expand { display: none; margin-top: var(--s3); }
.ev-composer2.is-open .ev-composer2__expand { display: block; }
.ev-composer2__bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); }
.ev-composer2__chip { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 0 var(--s3); border-radius: 999px; border: 1px solid var(--ev-border); background: none; color: var(--ev-text-2); font-size: 13px; cursor: pointer; }
.ev-composer2__chip:hover { color: var(--ev-text); border-color: var(--ev-text-2); }
.ev-composer2__hint { color: var(--ev-text-2); font-size: 12px; margin-right: auto; }
.ev-composer2__send { display: flex; align-items: center; gap: var(--s3); }

/* Denser Signal card: subtler border, tighter padding, overflow menu top-right instead of a permanent Delete
   link and a bottom "More" text link. */
.ev-sig { padding: var(--s3) var(--s4); border-radius: 12px; }
.ev-sig__headright { display: flex; align-items: center; gap: var(--s2); flex: none; }
.ev-sig__more { position: relative; margin-left: 0; }
.ev-sig__kebab { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; color: var(--ev-text-2); }
.ev-sig__kebab:hover { background: var(--ev-surface-2); color: var(--ev-text); }
.ev-sig__more .ev-sig__menu { top: calc(100% + 4px); bottom: auto; right: 0; }
.ev-sig__menuitem--danger { color: var(--ev-error); }
.ev-sig__actions { margin-top: var(--s2); }

.ev-composer { display: grid; gap: var(--s3); padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-composer textarea { width: 100%; min-height: 84px; padding: var(--s3); background: var(--ev-canvas); color: var(--ev-text); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); font: inherit; font-size: 16px; resize: vertical; }
.ev-composer textarea:focus { outline: 2px solid var(--ev-red); outline-offset: 1px; }
.ev-composer__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); flex-wrap: wrap; }
.ev-composer__hint { color: var(--ev-text-2); font-size: 13px; }
.ev-composer__send { display: flex; align-items: center; gap: var(--s3); }
.ev-composer__count { font-size: 13px; color: var(--ev-text-2); min-width: 2.5ch; text-align: right; }
.ev-composer__count.is-low { color: var(--ev-warning); }
.ev-composer__count.is-over { color: var(--ev-error); }
.ev-composer--locked { grid-template-columns: 1fr auto; align-items: center; }
.ev-composer--locked p { margin: 0; color: var(--ev-text-2); }

.ev-sig { padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); scroll-margin-top: calc(var(--ev-header-h) + var(--s5)); }
.ev-sig:target { border-color: var(--ev-red); }
.ev-sig--ev { border-left: 3px solid var(--ev-red); }
.ev-sig--reply { margin-left: var(--s5); background: var(--ev-canvas); }
.ev-sig__echoed { display: flex; align-items: center; gap: var(--s2); margin: 0 0 var(--s2); font-size: 13px; color: var(--ev-text-2); }
.ev-sig__echoed a { color: var(--ev-text-2); font-weight: 600; }
.ev-sig__head { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.ev-sig__who { display: flex; align-items: center; gap: var(--s3); color: var(--ev-text); min-width: 0; }
.ev-sig__who:hover { text-decoration: none; }
.ev-sig__who strong { display: block; }
.ev-sig__time { flex: none; font-size: 13px; color: var(--ev-text-2); }
.ev-sig__body { margin: var(--s2) 0 0; font-size: 15px; line-height: 1.5; overflow-wrap: anywhere; }
.ev-sig__body a { color: var(--ev-text); text-decoration: underline; text-decoration-color: var(--ev-border); text-underline-offset: 3px; }
.ev-sig__body a.ev-sig__tag { color: #7fb0ff; text-decoration: none; }
.ev-sig__body a:hover { text-decoration-color: var(--ev-red); }
.ev-sig__card { display: grid; grid-template-columns: 1fr; margin-top: var(--s3); background: var(--ev-canvas); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); overflow: hidden; color: var(--ev-text); }
.ev-sig__card:hover { border-color: var(--ev-text-2); text-decoration: none; }
.ev-sig__cardmedia { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--ev-surface-2); }
.ev-sig__cardmedia img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ev-sig__play { position: absolute; right: var(--s3); bottom: var(--s3); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(9, 10, 12, .82); }
.ev-sig__cardbody { display: flex; flex-direction: column; gap: 2px; padding: var(--s3) var(--s4); }
.ev-sig__cardlabel { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--ev-text-2); font-weight: 700; }
.ev-sig__cardbody strong { font-size: 15px; line-height: 1.35; }
/* A track shared to The Signal: click to load the provider's own player inline (SoundCloud, Spotify, Apple Music). No
   thumbnail is fetched at render time, so the button carries a label instead of a poster image. */
.ev-player--audio { aspect-ratio: auto; height: 120px; margin-top: var(--s3); }
.ev-player--audio .ev-player__button { display: flex; flex-direction: column; gap: var(--s2); background: var(--ev-surface-2); }
.ev-player--audio .ev-player__play { width: 52px; height: 52px; }
.ev-player--audio .ev-player__play::after { left: 20px; top: 14px; border-left-width: 16px; border-top-width: 11px; border-bottom-width: 11px; }
.ev-player__label { display: inline-flex; align-items: center; gap: var(--s2); font-size: 13px; font-weight: 600; color: var(--ev-text-2); }
.ev-sig__cardlink { margin: var(--s2) 0 0; font-size: 13px; }
.ev-sig__cardlink a { color: var(--ev-text-2); text-decoration: underline; text-decoration-color: var(--ev-border); text-underline-offset: 3px; }
.ev-sig__actions { display: flex; align-items: center; gap: var(--s2); margin-top: var(--s3); flex-wrap: wrap; }
.ev-sig__act { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 var(--s3); border-radius: 999px; border: 0; background: none; color: var(--ev-text-2); font: inherit; font-size: 13px; cursor: pointer; }
.ev-sig__act:hover { background: var(--ev-surface-2); color: var(--ev-text); text-decoration: none; }
.ev-sig__act.is-on { color: var(--ev-red); }
.ev-sig__act--static { cursor: default; }
.ev-sig__act--static:hover { background: none; color: var(--ev-text-2); }
@media (max-width: 560px) { .ev-sig--reply { margin-left: var(--s3); } .ev-composer--locked { grid-template-columns: 1fr; } }

/* Alerts (the bell) */
.ev-bell { position: relative; display: inline-grid; }
.ev-alerts { list-style: none; margin: 0 0 var(--s4); padding: 0; display: grid; gap: var(--s2); }
.ev-alert a { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); color: var(--ev-text); }
.ev-alert a:hover { background: var(--ev-surface-2); text-decoration: none; }
.ev-alert.is-unread a { border-color: rgba(225, 38, 53, .55); box-shadow: 0 0 14px -6px rgba(225, 38, 53, .7); }
.ev-alert__text { flex: 1; min-width: 0; display: grid; gap: 2px; }
.ev-alert__excerpt { color: var(--ev-text-2); font-size: .9em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-alert__time { color: var(--ev-text-2); font-size: .85em; white-space: nowrap; }

/* Mute / block menu and the muted list */
.ev-sig__more { position: relative; margin-left: auto; }
.ev-sig__more > summary { list-style: none; cursor: pointer; }
.ev-sig__more > summary::-webkit-details-marker { display: none; }
.ev-sig__menu { position: absolute; right: 0; bottom: calc(100% + 4px); z-index: 5; min-width: 200px; display: grid; padding: var(--s2); background: var(--ev-surface-2); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); box-shadow: 0 8px 24px rgba(0, 0, 0, .45); }
.ev-sig__menuitem { width: 100%; text-align: left; padding: var(--s2) var(--s3); background: none; border: 0; border-radius: 6px; color: var(--ev-text); font: inherit; cursor: pointer; }
.ev-sig__menuitem:hover { background: var(--ev-surface-1); }
.ev-alert__row { display: flex; align-items: center; gap: var(--s3); padding: var(--s3) var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }

/* Photos on signals */
.ev-composer__photo { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); margin: var(--s2) 0; }
.ev-composer__attach { display: inline-flex; align-items: center; gap: var(--s2); padding: var(--s2) var(--s3); border: 1px dashed var(--ev-border); border-radius: 999px; color: var(--ev-text-2); cursor: pointer; }
.ev-composer__attach:hover { color: var(--ev-text); border-color: var(--ev-text-2); }
.ev-composer__attach input[type="file"] { max-width: 220px; font-size: .85em; color: var(--ev-text-2); }
.ev-composer__alt { flex: 1 1 220px; min-width: 0; }
.ev-sig__photo { margin: var(--s3) 0 0; }
.ev-sig__photo img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: var(--ev-radius); border: 1px solid var(--ev-border); background: var(--ev-surface-2); }
.ev-composer__attach { position: relative; }
.ev-composer__attach input[type="file"] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; max-width: none; }
.ev-composer__attach:focus-within { outline: 2px solid var(--ev-red); outline-offset: 2px; }
.ev-composer__attach.has-file { color: var(--ev-text); border-style: solid; }
.ev-composer__attach span { max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* EV Verified: the mark beside a name (icon only; the label is for screen readers) and the request panel */
.ev-verified { display: inline-flex; vertical-align: -.16em; margin-left: 5px; color: var(--ev-success); line-height: 1; }
.ev-verified svg circle, .ev-badge--verified svg circle { fill: currentColor; stroke: none; }
.ev-verified svg path, .ev-badge--verified svg path { stroke: var(--ev-canvas); stroke-width: 2.2; }
.ev-verify { margin-top: var(--s5); }
.ev-verify__status { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); margin: 0 0 var(--s3); }
.ev-verify__team { margin: var(--s3) 0; padding: var(--s3) var(--s4); border-left: 3px solid var(--ev-warning); background: var(--ev-surface-2); border-radius: var(--ev-radius-sm); }
.ev-verify__code { display: inline-block; padding: 2px var(--s3); font: 600 1.05rem/1.6 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .06em; background: var(--ev-surface-2); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); user-select: all; }
.ev-verify__steps { margin: var(--s3) 0; padding-left: 1.2em; color: var(--ev-text-2); }
.ev-verify__steps li { margin: 0 0 var(--s2); }
.ev-verify__promise { margin: var(--s4) 0 0; font-size: 13px; color: var(--ev-text-2); }

/* Music votes (thumbs up / down on the Watch page) */
.ev-vote { display: inline-flex; align-items: stretch; border: 1px solid var(--ev-border); border-radius: 999px; overflow: hidden; background: var(--ev-surface-2); }
.ev-vote .ev-inline-form { display: contents; }
.ev-vote__btn { display: inline-flex; align-items: center; gap: var(--s2); min-height: 40px; padding: 0 var(--s4); color: var(--ev-text-2); background: transparent; border: 0; cursor: pointer; font: inherit; font-weight: 600; }
.ev-vote__btn:hover { color: var(--ev-text); background: rgba(255,255,255,.06); text-decoration: none; }
.ev-vote .ev-inline-form + .ev-inline-form .ev-vote__btn, .ev-vote > .ev-vote__btn + .ev-vote__btn { border-left: 1px solid var(--ev-border); }
.ev-vote__btn[data-dir="up"].is-on { color: var(--ev-success); background: rgba(66,184,131,.14); }
.ev-vote__btn[data-dir="down"].is-on { color: var(--ev-error); background: rgba(224,82,82,.14); }
.ev-vote__btn.is-static { cursor: not-allowed; opacity: .6; }
.ev-vote__btn:focus-visible { outline: 2px solid var(--ev-red); outline-offset: -2px; }

/* Rising Artists chart */
.ev-chart { padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-chart__title { display: flex; align-items: center; flex-wrap: wrap; gap: var(--s2); margin: 0; font-size: 1.125rem; }
.ev-chart__title .ev-icon { color: var(--ev-gold); }
.ev-chart__title .ev-icon--signal path { stroke-dasharray: 34; stroke-dashoffset: 34; animation: ev-navtrace 2.8s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) { .ev-chart__title .ev-icon--signal path { animation: none; stroke-dashoffset: 0; } }
.ev-chart__badge { padding: 1px var(--s2); border-radius: 6px; background: var(--ev-gold); color: var(--ev-canvas); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ev-chart__sub { margin: var(--s1) 0 var(--s3); font-size: 13px; color: var(--ev-text-2); }
.ev-chart__list { list-style: none; margin: 0; padding: 0; max-height: 420px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.ev-chart__row { display: grid; grid-template-columns: 26px 38px minmax(0, 1fr) auto; align-items: center; gap: var(--s2); padding: var(--s2) 0; border-top: 1px solid var(--ev-border); }
.ev-chart__row:first-child { border-top: 0; }
.ev-chart__rank { font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; color: var(--ev-text); }
.ev-chart__row:nth-child(-n+3) .ev-chart__rank { color: var(--ev-gold); }
.ev-chart__move { font-size: 11px; font-weight: 700; color: var(--ev-text-2); display: inline-flex; align-items: center; gap: 2px; }
.ev-chart__move--up { color: var(--ev-success); }
.ev-chart__move--down { color: var(--ev-error); }
.ev-chart__move--new { color: var(--ev-gold); letter-spacing: .04em; }
.ev-chart__who { display: flex; align-items: center; gap: var(--s2); min-width: 0; color: var(--ev-text); grid-column: 3; }
.ev-chart__who:hover { text-decoration: none; }
.ev-chart__who:hover strong { text-decoration: underline; }
.ev-chart__name { display: block; min-width: 0; line-height: 1.25; overflow: hidden; }
.ev-chart__name strong { font-size: 14px; overflow-wrap: anywhere; }
.ev-chart__name .ev-card__meta { display: block; font-size: 12px; }
.ev-chart__score { font-weight: 800; font-variant-numeric: tabular-nums; color: var(--ev-success); }
.ev-chart__more { margin: var(--s3) 0 0; font-size: 13px; }
.ev-chartpage .ev-chart__list { max-height: none; }
.ev-chartpage .ev-chart__row { grid-template-columns: 34px 52px minmax(0, 1fr) auto; padding: var(--s3) 0; }

/* Rising Artists in the homepage right pane (Latest/Trending/Staff Picks/Opportunities only - the "For You"
   view has its own visual Rising on EV section instead, see .ev-rising). */
.ev-home--split { display: block; }
.ev-home__aside { display: none; }
@media (min-width: 1320px) {
  .ev-home--split { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--s6); align-items: start; }
  .ev-home__col { min-width: 0; }
  .ev-home__aside { display: block; position: sticky; top: calc(var(--ev-header-h) + var(--s4)); margin-top: var(--s4); }
  .ev-home__aside .ev-chart__list { max-height: calc(100vh - 250px); }
}

/* Phones: a signed-in member's header (search, the headernav cluster, alerts, account) must fit 390px without
   sideways scroll. Upload and Dashboard are already the + and Me tabs in the bottom bar. */
@media (max-width: 480px) {
  .ev-header__actions { gap: 4px; }
  .ev-header__actions .ev-btn--upload { display: none; }
  .ev-header__actions .ev-icon-btn, .ev-header__actions .ev-account__menu { width: 48px; min-width: 48px; height: 48px; }
  .ev-header__actions .ev-account__summary { min-width: 48px; min-height: 48px; }
}

/* Sign in / join / password pages (EV's own; members never see WordPress's login) */
.ev-auth { padding-top: var(--s6); padding-bottom: var(--s8); }
.ev-auth__grid { display: grid; gap: var(--s6); max-width: 980px; margin: 0 auto; }
.ev-auth__pitch h1 { margin: var(--s2) 0 var(--s4); font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.1; }
.ev-auth__points { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--s3); color: var(--ev-text-2); }
.ev-auth__points li { padding-left: var(--s4); border-left: 3px solid var(--ev-red); }
.ev-auth__points strong { color: var(--ev-text); }
.ev-auth__card { width: 100%; max-width: 460px; }
.ev-auth__card h2 { margin: 0 0 var(--s4); font-size: 1.375rem; }
.ev-auth .ev-form { display: grid; gap: var(--s4); }
.ev-auth__links { margin: var(--s3) 0 0; font-size: 14px; color: var(--ev-text-2); }
.ev-auth__or { display: flex; align-items: center; gap: var(--s3); margin: var(--s4) 0; color: var(--ev-text-2); font-size: 13px; }
.ev-auth__or::before, .ev-auth__or::after { content: ""; flex: 1; height: 1px; background: var(--ev-border); }
.ev-check label { display: flex; align-items: flex-start; gap: var(--s2); font-weight: 400; font-size: 14px; }
.ev-check input[type="checkbox"] { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--ev-red); flex: none; }
.ev-password { display: flex; align-items: stretch; }
.ev-field .ev-password input { flex: 1; min-width: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.ev-password__toggle { padding: 0 var(--s4); border: 1px solid var(--ev-border); border-left: 0; border-radius: 0 var(--ev-radius-sm) var(--ev-radius-sm) 0; background: var(--ev-surface-2); color: var(--ev-text-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.ev-password__toggle:hover { color: var(--ev-text); }
.ev-field--password input[type="password"], .ev-field--password input[type="text"] { width: 100%; }
@media (min-width: 900px) {
  .ev-auth__grid { grid-template-columns: minmax(0, 1fr) 460px; align-items: center; gap: var(--s8); }
  .ev-auth__grid > .ev-auth__card:only-child { grid-column: 1 / -1; justify-self: center; }
}
.ev-notice--warn { border-left-color: var(--ev-warning); }

/* Interviews and long articles */
.ev-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); margin: var(--s2) 0 0; color: var(--ev-text-2); font-size: 14px; }
.ev-article__share { display: inline-flex; align-items: center; gap: var(--s2); margin-left: auto; padding: 6px var(--s3); border: 1px solid var(--ev-border); border-radius: 999px; background: transparent; color: var(--ev-text-2); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.ev-article__share:hover { color: var(--ev-text); border-color: var(--ev-text-2); }
.ev-article--interview .ev-article__head h1 { max-width: none; font-size: clamp(2rem, 5vw, 3.25rem); line-height: 1.05; letter-spacing: -.02em; }
.ev-prose > * + * { margin-top: var(--s4); }
.ev-prose h2 { margin-top: var(--s7); font-size: 1.5rem; }
.ev-prose h3 { margin-top: var(--s6); font-size: 1.2rem; }
.ev-prose ul, .ev-prose ol { padding-left: 1.3em; }
.ev-prose ul { list-style: disc; } .ev-prose ol { list-style: decimal; }
.ev-prose ul ul, .ev-prose ol ul { list-style: circle; }
/* A closing call-to-action for a legal/prose page: fits the 70ch reading column instead of the wide marketing band. */
.ev-legalcta { margin-top: var(--s8) !important; padding-top: var(--s7); border-top: 1px solid var(--ev-border); }
.ev-legalcta__title { margin: 0 0 var(--s3); font-size: clamp(1.5rem, 3.6vw, 2rem); font-weight: 700; line-height: 1.2; letter-spacing: -0.01em; color: var(--ev-text); }
.ev-legalcta .ev-actions { margin-top: var(--s5); }
.ev-legalcta__close { margin-top: var(--s5) !important; font-size: 14px; color: var(--ev-text-2); }
.ev-prose li + li { margin-top: var(--s2); }
.ev-prose hr { border: 0; border-top: 1px solid var(--ev-border); margin: var(--s6) 0; }
.ev-prose .ev-figure { margin: var(--s5) 0; } .ev-prose .ev-figure img { display: block; max-width: 100%; height: auto; }
.ev-prose .ev-table { overflow-x: auto; } .ev-prose .ev-table table { border-collapse: collapse; width: 100%; font-size: .95em; } .ev-prose .ev-table td, .ev-prose .ev-table th { padding: var(--s2) var(--s3); border: 1px solid var(--ev-border); text-align: left; vertical-align: top; }
.ev-interview > * + * { margin-top: 0; }
.ev-interview .ev-intro { margin: 0 0 var(--s6); padding: var(--s4) var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-left: 3px solid var(--ev-red); border-radius: var(--ev-radius); color: var(--ev-text-2); font-size: 1rem; line-height: 1.7; }
.ev-interview .ev-intro p { margin: 0 0 var(--s3); } .ev-interview .ev-intro p:last-child { margin: 0; }
.ev-interview .ev-q { margin: var(--s7) 0 var(--s3); padding-left: var(--s4); border-left: 3px solid var(--ev-red); font-size: 1.1875rem; line-height: 1.4; font-weight: 800; letter-spacing: -.005em; color: var(--ev-text); }
.ev-interview .ev-intro + .ev-q, .ev-interview > .ev-q:first-child { margin-top: var(--s5); }
.ev-interview .ev-a { margin: 0 0 var(--s4); }
.ev-interview .ev-a__who { display: block; margin-bottom: 2px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-interview .ev-a--cont { margin-top: calc(-1 * var(--s2)); }
.ev-embed { margin: var(--s5) 0; border-radius: var(--ev-radius-sm); overflow: hidden; background: var(--ev-surface-1); }
.ev-embed iframe { display: block; width: 100%; border: 0; }
.ev-embed--video { aspect-ratio: 16 / 9; } .ev-embed--video iframe { height: 100%; }
.ev-embed--audio iframe { min-height: 166px; }
.ev-more { margin-top: var(--s8); padding-top: var(--s6); border-top: 1px solid var(--ev-border); }
.ev-more h2 { margin: 0 0 var(--s4); font-size: 1.25rem; }

/* Safety net for OLD content anywhere on the site: whatever colours, fonts, widths and alignments were pasted into a post years ago
   must not break the layout or make text unreadable on the dark theme. New and cleaned content does not need any of this. */
.ev-prose [style*="color"], .ev-prose font { color: inherit !important; }
.ev-prose [style*="background"] { background: transparent !important; }
.ev-prose [style*="font-family"], .ev-prose [style*="font-size"], .ev-prose font { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.ev-prose [style*="width"], .ev-prose [width] { max-width: 100% !important; }
.ev-prose img, .ev-prose video, .ev-prose iframe, .ev-prose embed, .ev-prose object { max-width: 100% !important; height: auto; }
.ev-prose iframe[src*="youtube"], .ev-prose iframe[src*="vimeo"] { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; }
.ev-prose [style*="float"], .ev-prose .alignleft, .ev-prose .alignright { float: none !important; display: block; margin-inline: 0 !important; }
.ev-prose [style*="text-align"], .ev-prose center, .ev-prose [align] { text-align: left !important; }
.ev-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ev-prose td, .ev-prose th { border: 1px solid var(--ev-border); padding: var(--s2) var(--s3); }
.ev-prose pre, .ev-prose code { max-width: 100%; overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }
.ev-prose p:empty, .ev-prose div:empty { display: none; }
.ev-prose .wp-caption { max-width: 100% !important; } .ev-prose .wp-caption-text, .ev-prose figcaption { font-size: 13px; color: var(--ev-text-2); margin-top: var(--s2); }
.ev-prose a { overflow-wrap: anywhere; }

/* ---- Footer pages (About, Reach out, Privacy, Terms, DMCA): one frame, five flavors ---------------------------------- */
.ev-info { --info-accent: var(--ev-red); --info-gutter: max(var(--ev-gutter), calc((100% - var(--ev-wrap)) / 2 + var(--ev-gutter))); min-height: 60vh; padding-bottom: var(--s8); }
.ev-info--privacy { --info-accent: var(--ev-success); }
.ev-info--terms { --info-accent: var(--ev-text); }
.ev-info--dmca { --info-accent: var(--ev-warning); }
.ev-info--charts { --info-accent: var(--ev-gold); }
.ev-info .ev-eyebrow { color: var(--info-accent); }
.ev-info__tabs { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); padding-top: var(--s5); }
.ev-info__group { margin-right: var(--s2); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-info__tab { display: inline-flex; align-items: center; gap: var(--s2); min-height: 36px; padding: 0 var(--s4); border: 1px solid var(--ev-border); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ev-text-2); }
.ev-info__tab:hover { color: var(--ev-text); border-color: var(--ev-text-2); text-decoration: none; }
.ev-info__tab[aria-current="page"] { color: var(--ev-text); background: var(--ev-surface-2); border-color: var(--ev-text-2); }
.ev-info__head { display: flex; gap: var(--s5); align-items: flex-start; padding: var(--s7) 0 var(--s6); border-bottom: 1px solid var(--ev-border); }
.ev-info__badge { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: var(--ev-radius); background: var(--ev-surface-2); border: 1px solid var(--ev-border); color: var(--info-accent); }
.ev-info__lede { max-width: 62ch; font-size: 1.125rem; color: var(--ev-text-2); }
.ev-info__meta { display: flex; flex-wrap: wrap; gap: var(--s2) var(--s4); margin: 0; font-size: 14px; }
.ev-info__layout { display: grid; gap: var(--s6); padding-top: var(--s6); }
.ev-info__toc ol { display: grid; gap: 2px; }
.ev-info__toc a { display: flex; gap: var(--s3); padding: var(--s2) var(--s3); border-radius: var(--ev-radius-sm); font-size: 14px; color: var(--ev-text-2); }
.ev-info__toc a:hover { color: var(--ev-text); background: var(--ev-surface-1); text-decoration: none; }
.ev-info__no { font-variant-numeric: tabular-nums; color: var(--info-accent); }
.ev-info__body :where(h2)[id] { scroll-margin-top: calc(var(--ev-header-h) + var(--s4)); }
.ev-info__body .ev-sec, .ev-info__body .ev-ihero { scroll-margin-top: var(--ev-header-h); }

/* Long-form sections (About): full-bleed bands whose content stays on the page grid. */
.ev-info__body--free { padding-top: var(--s4); }
.ev-ihero, .ev-sec { padding: var(--s8) var(--info-gutter); }
.ev-ihero { position: relative; background: radial-gradient(60% 80% at 10% 0%, rgba(225,38,53,.14), transparent 70%); }
.ev-ihero__in { max-width: 880px; }
.ev-ihero h1 { font-size: clamp(2.25rem, 7vw, 4.25rem); line-height: 1.05; letter-spacing: -0.02em; margin-bottom: var(--s5); }
.ev-ihero__lede { max-width: 66ch; font-size: clamp(1.0625rem, 2.2vw, 1.25rem); line-height: 1.6; color: var(--ev-text-2); }
.ev-ihero__tag { margin: var(--s5) 0 0; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--info-accent); }
.ev-ihero__proof { display: flex; flex-wrap: wrap; gap: var(--s1) var(--s4); margin-top: var(--s6); padding-top: var(--s5); border-top: 1px solid var(--ev-border); font-size: 14px; color: var(--ev-text-2); }
.ev-actions { display: flex; flex-wrap: wrap; gap: var(--s3); margin: var(--s5) 0 0; }
.ev-sec h2 { font-size: clamp(1.625rem, 4vw, 2.5rem); letter-spacing: -0.015em; }
.ev-sec__head { max-width: 780px; margin-bottom: var(--s6); }
.ev-sec__head p:not(.ev-eyebrow), .ev-sec__prose p, .ev-sec__text p:not(.ev-eyebrow):not(.ev-actions), .ev-sec__aside p { font-size: 1.0625rem; line-height: 1.7; }
.ev-sec__prose { max-width: 70ch; }
.ev-sec--panel { background: var(--ev-surface-1); border-block: 1px solid var(--ev-border); }
.ev-sec--center { text-align: center; }
.ev-sec--center .ev-sec__head, .ev-sec--center .ev-sec__prose { margin-inline: auto; }
.ev-sec--split { display: grid; gap: var(--s6); align-items: center; }
.ev-sec--split .ev-sec__text { max-width: 66ch; }
.ev-pull { margin: 0; padding: var(--s2) 0 var(--s2) var(--s5); border-left: 3px solid var(--info-accent); font-size: clamp(1.5rem, 3.4vw, 2.375rem); line-height: 1.25; font-weight: 700; letter-spacing: -0.01em; }
.ev-pull p { margin: 0; font-size: inherit !important; line-height: inherit !important; }
.ev-pull--founder { max-width: 900px; margin-bottom: var(--s6); font-size: clamp(1.375rem, 3vw, 2rem); }
.ev-lead { max-width: 62ch; margin-top: var(--s6); font-size: clamp(1.125rem, 2.4vw, 1.375rem) !important; font-weight: 600; line-height: 1.5 !important; color: var(--ev-text); }
.ev-note { max-width: 70ch; margin: var(--s6) 0 var(--s5); padding: var(--s4) var(--s5); background: var(--ev-surface-2); border-left: 3px solid var(--info-accent); border-radius: var(--ev-radius-sm); }
.ev-sec__aside .ev-note { margin-top: 0; }

.ev-story { position: relative; display: grid; gap: var(--s6); max-width: 900px; }
.ev-story__item { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--s4) var(--s5); }
.ev-story__item::before { content: ""; position: absolute; left: 21px; top: 48px; bottom: calc(-1 * var(--s6) + 4px); width: 2px; background: var(--ev-border); }
.ev-story__item:last-child::before { display: none; }
.ev-story__n { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: var(--ev-surface-2); border: 1px solid var(--ev-border); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.ev-story__item--next .ev-story__n { border-color: var(--ev-red); color: var(--ev-red); }
.ev-story__item h3 { margin: var(--s2) 0 var(--s3); font-size: 1.375rem; }
.ev-story__item p { margin-bottom: var(--s3); color: var(--ev-text-2); max-width: 66ch; }

.ev-tiles { display: grid; gap: var(--s4); }
.ev-tile { display: flex; flex-direction: column; gap: var(--s2); padding: var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-sec--panel .ev-tile { background: var(--ev-canvas); }
.ev-tile h3 { margin: var(--s2) 0 0; display: flex; align-items: center; gap: var(--s2); flex-wrap: wrap; }
.ev-note__pill { padding: 2px var(--s2); border-radius: 999px; background: var(--ev-success); color: #06120c; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.ev-tile p { margin: 0; font-size: .96875rem; line-height: 1.6; color: var(--ev-text-2); }
.ev-tile__ico { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--ev-radius-sm); background: var(--ev-surface-2); border: 1px solid var(--ev-border); color: var(--info-accent); }
.ev-tile__cta { display: inline-flex; align-items: center; gap: var(--s2); margin-top: auto; padding-top: var(--s3); font-weight: 600; color: var(--ev-text); }
.ev-tile__cta .ev-icon { transition: transform .15s; }
.ev-tile__cta:hover .ev-icon { transform: translateX(3px); }

.ev-signals { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s3); }
.ev-signals li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s2); min-height: 120px; padding: var(--s4); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); font-size: 1.125rem; font-weight: 700; }
.ev-signals .ev-icon { width: 28px; height: 28px; color: var(--info-accent); }
.ev-duo { display: grid; gap: var(--s4); max-width: 1000px; }
.ev-duo > div { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s5); background: var(--ev-canvas); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-duo p { margin: 0; }
.ev-rules { display: grid; gap: var(--s3); margin: var(--s6) 0; max-width: 1000px; }
.ev-rules li { display: flex; align-items: center; gap: var(--s3); padding: var(--s4) var(--s5); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); font-weight: 700; }
.ev-rules .ev-icon { flex: none; color: var(--ev-success); }
.ev-nots { display: grid; max-width: 820px; margin-bottom: var(--s6); }
.ev-nots li { display: flex; align-items: flex-start; gap: var(--s3); padding: var(--s4) 0; border-bottom: 1px solid var(--ev-border); font-size: 1.125rem; font-weight: 600; }
.ev-nots .ev-icon { flex: none; margin-top: 3px; color: var(--ev-error); }
.ev-cta-band { width: calc(100% - 2 * var(--ev-gutter)); max-width: calc(var(--ev-wrap) - 2 * var(--ev-gutter)); margin: var(--s8) auto 0; padding: var(--s8) var(--s5); text-align: center; background: radial-gradient(70% 90% at 50% 0%, rgba(225,38,53,.16), transparent 70%), var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: 24px; }
.ev-cta-band h2 { font-size: clamp(1.875rem, 5vw, 3rem); }
.ev-cta-band p:not(.ev-eyebrow):not(.ev-actions):not(.ev-cta-band__close):not(.ev-cta-band__title) { max-width: 56ch; margin-inline: auto; font-size: 1.125rem; color: var(--ev-text-2); }
.ev-cta-band .ev-actions { justify-content: center; margin-top: var(--s6); }
.ev-cta-band__close { margin: var(--s6) 0 0; font-size: 14px; color: var(--ev-text-2); }

@media (min-width: 640px) {
  .ev-tiles--3, .ev-tiles--4, .ev-tiles--5 { grid-template-columns: repeat(2, 1fr); }
  .ev-duo { grid-template-columns: repeat(2, 1fr); }
  .ev-rules { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 900px) {
  .ev-info__layout { grid-template-columns: 240px minmax(0, 1fr); gap: var(--s8); }
  .ev-info__toc { position: sticky; top: calc(var(--ev-header-h) + var(--s5)); align-self: start; }
  .ev-sec--split { grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--s8); }
  .ev-tiles--3 { grid-template-columns: repeat(3, 1fr); }
  .ev-tiles--5 { grid-template-columns: repeat(6, 1fr); }
  .ev-tiles--5 .ev-tile { grid-column: span 2; }
  .ev-tiles--5 .ev-tile:nth-child(n+4) { grid-column: span 3; }
}
@media (min-width: 1100px) {
  .ev-tiles--4 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 639px) {
  .ev-info__head { flex-direction: column; gap: var(--s4); }
  .ev-ihero, .ev-sec { padding-block: var(--s7); }
  .ev-ihero .ev-btn, .ev-cta-band .ev-btn, .ev-sec .ev-actions .ev-btn { flex: 1 1 100%; }
  .ev-cta-band { padding-inline: var(--s4); }
}

/* ---- Help Center (on the info frame) ------------------------------------------------------------------------------ */
.ev-hsearch { position: relative; max-width: 640px; margin-top: var(--s6); }
.ev-hsearch .ev-icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: var(--ev-text-2); pointer-events: none; }
.ev-hsearch input { width: 100%; height: 56px; padding: 0 var(--s5) 0 52px; background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: 999px; color: var(--ev-text); font: 500 16px/1 var(--ev-font); appearance: none; -webkit-appearance: none; }
.ev-hsearch input::placeholder { color: var(--ev-text-2); }
.ev-hsearch input:focus { border-color: var(--ev-text-2); }
.ev-hsearch__status { min-height: 1.5em; margin: var(--s2) 0 0; font-size: 14px; color: var(--ev-text-2); }
.ev-hsearch__pop { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2) var(--s3); }
.ev-hsearch__pop > span { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-hsearch__pop ul { display: flex; flex-wrap: wrap; gap: var(--s2); }
.ev-hsearch__pop button { min-height: 34px; padding: 0 var(--s4); background: transparent; border: 1px solid var(--ev-border); border-radius: 999px; color: var(--ev-text); font: 500 14px/1 var(--ev-font); cursor: pointer; }
.ev-hsearch__pop button:hover { border-color: var(--ev-text-2); background: var(--ev-surface-1); }

.ev-info__body--wide { min-width: 0; }
.ev-info__toc ol { max-height: calc(100vh - var(--ev-header-h) - 7rem); overflow-y: auto; }
.ev-faqsec { margin-bottom: var(--s7); }
.ev-faqsec .ev-eyebrow { margin-bottom: var(--s2); }
.ev-faqsec h2 { margin-bottom: var(--s4); font-size: clamp(1.5rem, 3vw, 2rem); }
.ev-faqsec[hidden], .ev-faq[hidden] { display: none; }
.ev-faq { margin-bottom: var(--s2); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-faq[open] { border-color: var(--ev-text-2); }
.ev-faq summary { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s4); padding: var(--s4) var(--s5); border-radius: var(--ev-radius); font-weight: 600; cursor: pointer; list-style: none; }
.ev-faq summary::-webkit-details-marker { display: none; }
.ev-faq summary::after { content: ""; flex: none; width: 9px; height: 9px; margin-top: 7px; border-right: 2px solid var(--ev-text-2); border-bottom: 2px solid var(--ev-text-2); transform: rotate(45deg); transition: transform .15s; }
.ev-faq[open] summary::after { transform: rotate(-135deg); margin-top: 11px; }
.ev-faq summary:hover { background: var(--ev-surface-2); }
.ev-faq__a { max-width: 72ch; padding: 0 var(--s5) var(--s5); color: var(--ev-text-2); line-height: 1.7; }
.ev-faq__a p { margin-bottom: var(--s3); }
.ev-faq__a strong { color: var(--ev-text); }
.ev-faq__a a { color: var(--ev-text); text-decoration: underline; text-underline-offset: 3px; }
.ev-faq__a a.ev-btn { text-decoration: none; }
.ev-faq__a ul, .ev-checklist { display: grid; gap: var(--s2); margin: 0 0 var(--s3); }
.ev-faq__a li, .ev-checklist li { position: relative; padding-left: var(--s5); }
.ev-faq__a li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 6px; height: 6px; border-radius: 50%; background: var(--info-accent); }
.ev-checklist li::before { content: ""; position: absolute; left: 3px; top: .35em; width: 6px; height: 11px; border-right: 2px solid var(--ev-success); border-bottom: 2px solid var(--ev-success); transform: rotate(45deg); }
.ev-faqsec--contact .ev-lead { margin-top: 0; }
.ev-info__body--wide .ev-cta-band { width: 100%; max-width: none; margin: var(--s7) 0 0; }
.ev-cta-band__title { margin: 0 0 var(--s3); font-size: clamp(1.875rem, 5vw, 3rem); font-weight: 700; line-height: 1.15; letter-spacing: -0.01em; color: var(--ev-text); }
@media (min-width: 640px) {
  .ev-tiles--2 { grid-template-columns: repeat(2, 1fr); }
}

/* Phones: the contents list becomes a swipeable row of pills instead of a tall list. */
@media (max-width: 899px) {
  /* A grid/flex item defaults to min-width:auto, so it refuses to shrink below its content's natural (unwrapped) size — that
     silently expanded the whole page instead of letting this row scroll on its own. min-width:0 lets it actually clip. */
  .ev-info__layout, .ev-info__toc { min-width: 0; }
  .ev-info__toc ol { display: flex; gap: var(--s2); max-height: none; padding-bottom: var(--s2); overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; min-width: 0; }
  .ev-info__toc li { flex: none; }
  .ev-info__toc a { min-height: 36px; align-items: center; padding: 0 var(--s4); border: 1px solid var(--ev-border); border-radius: 999px; white-space: nowrap; }
  .ev-info__no { display: none; }
}

/* ---- Reach Out: route cards without the connecting timeline, and a plain data table for the wide (non-prose) layout ------ */
.ev-story--flat .ev-story__item::before { display: none; }
.ev-tablewrap { overflow-x: auto; margin: var(--s5) 0; border: 1px solid var(--ev-border); border-radius: var(--ev-radius); }
.ev-tablewrap table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: .9375rem; }
.ev-tablewrap th, .ev-tablewrap td { padding: var(--s3) var(--s4); text-align: left; vertical-align: top; border-bottom: 1px solid var(--ev-border); }
.ev-tablewrap th { background: var(--ev-surface-1); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ev-text-2); }
.ev-tablewrap tr:last-child td { border-bottom: 0; }
.ev-tablewrap td { color: var(--ev-text-2); }
.ev-tablewrap td strong { color: var(--ev-text); }
.ev-tablewrap a { color: var(--ev-text); text-decoration: underline; text-underline-offset: 3px; }
#form .ev-notice { max-width: 760px; }
/* Public profile and private dashboard, based on Randy's September 24 mockups.
   Scoped to these two views so editorial, checkout and profile editing keep their own layout. */
.ev-profile .ev-wrap,
.ev-dashboard-page { max-width: 1536px; }

.ev-profile__hero {
  isolation: isolate;
  overflow: hidden;
  min-height: 305px;
  background: radial-gradient(ellipse at 75% 0%, hsl(var(--hue, 0) 38% 18%), #161a1e 60%, #0b0d0f);
}
.ev-profile__cover { opacity: .67; background-position: center 38%; }
.ev-profile__cover::after {
  background: linear-gradient(90deg, rgba(9,10,12,.84) 0%, rgba(9,10,12,.32) 62%, rgba(9,10,12,.67) 100%),
              linear-gradient(0deg, #0c0e11, transparent 65%);
}
.ev-profile__id { min-height: 305px; justify-content: flex-end; padding-block: 38px 30px; }
.ev-profile__id > .ev-avatar { flex: none; box-shadow: 0 0 0 4px #16191d, 0 16px 36px rgba(0,0,0,.35); }
.ev-profile__head { min-width: 0; flex: 1 1 auto; text-shadow: 0 2px 12px rgba(0,0,0,.45); }
.ev-profile__head .ev-eyebrow { color: #e3e4e6; }
.ev-profile__name { font-size: clamp(2rem, 3.3vw, 3.25rem); }
.ev-profile__facts { color: #d4d5d7; }
.ev-profile__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; }
.ev-profile__actions .ev-inline-form { margin: 0; }
.ev-profile__actions .ev-btn { min-height: 38px; padding-inline: 17px; font-size: 13px; text-shadow: none; }
.ev-profile__actions .ev-follow__btn.ev-btn--primary,
.ev-profile__spotlight .ev-btn--primary { color: #fff; background: var(--ev-red); }
.ev-profile__actions .ev-follow__btn.ev-btn--primary:hover,
.ev-profile__spotlight .ev-btn--primary:hover { background: #fb394a; }
.ev-profile__spotlight {
  flex: 0 0 295px;
  display: grid;
  grid-template-columns: 82px minmax(0,1fr);
  align-content: center;
  gap: 4px 14px;
  padding: 16px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(14,17,21,.87);
  box-shadow: 0 14px 36px rgba(0,0,0,.28);
  backdrop-filter: blur(9px);
}
.ev-profile__spotlight .ev-eyebrow { grid-column: 1/-1; margin: 0 0 5px; }
.ev-profile__spotlight-art { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: #252930; }
.ev-profile__spotlight-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ev-profile__spotlight-info { min-width: 0; }
.ev-profile__spotlight-info h2 { font-size: 15px; line-height: 1.3; margin: 0 0 4px; overflow-wrap: anywhere; }
.ev-profile__spotlight-info p { font-size: 12px; margin: 0 0 8px; }
.ev-profile__spotlight-info .ev-btn { min-height: 31px; padding: 0 13px; font-size: 12px; }
.ev-profile .ev-subnav { background: rgba(15,17,20,.97); }
.ev-profile .ev-subnav__list { gap: clamp(16px, 2.5vw, 36px); }
.ev-profile .ev-subnav a { font-size: 13px; }
.ev-profile__body { padding-block: 23px 64px; }
.ev-profile__grid { gap: 18px; }
.ev-profile__main { display: grid; align-items: start; gap: 18px; }
.ev-profile__main > .ev-block,
.ev-profile__side > .ev-panel {
  margin: 0;
  padding: 21px;
  border: 1px solid #30353a;
  border-radius: 12px;
  background: linear-gradient(145deg, #171b1f, #111417);
  box-shadow: 0 12px 28px rgba(0,0,0,.1);
}
.ev-profile__main > .ev-block h2,
.ev-profile__side > .ev-panel h2 { font-size: 1.12rem; }
.ev-profile__main .ev-footprint { margin-top: 18px; padding: 15px; background: #20252a; }
.ev-profile__main .ev-grid--posts { gap: 14px; }
.ev-profile__side { gap: 18px; }
.ev-profile__side .ev-signal__list { max-height: 600px; overflow-y: auto; }
.ev-featured-release__grid { gap: 20px; }
.ev-featured-release__art { max-width: 164px; }
.ev-featured-release__grid h2 { font-size: 1.45rem; }

/* Account dashboard: compact summary cards and a continuous, responsive Signal Path. */
.ev-dashboard-page { padding-top: 24px; }
.ev-dashboard-page .ev-dash__head { margin-bottom: 18px; }
.ev-dashboard-page .ev-dash__head h1 { font-size: clamp(1.75rem, 2.7vw, 2.5rem); }
.ev-dashboard-page .ev-dashnav { margin-bottom: 22px; }
.ev-dashboard-page .ev-kpi-row { gap: 12px; margin-bottom: 20px; }
.ev-dashboard-page .ev-kpi {
  min-height: 128px; padding: 17px;
  border-color: #30353a;
  background: linear-gradient(145deg, #1a1f23, #111519);
}
.ev-dashboard-page .ev-kpi__value { font-size: clamp(1.5rem, 2.4vw, 2.15rem); }
.ev-dashboard-page .ev-kpi:first-child { border-top: 2px solid var(--ev-red); }
.ev-dashboard-page .ev-path {
  padding: 23px;
  border: 1px solid #343a40;
  border-radius: 13px;
  background: linear-gradient(130deg,#1b2024,#121619 65%);
}
.ev-path__intro { display: flex; justify-content: space-between; align-items: start; gap: 14px; margin-bottom: 18px; }
.ev-path__intro h2 { font-size: 1.5rem; margin-bottom: 5px; }
.ev-path__intro p { margin-bottom: 0; font-size: 13px; }
.ev-path__intro .ev-eyebrow { margin-bottom: 6px; color: #fc7481; }
.ev-path__intro .ev-link { white-space: nowrap; }
.ev-dashboard-page .ev-path__progress { margin-bottom: 15px; }
.ev-dashboard-page .ev-path__stages { gap: 7px; margin-bottom: 15px; }
.ev-dashboard-page .ev-path__stage { flex-basis: 130px; min-width: 0; background: transparent; border: 0; padding: 9px 5px 12px; }
.ev-dashboard-page .ev-path__stage.is-active { box-shadow: none; background: rgba(225,38,53,.07); }
.ev-dashboard-page .ev-path__node { width: 40px; height: 40px; }
.ev-dashboard-page .ev-path__stagelabel { font-size: 12px; margin-top: 9px; }
.ev-dashboard-page .ev-path__products { margin-top: 8px; }
.ev-dashboard-page .ev-path__goal {
  display: flex; flex-wrap: wrap; align-items: center; column-gap: 18px;
  padding: 18px; border: 1px solid #353b40; border-radius: 10px;
  background: rgba(8,10,12,.43);
}
.ev-dashboard-page .ev-path__goal > .ev-eyebrow { flex-basis: 100%; margin: 0 0 3px; color: #fc7481; }
.ev-dashboard-page .ev-path__goal h2 { flex-basis: 100%; font-size: 1.12rem; }
.ev-dashboard-page .ev-path__goal > .ev-muted { flex: 1 1 250px; margin: 0; font-size: 13px; }
.ev-dashboard-page .ev-path__goal > .ev-btn { margin: 0 0 0 auto; background: var(--ev-red); color: #fff; }
.ev-dashboard-page .ev-path__offer { flex-basis: 100%; }
.ev-dashboard-page .ev-dash__grid { gap: 13px; }
.ev-dashboard-page .ev-dash__grid > .ev-panel {
  min-width: 0; padding: 19px;
  border-color: #30353a;
  background: linear-gradient(145deg, #191d21, #121619);
}
.ev-dashboard-page .ev-dash__grid > .ev-panel h2 { font-size: 1.05rem; }
.ev-dashboard-page .ev-dash__grid .ev-muted { font-size: 13px; }
.ev-action-list { display: grid; gap: 8px; margin-bottom: 14px; }
.ev-action-list a {
  display: flex; align-items: center; gap: 10px; min-height: 52px;
  padding: 9px 11px; border: 1px solid #2b3136; border-radius: 9px;
  background: #20252a; font-size: 13px; font-weight: 650;
}
.ev-action-list a:hover { border-color: #686f75; text-decoration: none; }
.ev-action-list a span:nth-child(2) { flex: 1; }
.ev-action-list__mark { display: grid; place-items: center; width: 26px; height: 26px; flex: none; border-radius: 7px; color: #ff7882; background: #3f272c; }
.ev-panel__big-number { display: block; margin: 14px 0 9px; font-size: 2.25rem; line-height: 1; }
.ev-panel--matches .ev-link,
.ev-panel--opportunities .ev-link,
.ev-panel--recommendation .ev-link { color: #fb6b79; }
.ev-panel--recommendation h3 { font-size: 1.3rem; }
.ev-panel--footprint .ev-progress::-webkit-progress-value { background: var(--ev-red); }
.ev-panel--footprint .ev-progress::-moz-progress-bar { background: var(--ev-red); }

@media (min-width: 680px) {
  .ev-profile__main { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ev-profile__main > .ev-featured-release,
  .ev-profile__main > #ev-roster,
  .ev-profile__main > #ev-following,
  .ev-profile__main > #ev-videos,
  .ev-profile__main > #ev-music,
  .ev-profile__main > #ev-featured { grid-column: 1/-1; }
}
@media (min-width: 960px) {
  .ev-profile__grid { grid-template-columns: minmax(0, 2.25fr) minmax(280px, .9fr); }
  .ev-profile__side { position: static; }
  .ev-dashboard-page .ev-kpi-row { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ev-dashboard-page .ev-dash__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1250px) {
  .ev-dashboard-page .ev-kpi-row { grid-template-columns: repeat(5,minmax(0,1fr)); }
}
@media (min-width: 1500px) {
  .ev-dashboard-page .ev-dash__grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 1099px) {
  .ev-profile__spotlight { flex: 1 1 100%; max-width: 480px; }
  .ev-profile__id { flex-wrap: wrap; }
}
@media (max-width: 679px) {
  .ev-profile__id { align-items: flex-start; padding-top: 48px; }
  .ev-profile__spotlight { width: 100%; max-width: none; }
  .ev-profile__main > .ev-block, .ev-profile__side > .ev-panel { padding: 17px; }
  .ev-profile__main > .ev-featured-release .ev-featured-release__grid { grid-template-columns: 96px minmax(0,1fr); }
  .ev-featured-release__art { width: 96px; }
  .ev-path__intro { flex-direction: column; }
  .ev-dashboard-page .ev-path { padding: 17px; }
  .ev-dashboard-page .ev-path__stage { flex-basis: 116px; }
}
/* Following, Discover and Matches: three distinct music and network journeys. */
.ev-following-page, .ev-discover-page, .ev-matches { max-width: 1536px; }
.ev-following__hero, .ev-discover__hero {
  position: relative; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between;
  gap: 20px; overflow: hidden; margin: 22px 0; padding: clamp(25px, 4vw, 54px);
  border: 1px solid #343940; border-radius: 16px;
  background: radial-gradient(circle at 85% -20%, rgba(225,38,53,.25), transparent 40%),
              linear-gradient(130deg, #1e2328, #0f1215 72%);
}
.ev-following__hero::before, .ev-discover__hero::before {
  content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--ev-red);
}
.ev-following__hero > *, .ev-discover__hero > * { position: relative; }
.ev-following__hero h1, .ev-discover__hero h1 { margin-bottom: 8px; font-size: clamp(2.1rem,4vw,3.5rem); }
.ev-following__hero .ev-muted, .ev-discover__hero p { max-width: 58ch; margin: 0; color: #c2c6ca; }
.ev-following__hero .ev-eyebrow, .ev-discover__hero .ev-eyebrow { color: #f77480; }
.ev-following__section-head, .ev-discover__section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 16px; }
.ev-following__section-head h2, .ev-discover__section-head h2 { margin: 0; font-size: 1.25rem; }
.ev-following__section-head .ev-muted, .ev-discover__section-head .ev-muted { font-size: 13px; }
.ev-following__people { margin-bottom: 20px; padding: 20px; border: 1px solid var(--ev-border); border-radius: 13px; background: #15191d; }
.ev-following__people-list { display: flex; gap: 24px; overflow-x: auto; padding: 4px 4px 9px; scrollbar-width: thin; }
.ev-following__person { display: flex; flex: 0 0 87px; flex-direction: column; align-items: center; gap: 5px; min-width: 0; text-align: center; }
.ev-following__person .ev-avatar { box-shadow: 0 0 0 3px #24292e, 0 0 0 5px rgba(225,38,53,.65); }
.ev-following__person strong, .ev-following__person span:last-child { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-following__person strong { margin-top: 7px; font-size: 12px; }
.ev-following__person span:last-child { color: var(--ev-text-2); font-size: 11px; }
.ev-following__person:hover { text-decoration: none; }
.ev-following__tabs, .ev-discover__types { display: flex; gap: 8px; overflow-x: auto; margin: 0 0 18px; padding-bottom: 8px; white-space: nowrap; scrollbar-width: thin; }
.ev-following__tabs a, .ev-discover__type { display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border: 1px solid #353a40; border-radius: 99px; background: #1b2024; color: #c6c9cc; font-size: 13px; font-weight: 700; }
.ev-following__tabs a:hover, .ev-discover__type:hover { text-decoration: none; border-color: #747a80; }
.ev-following__tabs a[aria-current], .ev-discover__type.is-current { color: #fff; background: #9e202c; border-color: var(--ev-red); }
.ev-following__layout { display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 18px; }
.ev-following__main, .ev-following__side { min-width: 0; }
.ev-following__signals { display: grid; gap: 12px; }
.ev-following__signals > .ev-sig { background: linear-gradient(145deg,#1b2024,#121518); border-color: #323840; }
.ev-following__coverage { display: grid; gap: 14px; }
.ev-following__coverage-item { min-width: 0; padding: 12px; border: 1px solid #323840; border-radius: 12px; background: #161a1e; }
.ev-following__coverage-item .ev-card--post { border: 0; background: transparent; }
.ev-following__coverage-item .ev-feed__via { margin: 0 0 8px; color: #ff8a93; }
.ev-following__side { display: grid; gap: 15px; }
.ev-following__panel { min-width: 0; padding: 18px; border: 1px solid #333940; border-radius: 13px; background: linear-gradient(145deg,#1a1f23,#121619); }
.ev-following__panel h2 { font-size: 1.05rem; margin-bottom: 15px; }
.ev-following__suggestions, .ev-following__explore { display: grid; gap: 11px; }
.ev-following__suggestion { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 9px; padding-bottom: 11px; border-bottom: 1px solid #30353a; }
.ev-following__suggestion:last-child { border-bottom: 0; padding-bottom: 0; }
.ev-following__suggestion > a { display: flex; align-items: center; gap: 9px; min-width: 0; flex: 1 1 145px; }
.ev-following__suggestion > a span:last-child { min-width: 0; }
.ev-following__suggestion strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.ev-following__suggestion small { color: var(--ev-text-2); font-size: 11px; }
.ev-following__suggestion .ev-btn { min-height: 32px; padding: 0 12px; font-size: 11px; }
.ev-following__explore { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ev-following__explore .ev-vcard__body .ev-avatar { display: none; }

.ev-discover__hero { align-items: center; min-height: 245px; }
.ev-discover__hero > div { flex: 1 1 430px; }
.ev-discover__search { display: flex; flex: 1 1 310px; align-items: center; gap: 8px; max-width: 440px; margin: 0; }
.ev-discover__search .ev-search__input { flex: 1; min-width: 0; border-color: #4a5056; background: #101417; }
.ev-discover__search .ev-btn { border-radius: 10px; background: var(--ev-red); color: #fff; }
.ev-discover__facets { display: flex; align-items: end; gap: 11px; margin: 0 0 28px; padding: 16px; border: 1px solid #30363d; border-radius: 12px; background: #14181b; }
.ev-discover__facets .ev-facets__field { flex: 1 1 160px; }
.ev-discover__watch { margin-bottom: 32px; }
.ev-discover__section-head .ev-eyebrow { margin-bottom: 5px; color: #f77480; }
.ev-discover__videos, .ev-discover__grid { display: grid; grid-template-columns: 1fr; gap: 15px; }
.ev-discover__videos .ev-vcard { padding: 9px; border: 1px solid #30363c; border-radius: 12px; background: #171b1e; }
.ev-discover__videos .ev-vcard__body { padding: 0 4px 6px; }
.ev-discover__results { padding-bottom: 38px; }
.ev-discover-card { min-width: 0; overflow: hidden; border: 1px solid #333941; border-radius: 13px; background: #171b1f; transition: transform .15s, border-color .15s; }
.ev-discover-card:hover { transform: translateY(-3px); border-color: #777f87; }
.ev-discover-card__link { display: block; height: 100%; }
.ev-discover-card__link:hover { text-decoration: none; }
.ev-discover-card__visual { display: grid; place-items: center; min-height: 178px; background: radial-gradient(circle at center 30%,hsl(var(--hue) 38% 25%),#191d21 70%); }
.ev-discover-card__visual .ev-avatar { box-shadow: 0 10px 26px rgba(0,0,0,.3); }
.ev-discover-card__info { display: flex; flex-direction: column; gap: 5px; padding: 15px; }
.ev-discover-card__info .ev-eyebrow { margin: 0; color: #fe8791; }
.ev-discover-card__info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.08rem; }
.ev-discover-card__genre { color: var(--ev-text-2); font-size: 13px; }
.ev-discover-card__cta { margin-top: 7px; color: #f77480; font-size: 12px; font-weight: 700; }

.ev-matches { padding-top: 24px; }
.ev-matches__head { padding: 17px 20px; border: 1px solid #333941; border-radius: 12px; background: #171b1f; }
.ev-match { padding: clamp(20px,3vw,40px); border-color: #343a41; background: linear-gradient(145deg,#1b2024,#111417); }
.ev-match__pair { display: grid; grid-template-columns: minmax(0,1fr); align-items: stretch; gap: 9px; }
.ev-match__profile { display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 22px; border: 1px solid #30363d; border-radius: 12px; background: radial-gradient(circle at top,rgba(225,38,53,.12),#151a1e 65%); text-align: center; }
.ev-match__profile .ev-avatar { margin-bottom: 16px; }
.ev-match__profile .ev-eyebrow { color: #ff8490; }
.ev-match__profile h2, .ev-match__profile h3 { margin: 0 0 7px; font-size: clamp(1.25rem,2.2vw,1.9rem); overflow-wrap: anywhere; }
.ev-match__profile .ev-muted { margin: 0; font-size: 13px; }
.ev-match__bridge { display: grid; place-items: center; width: 48px; height: 48px; margin: -8px auto; border: 1px solid #dc5663; border-radius: 50%; background: #87242e; color: white; z-index: 1; }
.ev-match__details { margin-top: 18px; padding: 20px; border: 1px solid #333940; border-radius: 11px; background: #13181b; }
.ev-match__details .ev-reasons { display: flex; flex-wrap: wrap; gap: 8px; }
.ev-match__details .ev-reasons li { flex: 1 1 210px; padding: 11px 12px 11px 28px; border: 1px solid #343b40; border-radius: 8px; background: #1d2427; font-size: 13px; }
.ev-match__details .ev-reasons li::before { top: 19px; left: 10px; width: 9px; height: 9px; border-radius: 50%; background: var(--ev-success); }
.ev-match__actions { justify-content: flex-end; padding-top: 18px; border-top: 1px solid #353b40; }
.ev-match__actions .ev-btn { min-width: 104px; }
.ev-nextlist { grid-template-columns: 1fr; gap: 12px; }
.ev-nextlist__item { height: 100%; background: #181d21; }
.ev-nextlist__item:hover { border-color: #737a80; }

@media (min-width: 620px) {
  .ev-following__coverage, .ev-discover__videos, .ev-discover__grid, .ev-nextlist { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 960px) {
  .ev-following__layout { grid-template-columns: minmax(0,1fr) minmax(270px,330px); }
  .ev-discover__videos { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .ev-discover__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ev-match__pair { grid-template-columns: minmax(0,1fr) 48px minmax(0,1fr); }
  .ev-match__bridge { margin: auto -13px; }
  .ev-nextlist { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1290px) { .ev-discover__grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 619px) {
  .ev-following__hero, .ev-discover__hero { padding: 25px 20px; }
  .ev-discover__facets { gap: 10px; padding: 13px; }
  .ev-discover__search { max-width: none; }
  .ev-match__actions .ev-inline-form { flex: 1 1 110px; }
  .ev-match__actions .ev-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .ev-discover-card { transition: none; } }
/* Charts: ranking first, with real artist data and a compact rules rail. */
.ev-chartpage { max-width: 1536px; padding-bottom: 70px; }
.ev-chartpage__hero { display: grid; gap: 20px; align-items: stretch; margin: 22px 0 34px; }
.ev-chartpage__intro { position: relative; display: flex; flex-direction: column; justify-content: center; overflow: hidden; min-height: 320px; padding: clamp(25px,4vw,54px); border: 1px solid #343940; border-radius: 16px; background: radial-gradient(circle at 100% 0%,rgba(225,38,53,.22),transparent 45%),linear-gradient(130deg,#1e2328,#0f1215 72%); }
.ev-chartpage__intro::before { content: ''; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--ev-red); }
.ev-chartpage__intro .ev-eyebrow { color: #f77480; }
.ev-chartpage__intro .ev-live { animation: none; }
.ev-chartpage__intro h1 { max-width: 12ch; margin: 0 0 14px; font-size: clamp(2.25rem,4.4vw,4.4rem); line-height: 1.03; }
.ev-chartpage__intro > p:not(.ev-eyebrow) { max-width: 54ch; color: #c2c6ca; }
.ev-chartpage__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 8px; }
.ev-chartpage__actions .ev-btn { background: var(--ev-red); color: #fff; }
.ev-chartpage__actions .ev-btn:hover { background: #f03847; }
.ev-chartpage__textlink, .ev-chartpage__leader-foot a, .ev-chartpage__waiting a, .ev-chartpage__rules > a, .ev-chartpage__vote a, .ev-chartpage__future-note a { color: #ff858f; font-size: 14px; font-weight: 700; }
.ev-chartpage__leader, .ev-chartpage__waiting { display: flex; flex-direction: column; min-width: 0; padding: clamp(23px,3vw,34px); border: 1px solid #4a3538; border-radius: 16px; background: radial-gradient(circle at 84% 4%,rgba(225,38,53,.19),transparent 50%),#171b1f; }
.ev-chartpage__leader-top, .ev-chartpage__leader-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ev-chartpage__leader-top { color: #ff8992; font-size: 12px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.ev-chartpage__leader-rank { font-size: 20px; }
.ev-chartpage__leader-body { display: flex; align-items: center; gap: 23px; margin: auto 0; padding: 25px 0; min-width: 0; }
.ev-chartpage__leader-avatar { display: block; flex: none; border-radius: 50%; box-shadow: 0 0 0 5px #292d32,0 0 0 7px rgba(225,38,53,.5); }
.ev-chartpage__leader-avatar .ev-avatar { display: grid; }
.ev-chartpage__leader-info { min-width: 0; }
.ev-chartpage__leader-label { margin: 0 0 6px; color: #c5c9cc; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.ev-chartpage__leader-info h2 { display: flex; align-items: center; gap: 7px; margin: 0 0 5px; font-size: clamp(1.5rem,2.5vw,2.6rem); overflow-wrap: anywhere; }
.ev-chartpage__leader-meta { margin: 0; color: var(--ev-text-2); font-size: 14px; }
.ev-chartpage__leader-foot { padding-top: 16px; border-top: 1px solid #383d43; font-size: 12px; color: #b8bdc1; }
.ev-chartpage__leader-foot strong { color: #fff; font-size: 21px; font-variant-numeric: tabular-nums; }
.ev-chartpage__waiting { justify-content: center; }
.ev-chartpage__waiting-number { color: #ff8992; font-size: 14px; font-weight: 800; letter-spacing: .15em; }
.ev-chartpage__waiting h2 { margin: 16px 0 8px; font-size: clamp(1.45rem,2.4vw,2.25rem); }
.ev-chartpage__waiting p { color: var(--ev-text-2); }
.ev-chartpage__layout { display: grid; gap: 22px; align-items: start; scroll-margin-top: calc(var(--ev-header-h) + 24px); }
.ev-chartpage__ranking, .ev-chartpage__side { min-width: 0; }
.ev-chartpage__section-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.ev-chartpage__section-head .ev-eyebrow { margin: 0 0 4px; color: #ff8992; }
.ev-chartpage__section-head h2 { margin: 0; font-size: clamp(1.55rem,2.8vw,2.2rem); }
.ev-chartpage__count { color: var(--ev-text-2); font-size: 13px; }
.ev-chartpage .ev-chart { padding: 0; border: 1px solid #333941; border-radius: 14px; background: #15191d; overflow: hidden; }
.ev-chartpage .ev-chart__title { padding: 22px 22px 0; font-size: 1.15rem; }
.ev-chartpage .ev-chart__title .ev-icon { color: var(--ev-red); }
.ev-chartpage .ev-chart__badge { background: #3d252b; color: #ff8992; }
.ev-chartpage .ev-chart__sub { margin: 4px 22px 16px; }
.ev-chartpage .ev-chart__list { max-height: none; }
.ev-chartpage .ev-chart__row { grid-template-columns: 30px 48px minmax(0,1fr) auto; gap: 12px; padding: 12px 22px; border-top: 1px solid #30363b; }
.ev-chartpage .ev-chart__row:nth-child(-n+3) { background: #1c2226; }
.ev-chartpage .ev-chart__rank { color: #f4f4f2; }
.ev-chartpage .ev-chart__row:nth-child(-n+3) .ev-chart__rank { color: #ff8992; }
.ev-chartpage .ev-chart__score { color: #f5f5f3; }
.ev-chartpage .ev-chart__row:first-child { border-top: 1px solid #30363b; }
.ev-chartpage .ev-chart > .ev-muted { padding: 0 22px 22px; }
.ev-chartpage__rules { padding: 24px; border: 1px solid #333941; border-radius: 14px; background: #15191d; }
.ev-chartpage__rules .ev-eyebrow { color: #ff8992; }
.ev-chartpage__rules h2 { margin-bottom: 18px; font-size: 1.4rem; }
.ev-chartpage__rules ol { counter-reset: chart-rule; }
.ev-chartpage__rules li { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 12px; padding: 13px 0; border-top: 1px solid #30363b; }
.ev-chartpage__rules li::before { counter-increment: chart-rule; content: counter(chart-rule,decimal-leading-zero); color: #ff8992; font-size: 12px; font-weight: 800; }
.ev-chartpage__rules li strong, .ev-chartpage__rules li span { grid-column: 2; }
.ev-chartpage__rules li strong { font-size: 14px; }
.ev-chartpage__rules li span { margin-top: 2px; color: #b9bdc1; font-size: 13px; line-height: 1.5; }
.ev-chartpage__fineprint { padding-top: 15px; border-top: 1px solid #30363b; color: var(--ev-text-2); font-size: 12px; line-height: 1.65; }
.ev-chartpage__vote { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 14px; padding: 18px 22px; border: 1px solid #563039; border-radius: 12px; background: #2b1d22; }
.ev-chartpage__vote span:first-child { font-size: 14px; font-weight: 700; }
.ev-chartpage__future { margin-top: 50px; padding-top: 36px; border-top: 1px solid #333941; }
.ev-chartpage__future .ev-chartpage__section-head > p { max-width: 37ch; margin: 0; color: var(--ev-text-2); font-size: 14px; }
.ev-chartpage__families { display: grid; gap: 12px; }
.ev-chartpage__families li { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; align-items: start; gap: 12px; padding: 18px; border: 1px solid #343a40; border-radius: 12px; background: #15191d; }
.ev-chartpage__families li.is-live { border-color: #72414a; background: #211a1e; }
.ev-chartpage__family-index { color: #ff8992; font-size: 12px; font-weight: 800; }
.ev-chartpage__families h3 { margin: 0 0 4px; font-size: 15px; }
.ev-chartpage__families p { margin: 0; color: var(--ev-text-2); font-size: 12px; }
.ev-chartpage__status { padding: 3px 8px; border-radius: 99px; background: #252a2e; color: #b9bdc1; font-size: 10px; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.ev-chartpage__families .is-live .ev-chartpage__status { background: #6a2933; color: #fff; }
.ev-chartpage__future-note { margin: 17px 0 0; color: var(--ev-text-2); font-size: 13px; }
@media (min-width: 800px) { .ev-chartpage__hero { grid-template-columns: minmax(0,1.4fr) minmax(300px,1fr); } .ev-chartpage__layout { grid-template-columns: minmax(0,1.8fr) minmax(270px,.8fr); } .ev-chartpage__side { position: sticky; top: calc(var(--ev-header-h) + 18px); } .ev-chartpage__families { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 599px) { .ev-chartpage__hero { margin-top: 14px; } .ev-chartpage__intro { min-height: 0; } .ev-chartpage__leader-body { gap: 17px; } .ev-chartpage__leader-avatar .ev-avatar { --size: 80px; } .ev-chartpage .ev-chart__row { grid-template-columns: 26px 32px minmax(0,1fr) auto; gap: 7px; padding: 11px 12px; } .ev-chartpage .ev-chart__title { padding-inline: 13px; } .ev-chartpage .ev-chart__sub { margin-inline: 13px; } .ev-chartpage .ev-chart__name strong { font-size: 12px; } .ev-chartpage .ev-chart__name .ev-card__meta { font-size: 11px; } .ev-chartpage .ev-chart__score { font-size: 12px; } .ev-chartpage__families li { grid-template-columns: 23px minmax(0,1fr); } .ev-chartpage__families .ev-chartpage__status { grid-column: 2; justify-self: start; } }

/* Discover: an editorial artist shelf before videos; the full directory follows both. */
.ev-discover__claimables { margin: 0 0 36px; }
.ev-discover__claimables .ev-discover__section-head { margin-bottom: 16px; }
.ev-discover__more { display: flex; justify-content: center; padding-top: 20px; }
.ev-discover__more .ev-btn { min-width: 150px; }
@media (min-width: 1290px) {
  .ev-discover__claimables .ev-discover__grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}

/* Phone homepage and shared app navigation: keep the content inside the visual viewport. */
@media (max-width: 767px) {
  :root { --ev-header-h: 64px; }
  body.ev-theme { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
  .ev-header__bar--app { gap: 6px; }
  .ev-brand { flex: none; min-width: 0; }
  .ev-brand__img { height: 42px; max-width: 62px; object-fit: contain; }
  .ev-brand__word { max-width: 80px; white-space: normal; font-size: 13px; line-height: 1.05; }
  .ev-header__actions { flex: 1 1 auto; min-width: 0; justify-content: flex-end; gap: 2px; }
  .ev-headernav { padding: 0; gap: 0; border: 0; background: none; }
  .ev-headernav__item { min-width: 40px; padding: 8px; }
  .ev-headernav__label, .ev-headernav__item--dashboard,
  .ev-headernav__item--following, .ev-headernav__item--charts,
  .ev-headernav__item--matches { display: none; }
  .ev-header__actions .ev-icon-btn, .ev-header__actions .ev-account__menu,
  .ev-header__actions .ev-account__summary { width: 40px; min-width: 40px; height: 44px; min-height: 44px; }
  .ev-header__actions .ev-btn--upload { display: none; }
  .ev-home--video { min-width: 0; padding-top: 8px; padding-bottom: 24px; }
  .ev-home__col, .ev-watchnow__grid > *, .ev-rising__tile { min-width: 0; }
  .ev-shelf__head { align-items: center; flex-wrap: wrap; }
  .ev-watchnow__identity { flex-wrap: wrap; }
  .ev-signalbar__progress .ev-strip__next { flex: 1 1 100%; white-space: normal; }
}
@media (max-width: 560px) {
  .ev-originals__small, .ev-rising__list { grid-template-columns: minmax(0, 1fr); }
  .ev-mosaic--small .ev-mosaic__media { aspect-ratio: 16 / 9; }
  .ev-rising__tile { min-height: 64px; }
}
@media (max-width: 359px) {
  .ev-brand__img { height: 36px; max-width: 44px; }
  .ev-header__bar--app { padding-inline: 10px; }
  .ev-headernav__item { min-width: 36px; padding: 6px; }
}
@media (max-width: 1023px) {
  body.home .ev-bottomnav { display: flex; }
}

.ev-profile__frequency{display:flex;align-items:center;gap:10px;max-width:320px;margin:12px 0;color:#fff;text-decoration:none;font-size:.78rem;font-weight:700}.ev-profile__frequency-track{height:6px;flex:1;border-radius:99px;background:#424249;overflow:hidden}.ev-profile__frequency-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9e2037,#f34c62)}.ev-profile__frequency strong{font-variant-numeric:tabular-nums}.ev-profile__frequency small{font-weight:400;color:#a1a1a8}

.ev-profile__frequency-boost{font-size:.7rem;font-style:normal;color:#ffa9b4;font-weight:800;white-space:normal}

/* Discover is a compact directory lead, with the people and filters in view sooner. */
.ev-discover__hero{min-height:0;margin:14px 0 16px;padding:18px 22px;gap:12px 22px}
.ev-discover__hero>div{flex:1 1 390px}
.ev-discover__hero h1{font-size:clamp(1.5rem,2.7vw,2.3rem);margin:4px 0}
.ev-discover__hero p{font-size:.86rem;line-height:1.4}
.ev-discover__hero .ev-eyebrow{font-size:.68rem}
.ev-discover__search{flex:1 1 300px;max-width:430px}
@media(max-width:650px){.ev-discover__hero{padding:15px 18px;gap:12px}.ev-discover__search{flex-basis:100%;max-width:none}}


.ev-profile__frequency{--movement:#9da2aa;display:flex;flex-wrap:wrap;max-width:390px;gap:10px}.ev-profile__frequency.is-up{--movement:#32cd83}.ev-profile__frequency.is-down{--movement:#f25e68}.ev-profile__frequency-ring{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:radial-gradient(closest-side,#17191d 77%,transparent 80%),conic-gradient(var(--movement) var(--level),#424249 0)}.ev-profile__frequency-ring strong{font-size:.8rem}.ev-profile__frequency-movement{color:var(--movement);font-weight:800;font-variant-numeric:tabular-nums}.ev-profile__frequency-boost{flex-basis:100%}.ev-profile__frequency-rank{color:var(--movement);font-weight:700;font-size:.72rem}


.home .ev-headernav__item--charts{color:#32cd83}.home .ev-headernav__item--charts:hover{background:rgba(50,205,131,.14)}

/* Signal waveform travels left to right in the top navigation. */
.ev-headernav__item--signal .ev-icon path{stroke-dasharray:40;animation:ev-signal-trace 2.8s ease-in-out infinite;filter:drop-shadow(0 0 2px #f24b5e)}
@keyframes ev-signal-trace{0%{stroke-dashoffset:40;opacity:.55}45%{stroke-dashoffset:0;opacity:1}70%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-40;opacity:.5}}
@media(prefers-reduced-motion:reduce){.ev-headernav__item--signal .ev-icon path{animation:none;stroke-dasharray:none;filter:none}}

/* Guided tour overlay: a corner card, never a modal, so it can never block uploading, posting or anything else. */
.ev-account__list-btn { display: block; width: 100%; padding: var(--s3); background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 6px; }
.ev-account__list-btn:hover { background: var(--ev-surface-1); }
.ev-tour { position: fixed; left: var(--s4); right: var(--s4); bottom: calc(56px + env(safe-area-inset-bottom) + var(--s3)); z-index: 90; max-width: 360px; margin: 0 auto; padding: var(--s5); background: var(--ev-surface-2); border: 1px solid var(--ev-border); border-radius: var(--ev-radius); box-shadow: 0 20px 50px rgba(0,0,0,.45); }
.ev-tour__eyebrow { margin: 0 0 var(--s2); color: var(--ev-red); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ev-tour h2 { font-size: 1.05rem; margin-bottom: var(--s2); }
.ev-tour__body { font-size: .92rem; color: var(--ev-text-2); margin-bottom: var(--s4); }
.ev-tour__actions { display: flex; align-items: center; justify-content: space-between; gap: var(--s3); }
.ev-tour__skip { padding-left: 0; padding-right: 0; border-color: transparent; }
@media (min-width: 1024px) {
  .ev-tour { left: auto; right: var(--s6); bottom: var(--s6); }
}
.ev-tour-highlight { outline: 2px solid var(--ev-red); outline-offset: 6px; border-radius: var(--ev-radius-sm); animation: ev-tour-pulse 1.6s ease-in-out 3; }
@keyframes ev-tour-pulse { 50% { outline-color: transparent; } }
@media (prefers-reduced-motion: reduce) { .ev-tour-highlight { animation: none; } }

/* Roster (Phase 1) */
.ev-roster__search { display: flex; gap: var(--s3); margin-bottom: var(--s4); max-width: 480px; }
.ev-roster__search input[type="search"] { flex: 1 1 auto; padding: var(--s3); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); color: var(--ev-text); }
.ev-roster__inline { display: flex; align-items: center; gap: var(--s2); }
.ev-roster__inline select { padding: var(--s2) var(--s3); background: var(--ev-surface-1); border: 1px solid var(--ev-border); border-radius: var(--ev-radius-sm); color: var(--ev-text); }
.ev-roster__create { margin-top: var(--s4); }
.ev-roster__create summary { cursor: pointer; color: var(--ev-text-2); font-weight: 700; padding: var(--s2) 0; }
.ev-roster__create form { margin-top: var(--s3); }
.ev-badge--unclaimed { color: var(--ev-warning); border-color: rgba(224,168,62,.5); margin-left: var(--s2); }
.ev-roster__former .ev-request { opacity: .6; }
