/* Event page (one event, larger presence). Sits on page.css: reuses .ev-mono,
   .ev-form, .ev-card, .ev-close, .dveil. Everything here is prefixed .evd-.
   Motion: one settle in the hero, then Pattern A reveals. Nothing loops. */

.evd-page { --evd-ease: cubic-bezier(0.32, 0.72, 0, 1); --evd-rail: 9rem; }
.evd-page .ltv2-display { text-wrap: balance; }
.evd-dot { display: inline-block; width: var(--v2-dot-size); height: var(--v2-dot-size); border-radius: var(--v2-radius-full); background: var(--v2-mauve); vertical-align: middle; margin: 0 var(--v2-space-8); }

/* Hero ------------------------------------------------------------------- */

/* Entrance: copy rises after the image settles. */
.evd-stagger { opacity: 0; transform: translateY(14px); animation: evd-rise 1100ms var(--evd-ease) calc(120ms + var(--i, 0) * 110ms) forwards; }
@keyframes evd-rise { to { opacity: 1; transform: none; } }

/* Intro ------------------------------------------------------------------ */

/* The day -------------------------------------------------------------- */
.evd-slot__body { min-width: 0; }
.evd-slot__kind { margin: 0 0 var(--v2-space-24); color: var(--v2-text-secondary); text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); }
.evd-slot__kind span { margin: 0 0.5em; color: var(--v2-dusk); }
.evd-slot__title { max-width: 24ch; margin: 0 0 var(--v2-space-48); }
.evd-slot__cta { margin-top: var(--v2-space-48); }
.evd-slot__cta span, .evd-dinner__cta span, .evd-more__all span { display: inline-block; transition: transform 320ms var(--v2-ease-out); }
.evd-slot__cta:hover span, .evd-dinner__cta:hover span, .evd-more__all:hover span { transform: translateX(4px); }

/* Speakers: one ruled row each. */

/* Hero, Partners layout */
.evd-hero { padding: var(--v2-space-40) 0 var(--v2-space-64); overflow: clip; }
.evd-hero__in { display: grid; row-gap: var(--v2-space-40); }
.evd-hero__head { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: var(--v2-space-24); align-items: start; padding: 0 var(--v2-grid-gutter); }
.evd-back { grid-column: 1; color: var(--v2-text-secondary); text-decoration: none; text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); }
.evd-back:hover { color: var(--v2-text-primary); }
.evd-back span { display: inline-block; margin-right: 0.5em; transition: transform 320ms var(--v2-ease-out); }
.evd-back:hover span { transform: translateX(-4px); }
.evd-hero__host { grid-column: 2; grid-row: 2; justify-self: end; align-self: start; margin-top: calc(var(--v2-space-16) + 0.12em); height: 52px; width: auto; }
.evd-hero__title { grid-column: 1; margin: var(--v2-space-16) 0 0; max-width: 30ch; }
.evd-hero__support { grid-column: 1; margin: 0; max-width: 60ch; color: var(--v2-text-secondary); font-size: var(--v2-p1); line-height: var(--v2-leading-body); }
.evd-split { --evd-rule: rgba(19, 18, 21, 0.12); position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--v2-grid-gutter); border-bottom: 1px solid var(--evd-rule); }
/* Field lines as on Partners: the rule above the split runs the full viewport,
   and hairlines rise from the plate's two edges to the nav. */
.evd-split::before { content: ""; position: absolute; top: 0; left: 50%; width: 100vw; border-top: 1px solid var(--evd-rule); transform: translateX(-50%); pointer-events: none; }
.evd-split::after { content: ""; position: absolute; left: 0; top: -100vh; bottom: 0; width: 1px; background: var(--evd-rule); pointer-events: none; }
.evd-split__visual::after { content: ""; position: absolute; right: -1px; bottom: 100%; width: 1px; height: 100vh; background: var(--evd-rule); }
.evd-split__visual { position: relative; grid-column: span 4; margin: 0; aspect-ratio: 21 / 9; min-width: 0; overflow: hidden; background: var(--v2-onyx); }
.evd-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; transform: scale(1.05); animation: evd-settle 2800ms var(--evd-ease) 200ms forwards; }
@keyframes evd-settle { to { transform: none; } }
.evd-split__side { grid-column: span 2; display: flex; flex-direction: column; padding: var(--v2-space-32) 0 var(--v2-space-32) var(--v2-space-8); min-width: 0; }
.evd-split__eyebrow { margin: 0; }
.evd-split__day { margin: var(--v2-space-16) 0 var(--v2-space-8); color: var(--v2-text-secondary); text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); }
.evd-hero__agenda { list-style: none; margin: 0; padding: 0; border-top: var(--v2-rule); }
.evd-hero__agenda li { border-bottom: var(--v2-rule); }
.evd-hero__agenda a { display: grid; grid-template-columns: 4.5rem 1fr auto; align-items: baseline; gap: var(--v2-space-12); padding: var(--v2-space-16) 0; color: inherit; text-decoration: none; }
.evd-hero__agenda a::after { content: "\2192"; color: var(--v2-text-secondary); transition: transform 320ms var(--v2-ease-out), color 320ms; }
.evd-hero__agenda a:hover::after { transform: translateX(4px); color: var(--v2-text-primary); }
.evd-hero__time { font-size: var(--v2-mono-l1); color: var(--v2-text-primary); }
.evd-hero__time small, .evd-slot__time small { font-size: 0.7em; margin-left: 0.15em; }
.evd-hero__what { font-size: var(--v2-p2); color: var(--v2-text-secondary); }
.evd-split__cta { margin-top: auto; align-self: start; }
.evd-split__cta, .evd-makers .evd-slot__cta { background: var(--v2-slate-blue); color: var(--v2-off-white); border-color: var(--v2-slate-blue); }
.evd-split__cta:hover, .evd-makers .evd-slot__cta:hover { background: var(--v2-amethyst, #3D2B60); border-color: var(--v2-amethyst, #3D2B60); }
.evd-split__cta span { display: inline-block; transition: transform 320ms var(--v2-ease-out); }
.evd-split__cta:hover span { transform: translateX(4px); }

/* Stage session: dark plate in the Partners "Change Makers" register */
.evd-makers { padding: var(--v2-space-96) 0 var(--v2-space-128); scroll-margin-top: var(--v2-nav-height, 72px); }
.evd-makers__head { display: grid; gap: var(--v2-space-24); }
.evd-makers__head .ltv2-annotation { margin: 0; }
.evd-makers__title { margin: 0; max-width: 26ch; text-wrap: balance; }
.evd-makers__dek { margin: 0; max-width: 52ch; color: var(--v2-dusk); font-size: var(--v2-p1); line-height: var(--v2-leading-body); }
.evd-makers__dek em { font-style: normal; color: var(--v2-off-white); }
.evd-session { display: flex; flex-wrap: wrap; align-items: center; gap: var(--v2-space-16) var(--v2-space-32); margin-top: var(--v2-space-8); }
.evd-session__when { margin: 0; font-size: var(--v2-p1); text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); color: var(--v2-off-white); }
.evd-session__when span[aria-hidden] { color: var(--v2-haze); margin: 0 0.25em; }
.evd-nowrap { white-space: nowrap; }
.evd-session__cal { display: flex; flex-wrap: wrap; align-items: center; gap: var(--v2-space-16); }
.evd-session__ics { color: var(--v2-dusk); text-decoration: none; text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); border-bottom: 1px solid var(--v2-border-on-dark); }
.evd-session__ics:hover { color: var(--v2-off-white); }
.evd-speakers { list-style: none; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: var(--v2-grid-gutter); row-gap: var(--v2-space-40); margin: var(--v2-space-64) 0 0; padding: var(--v2-space-40) 0 0; border-top: 1px solid var(--v2-border-on-dark); }
.evd-speaker { min-width: 0; }
.evd-speaker p { margin: 0; color: var(--v2-off-white); }
.evd-speaker__photo { position: relative; margin: 0 0 var(--v2-space-16); aspect-ratio: 4 / 5; overflow: hidden; background: var(--v2-shadow); }
.evd-speaker__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; filter: grayscale(1); transition: filter 600ms var(--v2-ease-out), transform 900ms var(--v2-ease-out); }
.evd-speaker:hover .evd-speaker__photo img { filter: none; transform: scale(1.03); }
.evd-speaker__role { font-size: var(--v2-mono-l2); text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); color: var(--v2-dusk); margin-bottom: var(--v2-space-8) !important; }
.evd-speaker--latent .evd-speaker__role { color: var(--v2-mauve); }
.evd-speaker__name { font-family: var(--v2-font-display); font-size: var(--v2-p1); letter-spacing: var(--v2-tracking-display); }
.evd-speaker__title, .evd-speaker__org { font-size: var(--v2-p2); line-height: var(--v2-leading-body); }
.evd-speaker__title { margin-top: var(--v2-space-4) !important; }
.evd-makers__foot { margin-top: var(--v2-space-48); }
.evd-makers .evd-slot__cta { margin: 0; }

/* Hosted dinner */
.evd-day { padding: var(--v2-space-96) 0 var(--v2-space-128); }
.evd-slot { scroll-margin-top: var(--v2-nav-height, 72px); }

.evd-people { list-style: none; margin: 0; padding: 0; max-width: 760px; border-top: var(--v2-rule); }
.evd-person { display: grid; grid-template-columns: 7rem minmax(0, 1fr) minmax(0, 1fr); gap: var(--v2-space-16); align-items: baseline; padding: var(--v2-space-16) 0; border-bottom: var(--v2-rule); }
.evd-person__role { color: var(--v2-text-secondary); text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); }
.evd-person__name { font-family: var(--v2-font-display); font-size: var(--v2-p1); letter-spacing: var(--v2-tracking-display); }
.evd-person__org { color: var(--v2-text-secondary); font-size: var(--v2-p2); }
.evd-person--latent .evd-person__org { color: var(--v2-slate-blue); }
.evd-person--latent .evd-person__org::before { content: ""; display: inline-block; width: var(--v2-dot-size); height: var(--v2-dot-size); margin-right: 0.5em; border-radius: var(--v2-radius-full); background: var(--v2-mauve); vertical-align: middle; }

/* Dinner plate: the page's one dark moment before the close. */
.evd-dinner { position: relative; background: var(--v2-onyx); color: var(--v2-off-white); overflow: hidden; }
.evd-dinner .dveil { z-index: 0; }
.evd-dinner__in { position: relative; z-index: 1; padding: var(--v2-space-64) var(--v2-space-64) var(--v2-space-64); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); column-gap: var(--v2-space-64); row-gap: var(--v2-space-32); }
.evd-lockup { --lk: clamp(22px, 2.2vw, 32px); grid-column: 1 / -1; display: flex; align-items: center; gap: calc(var(--lk) * 0.6); margin: 0 0 var(--v2-space-24); }
.evd-lockup__latent { height: calc(var(--lk) * 0.86); width: auto; }
.evd-lockup__tcap { height: calc(var(--lk) * 1.12); width: auto; }
.evd-lockup__bar { width: 1px; height: calc(var(--lk) * 1.25); background: rgba(250, 250, 250, 0.35); }
.evd-dinner__title { grid-column: 1; margin: 0; max-width: 18ch; color: var(--v2-off-white); }
.evd-dinner__facts { grid-column: 2; grid-row: 2 / span 2; margin: 0; align-self: start; border-top: 1px solid rgba(250, 250, 250, 0.18); }
.evd-dinner__facts div { display: grid; grid-template-columns: 5rem 1fr; gap: var(--v2-space-16); padding: var(--v2-space-16) 0; border-bottom: 1px solid rgba(250, 250, 250, 0.18); }
.evd-dinner__facts dt { color: var(--v2-dusk); text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); }
.evd-dinner__facts dd { margin: 0; color: var(--v2-off-white); }
.evd-dinner__note { grid-column: 1; margin: 0; max-width: 40ch; color: var(--v2-dusk); font-size: var(--v2-p2); line-height: var(--v2-leading-body); }
.evd-dinner__cta { grid-column: 1; justify-self: start; }

/* Meet ----------------------------------------------------------------- */
.evd-meet { padding: var(--v2-space-128) 0; scroll-margin-top: var(--v2-nav-height, 72px); }
.evd-meet__in { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--v2-grid-gutter); row-gap: var(--v2-space-48); align-items: start; }
.evd-meet__copy { grid-column: 1 / span 2; position: sticky; top: calc(var(--v2-nav-height, 72px) + var(--v2-space-48)); }
.evd-meet__title { margin: var(--v2-space-24) 0 0; max-width: 14ch; }
.evd-meet__sub { margin: var(--v2-space-24) 0 0; max-width: 34ch; color: var(--v2-text-secondary); font-size: var(--v2-p1); line-height: var(--v2-leading-body); }
.evd-form { grid-column: 3 / -1; max-width: 680px; }
.evd-done { grid-column: 3 / -1; max-width: 680px; }
.evd-done h3 { margin: var(--v2-space-24) 0 0; }
.evd-done p:last-child { margin: var(--v2-space-16) 0 0; color: var(--v2-text-secondary); }
.evd-done[hidden] { display: none; }
.ev-form__legend { padding: 0; margin: 0 0 var(--v2-space-12); font: var(--v2-text-xs) / 1 var(--v2-font-mono); letter-spacing: var(--v2-tracking-mono); text-transform: uppercase; color: var(--v2-text-secondary); }
.evd-intent { display: flex; flex-wrap: wrap; gap: var(--v2-space-8); margin: 0 0 var(--v2-space-16); padding: 0; border: 0; }
.ev-form .evd-intent__opt { position: relative; margin: 0; font: var(--v2-p2) / 1 var(--v2-font-body); letter-spacing: 0; text-transform: none; }
.ev-form .evd-intent__opt input { position: absolute; inset: 0; width: 100%; min-height: 0; padding: 0; margin: 0; opacity: 0; cursor: pointer; }
.evd-intent__opt span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--v2-space-20); border: 1px solid var(--v2-dusk); border-radius: var(--v2-radius-xs); color: var(--v2-text-primary); background: var(--v2-off-white); transition: background 240ms var(--evd-ease), border-color 240ms var(--evd-ease); }
.evd-intent__opt input:checked + span { background: var(--v2-onyx); border-color: var(--v2-onyx); color: var(--v2-off-white); }
.evd-intent__opt input:focus-visible + span { outline: 2px solid var(--v2-slate-blue); outline-offset: 2px; }
.evd-form__date { display: grid; gap: var(--v2-space-8); }
.evd-form__date[hidden] { display: none; }

/* More ------------------------------------------------------------------ */
.evd-more { padding: var(--v2-space-96) 0 var(--v2-space-128); }
.evd-more__head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--v2-space-24); margin-bottom: var(--v2-space-48); padding-bottom: var(--v2-space-24); border-bottom: var(--v2-rule); }
.evd-more__head h2 { margin: 0; }
.evd-more__all { color: var(--v2-text-secondary); text-decoration: none; text-transform: uppercase; letter-spacing: var(--v2-tracking-mono); white-space: nowrap; }
.evd-more__all:hover { color: var(--v2-text-primary); }
.evd-more__grid { row-gap: var(--v2-space-48); }
.evd-page .ev-close h2 { max-width: 22ch; }

/* Responsive ----------------------------------------------------------- */
@media (max-width: 1024px) {
  .evd-split { grid-template-columns: 1fr; }
  .evd-split::before, .evd-split::after, .evd-split__visual::after { display: none; }
  .evd-split { border-top: 1px solid var(--evd-rule); }
  .evd-split__visual { grid-column: 1; border-right: 0; border-bottom: var(--v2-rule); }
  .evd-split__side { grid-column: 1; padding: var(--v2-space-32) var(--v2-grid-gutter); }
  .evd-split__cta { margin-top: var(--v2-space-32); }
  .evd-makers__grid { row-gap: var(--v2-space-40); }
  .evd-speakers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evd-meet__copy { grid-column: 1 / -1; position: static; }
  .evd-form, .evd-done { grid-column: 1 / -1; }
  .evd-dinner__in { grid-template-columns: 1fr; padding: var(--v2-space-48); }
  .evd-dinner__facts { grid-column: 1; grid-row: auto; }
  .evd-dinner__title, .evd-dinner__note, .evd-dinner__cta { grid-column: 1; }
}
@media (max-width: 720px) {
  .evd-hero { padding-top: var(--v2-space-40); }
  .evd-hero__head { grid-template-columns: 1fr; }
  .evd-hero__host { grid-column: 1; grid-row: auto; justify-self: start; height: 32px; }
  .evd-split__visual { aspect-ratio: 4 / 3; }
  .evd-makers { padding: var(--v2-space-80) 0; }
  .evd-frame { display: none; }
  .evd-makers__head { gap: var(--v2-space-20); }
  .evd-session { gap: var(--v2-space-20); }
  .evd-session__when { font-size: var(--v2-mono-l2); line-height: 1.6; }
  .evd-session__cal { width: 100%; justify-content: space-between; }
  /* Speakers become a ruled roster: small portrait, one row each. */
  .evd-speakers { display: block; margin-top: var(--v2-space-48); padding-top: 0; }
  .evd-speaker { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); column-gap: var(--v2-space-16); align-content: center; padding: var(--v2-space-16) 0; border-bottom: 1px solid var(--v2-border-on-dark); }
  .evd-speaker__photo { grid-row: 1 / span 4; align-self: center; margin: 0; aspect-ratio: 4 / 5; }
  .evd-speaker__role { font-size: var(--v2-text-xs); margin-bottom: var(--v2-space-4) !important; }
  .evd-speaker__name { font-size: var(--v2-p2); }
  .evd-speaker__title, .evd-speaker__org { font-size: var(--v2-text-sm); color: var(--v2-dusk); }
  .evd-speaker__title { margin-top: var(--v2-space-4) !important; }
  .evd-makers__foot { margin-top: var(--v2-space-40); }
  .evd-slot__kind { font-size: var(--v2-text-xs); line-height: 1.7; }
  .evd-slot__kind span { margin: 0 0.35em; }
  .evd-dinner__in { padding: var(--v2-space-32) var(--v2-space-24); }
  .evd-dinner__facts div { padding: var(--v2-space-12) 0; }
  .evd-dinner__facts dd { line-height: 1.6; }
  .evd-lockup { --lk: 20px; }
  .evd-dinner__facts div { grid-template-columns: 4rem 1fr; }
  .evd-meet, .evd-day { padding: var(--v2-space-80) 0; }
  .evd-more__head { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .evd-hero__img { animation: none; transform: none; }
  .evd-stagger { animation: none; opacity: 1; transform: none; }
  .evd-slot__marker, .evd-intent__opt span, .evd-back span, .evd-hero__agenda a::after { transition: none; }
}
