.jciq-expand { --expand-ink: #172b39; --expand-accent: #126ba0; color: var(--expand-ink); visibility: visible; }
.home-upcoming #home-upcoming-title { font-size: 36px; line-height: 1.2; letter-spacing: 0; }
.home-upcoming.content-section { padding-top: 72px; padding-bottom: 72px; }
.jciq-expand [hidden] { display: none !important; }
.jciq-expand .splide__track { overflow: visible; }
.jciq-expand .splide__list { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.jciq-expand .splide__slide { min-width: 0; margin: 0; list-style: none; }
.jciq-expand__event { min-width: 0; }
.jciq-expand__poster { position: relative; display: flex; align-items: center; justify-content: center; height: 470px; padding: 20px; overflow: hidden; border-radius: 8px; background: #edf4f5; }
.jciq-expand .splide__slide:nth-child(2n) .jciq-expand__poster { background: #eef1f8; }
.jciq-expand__poster img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; transform: scale(1); transform-origin: center; }
.jciq-expand__select { display: none; position: absolute; inset: 0; width: 100%; height: 100%; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.jciq-expand__select:focus-visible { outline: 3px solid #126ba0; outline-offset: -5px; }
.jciq-expand__expand-icon { display: grid; place-items: center; position: absolute; right: 16px; bottom: 16px; width: 42px; height: 42px; border: 1px solid #d0dde5; border-radius: 50%; background: #fff; opacity: 0; transition: opacity 180ms ease; }
.jciq-expand__select:hover .jciq-expand__expand-icon, .jciq-expand__select:focus-visible .jciq-expand__expand-icon { opacity: 1; }
.jciq-expand__expand-icon img, .jciq-expand__arrow img { width: 20px; height: 20px; object-fit: contain; }
.jciq-expand__body { padding-top: 20px; }
.jciq-expand__date { display: flex; align-items: center; gap: 10px; margin: 0 0 12px; font-size: 14px; font-weight: 700; }
.jciq-expand__date time { padding: 5px 10px; border-radius: 4px; color: #0b5687; background: #e6f2fa; }
.jciq-expand__date span { color: #5b6e7a; font-weight: 500; }
.jciq-expand__body h3 { min-height: 62px; margin: 0 0 14px; font-size: 22px; line-height: 1.4; font-weight: 750; letter-spacing: 0; overflow-wrap: anywhere; }
.jciq-expand__venue { min-height: 44px; margin: 0 0 16px; font-size: 14px; line-height: 1.6; color: #526672; overflow-wrap: anywhere; }
.jciq-expand__details { display: inline-flex; gap: 10px; align-items: center; color: #0b6099; font-size: 15px; font-weight: 700; text-decoration: none; }
.jciq-expand__details::after { content: '\2197'; font-size: 20px; font-weight: 500; }
.jciq-expand__details:hover { color: #073e64; text-decoration: underline; text-underline-offset: 5px; }
.jciq-expand__details:focus-visible { outline: 2px solid #126ba0; outline-offset: 5px; }
.jciq-expand__controls { display: none; align-items: center; justify-content: flex-start; gap: 32px; margin-top: 26px; border-top: 1px solid #dae5eb; padding-top: 18px; }
.jciq-expand__positions, .jciq-expand__arrows { display: flex; align-items: center; gap: 10px; }
.jciq-expand__position { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.jciq-expand__position::before { content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background: #afc1cc; transition: width 450ms ease, background 200ms ease; }
.jciq-expand__position[aria-pressed=true]::before { width: 28px; border-radius: 4px; background: var(--expand-accent); }
.jciq-expand__position:focus-visible { outline: 2px solid var(--expand-accent); outline-offset: 2px; border-radius: 4px; }
.jciq-expand__counter { display: flex; gap: 6px; color: #5b6e7a; font-size: 13px; font-variant-numeric: tabular-nums; }
.jciq-expand__counter strong { color: var(--expand-ink); }
.jciq-expand__arrow { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid #cbdbe6; border-radius: 50%; background: #fff; cursor: pointer; transition: background 180ms ease; }
.jciq-expand__arrow:not(:disabled):hover { background: #e6f2fa; }
.jciq-expand__arrow:focus-visible { outline: 2px solid #126ba0; outline-offset: 3px; }
.jciq-expand__arrow:disabled { opacity: .3; cursor: default; }
.jciq-expand.is-enhanced .jciq-expand__select, .jciq-expand.is-enhanced .jciq-expand__controls { display: flex; }
.jciq-expand.is-enhanced .jciq-expand__select { display: block; }
@media (min-width: 761px) {
  .jciq-expand.is-enhanced .splide__list { display: flex !important; gap: 20px; }
  .jciq-expand.is-enhanced .splide__slide { flex: 1 1 0; transition: flex-grow 700ms cubic-bezier(.22,.7,.22,1); }
  .jciq-expand.is-enhanced .splide__slide[data-current=true] { flex-grow: 2; }
  .jciq-expand.is-enhanced .jciq-expand__poster img { transform: scale(.78); transition: transform 800ms cubic-bezier(.22,.7,.22,1); }
  .jciq-expand.is-enhanced .splide__slide[data-current=true] .jciq-expand__poster > img { transform: scale(1); }
  .jciq-expand.is-enhanced .jciq-expand__body h3 { min-height: 62px; }
  .jciq-expand.is-enhanced .jciq-expand__venue { min-height: 44px; }
}
@media (max-width: 760px) {
  .jciq-expand { overflow: hidden; }
  .jciq-expand .splide__list { grid-template-columns: 1fr; gap: 28px; }
  .jciq-expand.is-enhanced .splide__track { overflow: visible; }
  .jciq-expand.is-enhanced .splide__list { display: flex !important; gap: 0; }
  .jciq-expand .jciq-expand__poster { height: 408px; padding: 12px; }
  .jciq-expand.is-enhanced .jciq-expand__poster > img { transform: scale(.9); transition: transform 520ms ease; }
  .jciq-expand.is-enhanced .splide__slide[data-current=true] .jciq-expand__poster > img { transform: scale(1); }
  .jciq-expand__body { padding-top: 16px; }
  .jciq-expand__body h3 { min-height: 84px; font-size: 20px; }
  .jciq-expand__venue { min-height: 68px; }
  .jciq-expand__controls { margin-top: 22px; padding-top: 14px; gap: 12px; }
  .jciq-expand__position { width: 30px; }
}
@media (max-width: 360px) {
  .jciq-expand .jciq-expand__poster { height: 350px; padding: 10px; }
  .home-upcoming #home-upcoming-title { font-size: 30px; }
  .jciq-expand__body h3 { font-size: 18px; min-height: 100px; }
}
@media (prefers-reduced-motion: reduce) {
  .jciq-expand *, .jciq-expand *::before { transition: none !important; animation: none !important; }
}

.jciq-expand[data-count="1"] .splide__list { grid-template-columns: 1fr; }
