.page-events {
  --events-bg: #f5f7fa;
  --events-card: #ffffff;
  --events-ink: #0d1e40;
  --events-copy: #4c5a70;
  --events-muted: #6d788b;
  --events-line: #dfe4ec;
  --events-red: #d7193f;
  --events-red-dark: #a90022;
  --events-blue: #2d6de5;
  background: var(--events-bg);
  color: var(--events-ink);
}

.page-events #ican-content {
  min-height: 62vh;
  overflow: clip;
}

.page-events .ican-page-width {
  max-width: 1200px;
  padding-top: 36px;
}

.page-events .ican-localnav-links a[aria-current="page"] {
  color: var(--crimson);
  font-weight: 600;
}

.ican-events-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  max-width: none;
  min-height: 430px;
  margin: 0 0 38px;
  padding: clamp(52px, 7vw, 82px) clamp(28px, 6vw, 72px);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 17%, rgba(56, 111, 205, .42), transparent 29%),
    radial-gradient(circle at 73% 118%, rgba(215, 25, 63, .22), transparent 36%),
    linear-gradient(135deg, #07152f 0%, #0d1e40 58%, #132a51 100%);
  box-shadow: 0 26px 70px rgba(13, 30, 64, .15);
}

.ican-events-hero::before,
.ican-events-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
}

.ican-events-hero::before {
  top: -15%;
  right: -2%;
  width: min(42vw, 450px);
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 50%;
  box-shadow:
    0 0 0 58px rgba(255, 255, 255, .035),
    0 0 0 116px rgba(255, 255, 255, .022);
}

.ican-events-hero::after {
  bottom: 0;
  left: clamp(28px, 6vw, 72px);
  width: 76px;
  height: 4px;
  background: var(--events-red);
}

.ican-events-kicker {
  margin: 0 0 20px;
  color: #ff6f82;
  font: 650 11px/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ican-events-hero h1,
.ican-event-detail h1 {
  max-width: 19ch;
  margin: 0;
  color: var(--events-ink);
  font: 530 clamp(44px, 6vw, 70px)/1.01 "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.ican-events-hero h1 {
  max-width: 12ch;
  color: #fff;
}

.ican-events-hero > p:last-child,
.ican-event-lede {
  max-width: 710px;
  margin: 24px 0 0;
  color: var(--events-copy);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.58;
  letter-spacing: -.012em;
}

.ican-events-hero > p:last-child {
  max-width: 650px;
  color: #cbd5e5;
}

.ican-events-list {
  margin-bottom: 64px;
}

.ican-events-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 4px 2px 22px;
}

.ican-events-heading p {
  margin: 0 0 9px;
  color: var(--events-red-dark);
  font: 650 10px/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .16em;
}

.ican-events-heading h2 {
  margin: 0;
  color: var(--events-ink);
  font-size: clamp(28px, 4vw, 40px);
  font-weight: 540;
  letter-spacing: -.042em;
  line-height: 1.1;
}

.ican-events-heading > span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 13px;
  border: 1px solid var(--events-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  color: var(--events-muted);
  font: 550 11px/1 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  white-space: nowrap;
}

.ican-event-card {
  position: relative;
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 48px;
  gap: 26px;
  align-items: center;
  margin-bottom: 14px;
  padding: 27px 28px;
  border: 1px solid var(--events-line);
  border-radius: 16px;
  background: var(--events-card);
  box-shadow: 0 1px 2px rgba(13, 30, 64, .025);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.ican-event-card.has-poster {
  grid-template-columns: 78px 92px minmax(0, 1fr) 48px;
}

.ican-event-card-poster {
  display: block;
  aspect-ratio: 5 / 7;
  overflow: hidden;
  border: 1px solid #c6d2e4;
  border-radius: 6px;
  background: var(--events-ink);
  box-shadow: 0 9px 22px rgba(13, 30, 64, .14);
}

.ican-event-card-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ican-event-card::before {
  content: "";
  position: absolute;
  inset: 18px auto 18px 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  background: var(--events-red);
  opacity: 0;
  transition: opacity .2s ease;
}

.ican-event-card > time {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  border-right: 1px solid var(--events-line);
  text-transform: uppercase;
}

.ican-event-card > time strong {
  color: var(--events-red-dark);
  font: 700 11px/1.2 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .14em;
}

.ican-event-card > time span {
  margin-top: 6px;
  color: var(--events-ink);
  font-size: 39px;
  font-weight: 430;
  letter-spacing: -.055em;
  line-height: 1;
}

.ican-event-meta,
.ican-event-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  color: var(--events-muted);
  font: 540 11px/1.5 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ican-event-meta span:first-child {
  color: var(--events-red-dark);
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ican-event-meta span + span {
  display: inline-flex;
  align-items: center;
  padding: 1px 8px;
  border-radius: 999px;
  background: #eef3fb;
  color: #445775;
}

.ican-event-card.is-priority {
  border-color: #c9d8ec;
  background:
    linear-gradient(90deg, rgba(235, 242, 252, .72), rgba(255, 255, 255, 0) 34%),
    var(--events-card);
}

.ican-event-card.is-priority .ican-event-meta span + span {
  background: #e7eefb;
  color: #173d72;
  font-weight: 650;
}

.ican-event-card h3 {
  margin: 9px 0 8px;
  color: var(--events-ink);
  font-size: clamp(22px, 2.6vw, 28px);
  font-weight: 540;
  letter-spacing: -.034em;
  line-height: 1.17;
  text-wrap: pretty;
}

.ican-event-card h3 a {
  color: inherit;
  text-decoration: none;
}

.ican-event-card p {
  display: -webkit-box;
  max-width: 720px;
  margin: 0 0 13px;
  overflow: hidden;
  color: var(--events-copy);
  font-size: 15px;
  line-height: 1.58;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ican-event-facts span + span::before {
  content: "·";
  margin-right: 16px;
  color: #a7b0be;
}

.ican-event-arrow {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #d7dde7;
  border-radius: 50%;
  color: var(--events-red);
  font-size: 21px;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease, transform .2s ease;
}

@media (hover: hover) {
  .ican-event-card:hover {
    border-color: #cbd4e1;
    box-shadow: 0 16px 38px rgba(13, 30, 64, .09);
    transform: translateY(-2px);
  }

  .ican-event-card:hover::before {
    opacity: 1;
  }

  .ican-event-card:hover h3 a {
    color: var(--events-red-dark);
  }

  .ican-event-card:hover .ican-event-arrow {
    border-color: var(--events-red);
    background: var(--events-red);
    color: #fff;
    transform: translate(2px, -2px);
  }
}

.ican-events-empty {
  position: relative;
  padding: 54px 40px;
  border: 1px solid var(--events-line);
  border-radius: 16px;
  background: var(--events-card);
  box-shadow: 0 12px 35px rgba(13, 30, 64, .06);
}

.ican-events-list > .ican-events-empty {
  padding-left: 118px;
}

.ican-events-list > .ican-events-empty::before {
  content: "";
  position: absolute;
  top: 48px;
  left: 42px;
  width: 46px;
  height: 46px;
  border: 1px solid #d8dfeb;
  border-radius: 50%;
  background:
    linear-gradient(var(--events-red), var(--events-red)) 50% 12px / 2px 22px no-repeat,
    radial-gradient(circle, var(--events-red) 0 2px, transparent 3px) 50% 35px / 100% 100% no-repeat,
    #f8fafc;
}

.ican-events-empty h1,
.ican-events-empty h2,
.ican-events-empty h3 {
  max-width: 18ch;
  margin: 0;
  color: var(--events-ink);
  font-size: clamp(29px, 4vw, 43px);
  font-weight: 540;
  letter-spacing: -.04em;
  line-height: 1.08;
  text-wrap: balance;
}

.ican-events-empty p {
  max-width: 620px;
  margin: 16px 0 0;
  color: var(--events-copy);
  font-size: 16px;
  line-height: 1.65;
}

.ican-events-system-state {
  min-height: 430px;
  margin: 24px 0 52px;
  padding: clamp(48px, 7vw, 80px);
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0, rgba(45, 109, 229, .12), transparent 38%),
    #fff;
}

.ican-events-state-mark {
  display: grid;
  width: 52px;
  height: 52px;
  margin-bottom: 30px;
  place-items: center;
  border-radius: 50%;
  background: #fff0f2;
  color: var(--events-red-dark);
  font-size: 24px;
  font-weight: 500;
}

.ican-events-state-kicker {
  margin: 0 0 12px !important;
  color: var(--events-red-dark) !important;
  font: 650 10px/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ican-events-state-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 26px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--events-red);
  color: #fff !important;
  font-size: 13px;
  font-weight: 650;
}

.ican-event-detail {
  padding: 42px 0 56px;
}

.ican-event-back {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-bottom: 34px;
  color: #56647a;
  font-size: 13px;
  font-weight: 570;
}

.ican-event-back:hover {
  color: var(--events-red-dark);
}

.ican-event-detail > .ican-events-kicker {
  color: var(--events-red-dark);
}

.ican-event-detail > .ican-event-lede {
  max-width: 800px;
}

.ican-event-launch-note {
  position: relative;
  max-width: 880px;
  margin-top: 34px;
  padding: 28px 30px 27px 34px;
  overflow: hidden;
  border: 1px solid #cbd9ed;
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(56, 116, 211, .16), transparent 42%),
    linear-gradient(135deg, #f8fbff, #eef4fc);
  box-shadow: 0 13px 34px rgba(13, 30, 64, .07);
}

.ican-event-launch-note::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--events-red);
}

.ican-event-launch-note > span {
  color: var(--events-red-dark);
  font: 700 10px/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .15em;
}

.ican-event-launch-note h2 {
  max-width: 650px;
  margin: 9px 0 10px;
  color: var(--events-ink);
  font-size: clamp(23px, 3vw, 31px);
  font-weight: 550;
  letter-spacing: -.035em;
  line-height: 1.16;
}

.ican-event-launch-note p {
  max-width: 680px;
  margin: 0;
  color: var(--events-copy);
  font-size: 15px;
  line-height: 1.62;
}

.ican-event-launch-note > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.ican-event-launch-note > div span {
  display: inline-flex;
  min-height: 31px;
  align-items: center;
  padding: 0 11px;
  border: 1px solid #cfdaea;
  border-radius: 999px;
  background: rgba(255, 255, 255, .8);
  color: #334b6d;
  font-size: 11px;
  font-weight: 620;
}

.ican-event-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 350px);
  gap: clamp(38px, 7vw, 78px);
  align-items: start;
  margin-top: 46px;
  padding-top: 42px;
  border-top: 1px solid var(--events-line);
}

.ican-event-description {
  min-width: 0;
  color: #344054;
  font-size: 17px;
  line-height: 1.78;
}

.ican-event-description > p:first-child {
  margin-top: 0;
}

.ican-event-description a:not(.ican-event-register) {
  color: var(--events-red-dark);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.ican-event-poster {
  margin: 0 0 36px;
}

.ican-event-poster img {
  display: block;
  width: min(100%, 680px);
  height: auto;
  border: 1px solid #c6d2e4;
  border-radius: 12px;
  background: var(--events-ink);
  box-shadow: 0 24px 60px rgba(13, 30, 64, .16);
}

.ican-event-detail aside {
  position: sticky;
  top: 130px;
  align-self: start;
  padding: 28px;
  overflow: hidden;
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(64, 125, 224, .34), transparent 42%),
    var(--events-ink);
  color: #fff;
  box-shadow: 0 22px 55px rgba(13, 30, 64, .16);
}

.ican-event-detail dl,
.ican-event-detail dl div {
  margin: 0;
}

.ican-event-detail dl div {
  margin-bottom: 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .17);
}

.ican-event-detail dt {
  color: #b9c6da;
  font: 650 10px/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ican-event-detail dd {
  margin: 8px 0 0;
  color: #fff;
  font-size: 16px;
  line-height: 1.45;
}

.ican-event-register {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 0;
  border-radius: 5px;
  background: var(--events-red);
  box-shadow: 0 8px 22px rgba(169, 0, 34, .16);
  color: #fff;
  font-weight: 650;
  text-align: center;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.ican-event-register:hover {
  background: var(--events-red-dark);
  color: #fff;
}

.ican-event-register.is-secondary {
  background: #fff;
  box-shadow: none;
  color: var(--events-ink);
}

.ican-event-register.is-secondary:hover {
  background: #edf2f9;
  color: var(--events-ink);
}

.ican-event-detail aside small {
  display: block;
  margin-top: 14px;
  color: #b7c3d4;
  line-height: 1.55;
}

.ican-public-registration {
  margin-top: 42px;
  padding: 30px;
  border: 1px solid var(--events-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(13, 30, 64, .06);
}

.ican-public-registration.is-priority {
  border-color: #c6d6ec;
  background:
    linear-gradient(180deg, rgba(242, 247, 254, .82), rgba(255, 255, 255, 0) 150px),
    #fff;
  box-shadow: 0 18px 45px rgba(13, 30, 64, .09);
}

.ican-public-registration.is-priority h2::before {
  content: "EARLY ACCESS";
  display: block;
  margin-bottom: 9px;
  color: var(--events-red-dark);
  font: 700 10px/1.4 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .15em;
}

.ican-public-registration h2 {
  margin: 0 0 10px;
  color: var(--events-ink);
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 540;
  letter-spacing: -.036em;
  line-height: 1.15;
}

.ican-public-registration > p {
  margin: 0 0 24px;
  color: var(--events-copy);
}

.ican-public-registration form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.ican-form-row {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.ican-form-row.is-wide,
.ican-public-registration form > .ican-event-register,
.ican-form-note {
  grid-column: 1 / -1;
}

.ican-form-row label {
  color: #25324a;
  font-size: 13px;
  font-weight: 650;
}

.ican-form-row input {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #aeb8c7;
  border-radius: 5px;
  background: #fbfcfe;
  color: #152033;
  font: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.ican-form-row input:hover {
  border-color: #7f8da3;
}

.ican-form-row input:focus {
  border-color: var(--events-blue);
  box-shadow: 0 0 0 3px rgba(45, 109, 229, .16);
}

.ican-public-registration button {
  cursor: pointer;
  font-size: 15px;
}

.ican-form-note {
  margin: 0 !important;
  color: var(--events-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
}

.ican-hp {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

.ican-event-unavailable {
  margin-top: 38px;
  padding: 18px 20px;
  border: 1px solid #f1c7cd;
  border-left: 4px solid var(--events-red);
  border-radius: 6px;
  background: #fff6f7;
  color: #6e2834;
}

.ican-event-notice {
  margin: 28px 0 0;
  padding: 15px 18px;
  border: 1px solid #cfe5d5;
  border-left: 4px solid #2d6e45;
  border-radius: 6px;
  background: #eef7f1;
  color: #244c32;
  font-size: 13px;
}

.ican-event-notice.is-error {
  border-color: #f2c8c3;
  border-left-color: #b42318;
  background: #fff1f0;
  color: #7a271a;
}

.ican-member-events article {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 30px;
  padding: 24px 0;
  border-top: 1px solid #dde2e9;
}

.ican-member-events article:first-of-type {
  margin-top: 26px;
}

.ican-member-events article time {
  color: #bf1634;
  font: 550 11px/1.5 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ican-member-events article h3 {
  margin: 8px 0;
  font-size: 23px;
}

.ican-member-events article > div:last-child {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 14px;
  text-align: right;
}

.ican-member-events article > div:last-child strong {
  color: #536078;
  font-size: 12px;
}

.ican-member-events article a {
  color: #c51632;
  font-weight: 600;
}

.ican-member-events article p {
  margin: 0;
  color: #657084;
}

.ican-member-events article small {
  display: block;
  max-width: 620px;
  margin-top: 10px;
  color: #64728a;
  font-size: 12px;
  line-height: 1.55;
}

.ican-member-events article.is-priority {
  margin-inline: -18px;
  padding-inline: 18px;
  border-radius: 12px;
  background: linear-gradient(90deg, #f4f8fe, rgba(244, 248, 254, 0));
}

.ican-event-action {
  min-height: 44px;
  padding: 0 19px;
  border: 0;
  border-radius: 999px;
  background: #ec1a33;
  color: #fff;
  cursor: pointer;
  font: 600 12px "Helvetica Neue", Arial, sans-serif;
}

.ican-event-action:hover {
  background: #ae0112;
}

.ican-event-action.is-cancel {
  border: 1px solid #d7b7bd;
  background: #fff;
  color: #7a2430;
}

.ican-member-events form {
  margin: 0;
}

.ican-event-history {
  margin-top: 24px;
}

.ican-history-list {
  margin-top: 24px;
  border-top: 1px solid #dde2e9;
}

.ican-history-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 18px 0;
  border-bottom: 1px solid #dde2e9;
}

.ican-history-list h3 {
  margin: 0 0 5px;
  font-size: 18px;
}

.ican-history-list p {
  margin: 0;
  color: #697386;
  font-size: 13px;
}

.ican-history-list strong {
  color: #536078;
  font-size: 12px;
  text-align: right;
}

.ican-form-row input:focus-visible,
.ican-event-register:focus-visible,
.ican-event-action:focus-visible,
.ican-event-back:focus-visible,
.ican-event-card a:focus-visible,
.ican-events-state-action:focus-visible {
  outline: 3px solid #126bc5;
  outline-offset: 3px;
}

@media (max-width: 900px) {
  .ican-event-detail-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .ican-event-detail aside {
    position: static;
  }

  .ican-public-registration form {
    grid-template-columns: 1fr;
  }

  .ican-form-row.is-wide,
  .ican-public-registration form > .ican-event-register,
  .ican-form-note {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .page-events .ican-page-width {
    padding-top: 22px;
  }

  .ican-events-hero {
    min-height: 380px;
    margin-inline: -2px;
    padding: 48px 25px 52px;
    border-radius: 18px;
  }

  .ican-events-hero::before {
    top: auto;
    right: -30%;
    bottom: -20%;
    width: 330px;
  }

  .ican-events-hero::after {
    left: 25px;
  }

  .ican-events-hero h1,
  .ican-event-detail h1 {
    max-width: 18ch;
    font-size: clamp(39px, 12vw, 56px);
    overflow-wrap: anywhere;
  }

  .ican-events-hero > p:last-child,
  .ican-event-lede {
    font-size: 17px;
  }

  .ican-events-heading {
    align-items: flex-start;
  }

  .ican-event-card {
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 18px;
    padding: 23px 20px;
  }

  .ican-event-card.has-poster {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .ican-event-card-poster {
    display: none;
  }

  .ican-event-card > time {
    align-self: start;
    min-height: 72px;
  }

  .ican-event-card > time span {
    font-size: 33px;
  }

  .ican-event-card > div {
    padding-right: 36px;
  }

  .ican-event-card p {
    -webkit-line-clamp: 3;
  }

  .ican-event-facts {
    flex-direction: column;
    gap: 6px;
  }

  .ican-event-facts span + span::before {
    content: none;
  }

  .ican-event-arrow {
    position: absolute;
    top: 22px;
    right: 16px;
  }

  .ican-events-list > .ican-events-empty {
    padding: 96px 24px 34px;
  }

  .ican-events-list > .ican-events-empty::before {
    top: 30px;
    left: 24px;
  }

  .ican-events-system-state {
    min-height: 390px;
    margin-top: 8px;
    padding: 42px 25px;
  }

  .ican-event-detail {
    padding-top: 24px;
  }

  .ican-event-detail-grid {
    margin-top: 34px;
    padding-top: 32px;
  }

  .ican-event-launch-note {
    padding: 25px 22px 24px 26px;
  }

  .ican-event-launch-note > div {
    align-items: flex-start;
    flex-direction: column;
  }

  .ican-public-registration {
    padding: 24px 20px;
  }

  .ican-member-events article {
    grid-template-columns: 1fr;
  }

  .ican-member-events article > div:last-child {
    align-items: flex-start;
    text-align: left;
  }

  .ican-history-list article {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .ican-history-list strong {
    text-align: left;
  }
}

@media (max-width: 420px) {
  .ican-events-heading {
    gap: 14px;
  }

  .ican-events-heading > span {
    padding-inline: 10px;
  }

  .ican-event-card {
    grid-template-columns: 49px minmax(0, 1fr);
    gap: 14px;
    padding-inline: 16px;
  }

  .ican-event-card > div {
    padding-right: 30px;
  }

  .ican-event-card h3 {
    font-size: 21px;
  }

  .ican-event-meta {
    display: grid;
    justify-items: start;
    gap: 6px;
  }

  .ican-event-arrow {
    right: 10px;
  }
}

@media (max-width: 300px) {
  .page-events .ican-global-donate {
    display: none !important;
  }

  .page-events .ican-global-toggle {
    min-width: 44px;
    min-height: 44px;
    margin-inline-start: auto;
  }

  .ican-event-card {
    display: block;
  }

  .ican-event-card > time {
    min-height: 0;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-right: 0;
    border-bottom: 1px solid var(--events-line);
  }
}

/* Ticketed flagship event: one immersive stage, one purchase-intent action. */
.page-events:has(.ican-event-detail.is-priority) {
  background: #fff;
}

.ican-event-detail.is-priority {
  margin-top: -36px;
  padding: 0 0 clamp(72px, 9vw, 118px);
}

.ican-event-detail.is-priority .ican-event-stage {
  position: relative;
  isolation: isolate;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
  border-bottom: 1px solid #dfe4ec;
  background:
    radial-gradient(circle at 87% 16%, rgba(45, 109, 229, .1), transparent 30%),
    linear-gradient(120deg, #fff 0%, #fbfaf7 68%, #f1f5fb 100%);
  color: var(--events-ink);
}

.ican-event-stage::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  z-index: -1;
  height: 5px;
  background: linear-gradient(90deg, var(--events-red) 0 16%, transparent 16% 100%);
}

.ican-event-stage-inner {
  position: relative;
  display: grid;
  width: min(calc(100% - 48px), 1200px);
  min-height: clamp(620px, 72vh, 760px);
  margin: 0 auto;
  grid-template-columns: minmax(0, 1fr) minmax(440px, .82fr);
  align-items: center;
}

.ican-event-stage-copy {
  position: relative;
  z-index: 2;
  max-width: 690px;
  padding: 76px 0 72px;
}

.ican-event-detail.is-priority .ican-event-back {
  margin: 0 0 clamp(52px, 7vh, 76px);
  color: #536078;
}

.ican-event-detail.is-priority .ican-event-back:hover {
  color: var(--events-red-dark);
}

.ican-event-detail.is-priority .ican-events-kicker {
  margin-bottom: 19px;
  color: var(--events-red-dark);
}

.ican-event-detail.is-priority .ican-event-stage h1 {
  max-width: 10.5ch;
  color: var(--events-ink);
  font-size: clamp(58px, 6.8vw, 96px);
  font-weight: 540;
  letter-spacing: -.065em;
  line-height: .92;
  text-wrap: balance;
}

.ican-event-detail.is-priority .ican-event-stage h1 span {
  display: block;
  margin: 0 0 14px 5px;
  color: #536078;
  font: 620 12px/1.3 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.ican-event-detail.is-priority .ican-event-lede {
  max-width: 590px;
  margin-top: 29px;
  color: #46556b;
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.52;
}

.ican-event-stage-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: 38px;
}

.ican-event-stage-facts > div {
  min-width: 138px;
  padding: 0 25px;
  border-left: 1px solid #ccd4df;
}

.ican-event-stage-facts > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.ican-event-stage-facts span,
.ican-event-stage-facts strong {
  display: block;
}

.ican-event-stage-facts span {
  margin-bottom: 8px;
  color: #6c788a;
  font: 650 9px/1.2 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.ican-event-stage-facts strong {
  max-width: 180px;
  color: var(--events-ink);
  font-size: 14px;
  font-weight: 560;
  line-height: 1.35;
}

.ican-event-stage-cta {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-top: 38px;
  padding: 0 20px 0 22px;
  border-radius: 5px;
  background: var(--events-red);
  box-shadow: 0 14px 34px rgba(169, 0, 34, .28);
  color: #fff;
  font-size: 14px;
  font-weight: 670;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}

.ican-event-stage-cta:hover {
  background: #ef2549;
  color: #fff;
  transform: translateY(-2px);
}

.ican-event-stage-cta span {
  font-size: 19px;
  line-height: 1;
}

.ican-event-stage-trust {
  margin: 13px 0 0;
  color: #697487;
  font-size: 12px;
  line-height: 1.45;
}

.ican-event-stage-art {
  position: absolute;
  inset: 42px 0 42px 56%;
  z-index: 0;
  margin: 0;
  overflow: visible;
}

.ican-event-stage-art::before,
.ican-event-stage-art::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.ican-event-stage-art::before {
  display: none;
}

.ican-event-stage-art::after {
  display: none;
}

.ican-event-stage-art img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 100%;
  margin-left: auto;
  border-radius: 8px;
  object-fit: contain;
  object-position: center;
  box-shadow: 0 28px 70px rgba(13, 30, 64, .18);
  filter: none;
  opacity: 1;
  transform: none;
}

.ican-event-detail.is-priority > .ican-event-notice {
  max-width: 1200px;
  margin: 28px auto 0;
}

.ican-event-detail.is-priority .ican-event-detail-grid {
  grid-template-columns: minmax(0, 1fr) minmax(350px, 410px);
  gap: clamp(58px, 8vw, 104px);
  margin-top: 0;
  padding-top: clamp(66px, 8vw, 94px);
  border-top: 0;
}

.ican-event-detail.is-priority .ican-event-description {
  max-width: 690px;
  color: #334158;
  font-size: 18px;
  line-height: 1.78;
}

.ican-event-detail.is-priority .ican-event-description .ican-event-poster {
  display: none;
}

.ican-event-detail.is-priority .ican-event-description h2 {
  margin: 0 0 19px;
  color: var(--events-ink);
  font-size: clamp(38px, 5vw, 58px);
  font-weight: 520;
  letter-spacing: -.052em;
  line-height: 1.02;
}

.ican-event-detail.is-priority .ican-event-description h3 {
  margin: 52px 0 18px;
  color: var(--events-ink);
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 540;
  letter-spacing: -.04em;
  line-height: 1.12;
}

.ican-event-detail.is-priority .ican-event-description p {
  margin: 0 0 22px;
}

.ican-event-detail.is-priority aside {
  top: 116px;
  padding: 0 34px 32px;
  border: 1px solid #1d3866;
  border-radius: 12px;
  background:
    radial-gradient(circle at 100% 0, rgba(45, 109, 229, .3), transparent 40%),
    #0a1a39;
  box-shadow: none;
}

.ican-event-detail.is-priority .ican-public-registration,
.ican-event-detail.is-priority .ican-public-registration.is-priority {
  margin: 0 -34px;
  padding: 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ican-event-detail.is-priority .ican-public-registration.is-priority h2::before {
  content: "TICKET PRE-SALE RSVP";
  margin-bottom: 11px;
  color: #ff7183;
}

.ican-event-detail.is-priority .ican-public-registration h2 {
  color: #fff;
  font-size: clamp(28px, 3vw, 35px);
  line-height: 1.08;
}

.ican-event-detail.is-priority .ican-public-registration > p {
  color: #c4cee0;
  font-size: 14px;
  line-height: 1.6;
}

.ican-event-detail.is-priority .ican-form-row label {
  color: #edf2fa;
}

.ican-event-detail.is-priority .ican-form-row input {
  min-height: 52px;
  border-color: #536784;
  border-radius: 4px;
  background: #fff;
}

.ican-event-detail.is-priority .ican-event-register {
  min-height: 52px;
  margin-top: 4px;
}

.ican-event-detail.is-priority .ican-form-note {
  color: #9fafc5 !important;
}

.ican-event-presale-facts {
  padding: 27px 0 2px;
  border-top: 1px solid rgba(255, 255, 255, .17);
}

.ican-event-presale-facts > p {
  margin: 0 0 22px;
  color: #ff7183;
  font: 650 10px/1.3 -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.ican-event-detail.is-priority .ican-event-presale-facts dl div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px;
  margin: 0;
  padding: 14px 0;
}

.ican-event-detail.is-priority .ican-event-presale-facts dt,
.ican-event-detail.is-priority .ican-event-presale-facts dd {
  margin: 0;
}

.ican-event-detail.is-priority .ican-event-presale-facts dd {
  max-width: 190px;
  color: #fff;
  font-size: 13px;
  text-align: right;
}

.ican-event-manage-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  margin-top: 24px;
  color: #fff;
  font-size: 13px;
  font-weight: 640;
  text-decoration-color: rgba(255, 255, 255, .45);
  text-underline-offset: 4px;
}

.ican-event-manage-link:hover {
  color: #ff8b9a;
}

.ican-event-detail.is-priority aside > small {
  margin-top: 3px;
}

.ican-event-stage-cta:focus-visible {
  outline: 3px solid var(--events-ink);
  outline-offset: 4px;
}

.ican-event-manage-link:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

@media (max-width: 980px) {
  .ican-event-stage-inner {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .ican-event-stage-copy {
    max-width: 680px;
    padding: 54px 0 42px;
  }

  .ican-event-stage-art {
    position: relative;
    inset: auto;
    width: min(100%, 520px);
    aspect-ratio: 5 / 7;
    margin: 0 auto 52px;
  }

  .ican-event-stage-art::before {
    display: none;
  }

  .ican-event-stage-art::after {
    display: none;
  }

  .ican-event-stage-art img {
    width: 100%;
    height: 100%;
    margin: 0;
    object-position: center;
    opacity: 1;
  }

  .ican-event-detail.is-priority .ican-event-detail-grid {
    grid-template-columns: 1fr;
  }

  .ican-event-detail.is-priority aside {
    position: static;
    order: -1;
    max-width: 680px;
  }
}

@media (max-width: 760px) {
  .ican-event-detail.is-priority {
    margin-top: -22px;
  }

  .ican-event-stage-inner {
    width: min(calc(100% - 38px), 1200px);
    min-height: 700px;
  }

  .ican-event-stage-copy {
    padding: 34px 0 36px;
  }

  .ican-event-detail.is-priority .ican-event-back {
    margin-bottom: 50px;
  }

  .ican-event-detail.is-priority .ican-event-stage h1 {
    max-width: 9ch;
    font-size: clamp(47px, 14vw, 66px);
  }

  .ican-event-detail.is-priority .ican-event-lede {
    font-size: 17px;
  }

  .ican-event-stage-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 0;
    margin-top: 32px;
  }

  .ican-event-stage-facts > div,
  .ican-event-stage-facts > div:first-child {
    min-width: 0;
    padding: 0 15px;
    border-left: 1px solid #ccd4df;
  }

  .ican-event-stage-facts > div:nth-child(odd) {
    padding-left: 0;
    border-left: 0;
  }

  .ican-event-stage-facts strong {
    font-size: 13px;
  }

  .ican-event-stage-cta {
    width: 100%;
  }

  .ican-event-detail.is-priority .ican-event-detail-grid {
    gap: 52px;
    padding-top: 46px;
  }

  .ican-event-detail.is-priority aside {
    padding-inline: 22px;
  }

  .ican-event-detail.is-priority .ican-public-registration,
  .ican-event-detail.is-priority .ican-public-registration.is-priority {
    margin-inline: -22px;
    padding: 28px 22px;
  }
}

@media (max-width: 380px) {
  .ican-event-stage-inner {
    width: calc(100% - 30px);
  }

  .ican-event-detail.is-priority .ican-event-stage h1 {
    font-size: 44px;
  }

  .ican-event-stage-facts {
    grid-template-columns: 1fr;
  }

  .ican-event-stage-facts > div,
  .ican-event-stage-facts > div:first-child {
    padding: 0;
    border-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-events *,
  .page-events *::before,
  .page-events *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Event details share a calm editorial hierarchy: essentials, image, then RSVP. */
.page-events .ican-event-detail *{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif!important}
.ican-event-detail.is-priority{margin-top:-36px;padding-bottom:80px;background:#fff}
.ican-event-detail.is-priority .ican-event-stage{border-bottom:1px solid #e0e3e8;background:#f7f8fa}
.ican-event-detail.is-priority .ican-event-stage:after{display:none}
.ican-event-detail.is-priority .ican-event-stage-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.76fr);gap:clamp(35px,5vw,75px);width:min(calc(100% - 48px),1120px);min-height:0;padding:55px 0 65px;align-items:center}
.ican-event-detail.is-priority .ican-event-stage-copy{max-width:650px;padding:0}
.ican-event-detail.is-priority .ican-event-back{margin:0 0 34px;color:#5f6670}
.ican-event-detail.is-priority .ican-events-kicker{margin-bottom:13px;color:#bc1832;font-size:12px;font-weight:700;letter-spacing:.065em;text-transform:uppercase}
.ican-event-detail.is-priority .ican-event-stage h1{max-width:13ch;color:#232323;font-size:clamp(43px,4.9vw,67px);font-weight:650;line-height:1.02;letter-spacing:-.052em}
.ican-event-detail.is-priority .ican-event-lede{max-width:620px;margin-top:23px;color:#555e6b;font-size:clamp(17px,1.6vw,20px);line-height:1.55}
.ican-event-detail.is-priority .ican-event-stage-facts{gap:0;margin-top:30px;padding:16px 0;border-top:1px solid #d4d9e1;border-bottom:1px solid #d4d9e1}
.ican-event-detail.is-priority .ican-event-stage-facts>div{min-width:0;padding:0 20px;border-color:#d4d9e1}
.ican-event-detail.is-priority .ican-event-stage-facts>div:first-child{padding-left:0}
.ican-event-detail.is-priority .ican-event-stage-facts span{margin-bottom:6px;color:#626b78;font-size:11px;font-weight:650;letter-spacing:.055em}
.ican-event-detail.is-priority .ican-event-stage-facts strong{max-width:190px;color:#232323;font-size:14px;font-weight:600}
.ican-event-detail.is-priority .ican-event-stage-cta{min-height:50px;margin-top:28px;padding:0 19px;border:0;border-radius:4px;background:#ec1a33;box-shadow:none;color:#fff!important;font-size:14px;font-weight:650;text-decoration:none}
.ican-event-detail.is-priority .ican-event-stage-cta:hover{background:#c70e2a;color:#fff!important}
.ican-event-detail.is-priority .ican-event-stage-trust{margin-top:10px;color:#626b78}
.ican-event-detail.is-priority .ican-event-stage-art{position:relative;inset:auto;z-index:0;align-self:center;width:100%;height:460px;margin:0}
.ican-event-detail.is-priority .ican-event-stage-art img{width:100%;max-width:100%;height:100%;margin:0;border-radius:4px;object-fit:contain;box-shadow:none}
.ican-event-detail.is-priority .ican-event-detail-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px);gap:clamp(45px,7vw,92px);max-width:1120px;margin:0 auto;padding:65px 0 0}
.ican-event-detail.is-priority .ican-event-description{color:#39414b;font-size:17px;line-height:1.68}
.ican-event-detail.is-priority .ican-event-description h2{font-size:clamp(32px,3.5vw,45px);font-weight:630;line-height:1.1;color:#232323}
.ican-event-detail.is-priority .ican-event-description h3{margin-top:37px;font-size:26px;font-weight:620;color:#232323}
.ican-event-detail.is-priority aside{position:static;top:auto;padding:0 26px 26px;border:1px solid #dce0e6;border-radius:6px;background:#fff;color:#232323;box-shadow:0 12px 34px #18263a10}
.ican-event-detail.is-priority .ican-public-registration,.ican-event-detail.is-priority .ican-public-registration.is-priority{margin:0 -26px;padding:28px 26px 18px;background:none}
.ican-event-detail.is-priority .ican-public-registration.is-priority h2::before{content:"TICKET PRE-SALE";color:#b41831;font-size:11px;letter-spacing:.065em}
.ican-event-detail.is-priority .ican-public-registration h2{color:#232323;font-size:27px;font-weight:640}
.ican-event-detail.is-priority .ican-public-registration>p{color:#5a6370;font-size:14px}
.ican-event-detail.is-priority .ican-form-row label{color:#333b47;font-size:12px}
.ican-event-detail.is-priority .ican-form-row input{border:1px solid #bdc4cf;background:#fff;color:#232323}
.ican-event-detail.is-priority .ican-event-register{border:0;background:#ec1a33;color:#fff!important;font-size:14px;font-weight:650;box-shadow:none}
.ican-event-detail.is-priority .ican-event-register:hover{background:#c70e2a;color:#fff!important}
.ican-event-detail.is-priority .ican-form-note{color:#656e7b!important}
.ican-event-detail.is-priority .ican-event-availability{margin:4px 0 0;padding:16px 0;border-top:1px solid #e1e4e9;color:#626b78;font-size:12px;line-height:1.55}
.ican-event-detail.is-priority .ican-event-availability strong{color:#333b47;font-weight:650}
.ican-event-detail.is-priority .ican-event-manage-link{margin-top:7px;color:#a9142c;font-weight:600}
.ican-event-detail.is-priority aside>small{color:#68717e}
@media(max-width:900px){.ican-event-detail.is-priority .ican-event-stage-inner{grid-template-columns:1fr}.ican-event-detail.is-priority .ican-event-stage-art{height:390px}.ican-event-detail.is-priority .ican-event-detail-grid{grid-template-columns:1fr;max-width:700px;padding-inline:24px}.ican-event-detail.is-priority aside{max-width:540px}}
@media(max-width:600px){.ican-event-detail.is-priority .ican-event-stage-inner{width:calc(100% - 40px);padding:32px 0 44px;gap:27px}.ican-event-detail.is-priority .ican-event-stage h1{font-size:43px}.ican-event-detail.is-priority .ican-event-stage-facts{gap:15px}.ican-event-detail.is-priority .ican-event-stage-facts>div{padding:0 12px 0 0;border:0}.ican-event-detail.is-priority .ican-event-stage-art{height:330px}.ican-event-detail.is-priority .ican-event-detail-grid{padding-top:43px}}
