/* Events shares the maintained Press Releases title, filters and cards. */
.exa-events-hero { --events-red: #e60012; background: #000; color: #fff; }
.exa-events-stage { position: relative; isolation: isolate; }
.exa-events-hero [hidden] { display: none !important; }
.exa-events-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 40; width: 48px; height: 48px; border-radius: 50%; border: 1px solid #ffffff40; background: #ffffff15; color: #fff; backdrop-filter: blur(16px); cursor: pointer; opacity: .75; transition: transform .25s, background .25s, opacity .25s; }
.exa-events-arrow--prev { left: 20px; }.exa-events-arrow--next { right: 20px; }
.exa-events-arrow:hover { opacity: 1; transform: translateY(-50%) scale(1.08); background: #ffffff35; }
.exa-events-arrow svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; vertical-align: middle; }
/* Slider controls; SR remains the single playback controller. */
/* Videos use the shared toggle; never expose SR's central hover play/pause overlay. */
.exa-events-hero sr7-lrg-ctrl { display: none !important; }
.exa-events-toggle { width:44px; height:44px; border-radius:50%; border:1px solid #ffffff40; color:#fff; background:rgba(255,255,255,.14); display:flex; align-items:center; justify-content:center; cursor:pointer; padding:0; transition:background .2s; }
.exa-events-toggle:hover { background:rgba(255,255,255,.22); }
.exa-events-toggle svg { width:12px; height:12px; fill:currentColor; }
.exa-events-hero :is(button,a):focus-visible { outline: 2px solid white; outline-offset: 4px; }
/* Classes on editable Slider Revolution layers. */
.exa-events-hero .exa-event-title { font-family: 'Montserrat-Bold', sans-serif !important; text-transform: uppercase; }
.exa-events-specs { display: flex; gap: 24px; padding: 20px 28px; white-space: normal; }
.exa-events-specs > div { flex: 1; min-width: 0; }.exa-events-specs > div[data-event-field="booth"] { flex: 1.5; }
.exa-events-specs h3 { font: 400 14px/1.45 'Montserrat-Bold',Montserrat,sans-serif; color: #fff; letter-spacing: .01em; text-transform: none; margin: 0 0 5px; }
.exa-events-specs p { font: 400 16px/1.5 'Montserrat-Regular',sans-serif; margin: 0; overflow-wrap: anywhere; }
#press-releases-page .exa-events-specs a { text-decoration: underline; text-underline-offset: 4px; }
.exa-events-status { color: #aaa; font-size: .8rem; }
.exa-events-filter-feedback:not(:empty) { color: #fff; font-size: .8rem; }
.exa-events-filter-submit { border: 1px solid #ffffff40; background: transparent; color: #fff; padding: 6px 16px; }
.exa-events-page-content.has-events-js .exa-events-filter-submit { display: none; }
@media(max-width: 767px) {

 .exa-events-specs { gap: 12px; padding: 16px; flex-direction: column; }.exa-events-specs p { font-size: 14px; }
}
@media(prefers-reduced-motion: reduce) { .exa-events-hero * { transition: none !important; }.exa-events-hero .exa-event-cta span { transform: none !important; } }

.exa-events-hero .exa-event-overlay { pointer-events: none !important; }

.exa-events-hero [data-type="text"].exa-event-title, .exa-events-hero sr7-txt.exa-event-title { text-transform: uppercase !important; }
.exa-events-specs p { white-space: pre-line; }
/* Compact first screen; native SR fullscreen sizing subtracts these real elements. */
#press-releases-page .exa-events-page-title { min-height: 64px; max-height: none; height: 72px; }
#press-releases-page .exa-events-page-title .press-releases-hero__content { padding: 8px 20px; }
.exa-events-hero-heading { margin: 0 !important; padding: 8px 20px !important; }
@media(max-width:767px) {
 #press-releases-page .exa-events-page-title { height: 60px; min-height: 60px; }
 .exa-events-specs { padding: 10px 12px; gap: 7px; }
 .exa-events-specs h3 { font-size: 13px; margin-bottom: 2px; }
 .exa-events-specs p { font-size: 14px; line-height: 1.35; }
}

/* Blizzard's secondary hero CTA treatment, with responsive Montserrat sizing. */
.exa-events-hero .exa-event-cta { background: linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.08)), rgba(28,8,18,.22) !important; color: #fff !important; border: 1px solid rgba(255,255,255,.8) !important; border-radius: 100px !important; box-shadow: inset 0 1px 0 #ffffff40, 0 3px 10px #30000840; -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); text-align: center; font-family: Montserrat,'Montserrat-Regular',sans-serif; font-weight: 600; text-shadow: 0 1px 3px rgba(0,0,0,.3); transition: background .2s ease, border-color .2s ease; }
.exa-events-hero .exa-event-cta :is(span,strong) { color: inherit !important; }
.exa-events-hero .exa-event-cta:hover { background: rgba(255,255,255,.25) !important; border-color: #fff !important; }
.exa-events-hero .exa-event-cta-row:has(> .exa-event-cta + .exa-event-cta) > .exa-event-cta:nth-child(2) { background: transparent !important; color: #fff !important; border-color: #fff !important; box-shadow: none; text-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease; }
.exa-events-hero .exa-event-cta-row:has(> .exa-event-cta + .exa-event-cta) > .exa-event-cta:nth-child(2):is(:hover,:focus-visible,:active) { background: linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.08)), rgba(28,8,18,.22) !important; color: #fff !important; border-color: rgba(255,255,255,.8) !important; box-shadow: inset 0 1px 0 #ffffff40, 0 3px 10px #30000840; text-shadow: 0 1px 3px rgba(0,0,0,.3); }
.exa-events-status:empty { display: none; }
@media(prefers-reduced-motion:reduce) { .exa-events-hero .exa-event-cta { transition: none !important; scale: 1 !important; } }
/* One independent panel; hidden slides contribute natural height without reflow on change. */
.exa-events-page-content [data-events-results] { padding-top: clamp(1.5rem, 3vw, 2rem); }
.exa-events-hero { --events-content-inset: clamp(.625rem, 2vw, 1.5rem); --events-field-icon-space: 1.375rem; --events-triangle-opacity: .5; --events-triangle-width: clamp(11rem, 22vw, 18rem); --events-triangle-height: min(20vh, 8rem); font-family: 'Montserrat-Regular', Montserrat, sans-serif; }
@supports (height: 1cqh) {
 .exa-events-stage { --events-triangle-width: min(62cqw, clamp(12.5rem, 22vw, 18rem)); --events-triangle-height: min(20svh, 8rem, 38cqh); }
}
.exa-events-information { display: grid; width: min(var(--events-slide-width, 100%), calc(100% - 2 * var(--events-side-inset))); margin-inline: auto; min-width: 0; border-radius: 12px; overflow: clip; }
.exa-events-information-panel { position: relative; isolation: isolate; overflow: clip; grid-area: 1 / 1; min-width: 0; background: var(--events-red); border-radius: inherit; display: flex; align-items: center; visibility: hidden; pointer-events: none; }
.exa-events-information-panel[data-active] { visibility: visible; pointer-events: auto; }
.exa-event-caption { width: 100%; white-space: normal; }
.exa-events-hero :is(.exa-event-caption,.exa-event-title-layer) .exa-event-title { margin: 0; padding: clamp(.5rem, 1.5svh, 1rem) var(--events-content-inset); color: #fff; font: 400 clamp(1.5rem, min(4.2vw + .5rem, 6svh), 4.25rem)/1.15 'Montserrat-Bold', Montserrat, sans-serif; text-shadow: none; }
.exa-event-banner { width: 100%; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,21rem); align-items: center; gap: clamp(.5rem, 1.5vw, 1.5rem); padding: .375rem var(--events-content-inset); box-sizing: border-box; color: #fff; white-space: normal; }
.exa-event-banner .exa-events-specs { display: flex; align-items: center; padding: 0; gap: clamp(.5rem, 2vw, 1.5rem); min-width: 0; }
.exa-event-banner .exa-events-specs h3 { color: #fff; font-size: clamp(.8125rem, 1.7svh, .875rem); margin-bottom: .2em; }
.exa-event-banner .exa-events-specs p { font-size: clamp(.8125rem, 1.8svh, .9375rem); line-height: 1.3; }
.exa-event-banner a { color: #fff; }
.exa-event-cta-row { display: flex; flex-wrap: wrap; justify-content: flex-end; align-self: center; align-items: stretch; gap: .5rem; width: min(100%, 21rem); min-width: 0; }
.exa-event-cta-row:empty { display: none; }
.exa-event-cta-row .exa-event-cta { display: inline-flex; flex: 0 0 min(10.25rem, calc((100% - .5rem) / 2)); align-items: center; justify-content: center; padding: .375rem clamp(.375rem, 1vw, .75rem); min-height: calc(2lh + .75rem + 2px); min-width: 0; max-width: 100%; overflow-wrap: anywhere; box-sizing: border-box; font-size: .875rem; line-height: 1.15; text-decoration: none; white-space: normal; }
/* Amusement Expo standard: two text lines plus the existing padding/border.
   Keep button sizing independent of the adjacent metadata column height. */
.exa-event-date-layer { pointer-events: none !important; }
.exa-event-date-badge { position: relative; width: 100%; height: 100%; white-space: normal; }
.exa-event-date-badge::before { content: ''; position: absolute; inset: 0; background: var(--events-red); opacity: var(--events-triangle-opacity); clip-path: polygon(100% 0,100% 100%,0 100%); }
.exa-event-date-badge > span { color: #fff; font: 400 clamp(.875rem, 2.2svh, 1.25rem)/1.15 'Montserrat-Bold', Montserrat, sans-serif; text-align: right; }
.exa-events-hero[data-lang="ja"] .exa-event-date-badge > span { font-size: calc(clamp(1rem, 1.9svh, 1.1rem) + 1px); font-weight: 400; }
@media (min-width: 48.0625rem) and (max-width: 64rem) {
 .exa-events-hero[data-lang="ja"] .exa-event-date-badge > span { font-size: calc(clamp(.96875rem, 1.85vw, 1.1rem) + 1px); }
}
@media (max-width: 48rem) {
 .exa-events-hero[data-lang="ja"] .exa-event-date-badge > span { font-size: calc(clamp(.6875rem, 3.55vw, .9375rem) + 1px); }
}
@media (orientation: landscape) and (max-height: 35rem) {
 .exa-events-hero[data-lang="ja"] .exa-event-date-badge > span { font-size: calc(clamp(.75rem, 3.4svh, .875rem) + 1px); }
}
.exa-events-hero .exa-event-logo-triangle { background: var(--events-red) !important; opacity: var(--events-triangle-opacity) !important; clip-path: polygon(0 0,100% 0,0 100%); pointer-events: none !important; }
/* Fit the actual image aspect ratio to the triangle, independently of SR scaling. */
.exa-events-hero .exa-event-company-logo { left: var(--events-logo-left, 0px) !important; top: var(--events-logo-top, 0px) !important; width: var(--events-logo-width, 0px) !important; height: var(--events-logo-height, 0px) !important; background-image: none !important; box-sizing: border-box !important; overflow: visible !important; padding: 0 !important; max-width: none !important; max-height: none !important; }
.exa-events-hero .exa-event-slide-link { cursor: pointer; }
.exa-events-hero .exa-event-slide-link:focus-visible { outline-offset: -5px; }
@media (max-width: 64rem) {
 .exa-event-banner { grid-template-columns: minmax(0,1fr); }
 .exa-event-cta-row { justify-content: flex-start; }
}
.exa-event-company-logo a, .exa-event-company-logo img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; max-height: none !important; }
.exa-event-company-logo img { object-fit: contain; object-position: center; }

.exa-event-slide-link { display: block; width: 100%; height: 100%; }
.exa-event-banner a[aria-disabled="true"] { pointer-events: none; }

/* Contrast and corner layers stay inside the slide; the information row has its own paint. */
.exa-events-hero sr7-slide:has(.exa-event-title-layer)::before { content: ''; position: absolute; inset: 0; z-index: 12; pointer-events: none; background: linear-gradient(to top,rgba(0,0,0,.82) 0%,rgba(0,0,0,.58) 28%,rgba(0,0,0,.1) 60%,transparent 80%); }
.exa-events-hero :is(.exa-event-date-layer,.exa-event-logo-triangle) { width: var(--events-triangle-width) !important; height: var(--events-triangle-height) !important; max-height: 38% !important; }
.exa-events-hero .exa-event-date-layer { top: auto !important; left: auto !important; right: 0 !important; bottom: 0 !important; }
.exa-events-hero[data-lang="ja"] .exa-event-date-layer { --events-triangle-width: min(40vw, 21rem); }
.exa-events-hero .exa-event-logo-triangle { top: 0 !important; left: 0 !important; }

.exa-event-company-logo img { filter: contrast(1.04) drop-shadow(0 .0625rem .125rem rgba(0,0,0,.28)); }
.exa-events-hero .exa-event-floating-image { pointer-events: none !important; translate: var(--events-float-x,0px) var(--events-float-y,0px) !important; transition: translate .45s cubic-bezier(.2,.7,.2,1); z-index: 60 !important; }
@media (prefers-reduced-motion:reduce) {
 .exa-events-hero .exa-event-floating-image { translate: none !important; transition: none; }
}

/* An independent native layer keeps title animation separate from the banner. */
.exa-events-hero .exa-event-title-layer { top: auto !important; left: 0 !important; bottom: 0 !important; width: calc(100% - var(--events-triangle-width) * .5) !important; z-index: 28 !important; pointer-events: none !important; white-space: normal !important; }
@media (orientation: landscape) and (max-height: 35rem) {
 .exa-events-hero .exa-event-title-layer { bottom: 0 !important; width: calc(100% - var(--events-triangle-width) * .5) !important; }
 .exa-events-hero .exa-event-title-layer .exa-event-title { padding-block: .375rem; font-size: clamp(1.25rem, 5svh, 2rem); }
 .exa-events-hero .exa-event-date-layer { --events-triangle-height: min(26svh, 8rem, 80cqh); max-height: 80% !important; }
}

.exa-event-banner .exa-events-specs h3 { position: relative; padding-left: var(--events-field-icon-space); margin-bottom: 2px; }
.exa-event-field-icon { position: absolute; left: 0; top: .15em; width: 1.15em; height: 1.15em; fill: currentColor; fill-rule: evenodd; stroke: none; stroke-linecap: round; stroke-linejoin: round; }
.exa-event-field-icon:is([data-event-icon="venue"], [data-event-icon="booth"]) { fill: #fff; stroke: none; }
.exa-event-banner .exa-events-specs p { padding-left: var(--events-field-icon-space); }
.exa-event-date-badge > span { z-index: 2; text-shadow: none; }
/* Retired authored corner text remains saved but never paints in public output. */
.exa-event-corner-text, .exa-event-bottom-corner-text { display: none !important; }

/* Equal mobile corners, independent of playback controls. */
@media (max-width: 48rem) {
 .exa-events-stage { --events-triangle-width: min(58cqw, 11.5rem); --events-triangle-height: min(16.5svh, 7rem, 34cqh); }
 .exa-events-hero .exa-event-date-layer { --events-triangle-width: inherit; --events-triangle-height: inherit; max-height: 38% !important; }
 .exa-events-hero[data-lang="ja"] .exa-event-date-layer { --events-triangle-width: inherit; --events-triangle-height: inherit; }
 .exa-events-hero .exa-event-title-layer { bottom: 0 !important; }
 .exa-events-hero sr7-slide:has(.exa-event-title-layer)::before { background: linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.65) 28%,rgba(0,0,0,.14) 60%,transparent 80%); }
}
/* Sibling frames paint outside the masked media without changing slide geometry. */
.exa-event-slide-frame { position: absolute; pointer-events: none; box-sizing: border-box; border-radius: 12px; box-shadow: 0 0 0 2px #fff; }
.exa-events-hero .exa-event-company-logo:is(:hover,:focus-within) img { filter: drop-shadow(0 0 5px rgba(255,220,165,.65)) drop-shadow(0 0 12px rgba(255,181,97,.35)); }
@media (max-width: 48rem) and (orientation: landscape) {
 .exa-events-stage { --events-triangle-height: min(24svh, 7rem, 60cqh); }
 .exa-events-hero :is(.exa-event-date-layer,.exa-event-logo-triangle) { max-height: 65% !important; }
 .exa-events-hero .exa-event-title-layer { bottom: 0 !important; }
}
/* Optional independent panel photo beneath the translucent red surface. */
.exa-events-information-image { position: absolute; z-index: -2; left: 0; bottom: 0; width: 100%; height: 100%; max-width: none; max-height: none; object-fit: cover; object-position: center; pointer-events: none; }
.exa-events-information-panel::after { content: ''; position: absolute; z-index: -1; inset: 0; background: rgba(230,0,18,var(--events-panel-transparency,.7)); pointer-events: none; }
.exa-event-banner { --events-column-gap: clamp(1.25rem, 3vw, 2.5rem); column-gap: var(--events-column-gap); align-items: center; }
.exa-event-banner .exa-events-specs { --events-column-gap: inherit; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 1.5fr); column-gap: var(--events-column-gap); align-items: center; }
/* Keep slide 1's slots even when optional fields disappear. The wider final
   track reserves breathing room before the CTAs; its field uses one slot. */
.exa-event-banner .exa-events-specs > div:nth-child(3 of :not([data-event-empty])) { width: calc(100% / 1.5); }
.exa-event-banner .exa-events-specs > [data-event-empty] { display: none; }
.exa-event-banner .exa-events-specs > div { position: relative; }
.exa-event-banner .exa-events-specs > div:not([data-event-empty])::after { content: ''; position: absolute; width: 2px; height: min(calc(100% + .25rem), 2.75rem); top: 50%; right: calc(var(--events-column-gap) / -2); transform: translate(50%,-50%); background: rgba(255,255,255,.25); pointer-events: none; }
@media (max-width: 48rem) {
 .exa-events-hero { --events-field-icon-space: 1.125rem; }
 .exa-event-banner .exa-events-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
 .exa-event-banner .exa-events-specs > div:nth-child(3 of :not([data-event-empty])) { width: auto; }
 .exa-event-banner .exa-events-specs > div, .exa-event-banner .exa-events-specs > div[data-event-field="booth"] { flex: 1 1 9rem; }
 .exa-event-banner .exa-events-specs :is(h3,p) { font-size: .75rem; }
 .exa-event-banner .exa-events-specs h3 { display: flex; align-items: center; gap: .25rem; padding-left: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
 .exa-event-banner .exa-event-field-icon { position: static; flex: 0 0 1.15em; }
 .exa-event-cta-row { width: 100%; }
 .exa-events-hero .exa-event-title-layer { width: calc(100% - var(--events-triangle-width) * .72) !important; }
 .exa-event-banner, .exa-event-banner .exa-events-specs { --events-column-gap: .5rem; }
}
@media (pointer: coarse) {
 .exa-events-hero .exa-event-title-layer { width: calc(100% - var(--events-triangle-width) * .72) !important; }
 /* Let the browser own vertical pans before the native horizontal drag reacts. */
 .exa-events-stage sr7-module { touch-action: pan-y pinch-zoom !important; }
}

/* Keep the title scrim out of both translucent corners: equal opacity must
   composite over the media, not over a second black overlay at the bottom. */
.exa-events-hero sr7-slide:has(.exa-event-title-layer)::before { clip-path: polygon(var(--events-corner-top-width, var(--events-triangle-width)) 0, 100% 0, 100% calc(100% - var(--events-corner-bottom-height, var(--events-triangle-height))), calc(100% - var(--events-corner-bottom-width, var(--events-triangle-width))) 100%, 0 100%, 0 var(--events-corner-top-height, var(--events-triangle-height))); }
.exa-events-hero .exa-event-title[data-events-title-hover] { text-shadow: 0 0 .25em rgba(255,255,255,.35), 0 0 .6em rgba(255,255,255,.18); }
.exa-events-hero .exa-event-title { transition: text-shadow .18s ease; }
.exa-events-stage [data-events-moving] .exa-event-slide-frame { visibility: hidden !important; }

/* Keep the archive heading and its controls together without changing filtering. */
#press-releases-page .exa-events-archive-header { display: flex; align-items: center; gap: 1rem 2rem; margin-bottom: 1.25rem; min-width: 0; }
#press-releases-page .exa-events-archive-header .press-releases-section-title { flex: 0 1 auto; margin: 0; }
#press-releases-page .exa-events-archive-header .exa-events-filters { flex: 0 1 auto; min-width: 0; margin: 0 0 0 auto; padding: 0; border: 0; background: transparent; }
#press-releases-page .exa-events-archive-header .press-releases-filter-row { justify-content: flex-end; flex-wrap: nowrap; gap: .75rem; padding: 0; }
#press-releases-page .exa-events-archive-header .press-releases-filter-buttons { justify-content: flex-end; }
.exa-events-filter-feedback:empty { display: none; }
#press-releases-page .exa-events-filters { --press-releases-accent: #dd0500; }
#press-releases-page .exa-events-filters .press-releases-cat-btn { border-radius: var(--renewal-filter-radius); min-height: 2.125rem; padding: .375rem .875rem; font-size: .875rem; line-height: 1.2; gap: .375rem; border: 1px solid #fff; outline: none; background: var(--press-releases-accent); box-shadow: 0 3px 10px #30000840; box-sizing: border-box; -webkit-backdrop-filter: blur(16px) saturate(150%); backdrop-filter: blur(16px) saturate(150%); }
#press-releases-page .exa-events-filters .press-releases-cat-btn:is(:hover,:focus-visible,.active,.is-active) { background: linear-gradient(#00000020,#00000020), var(--press-releases-accent); border-color: #fff; box-shadow: 0 3px 10px #30000840; outline: none; }
#press-releases-page .exa-events-filters .press-releases-cat-btn:is(.active,.is-active) { background: #8f000b; }
#press-releases-page .exa-events-filters .press-releases-cat-btn:focus-visible { border-width: 2px; }
#press-releases-page .exa-events-filters .press-releases-filter-icon { width: 1.125rem; height: 1.125rem; flex-basis: 1.125rem; font-size: 1.125rem; }
@media (max-width: 767px) {
 #press-releases-page .exa-events-archive-header { flex-direction: column; align-items: stretch; gap: .75rem; }
 #press-releases-page .exa-events-archive-header .exa-events-filters { margin: 0; }
 #press-releases-page .exa-events-archive-header :is(.press-releases-filter-row,.press-releases-filter-buttons) { justify-content: flex-start; }
 #press-releases-page .exa-events-filters .press-releases-cat-btn { font-size: .75rem; padding-inline: .75rem; }
}

/* Use the same corner geometry in both languages on landscape phones. */
@media (max-width: 64rem) and (orientation: landscape) and (max-height: 35rem) {
 .exa-events-stage { --events-triangle-height: min(26svh, 8rem, 80cqh); }
 .exa-events-hero :is(.exa-event-date-layer,.exa-event-logo-triangle) { max-height: 80% !important; }
 .exa-events-hero .exa-event-date-layer, .exa-events-hero[data-lang="ja"] .exa-event-date-layer { --events-triangle-width: inherit; --events-triangle-height: inherit; }
}

/* Optional plain-text caption shares the title's natural flow and native animation. */
.exa-events-hero .exa-event-description { margin: 0; padding: 0 var(--events-content-inset) clamp(.5rem, 1.5svh, 1rem); color: #fff; font: 400 clamp(.875rem, 1.6vw, 1.25rem)/1.4 'Montserrat-Regular', Montserrat, sans-serif; text-transform: none; white-space: pre-line; overflow-wrap: anywhere; }

/* Keep logo hover while excluding its area from slide click-through navigation. */
.exa-events-hero .exa-event-company-logo { pointer-events: auto !important; }
