/* Northline Summit (concept). Colour chapters on a near-black canvas. Epilogue only. Every selector under .b-events. */
.b-events {
  --b-bg: #0c0c0d; --b-ink: #f3f3f1; --b-acc: #dc1928; --b-soft: #1c1c1f; --b-on: #ffffff;
  --b-d: "Epilogue", "Helvetica Neue", Arial, sans-serif; --b-t: "Epilogue", "Helvetica Neue", Arial, sans-serif;
  --c-dark: #0c0c0d; --c-s1: #19191b; --c-s2: #242427; --c-white: #f3f3f1;
  --c-red: #dc1928; --c-red2: #b9101c; --c-deep: #3a0306;
  --c-gold: #e0a912; --c-gold2: #c8950a; --c-goldink: #1b1305;
  --c-slate: #4a6f84; --c-slate2: #3c5d70;
  --c-bone: #e2dccf; --c-bone2: #d2cab9; --c-boneink: #16110f;
  --t-sm: 14px; --t-body: clamp(16px, 15px + .2vw, 18px); --t-lead: clamp(20px, 18px + .55vw, 26px);
  --t-stmt: clamp(24px, 1.2rem + 1.2vw, 36px); --t-head: clamp(36px, 1.6rem + 2.9vw, 76px); --t-mega: clamp(58px, 9.5vw, 150px);
  --m: clamp(16px, 3.4vw, 48px); --r: 16px; --bar: 64px;
  --sec: clamp(80px, 9vw, 150px);
  --ease: cubic-bezier(.16, 1, .3, 1);
}
body.b-events { background: var(--c-dark); color: var(--c-white); font: 400 var(--t-body)/1.5 var(--b-t); font-feature-settings: "tnum" 1; caret-color: var(--c-red); scrollbar-color: #3a3a3e var(--c-dark); }
.b-events ::selection { background: var(--c-red); color: #fff; }
.b-events :focus-visible { outline: 3px solid var(--fg, #f3f3f1); outline-offset: 3px; }
.b-events img { height: auto; }
.b-events h1, .b-events h2, .b-events h3 { font-family: var(--b-d); font-weight: 900; letter-spacing: -.04em; line-height: .95; margin: 0; text-wrap: balance; }
.b-events h3 { font-weight: 700; letter-spacing: -.02em; line-height: 1.15; font-size: var(--t-lead); }
.b-events p { margin: 0; }
.b-events a { text-underline-offset: 4px; text-decoration-thickness: 2px; }
.b-events .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- fields: each chapter is one flat colour with its own ink */
.b-events [data-f="dark"] { --g: var(--c-dark); --fg: var(--c-white); --fg2: #bdb9b2; --tile: var(--c-s1); --tile2: var(--c-s2); --pb: var(--c-white); --pi: var(--c-dark); }
.b-events [data-f="red"] { --g: var(--c-red); --fg: #ffffff; --fg2: #ffffff; --tile: var(--c-red2); --tile2: #a00d18; --pb: var(--c-dark); --pi: #ffffff; }
.b-events [data-f="gold"] { --g: var(--c-gold); --fg: var(--c-goldink); --fg2: var(--c-goldink); --tile: var(--c-gold2); --tile2: #b48508; --pb: var(--c-dark); --pi: #ffffff; }
.b-events [data-f="slate"] { --g: var(--c-slate); --fg: #ffffff; --fg2: #ffffff; --tile: var(--c-slate2); --tile2: #33515f; --pb: var(--c-dark); --pi: #ffffff; }
.b-events [data-f="bone"] { --g: var(--c-bone); --fg: var(--c-boneink); --fg2: #4a413a; --tile: var(--c-bone2); --tile2: #c4bba8; --pb: var(--c-dark); --pi: #ffffff; }
.b-events .nl-f { background: var(--g); color: var(--fg); padding: var(--sec) var(--m); position: relative; }

/* ---------- bar: takes the colour of the chapter beneath it */
.b-events .nl-bar { position: sticky; top: 0; z-index: 30; height: var(--bar); display: flex; align-items: center; gap: 24px; padding: 0 var(--m); background: var(--g); color: var(--fg); transition: background-color .3s ease, color .3s ease; }
.b-events .nl-logo { display: inline-flex; align-items: center; color: inherit; text-decoration: none; font-size: 21px; }
.b-events .nl-logo .nl-mark { margin-right: .4em; }
.b-events .nl-word { font: 900 1em/1 var(--b-d); letter-spacing: -.045em; white-space: nowrap; }
.b-events .nl-word b { font-weight: 500; letter-spacing: -.03em; }
.b-events .nl-nav { display: flex; gap: 26px; margin-left: auto; font-size: var(--t-sm); font-weight: 500; }
.b-events .nl-nav a { color: inherit; text-decoration: none; padding: 10px 0; }
.b-events .nl-nav a:hover, .b-events .nl-nav a[aria-current] { text-decoration: underline; }
.b-events .nl-bar__end { display: flex; align-items: center; gap: 10px; }
.b-events .nl-menu { position: relative; display: none; }
.b-events .nl-menu summary { list-style: none; cursor: pointer; min-height: 44px; display: grid; place-items: center; padding: 0 16px; border-radius: 999px; background: var(--tile); font-size: var(--t-sm); font-weight: 500; }
.b-events .nl-menu summary::-webkit-details-marker { display: none; }
.b-events .nl-menu__pop { position: absolute; right: 0; top: calc(100% + 8px); display: grid; min-width: 230px; padding: 8px; border-radius: var(--r); background: var(--c-dark); color: var(--c-white); box-shadow: 0 18px 40px rgba(0, 0, 0, .35); } /* taste-skill-ignore: a real dropdown menu floats */
.b-events .nl-menu__pop a { color: inherit; text-decoration: none; padding: 12px 14px; border-radius: 10px; font-size: 16px; }
.b-events .nl-menu__pop a:hover, .b-events .nl-menu__pop a[aria-current] { background: var(--c-s2); }

/* ---------- buttons: one pill, the inverse of the field */
.b-events .nl-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 24px; border: 0; border-radius: 999px; background: var(--pb); color: var(--pi); font: 500 var(--t-body)/1 var(--b-t); letter-spacing: -.01em; text-decoration: none; cursor: pointer; transition: transform .25s var(--ease), background-color .2s, color .2s; white-space: nowrap; }
.b-events .nl-btn:hover { transform: translateY(-2px); }
.b-events .nl-btn:active { transform: scale(.97); }
.b-events .nl-btn:disabled { opacity: .45; cursor: default; transform: none; }
.b-events .nl-btn--sm { min-height: 44px; padding: 0 18px; font-size: var(--t-sm); }
.b-events .nl-btn--ink { background: var(--c-dark); color: #fff; }
.b-events [data-f="dark"] .nl-btn--ink { background: var(--c-white); color: var(--c-dark); }
.b-events .nl-bar .nl-btn { background: var(--pb); color: var(--pi); }
.b-events .nl-tlink { color: inherit; font-weight: 500; text-decoration: underline; min-height: 44px; display: inline-flex; align-items: center; }
.b-events .nl-tlink:hover { text-decoration-thickness: 3px; }
.b-events .nl-status { font-weight: 500; }
.b-events .nl-status:empty { display: none; }
.b-events .nl-k { font-size: var(--t-sm); font-weight: 700; margin: 22px 0 10px; }

/* ---------- hero: two fields, the name cut by the seam */
.b-events .nl-hero { --fs: clamp(96px, 11.2vw, 168px); --vh: calc(100svh - var(--bar) - 38px); --seam: calc(var(--vh) * .44); height: calc(var(--vh) + 30svh); min-height: 860px; padding: 0; overflow: hidden; }
.b-events .nl-hero__low { position: absolute; left: 0; right: 0; top: var(--seam); bottom: 0; background: var(--c-red); }
.b-events .nl-hero__h { position: absolute; left: var(--m); right: var(--m); top: calc(var(--seam) - 1.16 * var(--fs)); margin: 0; text-align: center; font-size: var(--fs); line-height: .86; letter-spacing: -.055em; }
.b-events .nl-hero__a { display: block; color: var(--c-white); clip-path: inset(-20% -10% calc(100% - 1.16 * var(--fs)) -10%); }
.b-events .nl-hero__b { position: absolute; inset: 0; color: var(--c-deep); clip-path: inset(calc(1.16 * var(--fs)) -10% -20% -10%); }
.b-events .nl-hero__copy { position: absolute; left: var(--m); right: var(--m); top: calc(var(--seam) + .72 * var(--fs)); display: grid; justify-items: center; gap: 12px; text-align: center; color: #fff; }
.b-events .nl-hero__when { font: 900 var(--t-stmt)/1.05 var(--b-d); letter-spacing: -.035em; }
.b-events .nl-hero__sub { font-size: var(--t-body); font-weight: 500; max-width: 48ch; line-height: 1.4; }
.b-events .nl-hero__go { margin-top: 4px; }
.b-events .nl-titles { position: absolute; left: 0; right: 0; bottom: clamp(28px, 5svh, 56px); color: #fff; }
.b-events .nl-titles__k { padding: 0 var(--m); font-size: var(--t-sm); font-weight: 700; margin-bottom: 10px; }
.b-events .nl-titles__run { display: flex; width: max-content; animation: nl-run 70s linear infinite; }
.b-events .nl-titles__run p { font: 700 var(--t-lead)/1.2 var(--b-t); letter-spacing: -.02em; white-space: nowrap; padding-right: .5ch; }
.b-events .nl-titles__run p::after { content: " ·"; }

/* the live price line */
.b-events .nl-cd { font-size: var(--t-body); font-weight: 500; line-height: 1.4; }
.b-events .nl-cd__now { font-weight: 700; }
.b-events .nl-cd__left { display: block; font-weight: 700; font-variant-numeric: tabular-nums; }
.b-events .nl-cd--hero { font-size: var(--t-body); }

/* ---------- staircase statement */
.b-events .nl-intro { min-height: 76svh; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 20px; align-content: center; }
.b-events .nl-stair { grid-column: 1 / 9; font: 700 var(--t-stmt)/1.08 var(--b-d); letter-spacing: -.03em; align-self: center; }
.b-events .nl-stair__l { display: block; padding-left: calc(var(--i) * 6vw); }
.b-events .nl-intro .nl-stair__l:nth-child(2) { color: #8db6cc; }
.b-events .nl-intro .nl-stair__l:nth-child(3) { color: var(--c-gold); }
.b-events .nl-intro .nl-stair__l:nth-child(4) { color: var(--c-bone); }
.b-events .nl-intro .nl-stair__l:nth-child(5) { color: #ff5b4a; }
.b-events .nl-intro--solo .nl-stair__l { color: inherit !important; }
.b-events .nl-intro__pics { grid-column: 9 / 13; grid-row: 1 / 3; display: grid; gap: 16px; align-self: center; }
.b-events .nl-intro__pics img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.b-events .nl-intro__note { grid-column: 1 / 6; margin-top: 64px; font-size: var(--t-sm); color: var(--fg2); max-width: 46ch; }
.b-events .nl-intro--solo { min-height: 80svh; }
.b-events .nl-intro--solo .nl-stair { grid-column: 1 / 12; font-size: var(--t-stmt); }

/* ---------- the signature: ticket selector and the manager email */
.b-events .nl-sig { padding: 0; }
.b-events .nl-tix { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); font-family: var(--b-t); text-align: left; }
.b-events .nl-tix__sel { --g: var(--c-red); --fg: #fff; --fg2: #fff; --tile: var(--c-red2); --tile2: #a00d18; --pb: var(--c-dark); --pi: #fff; background: var(--g); color: var(--fg); padding: clamp(40px, 6vw, 96px) var(--m); display: grid; gap: 26px; align-content: start; align-self: start; position: sticky; top: var(--bar); }
.b-events .nl-tix__h { font-size: var(--t-head); }
.b-events .nl-passes { border: 0; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; min-inline-size: 0; }
.b-events .nl-pass { position: relative; display: grid; gap: 4px; padding: 16px 18px; min-height: 76px; border-radius: var(--r); background: var(--tile); cursor: pointer; transition: background-color .2s, color .2s, transform .25s var(--ease); }
.b-events .nl-pass:hover { transform: translateY(-2px); }
.b-events .nl-pass input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.b-events .nl-pass:has(input:checked) { background: var(--c-dark); color: #fff; }
.b-events .nl-pass:has(input:focus-visible) { outline: 3px solid #fff; outline-offset: 3px; }
.b-events .nl-pass__n { font-weight: 700; font-size: var(--t-body); }
.b-events .nl-pass__p { font-size: var(--t-lead); font-weight: 900; letter-spacing: -.03em; }
.b-events .nl-pass--sm { min-height: 52px; padding: 12px 16px; align-content: center; }
.b-events .nl-team { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 12px 20px; }
.b-events .nl-team__l { font-weight: 700; font-size: var(--t-lead); letter-spacing: -.02em; }
.b-events .nl-step { display: inline-flex; align-items: center; gap: 6px; background: var(--tile); border-radius: 999px; padding: 4px; }
.b-events .nl-step button { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--c-dark); color: #fff; font: 500 24px/1 var(--b-t); cursor: pointer; transition: transform .2s var(--ease); }
.b-events .nl-step button:active { transform: scale(.9); }
.b-events .nl-step button:disabled { opacity: .4; }
.b-events .nl-step output { min-width: 3ch; text-align: center; font: 900 26px/1 var(--b-d); }
.b-events .nl-team__r { font-size: var(--t-body); font-weight: 500; }
.b-events .nl-total { display: grid; gap: 6px; }
.b-events .nl-total__big { font: 900 var(--t-mega)/.9 var(--b-d); letter-spacing: -.055em; }
.b-events .nl-total__per { font-size: var(--t-lead); font-weight: 700; }
.b-events .nl-total__fee { font-size: var(--t-sm); font-weight: 500; }
.b-events .nl-tix__wait { font-size: var(--t-lead); font-weight: 700; line-height: 1.25; max-width: 30ch; }
.b-events .nl-tix__go { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }

/* the Northline: price stops on one thick line */
.b-events .nl-line ol { list-style: none; margin: 30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: relative; }
.b-events .nl-line ol::before { content: ""; position: absolute; left: 0; right: 0; top: 11px; height: 6px; background: currentColor; border-radius: 6px; }
.b-events .nl-line li { position: relative; padding-top: 38px; display: grid; gap: 2px; font-size: var(--t-sm); }
.b-events .nl-line li::before { content: ""; position: absolute; left: 0; top: 0; width: 28px; height: 28px; border-radius: 50%; background: currentColor; transition: transform .4s var(--ease); }
.b-events .nl-line li b { font-size: var(--t-lead); font-weight: 900; letter-spacing: -.03em; }
.b-events .nl-line li.is-past { opacity: .5; }
.b-events .nl-line li.is-past b { text-decoration: line-through; text-decoration-thickness: 3px; }
.b-events .nl-line li.is-now::before { background: var(--g, var(--c-red)); border: 8px solid currentColor; transform: scale(1.2); }
.b-events .nl-line li.is-now::after { content: "You are here"; position: absolute; left: 0; top: -32px; font-weight: 700; font-size: var(--t-sm); white-space: nowrap; }
.b-events .nl-line--big li b { font-size: var(--t-stmt); }

/* the manager email */
.b-events .nl-tix__mail { --g: var(--c-bone); --fg: var(--c-boneink); --fg2: #4a413a; --tile: var(--c-bone2); --pb: var(--c-dark); --pi: #fff; background: var(--g); color: var(--fg); padding: clamp(40px, 6vw, 96px) var(--m); display: grid; gap: 14px; align-content: start; }
.b-events .nl-tix__mail h3, .b-events .nl-jt h2 { font: 900 var(--t-head)/.95 var(--b-d); letter-spacing: -.04em; }
.b-events .nl-tix__lede { color: var(--fg2); max-width: 40ch; }
.b-events .nl-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.b-events .nl-fields label { display: grid; gap: 6px; font-size: var(--t-sm); font-weight: 700; }
.b-events .nl-fields__w { grid-column: 1 / -1; }
.b-events .nl-fields input, .b-events .nl-fields select { font: 500 var(--t-body)/1.2 var(--b-t); color: var(--fg); background: var(--tile); border: 0; border-radius: 12px; min-height: 50px; padding: 0 14px; width: 100%; }
.b-events .nl-fields input::placeholder { color: #5b524a; }
.b-events .nl-fields input:focus, .b-events .nl-fields select:focus { outline: 3px solid var(--c-dark); outline-offset: 1px; }
.b-events .nl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.b-events .nl-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 14px; border: 0; border-radius: 999px; background: var(--tile); color: var(--fg); font: 500 var(--t-sm)/1.25 var(--b-t); text-align: left; cursor: pointer; transition: background-color .2s, color .2s, transform .25s var(--ease); }
.b-events .nl-chip:hover { transform: translateY(-2px); }
.b-events .nl-chip small { font-size: 13px; font-weight: 500; opacity: .85; white-space: nowrap; }
.b-events .nl-chip[aria-pressed="true"] { background: var(--c-dark); color: #fff; }
.b-events [data-f="dark"] .nl-chip[aria-pressed="true"], .b-events .nl-ab .nl-chip[aria-pressed="true"] { background: var(--c-white); color: var(--c-dark); }
.b-events .nl-dot { flex: none; width: 14px; height: 14px; border-radius: 50%; display: inline-block; }
.b-events .nl-dot--sys { background: var(--c-slate); } .b-events .nl-dot--fin { background: var(--c-gold); } .b-events .nl-dot--ppl { background: var(--c-bone); } .b-events .nl-dot--main { background: var(--c-red); }
.b-events [data-f="bone"] .nl-dot--ppl, .b-events .nl-tix__mail .nl-dot--ppl { background: var(--c-boneink); }
.b-events .nl-chip[aria-pressed="true"] .nl-dot--ppl { background: var(--c-bone); }
.b-events [data-f="slate"] .nl-dot--sys { background: #fff; }
.b-events .nl-email { background: #efeeeb; color: var(--c-boneink); border-radius: var(--r); padding: 20px 22px; margin-top: 8px; }
.b-events .nl-email__s { font-weight: 700; margin-bottom: 12px; }
.b-events .nl-email__b { font-size: var(--t-body); line-height: 1.55; white-space: pre-wrap; max-height: 340px; overflow: auto; }
.b-events .nl-email__go { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }

/* ---------- agenda preview: tracks as lines, sessions as stops */
.b-events .nl-menu-list { display: grid; gap: 0; }
.b-events .nl-ml__h { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px; align-items: end; margin-bottom: 24px; }
.b-events .nl-ml__h h2 { font-size: var(--t-head); }
.b-events .nl-ml__h p { color: var(--fg2); max-width: 44ch; }
.b-events .nl-cat { padding-top: 96px; }
.b-events .nl-cat__h { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 36px; }
.b-events .nl-cat__n { display: inline-flex; align-items: center; gap: 14px; font: 900 clamp(32px, 3.4vw, 50px)/1 var(--b-d); letter-spacing: -.04em; }
.b-events .nl-cat__n .nl-dot { width: 22px; height: 22px; }
.b-events .nl-cat__h > span:last-child { font-size: var(--t-body); color: var(--fg2); }
.b-events .nl-items { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px 64px; }
.b-events .nl-it { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 20px; position: relative; }
.b-events .nl-stop { width: 34px; height: 34px; border-radius: 50%; margin-top: 2px; }
.b-events .nl-stop--sys { background: var(--c-slate); } .b-events .nl-stop--fin { background: var(--c-gold); } .b-events .nl-stop--ppl { background: var(--c-bone); }
.b-events .nl-it__t { display: flex; justify-content: space-between; gap: 16px; font-size: var(--t-body); line-height: 1.3; }
.b-events .nl-it__t span { flex: none; font-weight: 500; color: var(--fg2); }
.b-events .nl-it__d { margin-top: 6px; font-size: var(--t-body); color: var(--fg2); max-width: 46ch; }
.b-events .nl-it__s { margin-top: 6px; font-size: var(--t-sm); font-weight: 700; }
.b-events .nl-more { margin-top: 72px; }

/* ---------- prints around the headline */
.b-events .nl-prints { min-height: 100svh; display: grid; place-items: end center; padding-bottom: clamp(110px, 12vw, 170px); overflow: hidden; }
.b-events .nl-prints__h { position: relative; z-index: 2; text-align: center; font-size: clamp(64px, 12.5vw, 196px); line-height: .86; letter-spacing: -.055em; }
.b-events .nl-print { position: absolute; margin: 0; padding: 8px; background: var(--c-bone); z-index: 1; transition: transform .2s var(--ease); width: 17vw; }
.b-events .nl-print img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: var(--c-bone2); }
.b-events .nl-print--0 { left: 30vw; top: 5%; transform: rotate(-8deg); }
.b-events .nl-print--1 { left: 44vw; top: 9%; transform: rotate(6deg); }
.b-events .nl-print--2 { right: 5vw; top: 22%; width: 12vw; transform: rotate(-3deg); }
.b-events .nl-print:hover { transform: rotate(0); z-index: 3; }
.b-events .nl-prints__s { position: absolute; left: var(--m); bottom: 28px; max-width: 46ch; font-size: var(--t-body); font-weight: 500; z-index: 2; }
.b-events .nl-prints__s a { color: inherit; font-weight: 700; }

/* ---------- photograph with figure tiles */
.b-events .nl-mos { padding-left: 0; padding-right: 0; }
.b-events .nl-mos__h { padding: 0 var(--m) 40px; font-size: var(--t-head); }
.b-events .nl-mos__n { padding: 24px var(--m) 0; color: var(--fg2); font-size: var(--t-body); max-width: calc(60ch + 2 * var(--m)); }
.b-events .nl-mos__n a { color: var(--fg); font-weight: 700; }
.b-events .nl-mos__g { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; height: min(66vw, 860px); }
.b-events .nl-mos__p { grid-row: 1 / 3; overflow: hidden; }
.b-events .nl-mos__p img { width: 100%; height: 100%; object-fit: cover; }
.b-events .nl-tile { padding: 28px; }
.b-events .nl-tile--slate { background: var(--c-slate); color: #fff; }
.b-events .nl-tile--gold { background: var(--c-gold); color: var(--c-goldink); }
.b-events .nl-tile__v { font: 900 clamp(56px, 5.6vw, 96px)/.9 var(--b-d); letter-spacing: -.05em; }
.b-events .nl-tile__c { margin-top: 12px; font-size: var(--t-body); font-weight: 500; max-width: 24ch; }

/* ---------- accordion of filled tiles */
.b-events .nl-faq { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 20px; min-height: 90svh; }
.b-events .nl-faq__h { grid-column: 1 / 5; }
.b-events .nl-faq__h h2 { position: sticky; top: calc(var(--bar) + 32px); font-size: var(--t-head); }
.b-events .nl-faq__list { grid-column: 5 / 13; display: grid; gap: 8px; align-content: start; }
.b-events .nl-q { background: var(--tile); border-radius: var(--r); transition: background-color .25s, color .25s; }
.b-events .nl-q summary { list-style: none; cursor: pointer; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 24px; font-size: var(--t-lead); font-weight: 500; line-height: 1.3; }
.b-events .nl-q summary::-webkit-details-marker { display: none; }
.b-events .nl-q summary i { flex: none; position: relative; width: 16px; height: 16px; }
.b-events .nl-q summary i::before, .b-events .nl-q summary i::after { content: ""; position: absolute; left: 0; top: 6.5px; width: 16px; height: 3px; background: currentColor; transition: transform .3s var(--ease); }
.b-events .nl-q summary i::after { transform: rotate(90deg); }
.b-events .nl-q[open] { background: var(--c-red); color: #fff; }
.b-events [data-f="red"] .nl-q[open] { background: var(--c-dark); }
.b-events .nl-q[open] summary i::after { transform: rotate(0); }
.b-events .nl-q p { padding: 0 24px 24px; font-size: var(--t-body); max-width: 58ch; }
.b-events .nl-q:not([open]):hover { background: var(--tile2); }

/* ---------- the reminder: photo strip and three cells */
.b-events .nl-remind { min-height: 80svh; padding-top: 48px; overflow: hidden; }
.b-events .nl-strip { margin: 0 calc(var(--m) * -1); overflow: hidden; }
.b-events .nl-strip__run { display: flex; gap: 8px; width: max-content; animation: nl-run 90s linear infinite; }
.b-events .nl-strip img { height: 150px; width: auto; object-fit: cover; }
.b-events .nl-remind__in { padding-top: 72px; }
.b-events .nl-remind--sp .nl-remind__in { padding-top: 0; }
.b-events .nl-remind h2 { font-size: var(--t-head); margin-bottom: 40px; }
.b-events .nl-cells { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.b-events .nl-cell { display: block; min-height: 96px; border-radius: var(--r); background: var(--tile); }
.b-events .nl-cell input { width: 100%; height: 100%; min-height: 96px; border: 0; border-radius: var(--r); background: transparent; color: var(--fg); font: 500 var(--t-body)/1 var(--b-t); text-align: center; padding: 0 16px; transition: background-color .2s; }
.b-events .nl-cell input::placeholder { color: var(--fg2); }
.b-events .nl-cell input:focus { background: var(--tile2); outline: 3px solid var(--fg); outline-offset: -3px; }
.b-events .nl-cell--go { border: 0; background: var(--pb); color: var(--pi); font: 700 var(--t-lead)/1 var(--b-t); cursor: pointer; transition: transform .25s var(--ease); }
.b-events .nl-cell--go:hover { transform: translateY(-2px); }
.b-events .nl-opt { grid-column: 1 / 3; display: flex; gap: 12px; align-items: flex-start; font-size: var(--t-sm); margin-top: 10px; max-width: 70ch; cursor: pointer; }
.b-events .nl-opt input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--c-red); }
.b-events .nl-fine { grid-column: 1 / -1; font-size: var(--t-sm); color: var(--fg2); margin-top: 6px; }
.b-events .nl-fine .nl-status { color: var(--fg); display: block; margin-top: 8px; font-size: 16px; }

/* ---------- footer: the address is the headline */
.b-events .nl-foot { min-height: 90svh; display: grid; grid-template-rows: auto 1fr auto; gap: 40px; padding-top: 40px; padding-bottom: 32px; }
.b-events .nl-foot__top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) max-content; gap: 20px 32px; font-size: var(--t-sm); font-weight: 500; }
.b-events .nl-foot__top p { max-width: 34ch; }
.b-events .nl-top { color: inherit; font-weight: 700; }
.b-events .nl-foot__mail { align-self: end; display: block; color: inherit; text-decoration: none; font: 900 clamp(40px, 7.3vw, 124px)/.92 var(--b-d); letter-spacing: -.05em; }
.b-events .nl-foot__mail span { display: block; }
.b-events .nl-foot__mail:hover span:last-child { text-decoration: underline; text-decoration-thickness: 6px; text-underline-offset: 10px; }
.b-events .nl-foot__meta { display: grid; grid-template-columns: 1fr 1fr auto; gap: 16px 32px; font-size: var(--t-sm); font-weight: 500; align-items: start; }
.b-events .nl-foot__meta nav { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.b-events .nl-foot__meta a { color: inherit; min-height: 32px; display: inline-flex; align-items: center; }
.b-events .dm-credit { background: var(--c-dark); color: #d6d3cd; }
.b-events .dm-chatbtn > button { background: var(--c-white); color: var(--c-dark); font: 500 var(--t-sm) var(--b-t); min-height: 48px; outline: 2px solid var(--c-dark); box-shadow: none; } /* taste-skill-ignore: the kit launcher floats */
.b-events .wc { border-radius: var(--r); background: var(--c-s1); color: var(--c-white); }
.b-events .wc__head { background: var(--c-red); color: #fff; }
.b-events .wc__msg--bot { background: var(--c-s2); color: var(--c-white); }
.b-events .wc__opt { background: var(--c-s2); color: var(--c-white); box-shadow: none; min-height: 44px; } /* taste-skill-ignore: removes the engine's inset ring */

/* ---------- page heads */
.b-events .nl-ph { min-height: 70svh; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 20px; align-content: end; row-gap: 32px; }
.b-events .nl-ph--pic .nl-ph__h { grid-column: 1 / 9; }
.b-events .nl-ph__f { grid-column: 10 / 13; grid-row: 1 / 3; margin: 0; align-self: start; }
.b-events .nl-ph__f img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.b-events .nl-ph--pic .nl-ph__b { grid-column: 1 / 10; }
.b-events .nl-ph__h { grid-column: 1 / -1; font-size: var(--t-mega); line-height: .86; letter-spacing: -.055em; }
.b-events .nl-ph__b { grid-column: 1 / 13; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px 40px; align-items: end; }
.b-events .nl-ph__s { font-size: var(--t-lead); line-height: 1.3; max-width: 38ch; }
.b-events .nl-ph__b > .nl-line, .b-events .nl-ph__b > .nl-cd { grid-column: 2; }
.b-events .nl-ph__b > .nl-cd { grid-row: 2; font-size: var(--t-lead); }

/* ---------- agenda builder */
.b-events .nl-ab { padding-top: 40px; }
.b-events .nl-ab__ctl { position: sticky; top: var(--bar); z-index: 5; background: var(--g); display: flex; flex-wrap: wrap; gap: 10px 28px; padding: 14px 0 18px; }
.b-events .nl-ab__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 48px; align-items: start; margin-top: 24px; }
.b-events .nl-ab__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 56px; }
.b-events .nl-slot { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 24px; }
.b-events .nl-slot[hidden] { display: none; }
.b-events .nl-slot__t { font: 900 var(--t-lead)/1.1 var(--b-d); letter-spacing: -.03em; padding-top: 14px; }
.b-events .nl-slot__ss { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 8px 8px; }
.b-events .nl-ss { padding: 16px; border-radius: var(--r); display: grid; gap: 8px; align-content: start; transition: background-color .25s; }
.b-events .nl-ss[hidden] { display: none; }
.b-events .nl-ss.is-on { background: var(--c-s2); }
.b-events .nl-ss.is-clash { background: #3a1214; }
.b-events .nl-ss__k { display: flex; align-items: center; gap: 8px; font-size: var(--t-sm); font-weight: 700; }
.b-events .nl-ss h3 { font-size: 19px; line-height: 1.2; letter-spacing: -.02em; }
.b-events .nl-ss__sp { font-size: var(--t-sm); font-weight: 700; }
.b-events .nl-ss__d { font-size: 16px; color: var(--fg2); }
.b-events .nl-add { justify-self: start; margin-top: 4px; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--c-s2); color: var(--c-white); font: 500 15px/1 var(--b-t); cursor: pointer; transition: background-color .2s, color .2s, transform .25s var(--ease); }
.b-events .nl-add:hover { transform: translateY(-2px); }
.b-events .nl-add[aria-pressed="true"] { background: var(--c-white); color: var(--c-dark); }
.b-events .nl-ss__clash { font-size: var(--t-sm); font-weight: 700; color: #ff8a7d; }
.b-events .nl-me { position: sticky; top: calc(var(--bar) + 96px); }
.b-events .nl-me__d { background: var(--c-s1); border-radius: var(--r); }
.b-events .nl-me__d summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: 64px; padding: 0 20px; cursor: pointer; font: 900 var(--t-lead)/1 var(--b-d); letter-spacing: -.03em; }
.b-events .nl-me__d summary b { font: 500 15px var(--b-t); letter-spacing: 0; }
.b-events .nl-me__d summary::-webkit-details-marker { display: none; }
.b-events .nl-me__in { padding: 0 20px 20px; display: grid; gap: 14px; }
.b-events .nl-me__empty { color: var(--fg2); font-size: 16px; }
.b-events .nl-me__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; max-height: 44svh; overflow: auto; }
.b-events .nl-me__list li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 12px; background: var(--c-s2); font-size: 15px; line-height: 1.3; }
.b-events .nl-me__list li.is-clash { background: #4a1418; }
.b-events .nl-me__list small { display: block; font-size: 13px; color: var(--fg2); }
.b-events .nl-me__list button { min-width: 44px; min-height: 44px; border: 0; border-radius: 50%; background: transparent; color: inherit; font: 500 22px/1 var(--b-t); cursor: pointer; }
.b-events .nl-me__warn { font-size: 15px; font-weight: 700; color: #ff8a7d; }
.b-events .nl-me__warn:empty { display: none; }
.b-events .nl-me__go { display: grid; gap: 4px; justify-items: start; }
.b-events .nl-me__mail { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.b-events .nl-me__mail input { width: 100%; min-height: 48px; border: 0; border-radius: 12px; background: var(--c-s2); color: var(--c-white); font: 500 16px var(--b-t); padding: 0 14px; }
.b-events .nl-me__mail input::placeholder { color: #a9a59e; }
.b-events .nl-me__mail .nl-status { grid-column: 1 / -1; font-size: 15px; }

/* evenings */
.b-events .nl-even h2 { font-size: var(--t-head); margin-bottom: 56px; }
.b-events .nl-even__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 32px; }
.b-events .nl-even__l h3 { font-size: var(--t-lead); margin: 8px 0 10px; }
.b-events .nl-ev__t { font-size: var(--t-sm); font-weight: 700; }

/* ---------- speakers */
.b-events .nl-kn h2, .b-events .nl-sp h2, .b-events .nl-cfs h2, .b-events .nl-three h2, .b-events .nl-acc h2, .b-events .nl-wall h2, .b-events .nl-chg h2, .b-events .nl-vids h2 { font-size: var(--t-head); }
.b-events .nl-kn__l { list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px 48px; }
.b-events .nl-kn__n { font: 900 clamp(32px, 3.4vw, 50px)/1 var(--b-d); letter-spacing: -.04em; }
.b-events .nl-kn__r { margin-top: 8px; font-weight: 700; }
.b-events .nl-kn__t { margin-top: 16px; font-size: var(--t-lead); line-height: 1.25; max-width: 30ch; }
.b-events .nl-kn__w { margin-top: 8px; color: var(--fg2); font-size: 16px; }
.b-events .nl-sp { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 20px; }
.b-events .nl-sp__h { grid-column: 1 / 5; }
.b-events .nl-sp__h h2 { position: sticky; top: calc(var(--bar) + 32px); }
.b-events .nl-sp__h p { margin-top: 16px; max-width: 30ch; color: var(--fg2); }
.b-events .nl-sp__l { grid-column: 5 / 13; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 40px; }
.b-events .nl-sp__n { font: 900 var(--t-lead)/1.1 var(--b-d); letter-spacing: -.03em; }
.b-events .nl-sp__r { margin-top: 4px; font-size: 16px; font-weight: 500; }
.b-events .nl-sp__t { margin-top: 10px; font-size: 16px; color: var(--fg2); }
.b-events .nl-sp__t span { white-space: nowrap; font-weight: 700; color: var(--fg); }
.b-events .nl-cfs { min-height: 70svh; display: grid; align-content: center; gap: 28px; }
.b-events .nl-cfs > p:not(.nl-cd) { max-width: 52ch; font-size: var(--t-lead); line-height: 1.35; }
.b-events .nl-cfs .nl-cd { font-size: var(--t-lead); }

/* ---------- tickets: two plans, two fields */
.b-events .nl-plans { padding: 0; display: grid; grid-template-columns: 7fr 5fr; }
.b-events .nl-plan { min-height: 90svh; padding: clamp(40px, 5vw, 80px) var(--m); display: grid; grid-template-rows: auto auto auto 1fr auto; gap: 20px; }
.b-events .nl-plan__f { margin: 12px 0 8px; max-width: 520px; }
.b-events .nl-plan__f img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.b-events .nl-plan--a { background: var(--c-bone); color: var(--c-boneink); }
.b-events .nl-plan--b { --g: var(--c-slate); --fg: #fff; background: var(--c-slate); color: #fff; }
.b-events .nl-plan h2 { font-size: var(--t-head); }
.b-events .nl-plan__who { font-size: var(--t-lead); max-width: 26ch; line-height: 1.25; }
.b-events .nl-plan__inc { max-width: 52ch; }
.b-events .nl-plan__foot { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 12px 18px; }
.b-events .nl-plan__p { font: 900 var(--t-mega)/.85 var(--b-d); letter-spacing: -.055em; }
.b-events .nl-plan__foot span { font-size: 16px; font-weight: 500; padding-bottom: 8px; }
.b-events .nl-plan--b .nl-btn--ink { background: var(--c-dark); color: #fff; }
.b-events .nl-team-t { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px 64px; align-items: start; }
.b-events .nl-team-t h2 { font-size: var(--t-head); margin-bottom: 20px; }
.b-events .nl-team-t p { max-width: 46ch; }
.b-events .nl-team-t__b { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 5fr); gap: 32px; align-items: start; }
.b-events .nl-team-t__f { margin: 0; }
.b-events .nl-team-t__f img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.b-events .nl-tbl { width: 100%; border-collapse: collapse; font-size: 18px; }
.b-events .nl-tbl th, .b-events .nl-tbl td { text-align: left; padding: 18px 12px 18px 0; border-bottom: 2px solid rgba(27, 19, 5, .25); }
.b-events .nl-tbl thead th { font-size: var(--t-sm); font-weight: 700; }
.b-events .nl-tbl td:nth-child(n+3) { font-weight: 900; font-size: var(--t-lead); letter-spacing: -.02em; }

/* ---------- justify */
.b-events .nl-jt { padding-top: 64px; }
.b-events .nl-jt__g { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: 0; padding: 0; border-radius: 0; background: transparent; }
.b-events .nl-jt__in { background: var(--c-bone); padding: clamp(28px, 4vw, 56px); display: grid; gap: 14px; align-content: start; }
.b-events .nl-jt__out { background: var(--c-bone2); padding: clamp(28px, 4vw, 56px); display: grid; gap: 14px; align-content: start; position: sticky; top: var(--bar); }
.b-events .nl-jt__out .nl-email { margin: 0; }
.b-events .nl-jt__out .nl-email__b { max-height: 62svh; }
.b-events .nl-passes--sm { display: flex; flex-wrap: wrap; gap: 8px; }
.b-events .nl-passes--sm legend { width: 100%; margin: 8px 0 10px; padding: 0; }
.b-events .nl-passes--sm .nl-pass { flex: 1 1 0; min-width: 0; }
.b-events .nl-jt .nl-pass { background: var(--c-bone2); color: var(--c-boneink); }
.b-events .nl-jt .nl-pass:has(input:checked) { background: var(--c-dark); color: #fff; }
.b-events .nl-jg { border-radius: var(--r); background: var(--c-bone2); }
.b-events .nl-jg summary { list-style: none; cursor: pointer; min-height: 52px; display: flex; align-items: center; padding: 0 18px; font-weight: 700; }
.b-events .nl-jg summary::-webkit-details-marker { display: none; }
.b-events .nl-jg .nl-chips { padding: 0 12px 14px; }
.b-events .nl-jg .nl-chip { background: var(--c-bone); }
.b-events .nl-jg .nl-chip[aria-pressed="true"] { background: var(--c-dark); color: #fff; }
.b-events .nl-k__n { font-weight: 500; }

/* ---------- venue */
.b-events .nl-place { padding: 0; min-height: 100svh; display: grid; grid-template-rows: 1fr auto; }
.b-events .nl-place__fig { margin: 0; position: relative; overflow: hidden; }
.b-events .nl-place__fig img { width: 100%; height: 100%; max-height: 78svh; object-fit: cover; object-position: 50% 45%; }
.b-events .nl-place__fig figcaption { padding: 12px var(--m) 0; font-size: var(--t-sm); color: var(--fg2); max-width: 90ch; }
.b-events .nl-place__fig figcaption a, .b-events .nl-hall__a figcaption a { color: inherit; }
.b-events .nl-place__t { padding: 40px var(--m) 56px; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px 40px; align-items: end; }
.b-events .nl-place__t h1 { font-size: var(--t-mega); line-height: .86; letter-spacing: -.055em; }
.b-events .nl-place__t p { font-size: var(--t-lead); line-height: 1.3; max-width: 34ch; }
.b-events .nl-three__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 48px; }
.b-events .nl-three__g > div { background: var(--tile); border-radius: var(--r); padding: 28px; min-height: 300px; display: grid; align-content: start; gap: 14px; }
.b-events .nl-hotel { padding: 0; display: grid; grid-template-columns: 5fr 7fr; min-height: 90svh; }
.b-events .nl-hotel__p img { width: 100%; height: 100%; object-fit: cover; min-height: 520px; background: var(--c-gold2); }
.b-events .nl-hotel__t { padding: clamp(40px, 5vw, 80px) var(--m); display: grid; gap: 24px; align-content: center; }
.b-events .nl-hotel__t h2 { font-size: var(--t-head); }
.b-events .nl-hotel__l { font-size: var(--t-lead); line-height: 1.3; max-width: 36ch; }
.b-events .nl-dl, .b-events .nl-acc__l { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
.b-events .nl-dl dt, .b-events .nl-acc__l dt { font-weight: 900; font-size: 18px; letter-spacing: -.01em; margin-bottom: 6px; }
.b-events .nl-dl dd, .b-events .nl-acc__l dd { margin: 0; max-width: 40ch; }
.b-events .nl-hall__h { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px; align-items: end; margin-bottom: 48px; }
.b-events .nl-hall__h h2 { font-size: var(--t-head); }
.b-events .nl-hall__h p { color: var(--fg2); }
.b-events .nl-hall__g { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 48px 48px; }
.b-events .nl-hall__f, .b-events .nl-hall__a { margin: 0; }
.b-events .nl-hall__f img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; background: var(--c-s1); }
.b-events .nl-hall__l { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; align-content: start; }
.b-events .nl-hall__l h3 span { font-weight: 500; color: var(--fg2); font-size: 16px; letter-spacing: 0; margin-left: 8px; }
.b-events .nl-hall__l p { margin-top: 6px; color: var(--fg2); }
.b-events .nl-hall__a { grid-column: 1 / 2; }
.b-events .nl-hall__a img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: 50% 35%; filter: grayscale(1); }
.b-events .nl-hall__a figcaption { margin-top: 10px; font-size: var(--t-sm); color: var(--fg2); }
.b-events .nl-acc { min-height: 70svh; }
.b-events .nl-acc__l { margin-top: 48px; grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- recap */
.b-events .nl-rh { padding: 0; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: calc(100svh - var(--bar)); }
.b-events .nl-rh__t { padding: clamp(40px, 6vw, 96px) var(--m); display: grid; align-content: end; gap: 24px; }
.b-events .nl-rh__t h1 { font-size: clamp(56px, 7vw, 116px); line-height: .88; letter-spacing: -.055em; }
.b-events .nl-rh__t p { font-size: var(--t-lead); line-height: 1.3; max-width: 30ch; }
.b-events .nl-rh__f { margin: 0; overflow: hidden; background: var(--c-s1); }
.b-events .nl-rh__f img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.04); animation: nl-drift 24s var(--ease) both; }
.b-events .nl-wall { min-height: 90svh; }
.b-events .nl-wall__p { margin-top: 40px; font: 900 var(--t-stmt)/1.2 var(--b-d); letter-spacing: -.03em; max-width: 1200px; }
.b-events .nl-wall__p span { display: inline; }
.b-events .nl-wall__p span:not(:last-child)::after { content: ", "; font-weight: 500; }
.b-events .nl-wall__n { margin-top: 32px; font-size: 16px; max-width: 52ch; }
.b-events .nl-chg__l { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.b-events .nl-chg__l li { background: var(--tile); border-radius: var(--r); padding: 28px; display: grid; gap: 12px; }
.b-events .nl-chg__q { color: var(--fg2); font-size: 17px; }
.b-events .nl-chg__a { font-size: var(--t-lead); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.b-events .nl-gal__g { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 8px; align-items: end; }
.b-events .nl-gal__g figure { margin: 0; }
.b-events .nl-gal__g img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--c-bone2); }
.b-events .nl-gal__g figure:nth-child(2) img, .b-events .nl-gal__g figure:nth-child(3) img { aspect-ratio: 3 / 4; }
.b-events .nl-gal__n { margin-top: 20px; font-size: var(--t-sm); }
.b-events .nl-vids__l { list-style: none; margin: 48px 0 32px; padding: 0; display: grid; gap: 8px; }
.b-events .nl-vids__l li { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; background: var(--tile); border-radius: var(--r); padding: 24px 28px; }
.b-events .nl-vids__l b { font-size: var(--t-lead); letter-spacing: -.02em; }
.b-events .nl-vids__l span { flex: none; font-size: 16px; }

/* ---------- sponsor */
.b-events .nl-ph__go { grid-column: 2; }
.b-events .nl-tiers__l { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 64px; }
.b-events .nl-tier__t { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.b-events .nl-tier__t b { font: 900 clamp(28px, 2.6vw, 40px)/1 var(--b-d); letter-spacing: -.04em; }
.b-events .nl-tier__t span { font: 900 clamp(28px, 2.6vw, 40px)/1 var(--b-d); letter-spacing: -.04em; }
.b-events .nl-tier__n { margin-top: 10px; font-weight: 700; font-size: 16px; }
.b-events .nl-tier__d { margin-top: 10px; max-width: 52ch; }

/* ---------- motion */
@keyframes nl-run { to { transform: translateX(-50%); } }
@keyframes nl-drift { from { transform: scale(1.12); } to { transform: scale(1.02); } }
@keyframes nl-rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
.b-events .nl-hero__h > span { animation: nl-rise .9s var(--ease) both; }
.b-events .nl-hero__h > span + span { animation-delay: .05s; }
.b-events .nl-tick { animation: nl-pop .5s var(--ease); }
@keyframes nl-pop { 0% { transform: scale(1); } 40% { transform: scale(1.04); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .b-events .nl-titles__run, .b-events .nl-strip__run { animation: none; }
  .b-events .nl-strip { overflow-x: auto; }
  .b-events .nl-hero__h > span, .b-events .nl-rh__f img, .b-events .nl-tick { animation: none; }
  .b-events .nl-bar { transition: none; }
  .b-events .nl-btn, .b-events .nl-chip, .b-events .nl-pass, .b-events .nl-print { transition: none; }
}

/* ---------- tablet */
@media (max-width: 1100px) {
  .b-events .nl-nav { display: none; }
  .b-events .nl-menu { display: block; }
  .b-events .nl-bar__end { margin-left: auto; }
  .b-events .nl-tix { grid-template-columns: 1fr; }
  .b-events .nl-tix__sel { position: static; }
  .b-events .nl-ab__g { grid-template-columns: 1fr; }
  .b-events .nl-me { position: sticky; top: calc(var(--bar) + 8px); z-index: 6; order: -1; }
  .b-events .nl-ab__ctl { position: static; }
  .b-events .nl-even__l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b-events .nl-acc__l { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .b-events .nl-jt__g { grid-template-columns: 1fr; }
  .b-events .nl-jt__out { position: static; }
}
@media (max-width: 820px) {
  .b-events .nl-intro { grid-template-columns: 1fr; }
  .b-events .nl-stair, .b-events .nl-intro--solo .nl-stair { grid-column: 1; }
  .b-events .nl-stair__l { padding-left: calc(var(--i) * 5vw); }
  .b-events .nl-intro__pics { grid-column: 1; grid-row: auto; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 40px; }
  .b-events .nl-intro__note { grid-column: 1; margin-top: 32px; }
  .b-events .nl-ml__h, .b-events .nl-mos__h, .b-events .nl-hall__h, .b-events .nl-place__t, .b-events .nl-team-t { grid-template-columns: 1fr; }
  .b-events .nl-items, .b-events .nl-kn__l, .b-events .nl-sp__l, .b-events .nl-tiers__l, .b-events .nl-chg__l { grid-template-columns: 1fr; }
  .b-events .nl-faq, .b-events .nl-sp { grid-template-columns: 1fr; }
  .b-events .nl-faq__h, .b-events .nl-faq__list, .b-events .nl-sp__h, .b-events .nl-sp__l { grid-column: 1; }
  .b-events .nl-faq__h h2, .b-events .nl-sp__h h2 { position: static; margin-bottom: 28px; }
  .b-events .nl-sp__h { margin-bottom: 32px; }
  .b-events .nl-plans, .b-events .nl-hotel, .b-events .nl-rh, .b-events .nl-hall__g { grid-template-columns: 1fr; }
  .b-events .nl-plan { min-height: 70svh; }
  .b-events .nl-three__g { grid-template-columns: 1fr; }
  .b-events .nl-three__g > div { min-height: 0; }
  .b-events .nl-ph__b, .b-events .nl-ph--pic .nl-ph__b { grid-template-columns: 1fr; grid-column: 1 / -1; }
  .b-events .nl-ph--pic .nl-ph__h { grid-column: 1 / -1; }
  .b-events .nl-ph__f { grid-column: 1 / -1; grid-row: auto; max-width: 340px; }
  .b-events .nl-team-t__b { grid-template-columns: 1fr; }
  .b-events .nl-team-t__f { max-width: 300px; }
  .b-events .nl-ph__b > .nl-line, .b-events .nl-ph__b > .nl-cd, .b-events .nl-ph__go { grid-column: 1; grid-row: auto; }
  .b-events .nl-slot { grid-template-columns: 1fr; gap: 8px; }
  .b-events .nl-slot__t { padding-top: 0; }
  .b-events .nl-gal__g { grid-template-columns: 1fr 1fr; }
  .b-events .nl-foot__top { grid-template-columns: 1fr 1fr; }
  .b-events .nl-foot__meta { grid-template-columns: 1fr; }
  .b-events .nl-rh__f { min-height: 56svh; }
}

/* ---------- phone */
@media (max-width: 600px) {
  .b-events { --sec: 72px; --bar: 60px; }
  .b-events .nl-logo { font-size: 18px; }
  .b-events .nl-word b { display: none; }
  .b-events .nl-bar { gap: 10px; }
  .b-events .nl-bar .nl-btn--sm { padding: 0 14px; }
  .b-events .nl-hero { --fs: 17vw; --vh: calc(100svh - var(--bar) - 58px); --seam: calc(var(--vh) * .44); min-height: 760px; height: calc(var(--vh) + 22svh); }
  .b-events .nl-hero__copy { gap: 10px; top: calc(var(--seam) + .72 * var(--fs)); }
  .b-events .nl-hero__when span { display: block; } .b-events .nl-hero__when .nl-hero__dot { display: none; }
  .b-events .nl-hero__sub { max-width: 30ch; }
  .b-events .nl-titles__run p { font-size: 18px; }
  .b-events .nl-intro { min-height: 0; }
  .b-events .nl-passes { grid-template-columns: 1fr; }
  .b-events .nl-pass { grid-template-columns: 1fr auto; align-items: center; min-height: 60px; }
  .b-events .nl-team { grid-template-columns: 1fr auto; }
  .b-events .nl-team__r { grid-column: 1 / -1; }
  .b-events .nl-line ol { grid-template-columns: 1fr; gap: 14px; padding-left: 0; }
  .b-events .nl-line ol::before { left: 11px; right: auto; top: 0; bottom: 0; width: 6px; height: auto; }
  .b-events .nl-line li { padding: 0 0 0 46px; grid-template-columns: auto 1fr; align-items: baseline; gap: 12px; min-height: 28px; }
  .b-events .nl-line li.is-now::after { position: static; grid-column: 1 / -1; }
  .b-events .nl-line--big li b { font-size: var(--t-lead); }
  .b-events .nl-fields { grid-template-columns: 1fr 1fr; }
  .b-events .nl-fields__w { grid-column: 1 / -1; }
  .b-events .nl-it { grid-template-columns: 24px minmax(0, 1fr); gap: 14px; }
  .b-events .nl-stop { width: 24px; height: 24px; }
  .b-events .nl-it__t { flex-direction: column; gap: 2px; font-size: 17px; }
  .b-events .nl-cat__h { flex-direction: column; gap: 8px; margin-bottom: 24px; }
  .b-events .nl-cat__n { font-size: 8.5vw; }
  .b-events .nl-prints { min-height: 78svh; }
  .b-events .nl-prints__h { font-size: 17vw; }
  .b-events .nl-print { width: 34vw; }
  .b-events .nl-print--0 { left: 8vw; top: 5%; }
  .b-events .nl-print--1 { left: auto; right: 8vw; top: 9%; }
  .b-events .nl-prints { padding-bottom: 110px; }
  .b-events .nl-print--2 { display: none; }
  .b-events .nl-prints__s { font-size: 15px; right: var(--m); }
  .b-events .nl-mos__g { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; height: auto; }
  .b-events .nl-mos__p { grid-column: 1 / -1; grid-row: auto; aspect-ratio: 4 / 3; }
  .b-events .nl-tile { aspect-ratio: 1; padding: 18px; }
  .b-events .nl-tile__v { font-size: 13vw; }
  .b-events .nl-tile__c { font-size: 15px; }
  .b-events .nl-faq__h h2 { font-size: 9vw; }
  .b-events .nl-q summary { font-size: 18px; min-height: 64px; padding: 16px 20px; }
  .b-events .nl-q p { padding: 0 20px 20px; font-size: 16px; }
  .b-events .nl-strip img { height: 110px; }
  .b-events .nl-remind__in { padding-top: 48px; }
  .b-events .nl-cells { grid-template-columns: 1fr; }
  .b-events .nl-cell, .b-events .nl-cell input { min-height: 60px; }
  .b-events .nl-opt { grid-column: 1; }
  .b-events .nl-foot__top { grid-template-columns: 1fr; }
  .b-events .nl-foot__mail { font-size: 12vw; }
  .b-events .nl-even__l, .b-events .nl-acc__l, .b-events .nl-dl { grid-template-columns: 1fr; }
  .b-events .nl-plan__foot { grid-template-columns: auto 1fr; }
  .b-events .nl-plan__foot .nl-btn { grid-column: 1 / -1; width: 100%; }
  .b-events .nl-plan__p { font-size: 24vw; }
  .b-events .nl-tbl { font-size: 16px; }
  .b-events .nl-tbl th, .b-events .nl-tbl td { padding: 14px 8px 14px 0; }
  .b-events .nl-tbl td:nth-child(n+3) { font-size: 18px; }
  .b-events .nl-vids__l li { flex-direction: column; gap: 6px; }
  .b-events .nl-tier__t { flex-direction: column; gap: 6px; }
  .b-events .nl-total__big { font-size: 22vw; }
}

/* ---------- inside the Jefi case page */
.b-events.wk-sigwrap .nl-tix { border-radius: 20px; overflow: hidden; }
.b-events.wk-sigwrap .nl-tix__sel { position: static; align-self: stretch; }
