@font-face {
    font-family: "Neue Helvetica Pro";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local("Neue Helvetica Pro 55 Roman"),
        url("fonts/NeueHelveticaPro55Roman/font.woff2") format("woff2"),
        url("fonts/NeueHelveticaPro55Roman/font.woff") format("woff");
}

@font-face {
    font-family: "Neue Helvetica Pro";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: local("Neue Helvetica Pro 56 Italic"),
        url("fonts/NeueHelveticaPro56Italic/font.woff2") format("woff2"),
        url("fonts/NeueHelveticaPro56Italic/font.woff") format("woff");
}

@font-face {
    font-family: "Neue Helvetica Pro";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: local("Neue Helvetica Pro 65 Medium"),
        url("fonts/NeueHelveticaPro65Medium/font.woff2") format("woff2"),
        url("fonts/NeueHelveticaPro65Medium/font.woff") format("woff");
}

/* Use one campaign banner across every inner-page hero. Page-specific hero
 * rules can continue to control layout without replacing the shared artwork. */
:is(
    .sp-news-hero,
    .sp-news-single__hero,
    .sp-attend-hero,
    .sp-exhibit-hero,
    .sp-about-hero,
    .sp-events-hero,
    .header-banner
) {
    --sp-banner-background: linear-gradient(180deg, #0C0815 0%, rgba(12, 8, 21, 0.30) 52.4%, #0C0815 100%), #82368C url("images/SP-banner_no_overlay.webp") center / cover no-repeat !important;
    border-radius: 0 !important;
}

/* Shared typography: homepage is the baseline for directory and profile content.
 * Edit these tokens and grouped roles instead of adding component overrides.
 * Component rules below own colours, spacing and layout.
 */
:root {
    --sp-font-family: "Neue Helvetica Pro", "Helvetica Neue", Arial, sans-serif;
    --sp-text-size: 20px;
    --sp-type-page-title: 52px;
    --sp-type-section: 42px;
    --sp-type-card: 26px;
    --sp-type-body: 20px;
    --sp-main-section-padding: 6rem;
    --sp-shell-max-width: 1520px;
    --sp-shell-gutter: 75px;
    --sp-leading-heading: 1.22;
    --sp-leading-card: 1.28;
    --sp-leading-body: 1.2;
    --sp-weight-regular: 400;
    --sp-weight-medium: 500;
    --sp-weight-bold: 700;
    --sp-header-height: 0px;
    --e-global-typography-primary-font-family: var(--sp-font-family) !important;
    --e-global-typography-primary-font-weight: var(--sp-weight-bold) !important;
    --e-global-typography-secondary-font-family: var(--sp-font-family) !important;
    --e-global-typography-secondary-font-weight: var(--sp-weight-regular) !important;
    --e-global-typography-text-font-family: var(--sp-font-family) !important;
    --e-global-typography-text-font-weight: var(--sp-weight-regular) !important;
    --e-global-typography-accent-font-family: var(--sp-font-family) !important;
    --e-global-typography-accent-font-weight: var(--sp-weight-medium) !important;
}

/* Structured Text Editor widgets are selected through Elementor's overlay. */
.elementor-editor-active .elementor-widget-text-editor:has([class^="sp-"], [class*=" sp-"]) a {
    pointer-events: none;
}

/* One responsive content edge for global chrome and every major page section. */
:is(
    .sp-news-shell,
    .sp-news-single__shell,
    .sp-site-header__inner,
    .sp-home-hero__inner,
    .sp-home-overview__inner,
    .sp-site-footer__inner,
    .sp-exhibitor-profile__inner,
    .sp-attend-native > .elementor-container,
    .sp-exhibitor-native > .elementor-container,
    .sp-overview-native > .elementor-container,
    .sp-home-native > .elementor-container,
    .sp-exhibit-native > .elementor-container,
    .sp-about-native > .elementor-container,
    .sp-events-native > .elementor-container
) {
    width: calc(100% - var(--sp-shell-gutter) - var(--sp-shell-gutter)) !important;
    max-width: var(--sp-shell-max-width) !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

body:where(:not(.wp-admin)) :is(h1, h2, h3, h4, h5, h6, p, li, a, span, button, input, select, textarea):not(:where(#wpadminbar, #wpadminbar *)) {
    font-family: var(--sp-font-family);
}

/* Shared visitor-facing typography; component rules own spacing and colour.
 * Exclude WordPress admin screens and toolbar, including its icon-font spans.
 * :where() keeps these exclusions from increasing selector specificity.
 */
body:where(:not(.wp-admin)) p:not(:where(#wpadminbar, #wpadminbar *)),
body:where(:not(.wp-admin)) li:not(:where(#wpadminbar, #wpadminbar *)),
body:where(:not(.wp-admin)) span:not(:where(#wpadminbar, #wpadminbar *)),
body:where(:not(.wp-admin)) a:not(:where(#wpadminbar, #wpadminbar *)) {
    font-family: var(--sp-font-family);
    font-size: var(--sp-text-size);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    overflow-wrap: break-word;
}

/* Page titles, including Elementor headings with linked or wrapped text. */
body:where(:not(.wp-admin)) h1:not(:where(#wpadminbar, #wpadminbar *)),
body:where(:not(.wp-admin)) h1 :is(a, span):not(:where(#wpadminbar, #wpadminbar *)) {
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-page-title);
    font-style: normal;
    font-weight: var(--sp-weight-bold);
    line-height: normal;
    text-transform: none;
}

/* Section headings, including text wrapped in links or spans.
 * Keep nested heading text from inheriting the global body-text size.
 */
body:where(:not(.wp-admin)) h2:not(:where(#wpadminbar, #wpadminbar *)),
body:where(:not(.wp-admin)) h2 :is(a, span):not(:where(#wpadminbar, #wpadminbar *)) {
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-section);
    font-weight: 700;
    line-height: var(--sp-leading-heading);
    text-transform: none;
}

@media (max-width: 1024px) {
    :root {
        --sp-text-size: 18px;
        --sp-type-page-title: 44px;
        --sp-main-section-padding: 4rem;
    }
}

@media (max-width: 1000px) {
    :root { --sp-shell-gutter: 30px; }
}

@media (max-width: 600px) {
    :root {
        --sp-text-size: 16px;
        --sp-type-page-title: 36px;
        --sp-main-section-padding: 3rem;
        --sp-shell-gutter: 20px;
    }
}

@media (max-width: 480px) {
    :root { --sp-type-page-title: 32px; }
}

/* Shared main-section rhythm. Heroes, site chrome and sticky navigation are excluded. */
:is(.sp-elementor-fullwidth, .sp-home-elementor-content)
    .elementor-section.elementor-top-section:not([class*="hero"]):not([class*="header"]):not([class*="footer"]):not([class*="navigation"]),
.sp-news-listing,
.sp-news-single__body,
.sp-news-more,
.sp-exhibitor-directory-section,
.sp-exhibitor-profile {
    padding-top: var(--sp-main-section-padding);
    padding-bottom: var(--sp-main-section-padding);
}

.sp-overview-copy .elementor-heading-title,
.sp-home-news-heading .elementor-widget-heading .elementor-heading-title,
.sp-home-gallery-heading .elementor-widget-heading .elementor-heading-title,
.sp-exhibitor-profile__title,
.sp-exhibitor-profile__about-title {
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-section);
    font-weight: var(--sp-weight-bold) !important;
    line-height: var(--sp-leading-heading);
    text-transform: none;
}

.sp-overview-card .elementor-heading-title,
.sp-partners-section h3.elementor-heading-title,
.sp-sponsors-accordion .sp-sponsor-name,
.sp-exhibitor-card__title,
.sp-exhibitor-profile__services h2,
.sp-exhibitor-profile__cta .text-dark,
.sp-exhibitor-profile__cta h2,
.sp-exhibitor-profile__cta h3,
.sp-exhibitor-profile__cta h4 {
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-card);
    font-weight: var(--sp-weight-bold) !important;
    line-height: var(--sp-leading-card);
    text-transform: none;
}

.sp-overview-copy .elementor-widget-text-editor,
.sp-exhibitor-profile__content,
.sp-exhibitor-profile__content li,
.sp-exhibitor-profile__services li {
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-body);
    font-weight: var(--sp-weight-regular);
    line-height: var(--sp-leading-body);
}

/* Rich-text emphasis must survive the shared normal body weight. */
.sp-exhibitor-profile__content strong,
.sp-exhibitor-profile__content b { font-weight: var(--sp-weight-bold); }

@media (max-width: 820px) {
    :root {
        --sp-type-section: 34px;
        --sp-type-card: 22px;
        --sp-type-body: 16px;
    }
}

/* Preserve the desktop hierarchy at 80% between compact desktop and tablet. */
@media (max-width: 1600px) and (min-width: 821px) {
    :root {
        --sp-text-size: 16px;
        --sp-type-page-title: 41.6px;
        --sp-type-section: 33.6px;
        --sp-type-card: 20.8px;
        --sp-type-body: 16px;
    }
}

@media (max-width: 600px) {
    .sp-home-news-heading .elementor-widget-heading .elementor-heading-title,
    .sp-home-gallery-heading .elementor-widget-heading .elementor-heading-title {
        font-size: 25px;
    }
}

/* Homepage cards use a compact four-card layout at small viewports. */
@media (max-width: 1350px) and (min-width: 821px) {
    .sp-overview-card .elementor-heading-title { font-size: 24px; }
}

@media (max-width: 480px) {
    .sp-overview-card .elementor-heading-title { font-size: 12px; line-height: 1.25; }
}

.sp-exhibitor-heading .elementor-heading-title,
.sp-exhibitor-directory input,
.sp-exhibitor-directory select,
.sp-exhibitor-directory button {
    font-family: var(--sp-font-family);
}

.breadcrumbs ul {
    color: #fff;
    font-size: 12px;
}

/* News category archive: editable category hero + dynamic WordPress posts. */
body.category-news { background: #090513; }
.sp-news-archive, .sp-news-archive * { box-sizing: border-box; }
.sp-news-archive { color: #fff; background: #090513; font-family: var(--sp-font-family); }
.sp-news-shell { width: calc(100% - 80px); max-width: 1520px; margin: 0 auto; }
.sp-news-archive h1 { text-transform: none; }
.sp-news-hero { position: relative; display: flex; min-height: 320px; align-items: flex-start; --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.16) 0%, rgba(9,5,19,.94) 100%), linear-gradient(90deg, rgba(83,25,94,.72), rgba(9,5,19,.28)), url("images/sp-feature-suppliers.png") center 44% / cover no-repeat; }
.sp-news-hero .sp-news-shell { padding: 62px 0 48px; }
.sp-news-hero h1 { margin: 0 0 18px; color: #fff; font-family: var(--sp-font-family); font-size: var(--sp-type-page-title); font-weight: 700; line-height: var(--sp-leading-heading); }
.sp-news-hero__intro { max-width: 980px; color: #fff; }
.sp-news-hero__intro p { margin: 0; color: inherit; font-size: 20px; line-height: normal; }
.sp-news-listing { padding: var(--sp-main-section-padding, 6rem) 0; background: #090513; }
.sp-news-featured { display: grid; width: 100%; max-width: none; align-items: center; grid-template-columns: minmax(0, 1fr) minmax(0, .96fr); gap: 45px; margin: 0 0 var(--sp-main-section-padding, 6rem); }
.sp-news-featured__media { display: block; min-width: 0; overflow: hidden; grid-column: 1; grid-row: 1; border-radius: 4px; }
.sp-news-featured__content { grid-column: 2; grid-row: 1; }
.sp-news-featured__media img { display: block; width: 100%; aspect-ratio: 1.86 / 1; object-fit: cover; transition: transform .25s ease; }
.sp-news-featured__media:hover img { transform: scale(1.02); }
.sp-news-featured__title { margin: 0 0 12px; color: #fff;  }
.sp-news-featured__title a {font-size: 36px; font-weight: 700; line-height: 1.18;}
.sp-news-featured__title a, .sp-news-card__title a { color: inherit; text-decoration: none; }
.sp-news-featured__title a:hover, .sp-news-featured__title a:focus, .sp-news-card__title a:hover, .sp-news-card__title a:focus { color: #a63aa9; }
.sp-news-featured time, .sp-news-card time { display: block; color: #82368C; font-size: 18px; line-height: normal; }
.sp-news-featured__excerpt { max-width: 680px; margin: 30px 0 36px; color: #fff; }
.sp-news-featured__excerpt p { margin: 0; color: inherit; font-size: 20px; line-height: normal; }
.sp-news-button, .sp-news-pagination a { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 11px 25px; border-radius: 4px; color: #fff !important; background: #82368C; font-size: 20px; font-weight: var(--sp-weight-medium); line-height: 1; text-decoration: none !important; transition: background-color .2s ease; }
.sp-news-button:hover, .sp-news-button:focus, .sp-news-pagination a:hover, .sp-news-pagination a:focus { background: #a83baa; }
.sp-news-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 20px; row-gap: 60px; }
.sp-news-card { min-width: 0; margin: 0; }
.sp-news-card__media { display: block; overflow: hidden; margin: 0 0 24px; border-radius: 0; background: #160c24; }
.sp-news-card__media img { display: block; width: 100%; aspect-ratio: 1.5 / 1; object-fit: cover; transition: transform .25s ease; }
.sp-news-card__media:hover img { transform: scale(1.025); }
.sp-news-card__content time { margin: 0 0 14px; }
.sp-news-card__title { margin: 0; color: #fff; font-size: 20px; font-weight: var(--sp-weight-bold); line-height: 1.2; }
.sp-news-pagination { display: flex; min-height: 44px; justify-content: space-between; gap: 16px; margin-top: 60px; }
.sp-news-pagination__next { margin-left: auto; }
.sp-news-empty { min-height: 260px; }
.sp-news-empty h2 { margin: 0 0 10px; color: #fff; font-size: 28px; }
.sp-news-empty p { color: #fff; }

@media (max-width: 1200px) {
    .sp-news-featured { gap: 34px; }
    .sp-news-featured__title { font-size: 31px; }
    .sp-news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .sp-news-shell { width: calc(100% - 60px); }
    .sp-news-listing { padding-top: 64px; padding-bottom: 64px; }
    .sp-news-featured { grid-template-columns: 1fr; gap: 26px; margin-bottom: 64px; }
    .sp-news-featured__media, .sp-news-featured__content { grid-column: 1; }
    .sp-news-featured__media { grid-row: 1; }
    .sp-news-featured__content { grid-row: 2; }
    .sp-news-featured__media img { max-height: 300px; }
    .sp-news-featured__title a { font-size: 32px; }
    .sp-news-featured__excerpt { margin: 22px 0 28px; }
    .sp-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 20px; }
}

@media (max-width: 600px) {
    .sp-news-shell { width: calc(100% - 40px); }
    .sp-news-hero { min-height: 260px; }
    .sp-news-hero .sp-news-shell { padding: 48px 0 36px; }
    .sp-news-hero__intro p, .sp-news-featured__excerpt p { font-size: 18px; }
    .sp-news-listing { padding-top: 48px; padding-bottom: 48px; }
    .sp-news-featured { gap: 22px; margin-bottom: 48px; }
    .sp-news-featured__media img { max-height: 190px; aspect-ratio: 16 / 9; }
    .sp-news-featured__title a { font-size: 28px; }
    .sp-news-featured__excerpt { margin: 18px 0 24px; }
    .sp-news-grid { grid-template-columns: 1fr; gap: 0; }
    .sp-news-card {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 16px;
        align-items: center;
        padding: 16px 0;
        border-top: 1px solid rgba(130, 54, 140, .52);
    }
    .sp-news-card:last-child { border-bottom: 1px solid rgba(130, 54, 140, .52); }
    .sp-news-card__media { width: 104px; height: 96px; margin: 0; grid-column: 1; grid-row: 1; }
    .sp-news-card__media img { width: 100%; height: 100%; aspect-ratio: auto; }
    .sp-news-card__content { grid-column: 2; grid-row: 1; }
    .sp-news-card__content time { margin-bottom: 8px; font-size: 14px; }
    .sp-news-card__title { font-size: 17px; line-height: 1.22; }
    .sp-news-pagination { margin-top: 40px; }
}

/* Single News article: dynamic post content and related stories. */
.sp-news-single, .sp-news-single * { box-sizing: border-box; }
.sp-news-single { color: #fff; background: #090513; font-family: var(--sp-font-family); }
.sp-news-single__shell { width: calc(100% - 150px); max-width: 1520px; margin: 0 auto; }
.sp-news-single__article { width: 100%; max-width: none; margin: 0; }
.sp-news-single__hero { position: relative; display: flex; min-height: 430px; align-items: flex-end; --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.18) 0%, rgba(9,5,19,.96) 100%), linear-gradient(90deg, rgba(92,19,91,.68), rgba(9,5,19,.26)), var(--sp-news-single-hero) center 38% / cover no-repeat; }
.sp-news-single__hero .sp-news-single__shell { padding: 120px 0 52px; }
.sp-news-single__hero h1 { max-width: 860px; margin: 0; color: #fff; font-size: 40px; font-weight: 700; line-height: 1.12; text-transform: none; }
.sp-news-single__date { display: block; margin: 0 0 22px; color: #a63aa9; font-size: 12px; font-weight: 500; }
.sp-news-single__content { max-width: 1260px; color: #fff; }
.sp-news-single__content > :first-child { margin-top: 0; }
.sp-news-single__content > :last-child { margin-bottom: 0; }
.sp-news-single__content p, .sp-news-single__content li { color: #fff; }
.sp-news-single__content p { margin: 0 0 18px; }
.sp-news-single__content h2, .sp-news-single__content h3, .sp-news-single__content h4 { margin: 30px 0 13px; color: #fff; font-weight: 700; line-height: 1.2; text-transform: none; }
/* .sp-news-single__content a { text-decoration: underline; } */
.sp-news-single__content ul, .sp-news-single__content ol { margin: 0 0 20px; padding-left: 22px; }
.sp-news-single__content img { width: auto; height: auto; max-width: 100%; }
.sp-news-single__content blockquote { margin: 28px 0; padding: 4px 0 4px 22px; border-left: 3px solid #82368C; color: #fff; }
.sp-news-single__body { padding-bottom: calc(var(--sp-main-section-padding, 6rem) / 2); }
.sp-news-more { padding-top: 0; background: #090513; }
.sp-news-more .sp-news-single__shell { padding-top: 36px; border-top: 1px solid #702573; }
.sp-news-more h2 { margin: 0 0 28px; color: #fff; }
.sp-news-more__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.sp-news-more__card { width: 100%; max-width: none; margin: 0; }
.sp-news-more__media { display: block; overflow: hidden; margin: 0 0 12px; border-radius: 2px; background: #160c24; }
.sp-news-more__media img { display: block; width: 100%; aspect-ratio: 1.5 / 1; object-fit: cover; transition: transform .25s ease; }
.sp-news-more__media:hover img { transform: scale(1.025); }
.sp-news-more__card time { display: block; margin: 0 0 7px; color: #a63aa9;}
.sp-news-more__card h3 { margin: 0; color: #fff; font-size: 14px; font-weight: 500; line-height: 1.3; text-transform: none; }
.sp-news-more__card h3 a { color: inherit; text-decoration: none; }
.sp-news-more__card h3 a:hover, .sp-news-more__card h3 a:focus { color: #a63aa9; }

@media (max-width: 1050px) {
    .sp-news-single__shell { width: calc(100% - 60px); }
    .sp-news-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 20px; }
}

@media (max-width: 760px) {
    .sp-news-single__shell { width: calc(100% - 40px); }
    .sp-news-single__hero { min-height: 340px; }
    .sp-news-single__hero .sp-news-single__shell { padding: 96px 0 38px; }
    .sp-news-single__hero h1 { font-size: 32px; }
    .sp-news-single__content { font-size: 16px; line-height: 1.5; }
}

@media (max-width: 600px) {
    .sp-news-more .sp-news-single__shell { padding-top: 32px; }
    .sp-news-more__grid { grid-template-columns: 1fr; gap: 0; }
    .sp-news-more__card {
        display: grid;
        grid-template-columns: 104px minmax(0, 1fr);
        grid-template-rows: auto auto;
        gap: 6px 16px;
        align-items: center;
        padding: 16px 0;
        border-top: 1px solid rgba(130, 54, 140, .52);
    }
    .sp-news-more__card:last-child { border-bottom: 1px solid rgba(130, 54, 140, .52); }
    .sp-news-more__media {
        width: 104px;
        height: 96px;
        margin: 0;
        grid-column: 1;
        grid-row: 1 / 3;
    }
    .sp-news-more__media img { width: 100%; height: 100%; aspect-ratio: auto; }
    .sp-news-more__card time { margin: 0; grid-column: 2; grid-row: 1; align-self: end; font-size: 14px; }
    .sp-news-more__card h3 { grid-column: 2; grid-row: 2; align-self: start; font-size: 16px; }
}

/* Apply to Attend: native Elementor Free page sections. */
.sp-attend-native, .sp-attend-native * { box-sizing: border-box; }
.sp-attend-native { margin: 0 !important; padding-right: 0 !important; padding-left: 0 !important; color: #fff; background: #090513; font-family: var(--sp-font-family); }
.sp-attend-native.elementor-section.elementor-section-stretched { left: auto !important; width: 100% !important; }
.sp-attend-native > .elementor-container { width: calc(100% - 150px); max-width: 1520px !important; margin: 0 auto; }
.sp-attend-native .elementor-widget-wrap { padding: 0 !important; }
.sp-attend-native .elementor-widget-html,
.sp-attend-native .elementor-widget-text-editor { width: 100%; }
.sp-attend-native h1, .sp-attend-native h2, .sp-attend-native h3 { color: #fff; text-transform: none; }
.sp-attend-hero { position: relative; min-height: 420px; --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.22) 0%, #090513 100%), linear-gradient(90deg, rgba(63,17,75,.68), rgba(9,5,19,.26)), url("images/SP-banner_no_overlay.webp") center 42% / cover no-repeat; }
.sp-attend-hero > .elementor-container { min-height: 420px; align-items: flex-end; }
.sp-attend-hero__copy { width: min(920px, 100%); padding: 100px 0 46px; }
.sp-attend-hero__copy h1 { margin: 0 0 15px; font-size: 42px; font-weight: 700; line-height: 1.08; }
.sp-attend-hero__copy p { max-width: 850px; margin: 0 0 22px; color: #fff;   }
.sp-attend-hero__copy a, .sp-attend-register__button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 11px 18px; border-radius: 2px; color: #fff !important; background: #82368C; font-weight: var(--sp-weight-medium); line-height: 1; text-decoration: none !important; }
.sp-attend-hero__copy a:hover, .sp-attend-hero__copy a:focus, .sp-attend-register__button:hover, .sp-attend-register__button:focus { background: #a63aa9; }
.sp-attend-content-section > .elementor-container { display: grid !important; align-items: start; grid-template-columns: minmax(0, 1.03fr) minmax(0, .97fr); gap: 72px; }
.sp-attend-content__register, .sp-attend-content__expect { width: 100% !important; }
.sp-attend-register h2, .sp-attend-expect h2 { margin: 0 0 28px; font-size: 29px; font-weight: 700; line-height: 1.15; }
.sp-attend-register { color: #fff; font-size: 13px; line-height: 1.48; }
.sp-attend-register p { margin: 0 0 18px; color: #fff; }
.sp-attend-register ul, .sp-attend-register ol { margin: 0 0 22px; padding-left: 20px; }
.sp-attend-register li { margin: 0 0 4px; color: #fff; }
.sp-attend-register ul li::marker { color: #a63aa9; }
.sp-attend-register a:not(.sp-attend-register__button) { color: #bd4cbe; text-decoration: underline; }
.sp-attend-register__button { margin: 1px 10px 28px 0; }
.sp-attend-register__note { margin-bottom: 30px !important;}
.sp-attend-video { position: relative; overflow: hidden; width: 100%; aspect-ratio: 16 / 9; margin: 0 0 28px; border-radius: 2px; background: #160c24; }
.sp-attend-video iframe,
.sp-attend-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sp-attend-video video { object-fit: cover; }
.sp-attend-online { overflow: hidden; border: 1px solid #702573; border-radius: 2px; background: #150a24; }
.sp-attend-online > img { display: block; width: 100%; aspect-ratio: 1.65 / 1; object-fit: cover; max-height: 200px;}
.sp-attend-online > div { padding: 24px 24px 27px; }
.sp-attend-online h3 { margin: 0 0 14px; font-size: 20px; font-weight: 700; }
.sp-attend-online p { margin: 0 0 18px; color: #fff;   }
.sp-attend-online a { color: #bd4cbe; text-decoration: none; }
.sp-attend-features > .elementor-container { display: grid !important; width: calc(100% - 64px); grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.sp-attend-features__column { width: 100% !important; }
.sp-attend-feature { height: 320px; overflow: hidden; border: 1px solid #82368c; border-radius: 5px; background: #110a22; }
.sp-attend-feature__card { display: flex; height: 100%; flex-direction: column; color: #fff !important; text-decoration: none !important; }
.sp-attend-feature__image { position: relative; display: block; height: 167px; flex: 0 0 167px; overflow: hidden; }
.sp-attend-feature__image::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 64%; background: linear-gradient(180deg, rgba(17, 10, 34, 0) 0%, rgba(17, 10, 34, .12) 30%, rgba(17, 10, 34, .72) 72%, #110a22 100%); content: ""; pointer-events: none; }
.sp-attend-feature__image img { display: block; width: 100%; height: 167px; object-fit: cover; transition: transform .25s ease; }
.sp-attend-feature__card:hover img, .sp-attend-feature__card:focus img { transform: scale(1.025); }
.sp-attend-feature__content { display: flex; height: 153px; flex: 1; flex-direction: column; align-items: flex-start; padding: 18px 22px 20px; }
.sp-attend-feature h3 { margin: 0; font-size: 26px; font-weight: 700; line-height: 1.28; }
.sp-attend-feature__link { display: inline-flex; align-items: center; margin-top: auto; color: #e694f1; font-size: 18px; font-weight: 700; line-height: 1.2; }
.sp-attend-feature__card:hover .sp-attend-feature__link, .sp-attend-feature__card:focus .sp-attend-feature__link { color: #fff; text-decoration: underline; }

@media (max-width: 1100px) {
    .sp-attend-feature h3 { font-size: 22px; }
}

@media (max-width: 1050px) {
    .sp-attend-native > .elementor-container { width: calc(100% - 60px); }
    .sp-attend-content-section > .elementor-container { gap: 38px; }
}

@media (max-width: 900px) {
    .sp-attend-native > .elementor-container { width: calc(100% - 40px); }
    .sp-attend-hero, .sp-attend-hero > .elementor-container { min-height: 0; }
    .sp-attend-hero__copy { padding: 72px 0 36px; }
    .sp-attend-hero__copy h1 { font-size: 34px; }
    .sp-attend-content-section > .elementor-container { grid-template-columns: 1fr; gap: 48px; }
    .sp-attend-register h2, .sp-attend-expect h2 { font-size: 26px; }
}

@media (max-width: 820px) {
    .sp-attend-features > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
    .sp-attend-features > .elementor-container { width: calc(100% - 50px); gap: 13px 20px; }
    .sp-attend-feature { height: 203px; }
    .sp-attend-feature__image { height: 122px; flex-basis: 122px; }
    .sp-attend-feature__image img { height: 122px; }
    .sp-attend-feature__content { height: 81px; padding: 8px 9px 10px; }
    .sp-attend-feature h3 { font-size: 13px; line-height: 1.15; }
    .sp-attend-feature__link { font-size: 14px; line-height: 1; }
}

/* 2027 Exhibitor directory: native Elementor Free page sections. */
.sp-elementor-fullwidth,
.sp-elementor-fullwidth .elementor,
.sp-elementor-fullwidth .elementor-section-wrap {
    margin: 0;
    padding: 0;
    background: #090513;
}

.sp-exhibitor-native {
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    color: #fff;
    background: #090513;
    font-family: var(--sp-font-family);
}

.sp-exhibitor-native > .elementor-container {
    width: calc(100% - 150px);
    max-width: 1520px !important;
    margin: 0 auto;
}

.sp-exhibitor-native .elementor-widget-wrap {
    padding: 0 !important;
}

.sp-exhibitor-heading > .elementor-container {
    display: flex !important;
    align-items: center;
    gap: 28px;
}

.sp-exhibitor-heading__title,
.sp-exhibitor-heading__count {
    width: auto !important;
    flex: 0 0 auto;
}

.sp-exhibitor-heading .elementor-heading-title {
    margin: 0;
    color: #fff !important;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: none;
}

.sp-exhibitor-heading__count .elementor-widget-shortcode {
    margin: 0;
}

.sp-exhibitor-heading .elementor-widget {
    margin-bottom: 0 !important;
}

/* The total remains available to editors but is not part of the final layout. */
.sp-exhibitor-heading__count {
    display: none !important;
}

.sp-exhibitor-count {
    display: inline-flex;
    min-width: 70px;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 7px 16px;
    border-radius: 5px;
    color: #fff;
    background: #82368c;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.sp-exhibitor-directory-column,
.sp-exhibitor-directory-column > .elementor-widget-wrap,
.sp-exhibitor-directory-column .elementor-widget-shortcode,
.sp-exhibitor-directory-column .elementor-widget-container {
    width: 100%;
}

.sp-exhibitor-directory-column .elementor-widget-shortcode {
    margin-bottom: 0 !important;
}

.sp-exhibitor-directory,
.sp-exhibitor-directory * {
    box-sizing: border-box;
}

.sp-exhibitor-directory__refine {
    margin: 0 0 23px;
    color: #277a83;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.15;
}

.sp-exhibitor-filters {
    display: grid;
    grid-template-columns: minmax(180px, 365fr) minmax(220px, 401fr) minmax(180px, 401fr) 115px 105px;
    gap: 20px;
    align-items: stretch;
}

.sp-exhibitor-filters--without-zone {
    grid-template-columns: minmax(180px, 365fr) minmax(220px, 802fr) 115px 105px;
}

.sp-exhibitor-filters input,
.sp-exhibitor-filters select,
.sp-exhibitor-filters button,
.sp-exhibitor-filters__reset {
    min-height: 62px;
    border-radius: 4px;
    font-family: inherit;
    font-size: 20px;
    line-height: 1.2;
    text-transform: none;
}

.sp-exhibitor-filters input,
.sp-exhibitor-filters select {
    width: 100%;
    padding: 0 27px;
    border: 1px solid #82368c;
    outline: 0;
    color: #fff;
    background-color: #120b1d;
}

.sp-exhibitor-filters input::placeholder {
    color: #d9d2dc;
    opacity: 1;
}

.sp-exhibitor-filters select {
    color: #d9d2dc;
    appearance: none;
    padding-right: 54px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='13' viewBox='0 0 22 13'%3E%3Cpath d='M2 2l9 9 9-9' fill='none' stroke='%2382368c' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 17px center;
    background-size: 22px 13px;
}

.sp-exhibitor-filters input:focus,
.sp-exhibitor-filters select:focus {
    border-color: #9b4aa8;
    box-shadow: 0 0 0 2px rgba(130, 54, 140, .25);
}

.sp-exhibitor-filters button,
.sp-exhibitor-filters__reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 18px;
    font-weight: var(--sp-weight-medium);
    text-decoration: none;
    cursor: pointer;
}

.sp-exhibitor-filters button {
    border: 1px solid #82368c;
    color: #fff;
    background: #82368c;
    font-weight: 700;
}

.sp-exhibitor-filters button:hover,
.sp-exhibitor-filters button:focus {
    border-color: #a44eb1;
    background: #a44eb1;
}

.sp-exhibitor-filters__reset {
    border: 1px solid #82368c;
    color: #fff;
    background: transparent;
}

.sp-exhibitor-filters__reset:hover,
.sp-exhibitor-filters__reset:focus {
    color: #fff;
    border-color: #82368c;
}

.sp-exhibitor-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 41px 20px;
    margin-top: 77px;
}

.sp-exhibitor-card {
    min-width: 0;
}

.sp-exhibitor-card__logo {
    display: flex;
    width: 100%;
    height: 173px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 10px;
    border-radius: 3px;
    background: #fff;
    text-decoration: none;
}

.sp-exhibitor-card__image {
    display: block;
    width: auto;
    height: auto;
    max-width: 82%;
    max-height: 88%;
    object-fit: contain;
}

.sp-exhibitor-card__placeholder {
    max-width: 100%;
    color: #1b1430;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

.sp-exhibitor-card__title {
    margin: 24px 0 0;
    padding: 0;
    color: #fff;
    font-size: 24px;
}
.sp-exhibitor-card__title a {
    color: inherit;
    font-size: inherit;
    text-decoration: none;
}

.sp-exhibitor-card__title a:hover,
.sp-exhibitor-card__title a:focus {
    color: #c16bcd;
}

.sp-exhibitor-card__stand {
    margin: 10px 0 0;
    color: #82368c;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
}

.sp-exhibitor-directory__empty {
    margin-top: 42px;
    padding: 46px 30px;
    border: 1px solid #4e235a;
    border-radius: 4px;
    background: #120b1d;
    text-align: center;
}

.sp-exhibitor-directory__empty h2 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 28px;
    text-transform: none;
}

.sp-exhibitor-directory__empty p {
    margin: 0;
    color: #d9d2dc;

}

.sp-exhibitor-pagination {
    margin-top: 55px;
}

.sp-exhibitor-pagination ul {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-exhibitor-pagination a,
.sp-exhibitor-pagination span {
    display: inline-flex;
    min-width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid #4e235a;
    border-radius: 3px;
    color: #fff;
    text-decoration: none;
}

.sp-exhibitor-pagination .current,
.sp-exhibitor-pagination a:hover,
.sp-exhibitor-pagination a:focus {
    border-color: #82368c;
    background: #82368c;
}

@media (max-width: 1050px) {
    .sp-exhibitor-filters {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) minmax(0, .8fr);
    }

    .sp-exhibitor-filters--without-zone {
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr) 115px 105px;
    }

    .sp-exhibitor-filters input,
    .sp-exhibitor-filters select {
        padding-left: 18px;
        font-size: 17px;
    }

    .sp-exhibitor-filters select {
        padding-right: 44px;
        background-position: right 14px center;
        background-size: 18px auto;
    }

    .sp-exhibitor-filters button {
        grid-column: 1 / 3;
    }

    .sp-exhibitor-filters__reset {
        grid-column: 3;
    }

    .sp-exhibitor-filters--without-zone button,
    .sp-exhibitor-filters--without-zone .sp-exhibitor-filters__reset {
        grid-column: auto;
    }
}

@media (max-width: 900px) {
    .sp-exhibitor-native > .elementor-container {
        width: calc(100% - 60px);
    }

    .sp-exhibitor-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .sp-exhibitor-heading .elementor-heading-title {
        font-size: 34px;
    }

    .sp-exhibitor-count {
        min-width: 58px;
        min-height: 42px;
        font-size: 23px;
    }

    .sp-exhibitor-filters {
        grid-template-columns: 1fr 1fr;
    }

    .sp-exhibitor-filters--without-zone {
        grid-template-columns: 1fr 1fr;
    }

    .sp-exhibitor-filters input,
    .sp-exhibitor-filters select {
        grid-column: 1 / -1;
    }

    .sp-exhibitor-filters button {
        grid-column: 1;
    }

    .sp-exhibitor-filters__reset {
        grid-column: 2;
    }

    .sp-exhibitor-filters--without-zone button {
        grid-column: 1;
    }

    .sp-exhibitor-filters--without-zone .sp-exhibitor-filters__reset {
        grid-column: 2;
    }

    .sp-exhibitor-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 460px) {
    .sp-exhibitor-native > .elementor-container {
        width: calc(100% - 40px);
    }

    .sp-exhibitor-heading > .elementor-container {
        gap: 14px;
    }

    .sp-exhibitor-heading .elementor-heading-title {
        font-size: 29px;
    }

    .sp-exhibitor-grid {
        grid-template-columns: 1fr;
    }

    .sp-exhibitor-filters input,
    .sp-exhibitor-filters select {
        padding-left: 16px;
        font-size: 16px;
    }

    .sp-exhibitor-filters select {
        padding-right: 42px;
        background-position: right 14px center;
        background-size: 18px auto;
    }
}

@media (max-width: 560px) {
    .sp-exhibitor-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 48px;
    }

    .sp-exhibitor-card {
        display: grid;
        min-height: 104px;
        grid-template-columns: 104px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 16px;
        align-items: center;
    }

    .sp-exhibitor-card__logo {
        height: 104px;
        grid-row: 1 / 3;
        padding: 8px;
    }

    .sp-exhibitor-card__image {
        max-width: 90%;
        max-height: 86%;
    }

    .sp-exhibitor-card__placeholder {
        font-size: 14px;
    }

    .sp-exhibitor-card__title {
        align-self: end;
        margin: 0;
        font-size: 22px;
        line-height: 1.15;
    }

    .sp-exhibitor-card__stand {
        align-self: start;
        margin: 6px 0 0;
        font-size: 17px;
    }
}

.breadcrumbs ul li a {
    color: #fff;
    font-size: 12px;
    text-transform: uppercase;
    transition: color .5s ease;
}

/* Figma header: Menu component 255:1558. */
body:has(> .sp-site-header) {
    --sp-header-core-height: 151px;
    --sp-header-top-space: 32px;
    --sp-header-height: calc(var(--sp-header-core-height) + var(--sp-header-top-space));
}

/* Paint each banner as one continuous image behind the header and its content.
 * The background layer extends upwards without moving headings or sections.
 */
:is(.sp-news-hero, .sp-news-single__hero, .sp-attend-hero, .sp-exhibit-hero, .sp-about-hero, .sp-events-hero, .header-banner) {
    position: relative;
    isolation: isolate;
    background: none;
}

:is(.sp-news-hero, .sp-news-single__hero, .sp-attend-hero, .sp-exhibit-hero, .sp-about-hero, .sp-events-hero, .header-banner)::before {
    position: absolute;
    z-index: -1;
    inset: calc(-1 * var(--sp-header-height)) 0 0;
    content: "";
    background: var(--sp-banner-background);
    background-blend-mode: normal, multiply;
    border-radius: 0;
    pointer-events: none;
}

.header-banner {
    --sp-banner-background: url("images/innerpage.png") center top / cover no-repeat;
}

.sp-site-header {
    --sp-header-overlay: linear-gradient(180deg, rgba(8, 4, 16, .8) 0%, rgba(8, 4, 16, .48) 68%, rgba(8, 4, 16, .08) 100%);
    position: relative;
    z-index: 100;
    width: 100%;
    color: #fff;
    background: #080410;
    font-family: var(--sp-font-family);
}

body:not(.home) > .sp-site-header {
    padding-top: var(--sp-header-top-space);
}

.home .sp-site-header {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: var(--sp-header-top-space);
}

body:is(.home, :has(.sp-news-hero, .sp-news-single__hero, .sp-attend-hero, .sp-exhibit-hero, .sp-about-hero, .sp-events-hero, .header-banner)) > .sp-site-header {
    background: var(--sp-header-overlay);
}

.sp-site-header__detail,
.sp-site-header__menu .nav-link {
    text-shadow: 0 2px 8px rgba(0, 0, 0, .95);
}

.sp-site-header__inner {
    position: relative;
    width: calc(100% - 48px);
    max-width: 1524px;
    min-height: 130px;
    margin: 0 auto;
    border-bottom: 1px solid #82368c;
}

.sp-site-header__logo {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: 245px;
    height: auto;
}

.sp-site-header__logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: left top;
}

.sp-site-header__content,
.sp-site-header__content.collapse {
    --sp-header-item-gap: 24px;
    --sp-header-dropdown-offset: 31px;
    display: flex !important;
    flex: 0 1 auto !important;
    flex-direction: column;
    width: max-content;
    max-width: calc(100% - 285px);
    min-height: 150px;
    margin-left: auto;
}

.sp-site-header__details {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: flex-start;
    justify-content: flex-end;
    gap: var(--sp-header-item-gap);
    padding-top: 3px;
}

.sp-site-header__detail {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 20px;
    line-height: 1.15;
    white-space: nowrap;
}

.sp-site-header__detail img {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
}

.sp-site-header__location {
    max-width: 360px;
    align-items: flex-start;
    white-space: normal;
}

.sp-site-header__location strong {
    max-width: 322px;
}

.sp-site-header__main {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: flex-end;
    gap: var(--sp-header-item-gap);
    padding-top: 24px;
}

.sp-site-header__nav {
    margin-right: 0;
}

.sp-site-header__menu {
    display: flex;
    align-items: center;
    gap: var(--sp-header-item-gap);
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-site-header__menu .nav-item {
    position: relative;
    margin: 0;
}

.sp-site-header__menu .menu-item-has-children::after {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(var(--sp-header-dropdown-offset) + 1px);
    content: "";
}

.sp-site-header__menu .nav-link {
    padding: 8px 0;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: none;
}

.sp-site-header__menu .nav-link:hover,
.sp-site-header__menu .nav-link:focus,
.sp-site-header__menu .current-menu-item > .nav-link,
.sp-site-header__menu .current-menu-ancestor > .nav-link {
    color: #c36ccc;
}

.sp-site-header__menu .dropdown-menu {
    top: calc(100% + var(--sp-header-dropdown-offset));
    left: 0;
    min-width: 290px;
    margin: 0;
    padding: 11px 0;
    border: 1px solid #82368c;
    border-radius: 0;
    background: linear-gradient(90deg, #371949 0%, #23152C 100%);
    box-shadow: 0 14px 32px rgba(0, 0, 0, .35);
}

.sp-site-header__menu .dropdown-item {
    padding: 9px 18px;
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25;
    white-space: normal;
}

.sp-site-header__menu .dropdown-item:hover,
.sp-site-header__menu .dropdown-item:focus,
.sp-site-header__menu .current-menu-item > .dropdown-item {
    color: #fff;
    background: rgba(130, 54, 140, .45);
}

@media (min-width: 1101px) {
    .sp-site-header__menu .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: none;
        transition: opacity .18s ease, visibility .18s ease;
        pointer-events: none;
    }

    .sp-site-header__menu .dropdown-menu.show {
        top: calc(100% + var(--sp-header-dropdown-offset)) !important;
        left: 0 !important;
        transform: none !important;
        will-change: auto !important;
    }

    .sp-site-header__menu .menu-item-has-children:hover > .dropdown-menu,
    .sp-site-header__menu .menu-item-has-children:focus-within > .dropdown-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

.sp-site-header__actions {
    display: flex;
    align-items: center;
    gap: var(--sp-header-item-gap);
}

/* Legacy clearfix rules create phantom flex items unless explicitly suppressed. */
.sp-site-header__details::before,
.sp-site-header__details::after,
.sp-site-header__main::before,
.sp-site-header__main::after,
.sp-site-header__menu::before,
.sp-site-header__menu::after,
.sp-site-header__actions::before,
.sp-site-header__actions::after {
    display: none;
    content: none;
}

.sp-site-header__button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 9px 25px;
    border-radius: 5px;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
}

.sp-site-header__button:hover,
.sp-site-header__button:focus {
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}

.sp-site-header__button--outline {
    min-width: 114px;
    border: 2px solid #29676e;
}

.sp-site-header__button--primary {
    min-width: 199px;
    border: 2px solid #82368c;
    background: #82368c;
}

.sp-site-header__toggle {
    display: none;
}

.sp-site-header__submenu-toggle {
    display: none;
}

@media (max-width: 1350px) and (min-width: 1101px) {
    .sp-site-header__content,
    .sp-site-header__content.collapse {
        --sp-header-item-gap: 20px;
        max-width: calc(100% - 245px);
        margin-left: auto;
    }

    .sp-site-header__button {
        padding-right: 18px;
        padding-left: 18px;
    }
}

@media (max-width: 1600px) and (min-width: 1101px) {
    .sp-site-header__content,
    .sp-site-header__content.collapse {
        --sp-header-dropdown-offset: 34.4px;
    }

    .sp-site-header__detail,
    .sp-site-header__menu .nav-link,
    .sp-site-header__button {
        font-size: 16px;
    }
}

@media (max-width: 1100px) {
    body.sp-mobile-nav-open { overflow: hidden; }

    body.sp-mobile-nav-open .sp-site-header__logo {
        position: fixed;
        top: var(--sp-header-top-space);
        left: 25px;
        z-index: 5;
        width: 161px;
    }

    body:has(> .sp-site-header) {
        --sp-header-core-height: 100px;
        --sp-header-top-space: 56px;
        --sp-header-height: calc(var(--sp-header-core-height) + var(--sp-header-top-space));
    }

    .home .sp-site-header {
        top: 0;
    }

    .sp-site-header {
        --sp-header-overlay: linear-gradient(180deg, rgba(8, 4, 16, .9) 0%, rgba(8, 4, 16, .58) 72%, rgba(8, 4, 16, .12) 100%);
    }

    .sp-site-header__inner {
        width: calc(100% - 50px);
        min-height: 100px;
        border-bottom: 0;
    }

    .sp-site-header__logo {
        width: 161px;
    }

    .sp-site-header__toggle {
        position: absolute;
        top: 20px;
        right: -5px;
        z-index: 5;
        display: flex;
        width: 48px;
        height: 48px;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 6px;
        padding: 0;
        border: 1px solid transparent;
        border-radius: 50%;
        background: transparent;
        transition: border-color .2s ease, background-color .2s ease;
    }

    .sp-site-header__toggle-line {
        display: block;
        width: 28px;
        height: 2px;
        background: #fff;
        transition: transform .22s ease, opacity .18s ease;
    }

    .sp-site-header__toggle[aria-expanded="true"] {
        position: fixed;
        top: calc(var(--sp-header-top-space) + 20px);
        right: 24px;
        border-color: rgba(255, 255, 255, .35);
        background: rgba(255, 255, 255, .08);
    }

    .sp-site-header__toggle[aria-expanded="true"] .sp-site-header__toggle-line:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .sp-site-header__toggle[aria-expanded="true"] .sp-site-header__toggle-line:nth-child(2) { opacity: 0; }
    .sp-site-header__toggle[aria-expanded="true"] .sp-site-header__toggle-line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    .sp-site-header__content {
        position: fixed;
        z-index: 4;
        inset: 0;
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        height: 100vh;
        height: 100dvh;
        min-height: 100%;
        margin: 0;
        padding: calc(var(--sp-header-top-space) + 112px) max(28px, calc((100vw - 720px) / 2)) 34px;
        overflow-y: auto;
        background: radial-gradient(circle at 100% 0%, rgba(130, 54, 140, .36), transparent 42%), #080410;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-12px);
        transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
        pointer-events: none;
        overscroll-behavior: contain;
    }

    .sp-site-header__content.is-open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .sp-site-header__main {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        padding: 0;
    }

    .sp-site-header__nav {
        order: 1;
    }

    .sp-site-header__menu {
        display: block;
    }

    .sp-site-header__menu .nav-item {
        position: relative;
        border-bottom: 1px solid rgba(255, 255, 255, .16);
    }

    .sp-site-header__menu .nav-link {
        display: block;
        padding: 16px 58px 16px 0;
        color: #fff;
        font-size: clamp(22px, 5vw, 32px);
        line-height: 1.15;
    }

    .sp-site-header__menu .dropdown-menu {
        position: static;
        display: none;
        float: none;
        min-width: 0;
        margin: 0;
        padding: 0 0 14px 18px;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .sp-site-header__menu > .menu-item-has-children:not(.is-submenu-open) > .dropdown-menu {
        display: none !important;
    }

    .sp-site-header__menu > .is-submenu-open > .dropdown-menu {
        display: block !important;
    }

    .sp-site-header__menu .dropdown-item {
        width: calc(100% + 18px);
        margin-left: -18px;
        padding: 10px 18px;
        color: rgba(255, 255, 255, .82);
        font-size: 17px;
    }

    .sp-site-header__submenu-toggle {
        position: absolute;
        top: 9px;
        right: 0;
        display: flex;
        width: 46px;
        height: 46px;
        align-items: center;
        justify-content: center;
        padding: 0;
        border: 0;
        color: #fff;
        background: transparent;
    }

    .sp-site-header__submenu-toggle::before,
    .sp-site-header__submenu-toggle::after {
        position: absolute;
        width: 16px;
        height: 2px;
        background: currentColor;
        content: "";
        transition: transform .2s ease;
    }

    .sp-site-header__submenu-toggle::after { transform: rotate(90deg); }
    .sp-site-header__submenu-toggle[aria-expanded="true"]::after { transform: rotate(0); }

    .sp-site-header__actions {
        order: 2;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .sp-site-header__button {
        min-width: 0;
        padding-right: 14px;
        padding-left: 14px;
        font-size: 16px;
    }

    .sp-site-header__details {
        order: 3;
        display: grid;
        gap: 14px;
        min-height: 0;
        margin-top: auto;
        padding-top: 22px;
        border-top: 1px solid rgba(255, 255, 255, .16);
    }

    .sp-site-header__detail {
        font-size: 15px;
    }

    .sp-site-header__detail img {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    .sp-site-header__location,
    .sp-site-header__location strong {
        max-width: none;
    }
}

@media (max-width: 480px) {
    body:has(> .sp-site-header) {
        --sp-header-top-space: 74px;
        --sp-header-height: calc(var(--sp-header-core-height) + var(--sp-header-top-space));
    }

    body.home:has(> .sp-site-header) {
        --sp-header-top-space: 25px;
    }

    .home .sp-site-header {
        top: 0;
    }

    body.sp-mobile-nav-open .sp-site-header__logo {
        left: 20px;
        width: 161px;
    }

    .sp-site-header__actions {
        gap: 10px;
    }

    .sp-site-header__content,
    .sp-site-header__content.is-open {
        padding-right: 20px;
        padding-left: 20px;
    }

    .sp-site-header__menu .menu-item-has-children::after {
        display: none;
    }

    .sp-site-header__menu .dropdown-menu {
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        will-change: auto !important;
    }
}

/* Figma homepage hero: desktop Home 96:815 and mobile Home 412:858. */
.sp-home-hero {
    position: relative;
    isolation: isolate;
    width: 100%;
    height: min(56vw, 1075px);
    min-height: 760px;
    overflow: hidden;
    border-radius: 0 0 5px 5px;
    color: #fff;
    background-color: #0c0815;
    background-image: var(--sp-hero-background-fallback, var(--sp-hero-background));
    background-image: var(--sp-hero-background-desktop, var(--sp-hero-background-fallback, var(--sp-hero-background)));
    background-position: center;
    background-size: cover;
    font-family: var(--sp-font-family);
}

@media (max-width: 1200px) {
    .sp-home-hero {
        background-image: var(--sp-hero-background-fallback, var(--sp-hero-background));
        background-image: var(--sp-hero-background-tablet, var(--sp-hero-background-desktop, var(--sp-hero-background-fallback, var(--sp-hero-background))));
    }
}

@media (max-width: 640px) {
    .sp-home-hero {
        background-image: var(--sp-hero-background-fallback, var(--sp-hero-background));
        background-image: var(--sp-hero-background-mobile, var(--sp-hero-background-tablet, var(--sp-hero-background-fallback, var(--sp-hero-background))));
    }
}

.sp-home-hero::before,
.sp-home-hero::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    border-radius: inherit;
    content: "";
    pointer-events: none;
}

.sp-home-hero__media {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    background: transparent;
    pointer-events: none;
}

.sp-home-hero__media iframe,
.sp-home-hero__media video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    transform: scale(1.012);
}

.sp-home-hero__media video { object-fit: cover; }

.sp-home-hero::before {
    background: rgba(130, 54, 140, .7);
    mix-blend-mode: multiply;
}

.sp-home-hero::after {
    background: linear-gradient(180deg, #0c0815 0%, rgba(12, 8, 21, .3) 52.4%, #0c0815 100%);
}

.sp-home-hero__inner {
    position: relative;
    z-index: 2;
    width: calc(100% - 48px);
    max-width: 1520px;
    height: 100%;
    margin: 0 auto;
}

.sp-home-hero__registration {
    position: absolute;
    top: 208px;
    right: 0;
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    color: #fff;
    text-align: right;
}

.sp-home-hero__registration strong {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.2;
}

.sp-home-hero__registration small {
    margin-top: 13px;
    font-size: 16px;
    line-height: 1.2;
}

.sp-home-hero__content {
    position: absolute;
    top: 56%;
    left: 0;
    max-width: 714px;
}

.sp-home-hero__eyebrow {
    margin: 0 0 18px;
    color: #e694f1;
    font-size: 22px;
    line-height: 1.2;
}

.sp-home-hero h1 {
    margin: 0;
    color: #fff;
    font-size: 52px;
    font-weight: 700;
    line-height: 1.18;
    text-transform: none;
}

.sp-home-hero__details {
    display: grid;
    gap: 14px;
    margin-top: 25px;
}

.sp-home-hero__details p {
    display: flex;
    align-items: center;
    gap: 19px;
    margin: 0;
    color: #fff;


}

.sp-home-hero__details img {
    display: block;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
}

.sp-home-hero__actions {
    display: none;
}

@media (max-width: 1100px) {
    .sp-home-hero {
        height: 707px;
        min-height: 707px;
        background-position: center center;
    }

    .sp-home-hero__inner {
        width: calc(100% - 50px);
    }

    .sp-home-hero__registration {
        display: none;
    }

    .sp-home-hero__content {
        top: 212px;
        max-width: 480px;
    }

    .sp-home-hero__eyebrow {
        max-width: 300px;
        margin-bottom: 13px;
        font-size: 16px;
    }

    .sp-home-hero h1 {
        max-width: 420px;
        font-size: 40px;
        line-height: 1.02;
    }

    .sp-home-hero__details {
        gap: 9px;
        margin-top: 30px;
    }

    .sp-home-hero__details p {
        gap: 25px;

    }

    .sp-home-hero__details img {
        width: 22px;
        height: 22px;
        flex-basis: 22px;
    }

    .sp-home-hero__actions {
        position: absolute;
        right: 0;
        bottom: 36px;
        left: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .sp-home-hero__button {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 10px 18px;
        border-radius: 5px;
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
        text-decoration: none;
    }

    .sp-home-hero__button:hover,
    .sp-home-hero__button:focus {
        color: #fff;
        text-decoration: none;
    }

    .sp-home-hero__button--primary {
        border: 2px solid #82368c;
        background: #82368c;
    }

    .sp-home-hero__button--outline {
        border: 2px solid #29676e;
    }
}

@media (max-width: 480px) {
    .sp-home-hero__content,
    .sp-home-hero h1 {
        max-width: 340px;
    }
}

/* Elementor: Homepage Overview widget. */
.sp-home-elementor-content,
.sp-home-elementor-content .elementor,
.sp-home-elementor-content .elementor-section-wrap,
.sp-home-elementor-content .elementor-widget-sp-home-overview,
.sp-home-elementor-content .elementor-widget-sp-home-overview > .elementor-widget-container {
    margin: 0;
    padding: 0;
}

.sp-home-overview,
.sp-home-overview * {
    box-sizing: border-box;
}

.sp-home-overview {
    width: 100%;
    padding: 0 0 89px;
    color: #fff;
    background: #0c0815;
    font-family: var(--sp-font-family);
}

.sp-home-overview__inner {
    width: calc(100% - 48px);
    max-width: 1520px;
    margin: 0 auto;
}

.sp-home-overview__features,
.sp-home-overview__statistics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

.sp-home-overview__feature {
    min-width: 0;
    height: 320px;
    overflow: hidden;
    border: 1px solid #82368c;
    border-radius: 5px;
    background: #110a22;
}

.sp-home-overview__feature-image {
    display: block;
    width: 100%;
    height: 167px;
    object-fit: cover;
}

.sp-home-overview__feature-body {
    display: flex;
    height: 153px;
    align-items: flex-start;
    flex-direction: column;
    padding: 18px 22px 20px;
}

.sp-home-overview__feature h2 {
    margin: 0;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.28;
    text-transform: none;
}

.sp-home-overview__feature a,
.sp-home-overview__feature span {
    margin-top: auto;
    color: #82368c;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}

.sp-home-overview__feature a:hover,
.sp-home-overview__feature a:focus {
    color: #e694f1;
}

.sp-home-overview__introduction {
    display: grid;
    grid-template-columns: minmax(0, 727px) minmax(0, 750px);
    gap: 43px;
    align-items: center;
    margin-top: 89px;
}

.sp-home-overview__copy h2 {
    max-width: 726px;
    margin: 0 0 25px;
    color: #fff;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.22;
    text-transform: none;
}

.sp-home-overview__description,
.sp-home-overview__description p {
    margin: 0;
    color: #fff;


}
.sp-home-overview__description {
    font-size: 20px;
    line-height: 1.2;
}

.sp-home-overview__media {
    position: relative;
    width: 100%;
    aspect-ratio: 750 / 420;
    overflow: hidden;
    border-radius: 5px;
    background: #110a22;
}

.sp-home-overview__media img,
.sp-home-overview__media video,
.sp-home-overview__media iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
}

.sp-home-overview__statistics {
    margin-top: 89px;
}

.sp-home-overview__statistic {
    display: flex;
    height: 173px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid #82368c;
    border-radius: 5px;
    background: rgba(17, 10, 34, .9);
    text-align: center;
}

.sp-home-overview__statistic strong {
    color: #82368c;
    font-size: 62px;
    font-weight: 700;
    line-height: 1;
}

.sp-home-overview__statistic span {
    margin-top: 3px;
    color: #fff;
    font-size: 26px;
    line-height: 1.2;
}

@media (max-width: 1100px) {
    .sp-home-overview__feature h2 {
        font-size: 22px;
    }

    .sp-home-overview__introduction {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 35px;
    }

    .sp-home-overview__copy h2 {
        font-size: 34px;
    }

.sp-home-overview__description {
    font-size: 17px;
}

    .sp-home-overview__statistic strong {
        font-size: 50px;
    }

    .sp-home-overview__statistic span {
        font-size: 21px;
    }
}

@media (max-width: 820px) {
    .sp-home-overview {
        padding-bottom: 70px;
    }

    .sp-home-overview__features,
    .sp-home-overview__statistics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-home-overview__introduction {
        grid-template-columns: 1fr;
        margin-top: 70px;
    }

    .sp-home-overview__statistics {
        margin-top: 70px;
    }
}

@media (max-width: 480px) {
    .sp-home-overview {
        padding-top: 6px;
        padding-bottom: 60px;
    }

    .sp-home-overview__inner {
        width: calc(100% - 50px);
    }

    .sp-home-overview__features {
        gap: 13px 20px;
    }

    .sp-home-overview__feature {
        height: 203px;
    }

    .sp-home-overview__feature-image {
        height: 122px;
    }

    .sp-home-overview__feature-body {
        height: 81px;
        padding: 8px 9px 10px;
    }

    .sp-home-overview__feature h2 {
        font-size: 12px;
        line-height: 1.25;
    }

    .sp-home-overview__feature a,
    .sp-home-overview__feature span {
        font-size: 10px;
    }

    .sp-home-overview__introduction {
        gap: 40px;
        margin-top: 80px;
    }

    .sp-home-overview__copy h2 {
        margin-bottom: 22px;
        font-size: 34px;
    }

.sp-home-overview__description {
    font-size: 16px;
}

    .sp-home-overview__statistics {
        gap: 12px 20px;
        margin-top: 44px;
    }

    .sp-home-overview__statistic {
        height: 81px;
    }

    .sp-home-overview__statistic strong {
        font-size: 35px;
    }

    .sp-home-overview__statistic span {
        margin-top: 0;
        font-size: 15px;
    }
}

/* Elementor Free native homepage overview sections. */
.sp-overview-native {
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    color: #fff;
    background: #0c0815;
    font-family: var(--sp-font-family);
}

.sp-overview-native > .elementor-container {
    width: calc(100% - 48px);
    max-width: 1520px !important;
    margin: 0 auto;
}

.sp-overview-native .elementor-widget-wrap {
    padding: 0 !important;
}

.sp-overview-features > .elementor-container,
.sp-overview-stats > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
}

@media (min-width: 821px) {
    .sp-overview-features > .elementor-container {
        width: calc(100% - 64px);
    }
}

.sp-overview-native .elementor-column {
    min-width: 0;
    width: auto !important;
}

.sp-overview-card {
    position: relative;
    height: auto;
    overflow: hidden;
    border: 1px solid #82368c;
    border-radius: 5px;
    background: #110a22;
    cursor: pointer;
}

.sp-overview-card__link {
    position: absolute;
    z-index: 4;
    inset: 0;
    border-radius: inherit;
}

.sp-overview-card__link:focus-visible {
    outline: 3px solid #fff;
    outline-offset: -4px;
}

.sp-overview-card > .elementor-widget-wrap {
    display: flex;
    height: 100%;
    align-content: stretch;
    flex-direction: column;
    flex-wrap: nowrap !important;
}

.sp-overview-card > .elementor-widget-wrap > .elementor-widget {
    margin-bottom: 0 !important;
}

.sp-overview-card .elementor-widget-image {
    position: relative;
    flex: 0 0 167px;
    overflow: hidden;
    background: #110a22;
}

/* Blend each photograph into the card panel instead of ending on a hard edge. */
.sp-overview-card .elementor-widget-image::after {
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 64%;
    background: linear-gradient(
        180deg,
        rgba(17, 10, 34, 0) 0%,
        rgba(17, 10, 34, .12) 30%,
        rgba(17, 10, 34, .72) 72%,
        #110a22 100%
    );
    content: "";
    pointer-events: none;
}

.sp-overview-card .elementor-widget-image img {
    display: block;
    width: 100%;
    height: 167px;
    object-fit: cover;
}

.sp-overview-card .elementor-widget-heading {
    margin: 0;
    padding: 18px 22px 20px;
}

.sp-overview-card .elementor-heading-title {
    color: #fff !important;




}

.sp-overview-card .elementor-widget-button {
    position: relative;
    z-index: 5;
    margin-top: auto;
    padding: 0 22px 20px;
}

.sp-overview-card .elementor-button,
.sp-overview-card .elementor-button.elementor-size-xs {
    padding: 0;
    color: #e694f1 !important;
    background: transparent !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2;
}

.sp-overview-card .elementor-button:hover,
.sp-overview-card .elementor-button:focus {
    color: #fff !important;
    text-decoration: underline;
}

.sp-overview-card .elementor-button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

@media (max-width: 1350px) and (min-width: 821px) {

    .sp-overview-card .elementor-button,
    .sp-overview-card .elementor-button.elementor-size-xs {
        font-size: 16px !important;
    }
}

.sp-overview-intro > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 727fr) minmax(0, 750fr);
    gap: 43px;
    align-items: center;
}

.sp-overview-copy .elementor-widget-heading {
    margin-bottom: 34px !important;
}

.sp-overview-copy .elementor-heading-title {
    color: #fff !important;




}

.sp-overview-copy .elementor-widget-text-editor,
.sp-overview-copy .elementor-widget-text-editor p {
    margin: 0;
    color: #fff;



}

.sp-overview-copy .elementor-widget-text-editor strong { font-weight: 700; }
.sp-overview-copy { padding-right: 40px; }
.sp-overview-media .elementor-widget { width: 100%; margin: 0 !important; }
.sp-overview-video { position: relative; width: 100%; aspect-ratio: 750 / 420; background: #110a22; }
.sp-overview-video iframe,
.sp-overview-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sp-overview-video video { object-fit: cover; }
.sp-overview-stat .elementor-widget-counter { width: 100%; margin: 0 !important; text-align: center; }
.sp-overview-stat .elementor-counter { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.sp-overview-stat .elementor-counter-number-wrapper { order: 0; }
.sp-overview-stat .elementor-counter-title { order: 1; }
.sp-overview-stat .elementor-widget-counter .elementor-counter-number-wrapper span { font-size: 62px; font-weight: 700; line-height: 1; }
.sp-overview-stat .elementor-widget-counter .elementor-counter-title { font-size: 26px; font-weight: 400; line-height: 1.2; }

.sp-overview-media {
    overflow: hidden;
    border-radius: 5px;
}

.sp-overview-media .elementor-widget-image img {
    display: block;
    width: 100%;
    aspect-ratio: 750 / 420;
    object-fit: cover;
}

.sp-overview-stat {
    height: 173px;
    border: 1px solid #82368c;
    border-radius: 5px;
    background: rgba(17, 10, 34, .9);
}

.sp-overview-stat > .elementor-widget-wrap {
    display: flex;
    height: 100%;
    flex-direction: column;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    align-content: center !important;
}

.sp-overview-stat > .elementor-widget-wrap > .elementor-widget-counter {
    flex: 0 0 auto;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
}

.sp-overview-stat .elementor-counter .elementor-counter-title {
    margin: 0;
}

.sp-overview-stat .elementor-counter-number-wrapper {
    color: #82368c !important;
    font-size: 62px;
    font-weight: 700;
    line-height: 1;
}

.sp-overview-stat .elementor-counter-title {
    margin-top: 3px;
    color: #fff !important;
    font-size: 26px;
    line-height: 1.2;
}

@media (max-width: 820px) {
    .sp-overview-copy { padding-right: 0; }
    .sp-overview-features > .elementor-container,
    .sp-overview-stats > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sp-overview-intro > .elementor-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

}

@media (max-width: 480px) {
    .sp-overview-native > .elementor-container {
        width: calc(100% - 50px);
    }

    .sp-overview-features > .elementor-container {
        gap: 13px 20px;
    }

    .sp-overview-card {
        height: 203px;
    }

    .sp-overview-card .elementor-widget-image {
        flex-basis: 122px;
    }

    .sp-overview-card .elementor-widget-image img {
        height: 122px;
    }

    .sp-overview-card .elementor-widget-heading {
        padding: 8px 9px 0;
    }


    .sp-overview-card .elementor-widget-button {
        padding: 0 9px 10px;
    }

    .sp-overview-card .elementor-button,
    .sp-overview-card .elementor-button.elementor-size-xs {
        font-size: 10px !important;
    }



    .sp-overview-stats > .elementor-container {
        gap: 12px 20px;
    }

    .sp-overview-stat {
        height: 81px;
    }

    .sp-overview-stat .elementor-counter-number-wrapper {
        font-size: 35px;
    }

    .sp-overview-stat .elementor-counter-title {
        margin-top: 0;
        font-size: 15px;
    }

    .sp-overview-stat .elementor-widget-counter .elementor-counter-number-wrapper { font-size: 35px; }
    .sp-overview-stat .elementor-widget-counter .elementor-counter-title { font-size: 15px; }
}

/* Elementor Free native Latest News and Gallery sections. */
.sp-home-native {
    margin: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    font-family: var(--sp-font-family);
}

.sp-home-native > .elementor-container {
    width: calc(100% - 150px);
    max-width: 1520px !important;
    margin: 0 auto;
}

.sp-home-native .elementor-widget-wrap {
    padding: 0 !important;
}

/* Homepage vertical rhythm follows the 1920px design frame, independently of
 * the roomier inner-page section padding. Change these tokens as a set. */
.home {
    --sp-home-section-gap: 89px;
    --sp-home-news-top: 69px;
    --sp-home-news-heading-gap: 36px;
    --sp-home-news-bottom: 59px;
    --sp-home-gallery-top: 77px;
    --sp-home-gallery-heading-gap: 46px;
    --sp-home-countdown-top: 79px;
    --sp-home-countdown-bottom: 78px;
}

.home .sp-overview-features {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.home .sp-overview-intro {
    padding-top: var(--sp-home-section-gap) !important;
    padding-bottom: 0 !important;
}

.home .sp-overview-stats {
    padding-top: calc(var(--sp-home-section-gap) - 2px) !important;
    padding-bottom: var(--sp-home-section-gap) !important;
}

.home .sp-home-news-heading {
    padding-top: var(--sp-home-news-top) !important;
    padding-bottom: var(--sp-home-news-heading-gap) !important;
}

.home .sp-home-news-content {
    padding-top: 0 !important;
    padding-bottom: var(--sp-home-news-bottom) !important;
}

.home .sp-home-gallery-heading {
    padding-top: var(--sp-home-gallery-top) !important;
    padding-bottom: var(--sp-home-gallery-heading-gap) !important;
}

.home .sp-home-gallery-content {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.home .sp-home-countdown {
    padding-top: var(--sp-home-countdown-top) !important;
    padding-bottom: var(--sp-home-countdown-bottom) !important;
}

@media (max-width: 1024px) {
    .home {
        --sp-home-section-gap: 71px;
        --sp-home-news-top: 55px;
        --sp-home-news-heading-gap: 29px;
        --sp-home-news-bottom: 47px;
        --sp-home-gallery-top: 62px;
        --sp-home-gallery-heading-gap: 38px;
        --sp-home-countdown-top: 63px;
        --sp-home-countdown-bottom: 62px;
    }
}

@media (max-width: 600px) {
    .home {
        --sp-home-section-gap: 44px;
        --sp-home-news-top: 35px;
        --sp-home-news-heading-gap: 24px;
        --sp-home-news-bottom: 32px;
        --sp-home-gallery-top: 40px;
        --sp-home-gallery-heading-gap: 24px;
        --sp-home-countdown-top: 40px;
        --sp-home-countdown-bottom: 40px;
    }
}

.sp-home-news-heading,
.sp-home-news-content {
    color: #071746;
    background: #fafafa;
}

.sp-home-news-content {
    padding-top: 0!important;
}

.sp-home-news-heading > .elementor-container {
    align-items: center;
}

.sp-home-news-heading .elementor-heading-title,
.sp-home-gallery-heading .elementor-heading-title {
    margin: 0;
    color: #82368c !important;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none;
}

.sp-home-news-heading__action > .elementor-widget-wrap {
    justify-content: flex-end;
}

.sp-home-news-heading .elementor-widget-heading .elementor-heading-title {
    font-family: var(--sp-font-family);



}

.sp-home-news-heading .elementor-widget {
    margin-bottom: 0 !important;
}

.sp-home-news-heading .elementor-widget-wrap {
    align-content: center;
    align-items: center;
}

.sp-home-news-heading__action .elementor-widget-button {
    width: auto;
}

.sp-home-news-heading__action .elementor-button {
    min-width: 175px;
    padding: 12px 24px;
    border-radius: 4px;
    color: #fff !important;
    background: #82368c !important;
    font-family: var(--sp-font-family);
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}

.sp-home-news-heading__action .elementor-button:hover,
.sp-home-news-heading__action .elementor-button:focus {
    color: #fff;
    background: #65266e !important;
}

.sp-home-news-content .elementor-widget-shortcode {
    margin: 0;
}

.sp-latest-news__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    font-family: var(--sp-font-family);
}

.sp-latest-news__featured,
.sp-latest-news__item {
    min-width: 0;
}

.sp-latest-news__image-link,
.sp-latest-news__thumb-link {
    display: block;
    overflow: hidden;
    border-radius: 4px;
}

.sp-latest-news__featured-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.sp-latest-news h3,
.sp-latest-news__grid h3 {
    margin: 0;
    padding: 0;
    color: #17205d;
    font-weight: 500;
    text-transform: none;
}

.sp-latest-news__featured h3 {
    max-width: none;
    margin-top: 26px;
    font-size: 34px;
    line-height: 1.24;
}

.sp-latest-news__grid h3 a {
    color: #142058;
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.sp-latest-news__grid h3 a:hover,
.sp-latest-news__grid h3 a:focus {
    color: #82368c;
}

.sp-latest-news__grid time {
    display: block;
    margin-top: 10px;
    color: #226e78;
    font-size: 18px;
    line-height: 1.4;
}

.sp-latest-news__list {
    display: grid;
    align-content: start;
    gap: 34px;
}

.sp-latest-news__item {
    display: grid;
    grid-template-columns: minmax(0, 260fr) minmax(0, 462fr);
    gap: 28px;
    align-items: start;
}

.sp-latest-news__list .sp-latest-news__item h3 a {
    color: #142058;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.sp-latest-news__thumbnail {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.sp-latest-news__item h3 {
    font-size: 24px;
    line-height: 1.2;
}

.sp-latest-news__item time {
    margin-top: 16px;
}

.sp-latest-news__empty {
    margin: 0;
    color: #071746;
}

.sp-home-gallery-heading,
.sp-home-gallery-content {
    color: #fff;
    background: #0c0815;
}

.sp-home-gallery-heading .elementor-widget-heading .elementor-heading-title {
    font-family: var(--sp-font-family);



}

.sp-home-gallery-heading .elementor-widget {
    margin-bottom: 0 !important;
}

.sp-home-gallery-heading .elementor-heading-title {
    color: #fff !important;
}

.sp-home-gallery-heading__action > .elementor-widget-wrap {
    justify-content: flex-end;
}

.sp-gallery-arrows {
    display: none;
}

.sp-home-gallery-content .elementor-widget-image-carousel {
    position: relative;
    overflow: visible;
}

.sp-home-gallery-content .elementor-image-carousel-wrapper {
    position: relative;
    margin-top: -96px;
    padding-top: 96px;
    overflow: hidden;
}

.sp-home-gallery-content .swiper-slide {
    overflow: hidden;
    border-radius: 3px;
}

.sp-home-gallery-content .swiper-slide-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 365 / 288;
    object-fit: cover;
}

.sp-home-gallery-content .elementor-swiper-button {
    top: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    background: transparent;
    border: 0;
    color: #82368c !important;
    font-size: 32px !important;
    line-height: 1;
    transform: none !important;
}

.sp-home-gallery-content .elementor-swiper-button svg,
.sp-home-gallery-content .elementor-swiper-button i {
    display: none;
}

.sp-home-gallery-content .elementor-swiper-button::before {
    content: "";
    width: 22px;
    height: 22px;
    border-top: 4px solid currentColor;
    border-right: 4px solid currentColor;
    border-radius: 2px;
    transform: rotate(45deg);
}

.sp-home-gallery-content .elementor-swiper-button-prev::before {
    transform: rotate(-135deg);
}

.sp-home-gallery-content .elementor-swiper-button:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -2px;
}

.sp-home-gallery-content .elementor-swiper-button-prev {
    right: 32px !important;
    left: auto !important;
}

.sp-home-gallery-content .elementor-swiper-button-next {
    right: -10px !important;
    left: auto !important;
}

/* Heading-row controls avoid depending on the slider's height or clipping. */
.sp-home-gallery-heading > .elementor-container {
    align-items: center;
}

.sp-home-gallery-heading__action > .elementor-widget-wrap {
    align-items: center;
    align-content: center;
}

.sp-gallery-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    margin-left: auto;
}

.sp-gallery-navigation button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #82368c;
    cursor: pointer;
}

.sp-gallery-navigation button::before {
    content: "";
    width: 22px;
    height: 22px;
    border-top: 4px solid currentColor;
    border-right: 4px solid currentColor;
    border-radius: 2px;
    transform: rotate(45deg);
}

.sp-gallery-navigation button:first-child::before {
    transform: rotate(-135deg);
}

.sp-gallery-navigation button:hover { color: #b75ac2; }
.sp-gallery-navigation button:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
.sp-gallery-navigation button:disabled { opacity: .35; cursor: default; }

.sp-home-gallery-content.sp-gallery-navigation-ready .elementor-image-carousel-wrapper {
    margin-top: 0;
    padding-top: 0;
}

.sp-home-gallery-content.sp-gallery-navigation-ready .elementor-swiper-button {
    visibility: hidden;
    pointer-events: none;
}

@media (max-width: 767px) {
    .sp-home-gallery-heading > .elementor-container { flex-wrap: nowrap; }
    .sp-home-gallery-heading__copy { width: 65% !important; }
    .sp-home-gallery-heading__action { width: 35% !important; }
    .sp-gallery-navigation button::before { width: 16px; height: 16px; border-width: 3px; }
}

.sp-home-countdown {
    background: #0c0815;
}

.sp-countdown-banner {
    position: relative;
    overflow: hidden;
    min-height: 190px;
    border-radius: 4px;
    color: #fff;
    background: linear-gradient(110deg, #101d49 0%, #342254 55%, #15547d 100%);
    font-family: var(--sp-font-family);
}

.sp-countdown-banner img.sp-countdown-banner__art {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center bottom;
}

.sp-countdown-banner__units {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 24px;
    width: 58%;
    min-height: 190px;
    padding: 28px 0 28px 6.5%;
}

.sp-countdown-banner__unit {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sp-countdown-banner__label {
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
}

.sp-countdown-banner__unit strong {
    font-size: 76px;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 900px) {
    .sp-countdown-banner__units { width: 75%; padding-left: 5%; }
    .sp-countdown-banner__unit strong { font-size: 56px; }
    .sp-countdown-banner__label { font-size: 22px; }
    .sp-home-native > .elementor-container {
        width: calc(100% - 60px);
    }

    .sp-latest-news__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .sp-latest-news__featured-image {
        height: auto;
        aspect-ratio: 3 / 2;
    }
}

@media (max-width: 600px) {
    .sp-home-gallery-content .elementor-image-carousel-wrapper { margin-top: -62px; padding-top: 62px; }
    .sp-home-gallery-content .elementor-swiper-button { top: -7px !important; }
    .sp-home-gallery-content .elementor-swiper-button::before { width: 16px; height: 16px; border-width: 3px; }
    .sp-countdown-banner__units { width: 100%; min-height: 150px; padding: 24px; gap: 12px; text-align: center; background: rgba(12, 8, 21, .55); }
    .sp-countdown-banner { min-height: 150px; }
    .sp-countdown-banner__unit strong { font-size: 42px; }
    .sp-countdown-banner__label { font-size: 16px; }
    .sp-home-native > .elementor-container {
        width: calc(100% - 40px);
    }

    .sp-home-news-heading > .elementor-container {
        display: flex;
        flex-wrap: nowrap;
    }

    .sp-home-news-heading__copy {
        width: 60% !important;
    }

    .sp-home-news-heading__action {
        width: 40% !important;
    }


    .sp-home-news-heading__action .elementor-button {
        min-width: 0;
        padding: 9px 12px;
        font-size: 11px;
    }

    .sp-home-news-heading .elementor-widget-heading .elementor-heading-title {
        font-size: 25px;
    }

    .sp-latest-news__grid time {
        font-size: 14px;
    }

    .sp-latest-news__featured h3 {
        font-size: 21px;
    }

    .sp-latest-news__item {
        grid-template-columns: 120px minmax(0, 1fr);
        gap: 13px;
    }

    .sp-latest-news__thumbnail {
        width: 120px;
        height: 80px;
    }

    .sp-latest-news__item h3 {
        font-size: 14px;
    }

    .sp-home-gallery-content .swiper-slide-image {
        height: 220px;
    }
}

/* Figma footer: Footer component 255:1556. */
.sp-site-footer {
    box-sizing: border-box;
    margin: 0;
    padding: 44px 0 56px;
    color: #fff;
    background: linear-gradient(90deg, #371949 0%, #23152c 100%);
    font-family: var(--sp-font-family);
}

.sp-site-footer__inner {
    width: calc(100% - 48px);
    max-width: 1520px;
    margin: 0 auto;
}

.sp-site-footer__columns {
    display: grid;
    grid-template-columns: 1.05fr .72fr 1.05fr .85fr 1.35fr;
    column-gap: clamp(28px, 3.5vw, 68px);
    row-gap: 0;
}

.sp-site-footer__columns::before,
.sp-site-footer__columns::after,
.sp-site-footer__bottom::before,
.sp-site-footer__bottom::after {
    display: none !important;
    content: none !important;
}

.sp-site-footer__column--contact {
    grid-column: 1;
    grid-row: 1;
}

.sp-site-footer__column--countdown {
    grid-column: 2;
    grid-row: 1;
}

.sp-site-footer__column--visit {
    grid-column: 3;
    grid-row: 1;
}

.sp-site-footer__column--show {
    grid-column: 4;
    grid-row: 1;
}

.sp-site-footer__column--exhibit {
    grid-column: 5;
    grid-row: 1;
}

.sp-site-footer__widget {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
    color: #fff;
}

.sp-site-footer__column,
.sp-site-footer__widget .textwidget {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
}

.sp-site-footer__widget + .sp-site-footer__widget {
    margin-top: 22px;
}

.sp-site-footer__title,
.sp-site-footer .widget-title {
    margin: 0 0 20px;
    color: #fff;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: none;
}

.sp-site-footer__widget ul,
.sp-site-footer__widget ol,
.sp-site-footer__widget .menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-site-footer__widget li,
.sp-site-footer__widget p {
    margin: 0 0 12px;
    color: #fff;
    font-size: calc(var(--sp-type-body) * .8);
    line-height: 1.35;
}

.sp-site-footer__widget a {
    color: #fff;
    text-decoration: none;
    transition: color .2s ease;
}

.sp-site-footer__widget a:hover,
.sp-site-footer__widget a:focus {
    color: #c36ccc;
}

.sp-site-footer__widget .fa,
.sp-site-footer__widget .fas,
.sp-site-footer__widget .far {
    display: none;
}

.sp-site-footer__column--contact li {
    display: flex;
    align-items: center;
    gap: 14px;
}

.sp-site-footer__column--contact li::before {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
}

.sp-site-footer__column--contact li:first-child::before {
    background-image: url("images/sp-footer-phone.svg");
}

.sp-site-footer__column--contact li:nth-child(2)::before {
    background-image: url("images/sp-footer-email.svg");
}

.sp-site-footer__countdown {
    display: grid;
    gap: 11px;
}

.sp-site-footer__countdown-unit {
    display: flex;
    align-items: baseline;
    gap: 5px;
    font-size: var(--sp-type-body);
    line-height: 1.25;
}

.sp-site-footer__countdown-unit strong { font-weight: var(--sp-weight-bold); }
.sp-site-footer__countdown-unit span { font-size: inherit; }

.sp-site-footer__bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 70px;
    margin-top: 88px;
}

.sp-site-footer__legal {
    max-width: 1060px;
    color: #fff;
    font-size: calc(var(--sp-type-body) * .65);
    line-height: 1.45;
}

.sp-site-footer__company,
.sp-site-footer__company p {
    margin: 0 0 13px;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
}

.sp-site-footer__terms {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    color: #fff;
}

.sp-site-footer__terms,
.sp-site-footer__terms span,
.sp-site-footer__legal-menu,
.sp-site-footer__legal-menu li,
.sp-site-footer__legal-menu a {
    font-size: 14px;
    line-height: 1.2;
    display: flex;
}

.sp-site-footer__legal-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-site-footer__legal-menu li {
    margin: 0;
    font-size: inherit;
}

.sp-site-footer__legal-menu a,
.sp-site-footer__credit a {
    color: #fff;
    font-size: inherit;
    text-decoration: none;
}

.sp-site-footer__credit a {
    margin-left: .25em;
}

.sp-site-footer__terms > span + span::before,
.sp-site-footer__credit::before,
.sp-site-footer__legal-menu li + li::before {
    margin: 0 5px;
    color: #fff;
    content: "|";
}

.sp-site-footer__legal-menu::before {
    margin: 0 5px;
    content: "|";
}

#menu-footer-menu.sp-site-footer__legal-menu li:not(:last-child) a::after {
    padding: 0 !important;
    content: none !important;
}

.sp-site-footer__legal-menu a:hover,
.sp-site-footer__legal-menu a:focus,
.sp-site-footer__credit a:hover,
.sp-site-footer__credit a:focus {
    color: #c36ccc;
}

.sp-site-footer__partners {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.sp-site-footer__partner {
    display: flex;
    width: auto;
    height: 50px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.sp-site-footer__partner img {
    display: block;
    width: auto;
    height: 50px;
    max-width: 150px;
    object-fit: contain;
}

.sp-exhibitor-native.sp-exhibitor-heading {
    padding-bottom: 0!important;
}

/* Compensate for transparent padding baked into the supplied logo canvases. */
.sp-site-footer__partner:nth-child(1) img { height: 143px; max-width: none; }
.sp-site-footer__partner:nth-child(3) img { height: 52px; max-width: none; }

@media (max-width: 1300px) and (min-width: 821px) {
    .sp-site-footer__columns {
        grid-template-columns: 1.05fr .72fr 1.05fr .85fr 1.35fr;
        column-gap: 24px;
    }
    .sp-site-footer__bottom { margin-top: 82px; }
}

@media (max-width: 820px) {
    .sp-site-footer {
        min-height: 0;
    }

    .sp-site-footer__columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        row-gap: 50px;
        max-width: none;
    }

    .sp-site-footer__column--contact,
    .sp-site-footer__column--countdown,
    .sp-site-footer__column--visit,
    .sp-site-footer__column--show,
    .sp-site-footer__column--exhibit {
        grid-column: auto;
        grid-row: auto;
    }

    .sp-site-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        margin-top: 70px;
    }

    .sp-site-footer__partners {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .sp-site-footer {
        padding: 45px 0;
    }

    .sp-site-footer__inner {
        width: calc(100% - 50px);
    }

    .sp-site-footer__columns {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .sp-site-footer__title,
    .sp-site-footer .widget-title { margin-bottom: 18px; }

    .sp-site-footer__bottom {
        gap: 36px;
        margin-top: 55px;
    }

    .sp-site-footer__partners {
        width: 100%;
        flex-wrap: wrap;
        gap: 16px;
    }

    .sp-site-footer__partner {
        height: 42px;
    }
    .sp-site-footer__partner img { height: 42px; max-width: 120px; }
    .sp-site-footer__partner:nth-child(1) img { height: 120px; max-width: none; }
    .sp-site-footer__partner:nth-child(3) img { height: 54px; max-width: none; }
}

/* Figma mobile homepage: Mobile 412:858 (390px reference frame). */
@media (max-width: 480px) {
    .sp-home-hero__inner,
    .sp-overview-native > .elementor-container,
    .sp-home-native > .elementor-container,
    .sp-site-footer__inner {
        width: calc(100% - 50px);
    }

    .sp-home-hero__content {
        top: 212px;
        max-width: 340px;
    }

    .sp-home-hero__eyebrow {
        width: 255px;
        margin-bottom: 17px;
    }

    .sp-home-hero h1 {
        min-height: 123px;
        max-width: 340px;
        font-size: 28px;
        line-height: 1.1;
    }

    .sp-home-hero__details {
        gap: 12px;
        margin-top: 35px;
    }

    .sp-home-hero__details p {
        gap: 25px;
        line-height: 1.2;
    }

    .sp-home-hero__actions {
        gap: 20px;
    }

    .sp-home-hero__button {
        min-width: 0;
        min-height: 44px;
        padding: 10px 12px;
        font-size: 15px;
        line-height: 1;
        white-space: nowrap;
    }

    .sp-home-hero__button--outline {
        border-color: #287c83;
        background: #287c83;
    }

    .home .sp-overview-features {
        padding-top: 6px !important;
        padding-bottom: 0 !important;
    }

    .sp-overview-card .elementor-heading-title {
        font-size: 13px !important;
        line-height: 1.15 !important;
    }

    .sp-overview-card .elementor-button,
    .sp-overview-card .elementor-button.elementor-size-xs {
        font-size: 14px !important;
        line-height: 1 !important;
    }

    .home .sp-overview-intro {
        padding-top: 78px !important;
        padding-bottom: 0 !important;
    }

    .sp-overview-intro > .elementor-container {
        gap: 56px;
    }

    .sp-overview-copy .elementor-widget-heading {
        max-width: 309px;
        margin-bottom: 15px !important;
    }

    .sp-overview-copy .elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }

    .sp-overview-copy .elementor-widget-text-editor {
        width: 316px;
        font-size: 16px !important;
        line-height: 1.2 !important;
    }

    .sp-overview-copy .elementor-widget-text-editor p {
        font-size: inherit !important;
        line-height: inherit !important;
    }

    .sp-overview-media .elementor-widget-image img,
    .sp-overview-video {
        aspect-ratio: 340 / 190;
    }

    .home .sp-overview-stats {
        padding-top: 43px !important;
        padding-bottom: 53px !important;
    }

    .sp-overview-stats > .elementor-container {
        gap: 12px 20px;
    }

    .sp-overview-stat .elementor-counter {
        gap: 3px;
    }

    .sp-overview-stat .elementor-counter-number-wrapper,
    .sp-overview-stat .elementor-widget-counter .elementor-counter-number-wrapper span {
        height: auto;
        font-size: 35px;
        line-height: 1;
    }

    .sp-overview-stat .elementor-counter-title {
        line-height: 18px;
    }

    .home .sp-home-news-heading {
        padding-top: 35px !important;
        padding-bottom: 20px !important;
    }

    .sp-home-news-heading__copy {
        width: 100% !important;
    }

    .sp-home-news-heading .elementor-widget-heading .elementor-heading-title,
    .sp-home-gallery-heading .elementor-widget-heading .elementor-heading-title {
        font-size: 24px;
    }

    .sp-home-news-heading__action {
        display: none;
    }

    .home .sp-home-news-content {
        padding-bottom: 15px !important;
    }

    .sp-latest-news__grid {
        display: block;
    }

    .sp-latest-news__list {
        display: none;
    }

    .sp-latest-news__featured-image {
        height: 226px !important;
        aspect-ratio: auto !important;
        border-radius: 5px;
    }

    .sp-latest-news__featured h3 {
        margin-top: 17px;
        font-size: 18px;
        line-height: 1.15;
    }

    .sp-latest-news__grid h3 a {
        font-size: inherit;
        line-height: inherit;
    }

    .sp-latest-news__grid time {
        margin-top: 8px;
        font-size: 16px;
    }

    .sp-home-news-mobile-action {
        width: 100%;
        margin: 37px 0 0 !important;
    }

    .sp-home-news-mobile-action .elementor-button {
        display: flex;
        width: 100%;
        min-height: 40px;
        align-items: center;
        justify-content: center;
        padding: 10px 25px;
        border-radius: 5px;
        color: #fff !important;
        background: #82368c !important;
        font-size: 16px;
        font-weight: 500;
        line-height: 1;
    }

    .sp-home-gallery-heading {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .home .sp-home-gallery-content {
        padding-bottom: 80px !important;
        margin-bottom: 0 !important;
    }

    .sp-home-gallery-content .elementor-image-carousel-wrapper {
        overflow: hidden;
    }

    .sp-home-gallery-content .swiper-slide {
        width: 275px !important;
    }

    .sp-home-gallery-content .swiper-slide-image {
        height: 218px;
        aspect-ratio: 275 / 218;
    }

    .sp-home-countdown {
        display: none !important;
    }

    .sp-site-footer {
        padding: 48px 0 110px;
    }

    .sp-site-footer__columns {
        gap: 44px;
    }

    .sp-site-footer__title,
    .sp-site-footer .widget-title {
        margin-bottom: 18px;
        font-size: 20px;
    }

    .sp-site-footer__widget li,
    .sp-site-footer__widget p {
        font-size: 16px;
    }

    .sp-site-footer__bottom {
        gap: 36px;
        margin-top: 52px;
    }
}

/* Keep legacy product tables inside the content column on narrow screens. */
.page-template-page-exhibitor-product-list .list_right .bottom {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.page-template-page-exhibitor-product-list .list_right .bottom table {
    min-width: 680px;
}

/* General site search results. */
.sp-search-results,
.sp-search-results * { box-sizing: border-box; }
.sp-search-results {
    min-height: 60vh;
    padding: 80px 0 96px;
    color: #fff;
    background: #090513;
}

.sp-search-results__shell { width: calc(100% - 80px); max-width: 1520px; margin: 0 auto; }
.sp-search-results__header { max-width: 980px; margin-bottom: 54px; }
.sp-search-results__eyebrow { margin: 0 0 12px; color: #c36ccc; font-size: 16px; font-weight: var(--sp-weight-medium); letter-spacing: .08em; text-transform: uppercase; }
.sp-search-results__header h1 { margin: 0 0 32px; color: #fff; font-size: var(--sp-type-h1); line-height: var(--sp-leading-h1); text-transform: none; }
.sp-search-form { display: flex; width: 100%; max-width: 780px; gap: 12px; }
.sp-search-form__field { min-width: 0; min-height: 52px; flex: 1 1 auto; margin: 0 !important; padding: 12px 18px; border: 1px solid #82368c; border-radius: 3px; color: #090513; background: #fff; font: inherit; }
.sp-search-form__field:focus { border-color: #c36ccc; outline: 3px solid rgba(195, 108, 204, .3); }
.sp-search-form__submit,
.sp-search-result__button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 12px 28px; border: 0; border-radius: 3px; color: #fff !important; background: #82368c; font-size: 18px; font-weight: var(--sp-weight-medium); line-height: 1; text-decoration: none !important; transition: background-color .2s ease; }
.sp-search-form__submit:hover,
.sp-search-form__submit:focus,
.sp-search-result__button:hover,
.sp-search-result__button:focus { background: #a83baa; }
.sp-search-results__count { margin: 0 0 24px; color: #d8cddd; font-size: 16px; }
.sp-search-results__list { display: grid; gap: 0; border-top: 1px solid #702573; }
.sp-search-result,
.sp-search-results article.sp-search-result { display: grid; width: 100%; max-width: none; grid-template-columns: minmax(220px, 340px) minmax(0, 1fr); grid-template-areas: "image content"; align-items: center; gap: 40px; margin: 0; padding: 34px 0; border-bottom: 1px solid #702573; }
.sp-search-result:not(:has(.sp-search-result__image)) { grid-template-columns: 1fr; grid-template-areas: "content"; }
.sp-search-result__image { display: block; grid-area: image; }
.sp-search-result__image img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.sp-search-result__content { min-width: 0; grid-area: content; }
.sp-search-result__meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin: 0 0 10px; color: #c36ccc !important; font-size: 14px; font-weight: var(--sp-weight-medium); letter-spacing: .04em; text-transform: uppercase; }
.sp-search-result__meta time { color: #d8cddd; }
.sp-search-result h2 { margin: 0 0 12px; font-size: var(--sp-type-card); line-height: var(--sp-leading-card); text-transform: none; }
.sp-search-result h2 a { color: #fff; text-decoration: none; }
.sp-search-result h2 a:hover,
.sp-search-result h2 a:focus { color: #e694f1; text-decoration: underline; }
.sp-search-result__excerpt { max-width: 900px; margin-bottom: 22px; }
.sp-search-result__excerpt p { margin: 0; color: #fff; }
.sp-search-result__button { min-height: 44px; padding: 10px 22px; font-size: 16px; }
.sp-search-results .navigation.pagination { margin-top: 44px; }
.sp-search-results .navigation.pagination .screen-reader-text { position: absolute; }
.sp-search-results .nav-links { display: flex; flex-wrap: wrap; gap: 10px; }
.sp-search-results .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; margin: 0; padding: 8px 12px; border: 1px solid #82368c; border-radius: 3px; color: #fff; text-decoration: none; }
.sp-search-results .page-numbers.current,
.sp-search-results a.page-numbers:hover,
.sp-search-results a.page-numbers:focus { background: #82368c; }
.sp-search-results__empty { padding: 34px; border: 1px solid #702573; background: #12091f; }
.sp-search-results__empty h2 { margin: 0 0 10px; color: #fff; text-transform: none; }
.sp-search-results__empty p { margin: 0; color: #fff; }

@media (max-width: 900px) {
    .sp-search-results { padding: 64px 0 72px; }
    .sp-search-results__shell { width: calc(100% - 60px); }
    .sp-search-result,
    .sp-search-results article.sp-search-result { grid-template-columns: minmax(190px, 280px) minmax(0, 1fr); gap: 28px; }
}

@media (max-width: 600px) {
    .sp-search-results { padding: 48px 0; }
    .sp-search-results__shell { width: calc(100% - 40px); }
    .sp-search-results__header { margin-bottom: 40px; }
    .sp-search-results__header h1 { margin-bottom: 24px; }
    .sp-search-form { flex-direction: column; }
    .sp-search-form__submit { width: 100%; }
    .sp-search-result,
    .sp-search-results article.sp-search-result { grid-template-columns: 1fr; grid-template-areas: "image" "content"; gap: 20px; padding: 28px 0; }
    .sp-search-result:not(:has(.sp-search-result__image)) { grid-template-areas: "content"; }
}

/* 2027 single exhibitor profile */
.sp-exhibitor-profile,
.sp-exhibitor-profile * { box-sizing: border-box; }
.sp-exhibitor-profile { min-height: 760px; color: #fff; background: #090513; font-family: var(--sp-font-family); }
.sp-exhibitor-profile__inner { display: grid; width: calc(100% - 150px); max-width: 1520px; margin: 0 auto; grid-template-columns: 453px minmax(0, 1fr); grid-template-areas: "sidebar main" "cta main"; column-gap: 91px; align-items: start; }
.sp-exhibitor-profile__sidebar,
.sp-exhibitor-profile__main { min-width: 0; }
.sp-exhibitor-profile__sidebar { grid-area: sidebar; }
.sp-exhibitor-profile__main { grid-area: main; }
.sp-exhibitor-profile__logo { display: flex; width: 100%; height: 183px; align-items: center; justify-content: center; overflow: hidden; padding: 20px; border-radius: 4px; color: #1b1430; background: #fff; text-align: center; }
.sp-exhibitor-profile__logo-image { display: block; width: auto; height: auto; max-width: 84%; max-height: 78%; object-fit: contain; }
.sp-exhibitor-profile__logo > span { font-size: 30px; font-weight: 700; line-height: 1.15; }
.sp-exhibitor-profile__title { margin: 27px 0 0; color: #fff;     }
.sp-exhibitor-profile__stand,
.sp-exhibitor-profile__back { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 10px 25px; border: 0; border-radius: 4px; color: #fff; background: #8d3195; font-size: 20px; font-weight: 500; line-height: 1; text-decoration: none; text-transform: none; }
.sp-exhibitor-profile__stand { margin: 24px 0 0; }
.sp-exhibitor-profile__services { margin-top: 41px; padding-top: 25px; border-top: 1px solid #6d216f; }
.sp-exhibitor-profile__services h2 { margin: 0 0 15px; color: #277a83;     }
.sp-exhibitor-profile__services ul { margin: 0; padding: 0; list-style: none; }
.sp-exhibitor-profile__services li { position: relative; margin: 0 0 17px; padding-left: 31px; color: #fff;    }
.sp-exhibitor-profile__services li::before { position: absolute; top: .42em; left: 0; width: 12px; height: 12px; border-radius: 50%; background: #277a83; content: ""; }
.sp-exhibitor-profile__cta { grid-area: cta; overflow: hidden; margin-top: 52px; border: 1px solid #742578; border-radius: 4px; background: #160b24; }
.sp-exhibitor-profile__cta::before { display: block; height: 176px; background: linear-gradient(180deg, transparent 30%, rgba(9, 5, 19, .78)), url("images/sp-overview-video-poster.png") center / cover; content: ""; }
.sp-exhibitor-profile__cta .widget { margin: 0; padding: 12px 28px 29px; }
.sp-exhibitor-profile__cta .text-dark,
.sp-exhibitor-profile__cta h2,
.sp-exhibitor-profile__cta h3,
.sp-exhibitor-profile__cta h4 { margin: 0 0 13px; color: #fff !important;     }
.sp-exhibitor-profile__cta .text-right { text-align: left !important; }
.sp-exhibitor-profile__cta p,
.sp-exhibitor-profile__cta a,
.sp-exhibitor-profile__cta .textwidget p { margin: 0 0 16px; color: #fff;   }
.sp-exhibitor-profile__cta a {
    font-size: 18px;
    line-height: 1.35;
}
.sp-exhibitor-profile__cta .textwidget p:last-child { margin: 23px 0 0; }
.sp-exhibitor-profile__cta a,
.sp-exhibitor-profile__cta .btn,
.sp-exhibitor-profile__cta .textwidget .btn { min-height: 0; padding: 0; border: 0; color: #a944ad !important; background: transparent !important; font-size: 17px; font-weight: 400; line-height: 1.2; text-transform: none; }
.sp-exhibitor-profile__about-title { margin: 1px 0 31px; color: #fff;     }
.sp-exhibitor-profile__content,
.sp-exhibitor-profile__content p,
.sp-exhibitor-profile__content li { color: #fff;    }
.sp-exhibitor-profile__content { line-height: 1.5; }
.sp-exhibitor-profile__content p { margin: 0 0 22px; }
.sp-exhibitor-profile__content ul,
.sp-exhibitor-profile__content ol { margin: 0 0 22px; padding-left: 27px; }
.sp-exhibitor-profile__content h2,
.sp-exhibitor-profile__content h3,
.sp-exhibitor-profile__content h4 { margin: 34px 0 14px; color: #fff; line-height: 1.2; text-transform: none; }
.sp-exhibitor-profile__content a,
.sp-exhibitor-profile__contact a { color: #fff; text-decoration: underline; }
.sp-exhibitor-profile__contact { display: grid; gap: 18px; margin: 48px 0 34px; padding-top: 32px; border-top: 1px solid #6d216f; }
.sp-exhibitor-profile__contact > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 24px; }
.sp-exhibitor-profile__contact dt,
.sp-exhibitor-profile__contact dd { margin: 0; color: #fff; font-size: 18px; line-height: 1.4; }
.sp-exhibitor-profile__contact dt { font-weight: 700; }
.sp-exhibitor-profile__contact--mobile { display: none; }
.sp-exhibitor-profile__content-toggle[hidden] { display: none; }
.sp-exhibitor-profile__content-toggle {
    min-height: 44px;
    align-items: center;
    justify-content: center;
    margin: 16px 0 0;
    padding: 10px 24px;
    border: 1px solid #82368c;
    border-radius: 4px;
    color: #fff;
    background: transparent;
    font-family: inherit;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}
.sp-exhibitor-profile__back { margin-top: 24px; }
.sp-exhibitor-profile__back:hover,
.sp-exhibitor-profile__back:focus { color: #fff; background: #a33cad; }

@media (max-width: 1300px) {
    .sp-exhibitor-profile__inner { width: calc(100% - 80px); grid-template-columns: minmax(300px, 380px) minmax(0, 1fr); column-gap: 58px; }
}

@media (max-width: 980px) {
    .sp-exhibitor-profile__inner {
        width: calc(100% - 60px);
        grid-template-columns: 1fr;
        grid-template-areas: "sidebar" "main" "cta";
        gap: 0;
    }
    .sp-exhibitor-profile__sidebar {
        display: grid;
        grid-template-columns: 280px minmax(0, 1fr);
        grid-template-areas: "logo title" "logo stand" "services services" "contact contact";
        column-gap: 38px;
        margin-bottom: 48px;
    }
    .sp-exhibitor-profile__logo { grid-area: logo; }
    .sp-exhibitor-profile__title { grid-area: title; align-self: end; margin-top: 0; }
    .sp-exhibitor-profile__stand { grid-area: stand; align-self: start; justify-self: start; margin-top: 18px; }
    .sp-exhibitor-profile__services { grid-area: services; margin-top: 32px; }
    .sp-exhibitor-profile__logo { height: 150px; }
    .sp-exhibitor-profile__services li { padding-left: 24px;  }
    .sp-exhibitor-profile__services li::before { width: 9px; height: 9px; }
    .sp-exhibitor-profile__contact--desktop { display: none; }
    .sp-exhibitor-profile__contact--mobile { display: grid; grid-area: contact; margin: 30px 0 0; padding-top: 25px; }
    .sp-exhibitor-profile__cta { width: min(453px, 100%); }
    .sp-exhibitor-profile__cta::before { height: 130px; }
    .sp-exhibitor-profile__cta .widget { padding: 20px; }
}

@media (max-width: 700px) {
    .sp-exhibitor-profile__inner { display: block; width: calc(100% - 40px); }
    .sp-exhibitor-profile__sidebar { display: block; margin-bottom: 52px; }
    .sp-exhibitor-profile__logo,
    .sp-exhibitor-profile__cta { max-width: 453px; }
    .sp-exhibitor-profile__title { margin-top: 27px; }
    .sp-exhibitor-profile__stand { margin-top: 24px; }
    .sp-exhibitor-profile__services { margin-top: 41px; }
    .sp-exhibitor-profile__content.is-collapsed { position: relative; max-height: 340px; overflow: hidden; }
    .sp-exhibitor-profile__content.is-collapsed::after { position: absolute; right: 0; bottom: 0; left: 0; height: 90px; background: linear-gradient(transparent, #090513); content: ""; pointer-events: none; }
    .sp-exhibitor-profile__content-toggle { display: inline-flex; }
    .sp-exhibitor-profile__contact > div { grid-template-columns: 1fr; gap: 4px; }
    .sp-exhibitor-profile__cta { width: 100%; margin-top: 52px; }
}
/* Elementor Free Exhibit page */
.sp-exhibit-native, .sp-exhibit-native * { box-sizing: border-box; }
.sp-exhibit-native { margin: 0 !important; padding-right: 0 !important; padding-left: 0 !important; color: #fff; font-family: var(--sp-font-family); }
.sp-exhibit-native > .elementor-container { width: calc(100% - 150px); max-width: 1520px !important; margin: 0 auto; }
.sp-exhibit-native .elementor-widget-wrap { padding: 0 !important; }
.sp-exhibit-native .elementor-widget-html,
.sp-exhibit-native .elementor-widget-text-editor,
.sp-exhibit-native .elementor-widget-shortcode { width: 100%; }
.sp-exhibit-native h1, .sp-exhibit-native h2, .sp-exhibit-native h3, .sp-exhibit-native p { color: inherit; }
.sp-exhibit-native h1, .sp-exhibit-native h2, .sp-exhibit-native h3 { text-transform: none; }
.sp-exhibit-hero { position: relative; min-height: 430px; --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.5) 0%, #090513 100%), linear-gradient(90deg, rgba(76,20,86,.78), rgba(9,5,19,.45)), url("images/sp-feature-suppliers.png") center 42% / cover no-repeat; }
.sp-exhibit-hero > .elementor-container { min-height: 430px; align-items: flex-end; }
.sp-exhibit-hero__copy { width: min(900px, 100%); padding: 90px 0 42px; }
.sp-exhibit-hero__copy h1 { margin: 0 0 16px; color: #fff; font-size: 42px; font-weight: 700; line-height: 1.08; }
.sp-exhibit-hero__copy p { max-width: 870px; margin: 0 0 14px; color: #fff;   }
.sp-exhibit-anchor-nav { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 68px; }
/* The slot retains the editable nav's original space while it is fixed. */
.sp-exhibit-nav-slot,
.sp-about-nav-slot,
.sp-events-nav-slot { display: flow-root; }
.sp-exhibit-nav-slot { margin-top: 68px; }
.sp-exhibit-nav-slot .sp-exhibit-anchor-nav,
.sp-exhibit-anchor-nav.sp-exhibit-anchor-nav--fixed { margin: 0; }
.sp-exhibit-anchor-nav--fixed,
.sp-about-anchor-nav--fixed,
.sp-events-anchor-nav--fixed {
    position: fixed;
    z-index: 1000;
    box-sizing: border-box;
    padding: 45px 0;
    background: #090513;
    /* Full-width background without changing the button rail or causing overflow. */
    box-shadow: 0 0 0 100vmax #090513;
    clip-path: inset(-12px -100vmax);
}

@media (max-width: 767px) {
    .sp-exhibit-anchor-nav--fixed,
    .sp-about-anchor-nav--fixed,
    .sp-events-anchor-nav--fixed {
        padding: 18px 0;
    }
}
:is(#why-exhibit, #exhibiting-options, #exhibiting-criteria, #enquire-to-exhibit) {
    scroll-margin-top: calc(var(--sp-exhibit-nav-offset, 100px) + 24px);
}
@media (max-width: 760px) {
    .sp-exhibit-nav-slot { margin-top: 38px; }
}
.sp-exhibit-anchor-nav a { display: inline-flex; min-width: 130px; min-height: 44px; align-items: center; justify-content: center; padding: 9px 17px; border: 1px solid #8d3195; border-radius: 2px; color: #fff; text-align: center;}
.sp-exhibit-anchor-nav a:hover, .sp-exhibit-anchor-nav a:focus { color: #fff; background: #8d3195; }
.sp-exhibit-reasons { background: #090513; }
.sp-exhibit-reasons__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 32px; }
.sp-exhibit-reasons__heading h2 { margin: 0; color: #fff;}
.sp-exhibit-reasons__heading p { margin: 0 0 3px; color: #fff;  }
.sp-exhibit-reasons__heading span { color: #a944ad; }
.sp-exhibit-reasons__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 18px; }
.sp-exhibit-reasons__grid article { min-height: 145px; padding: 25px 24px; border: 1px solid #65266e; border-radius: 3px; background: #140a21; }
.sp-exhibit-reasons__grid h3 { margin: 0 0 22px; color: #a944ad; font-size: 19px; font-weight: 500; line-height: 1.2; }
.sp-exhibit-reasons__grid p { margin: 0; color: #fff;   }
/* .sp-exhibit-reasons__grid article:last-child { grid-column: 1; } */
.sp-exhibit-audience-section { color: #071746; background: #fff; }
.sp-exhibit-audience h2 { margin: 0 0 24px; color: #82368c;}
.sp-exhibit-audience > p { max-width: 720px; margin: 0 0 34px; color: #071746;   }
.sp-exhibit-audience__tags { display: flex; flex-wrap: wrap; gap: 13px 16px; }
.sp-exhibit-audience__tags span { padding: 9px 17px; border: 1px solid #a944ad; border-radius: 999px; color: #82368c; white-space: nowrap; }
.sp-exhibit-packages {
    --sp-package-border: #82368c;
    --sp-package-surface: #11091f;
    --sp-package-accent: #913a9d;
    --sp-package-teal: #176f78;
    background: #090513;
}
.sp-exhibit-packages__intro { display: grid; align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 84px; margin-bottom: 40px; }
.sp-exhibit-packages__intro h2 { margin: 4px 0 31px; color: #fff; font-family: var(--sp-font-family); font-size: var(--sp-type-section); font-weight: 700; line-height: var(--sp-leading-heading); }
.sp-exhibit-packages__intro p { max-width: 700px; margin: 0 0 23px; color: #fff; }
.sp-exhibit-packages__intro img { display: block; width: 100%; aspect-ratio: 718 / 323; height: auto; border-radius: 4px; object-fit: cover; }
.sp-exhibit-packages__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 84px; }
.sp-exhibit-package { position: relative; min-height: 462px; padding: 38px 29px 43px; overflow: hidden; border: 1px solid var(--sp-package-border); border-radius: 4px; color: #fff; background: var(--sp-package-surface); font-size: var(--sp-type-body); line-height: var(--sp-leading-body); }
.sp-exhibit-package > img { float: right; width: 195px; height: 155px; margin: 1px 14px 26px 30px; border-radius: 4px; object-fit: cover; }
.sp-exhibit-package h3 { margin: 5px 0 14px; color: var(--sp-package-accent); font-family: var(--sp-font-family); font-size: 26px; font-weight: 500; line-height: 1.15; }
.sp-exhibit-package > strong { display: block; margin-bottom: 32px; color: #fff; font-family: var(--sp-font-family); font-size: 20px; line-height: normal; }
.sp-exhibit-package > p, .sp-exhibit-package li { color: #fff; }
.sp-exhibit-package > p:not(.sp-exhibit-package__price) { margin: 0 0 28px; color: #fff; }
.sp-exhibit-package li { line-height: normal; }
.sp-exhibit-package__price { margin: 0 0 31px; color: #fff; font-size: 36px !important; font-weight: 400 !important; line-height: 1 !important; }
.sp-exhibit-package__price small { margin-left: 12px; font-size: 20px; font-weight: 400; }
.sp-exhibit-package ul { clear: both; margin: 36px 0; padding-left: 30px; }
.sp-exhibit-package footer { clear: both; margin-top: 31px; padding-top: 24px; border-top: 1px solid var(--sp-package-border); }
.sp-exhibit-package:nth-child(2) footer { margin-top: 55px; }
.sp-exhibit-package footer span { display: block; margin-bottom: 12px; color: var(--sp-package-teal); font-size: 20px !important; font-weight: 700 !important; line-height: normal !important; }
.sp-exhibit-package footer p { margin: 0; color: #fff; }
.sp-exhibit-package--wide { min-height: 623px; grid-column: 1 / -1; }
.sp-exhibit-package--wide > p:not(.sp-exhibit-package__price) { margin-bottom: 27px; }
.sp-exhibit-package__images { display: flex; float: right; gap: 60px; margin: 1px 5px 28px 42px; }
.sp-exhibit-package__images img { width: 275px; height: 155px; border-radius: 4px; object-fit: cover; }
.sp-exhibit-package__sizes { display: grid; clear: both; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 20px; margin-top: 39px; }
.sp-exhibit-package__sizes > span { display: flex; min-height: 119px; padding: 18px 8px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--sp-package-border); border-radius: 4px; color: var(--sp-package-accent); font-size: 26px !important; font-weight: 500 !important; line-height: 1 !important; text-align: center; }
.sp-exhibit-package__sizes small { display: block; margin-top: 2px; color: #fff; font-size: 16px; font-weight: 400; line-height: 1.4; }
.sp-exhibit-package__sizes small b { display: block; font-size: 20px; font-weight: 700; line-height: 1.2; }
.sp-exhibit-package--wide footer { margin-top: 25px; }
.sp-exhibit-package:nth-child(n + 4) { min-height: 602px; padding-top: 29px; }
.sp-exhibit-eligibility-section { background: #090513; }
.sp-exhibit-eligibility { display: grid; align-items: start; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 68px; }
.sp-exhibit-eligibility > img { display: block; width: 100%; height: 390px; border-radius: 3px; object-fit: cover; }
.sp-exhibit-eligibility h2 { margin: 18px 0 28px; color: #fff; }
.sp-exhibit-eligibility p, .sp-exhibit-eligibility li { color: #fff;   }
.sp-exhibit-eligibility li {
    /* font-size: 13px;
    line-height: 1.45; */
}
.sp-exhibit-eligibility ul { margin: 22px 0; padding: 0; list-style: none; }
.sp-exhibit-eligibility li { position: relative; margin: 0 0 9px; padding-left: 22px; }
.sp-exhibit-eligibility li::before { position: absolute; top: .45em; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #a944ad; content: ""; }
.sp-exhibit-enquiry { background: #090513; }
/* Shared form layout and controls live in forms.css. */
.sp-exhibit-form__honeypot { position: absolute !important; left: -9999px !important; }
.sp-exhibit-form__notice { margin: 0 0 18px; padding: 12px 14px; font-size: 13px; }
.sp-exhibit-form__notice--success { color: #154c2b; background: #e3f4e9; }
.sp-exhibit-form__notice--error { color: #7a1f27; background: #f8e1e3; }
@media (max-width: 1000px) {
    .sp-exhibit-native > .elementor-container { width: calc(100% - 60px); }
    .sp-exhibit-packages__intro, .sp-exhibit-packages__grid { gap: 32px; }
    .sp-exhibit-package > img { width: 175px; height: 140px; margin-left: 22px; }
    .sp-exhibit-package__images { float: none; margin: 0 0 28px; }
    .sp-exhibit-package__images img { width: calc(50% - 10px); height: auto; aspect-ratio: 16 / 9; }
    .sp-exhibit-package__sizes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .sp-exhibit-eligibility { gap: 36px; }
}
@media (max-width: 760px) {
    .sp-exhibit-native > .elementor-container { width: calc(100% - 40px); }
    .sp-exhibit-hero, .sp-exhibit-hero > .elementor-container { min-height: 0; }
    .sp-exhibit-hero__copy { padding: 64px 0 36px; }
    .sp-exhibit-hero__copy h1 { font-size: 34px; }
    .sp-exhibit-anchor-nav { gap: 10px; margin-top: 38px; }
    .sp-exhibit-anchor-nav a { flex: 1 1 calc(50% - 10px); min-width: 0; }
    .sp-exhibit-reasons__heading { display: block; }
    .sp-exhibit-reasons__heading p { margin-top: 12px; }
    .sp-exhibit-reasons__grid, .sp-exhibit-packages__intro, .sp-exhibit-packages__grid, .sp-exhibit-eligibility { grid-template-columns: 1fr; }
    .sp-exhibit-reasons__grid article:last-child, .sp-exhibit-package--wide { grid-column: auto; }
    .sp-exhibit-audience__tags { gap: 9px; }
    .sp-exhibit-audience__tags span { white-space: normal; }
    .sp-exhibit-packages__intro { gap: 30px; margin-bottom: 38px; }
    .sp-exhibit-packages__intro img { grid-row: 1; }
    .sp-exhibit-packages__grid { gap: 28px; }
    .sp-exhibit-package, .sp-exhibit-package--wide, .sp-exhibit-package:nth-child(n + 4) { min-height: 0; }
    .sp-exhibit-package:nth-child(2) footer { margin-top: 31px; }
    .sp-exhibit-package__images { gap: 18px; }
    .sp-exhibit-package__images img { width: calc(50% - 9px); }
    .sp-exhibit-eligibility > img { height: 300px; }
}
@media (max-width: 520px) {
    /* .sp-exhibit-hero__copy h1, .sp-exhibit-audience h2, .sp-exhibit-packages__intro h2, .sp-exhibit-eligibility h2, .sp-exhibit-enquiry .elementor-heading-title { font-size: 28px; } */
    /* .sp-exhibit-reasons__heading h2 { font-size: 26px; } */
    .sp-exhibit-reasons__grid article, .sp-exhibit-package { padding: 22px 20px 28px; }
    .sp-exhibit-package > img { float: none; width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 0 0 24px; }
    .sp-exhibit-package h3 { margin-top: 0; font-size: 23px; }
    .sp-exhibit-package > strong { margin-bottom: 24px; }
    .sp-exhibit-package__price { margin-bottom: 24px; font-size: 32px !important; }
    .sp-exhibit-package__price small { display: inline-block; margin-left: 8px; font-size: 16px; }
    .sp-exhibit-package__images { display: grid; grid-template-columns: 1fr; }
    .sp-exhibit-package__images img { width: 100%; }
    .sp-exhibit-package__sizes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sp-exhibit-package__sizes > span { min-height: 100px; }
}
@media (max-width: 900px) {
    .sp-exhibit-packages__intro,
    .sp-exhibit-packages__grid { grid-template-columns: 1fr; }
    .sp-exhibit-packages__intro { gap: 30px; margin-bottom: 38px; }
    .sp-exhibit-packages__intro img { grid-row: 1; }
    .sp-exhibit-packages__grid { gap: 28px; }
    .sp-exhibit-package,
    .sp-exhibit-package--wide,
    .sp-exhibit-package:nth-child(n + 4) { min-height: 0; }
    .sp-exhibit-package--wide { grid-column: auto; }
    .sp-exhibit-package:nth-child(2) footer { margin-top: 31px; }
}
@media (max-width: 520px) {
    .sp-exhibit-package__images { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .sp-exhibit-package__sizes > span { min-height: 92px; padding: 12px 6px; }
}
/* Elementor Free About the Show page */
.sp-about-native, .sp-about-native *,
.sp-events-native, .sp-events-native * { box-sizing: border-box; }
.sp-about-native,
.sp-events-native { margin: 0 !important; padding-right: 0 !important; padding-left: 0 !important; font-family: var(--sp-font-family); }
:is(.sp-about-native, .sp-events-native) > .elementor-container { width: calc(100% - 150px); max-width: 1520px !important; margin: 0 auto; }
:is(.sp-about-native, .sp-events-native) .elementor-widget-wrap { padding: 0 !important; }
:is(.sp-about-native, .sp-events-native) .elementor-widget-html,
:is(.sp-about-native, .sp-events-native) .elementor-widget-text-editor { width: 100%; }
:is(.sp-about-native, .sp-events-native) h1,
:is(.sp-about-native, .sp-events-native) h2,
:is(.sp-about-native, .sp-events-native) h3 { text-transform: none; }
.sp-about-hero { position: relative; min-height: 400px; color: #fff; --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.42) 0%, #090513 100%), linear-gradient(90deg, rgba(92,28,101,.78), rgba(9,5,19,.34)), url("images/sp-feature-suppliers.png") center 42% / cover no-repeat; }
.sp-about-hero > .elementor-container { min-height: 400px; align-items: flex-end; }
.sp-about-hero__copy { width: min(920px, 100%); padding: 82px 0 40px; }
.sp-about-hero__copy h1 { margin: 0 0 16px; color: #fff; font-size: 42px; font-weight: 700; line-height: 1.08; }
.sp-about-hero__copy p { max-width: 900px; margin: 0 0 13px; color: #fff;   }
.sp-about-anchor-nav { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 54px; }
.sp-about-nav-slot { margin-top: 54px; }
.sp-about-nav-slot .sp-about-anchor-nav,
.sp-about-anchor-nav.sp-about-anchor-nav--fixed { margin: 0; }
:is(#about-show, #who-attends, #where-when, #accommodation) { scroll-margin-top: var(--sp-about-nav-offset, 100px); }
.sp-about-anchor-nav a { display: flex; min-width: 140px; min-height: 44px; align-items: center; justify-content: center; padding: 9px 17px; border: 1px solid #8d3195; border-radius: 2px; color: #fff; text-align: center; text-decoration: none; }
.sp-about-anchor-nav a:hover, .sp-about-anchor-nav a:focus { color: #fff; background: #8d3195; }
.sp-about-overview-section { color: #fff; background: #090513; }
.sp-about-overview { display: grid; align-items: start; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 70px; }
.sp-about-overview__copy p { margin: 0 0 18px; color: #fff;   }
.sp-about-overview__copy h2 { margin: 44px 0 26px; color: #fff; font-size: 28px; font-weight: 700; line-height: 1.15; }
.sp-about-overview__copy ul, .sp-about-attendees ul { margin: 0; padding: 0; list-style: none; }
.sp-about-overview__copy li, .sp-about-attendees li { position: relative; margin: 0 0 9px; padding-left: 20px; }
.sp-about-overview__copy li { color: #fff; }
.sp-about-overview__copy li::before, .sp-about-attendees li::before { position: absolute; top: .45em; left: 0; width: 7px; height: 7px; border-radius: 50%; background: #a944ad; content: ""; }
.sp-about-overview > img { display: block; width: 100%; height: 430px; border-radius: 3px; object-fit: cover; }
.sp-about-attendees-section { color: #071746; background: #fff; }
.sp-about-attendees { display: grid; align-items: center; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 70px; }
.sp-about-attendees > img { display: block; width: 100%; height: 430px; border-radius: 3px; object-fit: cover; }
.sp-about-attendees h2 { margin: 0 0 26px; color: #82368c; font-size: 34px; font-weight: 700; }
.sp-about-attendees p { margin: 0 0 20px; color: #071746;   }
.sp-about-attendees li { color: #071746; }
.sp-about-attendees__note { margin-top: 28px !important; }
.sp-about-venue-section { color: #fff; background: #090513; }
.sp-about-venue > .elementor-widget-wrap { display: grid !important; align-items: start; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 84px; }
.sp-about-venue h2 { margin: 0 0 20px; color: #fff; }
.sp-about-dates { margin: 0 0 3rem; }
.sp-about-dates > div { display: flex; align-items: baseline; gap: 7px; margin-bottom: 10px; font-family: var(--sp-font-family); font-size: 20px; line-height: normal; }
.sp-about-dates dt { color: #82368C; font-size: 30px; font-weight: 500; line-height: 1.25;}
.sp-about-dates dt::after { margin-left: 7px; color: #fff; content: "|"; }
.sp-about-dates dd { margin: 0; color: #fff; font-size: 30px; font-weight: 500; line-height: normal;}
.sp-about-venue address { margin: 0 0 20px; color: #a944ad; font-family: var(--sp-font-family); font-size: 30px; font-weight: 500; line-height: normal; margin-bottom: 2rem;}
.sp-about-venue p { max-width: 680px; margin: 0 0 20px; color: #fff; }
.sp-about-venue__button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin-top: 8px; padding: 11px 20px; border-radius: 3px; color: #fff; background: #82368c; line-height: 1; text-decoration: none; }
.sp-about-venue__button:hover, .sp-about-venue__button:focus { color: #fff; background: #65266e; }
.sp-about-venue__map { display: block; width: 100%; }
.sp-about-venue__map .elementor-widget-container { overflow: hidden; border-radius: 4px; background: #fff; }
.sp-about-venue__map iframe { display: block; width: 100%; height: 504px !important; border: 0; }
.sp-about-accommodation-section { color: #071746; background: #fff; }
.sp-about-accommodation { display: grid; align-items: center; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 70px; }
.sp-about-accommodation > img { display: block; width: 100%; height: 410px; border-radius: 3px; object-fit: cover; }
.sp-about-accommodation h2 { margin: 0 0 26px; color: #82368c; font-size: 34px; font-weight: 700; }
.sp-about-accommodation p { margin: 0 0 17px; color: #071746;   }
.sp-about-accommodation strong { font-weight: 700; }
.sp-about-accommodation a { display: inline-flex; min-height: 44px; align-items: center; color: #071746; text-decoration: underline; vertical-align: middle; }
.sp-about-accommodation a.sp-about-venue__button {color: #fff;}
@media (min-width: 901px) {
    .sp-about-overview > img,
    .sp-about-attendees > img,
    .sp-about-accommodation > img {
        position: sticky;
        top: var(--sp-about-nav-offset, 100px);
        align-self: start;
    }
}
@media (max-width: 1000px) {
    .sp-about-native > .elementor-container { width: calc(100% - 60px); }
    .sp-about-overview, .sp-about-attendees, .sp-about-accommodation,
    .sp-about-venue > .elementor-widget-wrap { gap: 38px; }
    .sp-about-overview > img, .sp-about-attendees > img, .sp-about-accommodation > img { height: 360px; }
    .sp-about-venue__map iframe { height: 440px !important; }
}
@media (max-width: 900px) {
    .sp-about-overview, .sp-about-attendees, .sp-about-accommodation,
    .sp-about-venue > .elementor-widget-wrap { grid-template-columns: 1fr; gap: 34px; }
    .sp-about-overview > img { order: -1; }
    .sp-about-attendees > img, .sp-about-accommodation > img { height: 300px; }
    .sp-about-venue__map iframe { height: 360px !important; }
}
@media (max-width: 760px) {
    .sp-about-native > .elementor-container { width: calc(100% - 40px); }
    .sp-about-hero, .sp-about-hero > .elementor-container { min-height: 0; }
    .sp-about-hero__copy { padding: 64px 0 36px; }
    .sp-about-hero__copy h1 { font-size: 34px; }
    .sp-about-nav-slot { margin-top: 38px; }
    .sp-about-anchor-nav { gap: 10px; }
    .sp-about-anchor-nav a { flex: 1 1 calc(50% - 10px); min-width: 0; }
    .sp-about-overview, .sp-about-attendees, .sp-about-accommodation,
    .sp-about-venue > .elementor-widget-wrap { grid-template-columns: 1fr; gap: 34px; }
    .sp-about-overview > img { order: -1; }
    .sp-about-attendees > img, .sp-about-accommodation > img { height: 300px; }
    .sp-about-venue__map iframe { height: 360px !important; }
}
@media (max-width: 480px) {
    .sp-about-hero__copy h1, .sp-about-attendees h2, .sp-about-accommodation h2 { font-size: 28px; }
    .sp-about-overview__copy h2, .sp-about-venue h2 { font-size: 25px; }
    .sp-about-dates > div { display: block; }
    .sp-about-dates dt,
    .sp-about-dates dd { font-size: 24px; line-height: 1.2; }
    .sp-about-dates dt { margin-bottom: 3px; }
    .sp-about-dates dt::after { display: none; }
    .sp-about-venue__map iframe { height: 280px !important; }
}

/* Elementor Free Exhibitor Events page */
.sp-events-hero { position: relative; min-height: 400px; color: #fff; --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.34) 0%, #090513 100%), linear-gradient(90deg, rgba(92,28,101,.8), rgba(9,5,19,.3)), var(--sp-banner-image, url("images/sp-feature-suppliers.png")) center 42% / cover no-repeat; }
.sp-events-hero > .elementor-container { min-height: 400px; align-items: flex-end; }
.sp-events-hero .elementor-widget-wrap { align-content: flex-end; padding: 82px 0 40px !important; }
.sp-events-hero .elementor-widget-heading { margin: 0; }
.sp-events-hero__title .elementor-heading-title { max-width: 900px; margin: 0; color: #fff !important; }
.sp-events-hero__navigation { margin-top: 48px; }
.sp-events-anchor-nav { display: flex; flex-wrap: wrap; gap: 18px; }
.sp-events-anchor-nav a { display: flex; min-width: 225px; min-height: 44px; align-items: center; justify-content: center; padding: 9px 17px; border: 1px solid #8d3195; border-radius: 2px; color: #fff; text-align: center; text-decoration: none; }
.sp-events-anchor-nav a:hover,
.sp-events-anchor-nav a:focus { color: #fff; background: #8d3195; }
:is(#thought-leadership, #networking-reception) { scroll-margin-top: var(--sp-events-nav-offset, 110px); }

.sp-events-leadership-section { color: #fff; background: #090513; }
.sp-events-leadership-section > .elementor-container { display: grid !important; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 84px; align-items: start; }
.sp-events-leadership-section .elementor-column { width: 100% !important; }
.sp-events-copy p,
.sp-events-tickets p { margin: 0 0 22px; color: #fff; }
.sp-events-copy h2,
.sp-events-tickets h2 { margin: 46px 0 24px; color: #fff; }
.sp-events-tickets h2:first-child { margin-top: 0; }
.sp-events-copy ul { margin: 0; padding: 0; list-style: none; }
.sp-events-copy li { position: relative; margin: 0 0 7px; padding-left: 22px; color: #fff; }
.sp-events-copy li::before { position: absolute; top: .58em; left: 1px; width: 7px; height: 7px; border-radius: 50%; background: #a33aa9; content: ""; }
.sp-events-leadership__image { margin-bottom: 48px; }
.sp-events-leadership__image img { display: block; width: 100%; aspect-ratio: 1.92 / 1; border-radius: 4px; object-fit: cover; }
.sp-events-tickets h3 { margin: 0 0 15px; color: #82368C; font-size: var(--sp-type-body); font-weight: 500; line-height: var(--sp-leading-body); }
.sp-events-tickets h3 + h3 { margin-top: 20px; }
.sp-events-tickets p + h3 { margin-top: 20px; }
.sp-events-tickets strong,
.sp-events-reception strong { font-weight: 700; }

.sp-events-reception-section { color: #0c1b52; background: #fff; }
.sp-events-reception-section > .elementor-container { display: grid !important; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); gap: 70px; align-items: center; }
.sp-events-reception-section .elementor-column { width: 100% !important; }
.sp-events-reception__image img { display: block; width: 100%; aspect-ratio: 1.56 / 1; border-radius: 4px; object-fit: cover; }
.sp-events-reception h2 { margin: 0 0 26px; color: #82368c; }
.sp-events-reception p { margin: 0 0 20px; color: #0c1b52; }
.sp-events-reception p:last-child { margin-bottom: 0; }

@media (max-width: 1000px) {
    :is(.sp-about-native, .sp-events-native) > .elementor-container { width: calc(100% - 60px); }
    .sp-events-leadership-section > .elementor-container,
    .sp-events-reception-section > .elementor-container { gap: 38px; }
}
@media (max-width: 900px) {
    .sp-events-anchor-nav { gap: 10px; }
    .sp-events-anchor-nav a { flex: 1 1 0; min-width: 0; line-height: 1.25; }
    .sp-events-leadership-section > .elementor-container,
    .sp-events-reception-section > .elementor-container { grid-template-columns: 1fr; gap: 42px; }
    .sp-events-leadership__image { margin-bottom: 34px; }
    .sp-events-reception__image img { max-height: 420px; }
}
@media (max-width: 760px) {
    :is(.sp-about-native, .sp-events-native) > .elementor-container { width: calc(100% - 40px); }
    .sp-events-hero,
    .sp-events-hero > .elementor-container { min-height: 0; }
    .sp-events-hero .elementor-widget-wrap { padding: 64px 0 36px !important; }
    .sp-events-hero__navigation { margin-top: 38px; }
}
@media (max-width: 480px) {
    .sp-events-anchor-nav a { flex-basis: 100%; }
    .sp-events-copy h2,
    .sp-events-tickets h2,
    .sp-events-reception h2 { font-size: 28px; line-height: 1.15; }
    .sp-events-leadership__image img,
    .sp-events-reception__image img { aspect-ratio: 1.35 / 1; }
}

/* Event Features reuses the Exhibitor Events hero, navigation and page shell. */
.sp-features-hero__intro { max-width: 900px; margin-top: 18px; }
.sp-features-hero__intro p { margin: 0 0 13px; color: #fff; }
.sp-features-button { width: 100% !important; margin-top: 10px; }
.sp-features-button .elementor-button { min-height: 44px; padding: 12px 20px; border-radius: 3px; color: #fff !important; background: #8d3b96 !important; font-weight: 700; line-height: 1; }
.sp-features-button .elementor-button:hover,
.sp-features-button .elementor-button:focus { color: #fff !important; background: #722a7b !important; }
.sp-features-hero .sp-events-hero__navigation { margin-top: 42px; }
.sp-features-jump { display: none; }
:is(#government-zone, #innovation-zone, #spotlight-stage, #immersive-experience, #counter-threat) { scroll-margin-top: var(--sp-events-nav-offset, 110px); }
.sp-features-section { color: #fff; background: #090513; }
.sp-features-section--light { color: #142058; background: #fff; }
.sp-features-section--immersive { position: relative; background: url("/wp-content/themes/securityandpolicing-co-uk/images/immersive-bg.webp") center / cover no-repeat; }
.sp-features-section > .elementor-container { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 18px; align-items: start; }
.sp-features-section .elementor-column { width: 100% !important; }
.sp-features-copy,
.sp-features-aside { grid-column: span 2; }
.sp-features-section .elementor-widget-heading { margin: 0 0 24px; }
.sp-features-section .elementor-heading-title { margin: 0; color: #fff !important; }
.sp-features-section--light .elementor-heading-title { color: #82368c !important; }
.sp-features-section p { margin: 0 0 18px; color: #fff; }
.sp-features-section p:last-child { margin-bottom: 0; }
.sp-features-section.sp-features-section--light p {color: #142058;}
.sp-features-section.sp-features-section--light h2 {color: #142058!important;} 
.sp-features-benefits ul,
#immersive-experience .sp-features-aside ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.sp-features-benefits li,
#immersive-experience .sp-features-aside li { margin: 0; padding: 14px 16px; border: 1px solid #8d3b96; border-radius: 3px; color: #fff; background: #140b24; font-weight: 500; }
.sp-features-section--light .sp-features-benefits li { border-color: #2e7478; color: #fff; background: #2e7478; }
.sp-features-gallery-item .elementor-widget-image,
.sp-features-gallery-item .elementor-widget-container { height: 100%; }
.sp-features-gallery-item img { display: block; width: 100%; aspect-ratio: 1.48 / 1; border-radius: 4px; object-fit: cover; }
@media (max-width: 1000px) {
    .sp-features-section > .elementor-container { gap: 38px 16px; }
}
@media (max-width: 900px) {
    .sp-features-section > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 12px; }
    .sp-features-copy,
    .sp-features-aside { grid-column: span 2; }
}
@media (max-width: 760px) {
    .sp-features-hero .sp-events-hero__navigation { margin-top: 34px; }
}
@media (max-width: 600px) {
    .sp-features-anchor-nav { display: none !important; }
    .sp-features-jump { display: block; }
    .sp-features-jump label { display: block; margin-bottom: 10px; color: #fff; font-weight: var(--sp-weight-bold); }
    .sp-features-jump select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #8d3195; border-radius: 2px; color: #fff; background: #090513; font: inherit; color-scheme: dark; }
    .sp-features-jump select:focus-visible { outline: 2px solid #a944ad; outline-offset: 3px; }
    :is(#government-zone, #innovation-zone, #spotlight-stage, #immersive-experience, #counter-threat) { scroll-margin-top: 20px; }
}
@media (max-width: 480px) {
.sp-features-copy,
.sp-features-aside { grid-column: span 2; }
}

/* Elementor Free Speaker Programme page; shared shell and hero come from Exhibitor Events. */
.sp-speaker-hero { --sp-banner-background: linear-gradient(180deg, rgba(9,5,19,.28) 0%, #090513 100%), linear-gradient(90deg, rgba(92,28,101,.72), rgba(9,5,19,.26)), url("images/SP-banner_no_overlay.webp") center 42% / cover no-repeat; }
.sp-speaker-hero__intro { width: min(900px, 100%); margin-top: 18px; }
.sp-speaker-hero__intro p { margin: 0; color: #fff; }
.sp-speaker-content-section { color: #fff; background: #090513; }
.sp-speaker-native,
.sp-speaker-native > .elementor-container,
.sp-speaker-native .elementor-column,
.sp-speaker-native .elementor-column-wrap,
.sp-speaker-native .elementor-widget-wrap,
.sp-speaker-native .elementor-widget,
.sp-speaker-native .elementor-widget-container { min-width: 0; max-width: 100%; }
.sp-speaker-hero .sp-events-hero__title,
.sp-speaker-hero .sp-events-hero__title .elementor-heading-title,
.sp-speaker-hero__intro { width: 100%; max-width: 100%; }
.sp-speaker-hero .sp-events-hero__title .elementor-heading-title,
.sp-speaker-hero__intro p,
.sp-speaker-programme-card__copy,
.sp-speaker-person__copy,
.sp-speaker-schedule__table th,
.sp-speaker-schedule__table td { overflow-wrap: anywhere; word-break: normal; }
.sp-speaker-content > .elementor-widget-wrap { display: block !important; }
.sp-speaker-programme-grid > .elementor-container,
.sp-speaker-people-grid > .elementor-container,
.sp-speaker-schedules-grid > .elementor-container { display: grid !important; width: 100%; max-width: none !important; margin: 0; }
.sp-speaker-programme-grid > .elementor-container { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.sp-speaker-programme-grid .elementor-column,
.sp-speaker-people-grid .elementor-column,
.sp-speaker-schedules-grid .elementor-column { width: 100% !important; }
.sp-speaker-programme-card { overflow: hidden; border: 1px solid #82368c; border-radius: 3px; background: #12091f; }
.sp-speaker-programme-card > .elementor-column-wrap,
.sp-speaker-programme-card > .elementor-column-wrap > .elementor-widget-wrap { height: 100%; }
.sp-speaker-programme-card > .elementor-column-wrap > .elementor-widget-wrap { display: flex; align-content: flex-start; }
.sp-speaker-programme-card__image { margin: 0 0 24px !important; }
.sp-speaker-programme-card__image img { display: block; width: 100%; aspect-ratio: 1.7 / 1; object-fit: cover; }
.sp-speaker-programme-card__title,
.sp-speaker-programme-card__copy { padding-right: 24px; padding-left: 24px; }
.sp-speaker-programme-card__title { margin: 0 0 16px !important; }
.sp-speaker-programme-card__title .elementor-heading-title { margin: 0; color: #a944ad !important; font-size: var(--sp-type-card); line-height: var(--sp-leading-card); }
.sp-speaker-programme-card__copy { margin-bottom: 24px; }
.sp-speaker-programme-card__copy p { margin: 0 0 18px; color: #fff; }
.sp-speaker-programme-card__copy p:last-child { margin-bottom: 0; }
.sp-speaker-previous-title { margin: 64px 0 28px !important; }
.sp-speaker-previous-title .elementor-heading-title,
.sp-speaker-schedule .elementor-heading-title { margin: 0; color: #fff !important; }
.sp-speaker-people-grid > .elementor-container { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.sp-speaker-person__image { margin: 0 0 12px !important; }
.sp-speaker-person__image img { display: block; width: 100%; aspect-ratio: 1.1 / 1; object-fit: cover; object-position: center top; border-radius: 5px!important;}
.sp-speaker-person__copy p { margin: 0; color: #fff; }
.sp-speaker-person__copy strong,
.sp-speaker-person__copy span { display: block; }
.sp-speaker-person__copy strong { margin-bottom: 5px; font-weight: 700; }
.sp-speaker-person__copy span { color: #fff; }
.sp-speaker-schedules-grid { margin-top: 70px; }
.sp-speaker-schedules-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 84px; }
.sp-speaker-schedule .elementor-widget-heading { margin: 0 0 25px; }
.sp-speaker-schedule__table table { width: 100%; max-width: 100%; margin: 0; table-layout: fixed; border-collapse: collapse; color: #fff; }
.sp-speaker-schedule__table th,
.sp-speaker-schedule__table td { width: 50%; padding: 15px 0; border: 0; border-bottom: 1px solid rgba(130,54,140,.62); color: #fff; text-align: left; vertical-align: top; }
.sp-speaker-schedule__table th { padding-top: 0; color: #82368C; font-weight: 700; font-size: 24px;}
.sp-speaker-schedule__table td { font-weight: 400; font-size: 20px; }

@media (max-width: 1000px) {
    .sp-speaker-programme-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sp-speaker-programme-card:last-child { grid-column: 1 / -1; }
    .sp-speaker-programme-card:last-child .sp-speaker-programme-card__image img { aspect-ratio: 2.3 / 1; }
    .sp-speaker-people-grid > .elementor-container { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 16px; }
    .sp-speaker-schedules-grid > .elementor-container { gap: 40px; }
}

@media (max-width: 760px) {
    .sp-speaker-programme-grid > .elementor-container,
    .sp-speaker-schedules-grid > .elementor-container { grid-template-columns: 1fr; gap: 24px; }
    .sp-speaker-programme-card:last-child { grid-column: auto; }
    .sp-speaker-programme-card__image,
    .sp-speaker-programme-card__image img,
    .sp-speaker-programme-card:last-child .sp-speaker-programme-card__image img { aspect-ratio: 16 / 9; }
    .sp-speaker-programme-card__image img { max-height: 210px; }
    .sp-speaker-people-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sp-speaker-previous-title { margin-top: 48px !important; }
    .sp-speaker-schedules-grid { margin-top: 52px; }
    .sp-speaker-schedule__table th { font-size: 18px; }
    .sp-speaker-schedule__table td { padding: 12px 8px 12px 0; font-size: 16px; line-height: 1.3; }
}

@media (max-width: 420px) {
    .sp-speaker-hero .sp-events-hero__title .elementor-heading-title { font-size: clamp(30px, 10vw, 38px); line-height: 1.08; }
    .sp-speaker-hero__intro { margin-top: 14px; }
    .sp-speaker-programme-card__image { margin-bottom: 18px !important; }
    .sp-speaker-programme-card__copy { margin-bottom: 20px; }
    .sp-speaker-people-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; }
    .sp-speaker-person__image img { aspect-ratio: 1.1 / 1; }
    .sp-speaker-person__copy { font-size: 14px; line-height: 1.25; }
    .sp-speaker-programme-card__title,
    .sp-speaker-programme-card__copy { padding-right: 20px; padding-left: 20px; }
    .sp-speaker-schedule__table th:first-child,
    .sp-speaker-schedule__table td:first-child { width: 46%; }
    .sp-speaker-schedule__table th:last-child,
    .sp-speaker-schedule__table td:last-child { width: 54%; }
    .sp-speaker-schedule__table th { font-size: 16px; line-height: 1.2; }
    .sp-speaker-schedule__table td { padding-right: 6px; font-size: 14px; }
}

/* Elementor Free Security & Policing+ page. */
.sp-online-hero__intro { width: min(1120px, 100%); margin-top: 18px; }
.sp-online-hero__intro p { max-width: 1080px; margin: 0 0 13px; color: #fff; }
.sp-online-hero {
    --sp-banner-image: url("images/awards-hero.png");
}
.sp-online-content-section {
    padding-top: 81px !important;
    padding-bottom: 86px !important;
    color: #fff;
    background: #090513;
}
.sp-online-content-section > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 688px) minmax(0, 718px);
    gap: 114px;
    align-items: stretch;
}
.sp-online-content-section .elementor-column {
    width: 100% !important;
}
.sp-online-content-copy .elementor-widget-text-editor {
    color: inherit;
}
.sp-online-content-copy p {
    margin: 0 0 24px;
    color: inherit;
    line-height: var(--sp-leading-body);
}
.sp-online-content-copy p:last-child {
    margin-bottom: 0;
}
.sp-online-features-title {
    margin: 43px 0 22px !important;
}
.sp-online-features-title .elementor-heading-title {
    margin: 0;
    color: #fff !important;
}
.sp-online-features-copy > .elementor-widget-container > p {
    margin-bottom: 32px;
}
.sp-online-features-copy ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.sp-online-features-copy li {
    position: relative;
    margin: 0 0 8px;
    padding-left: 32px;
    color: #fff;
    line-height: 1.45;
}
.sp-online-features-copy li:last-child {
    margin-bottom: 0;
}
.sp-online-features-copy li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #82368c;
    content: "";
}
.sp-online-features-copy strong {
    color: #82368c;
    font-weight: var(--sp-weight-bold);
}
.sp-online-platform-media > .elementor-widget-wrap {
    position: sticky;
    top: 81px;
    align-self: start;
}
.sp-online-platform-media .elementor-widget-image {
    width: 100%;
}
.sp-online-platform-media img {
    display: block;
    width: 100%;
    aspect-ratio: 718 / 508;
    border-radius: 5px;
    object-fit: cover;
}

/* Partners: native Elementor content, shared shell, hero and section rhythm. */
.sp-partners-native {
    --sp-partners-border: #82368c;
    --sp-partners-card: #110a22;
    --sp-partners-ink: #142058;
}
.sp-partners-hero { --sp-banner-image: url("images/partners-hero.png"); }
.sp-partners-hero, .sp-partners-hero > .elementor-container { min-height: 377px; }
.sp-partners-hero > .elementor-container { align-items: flex-start; }
.sp-partners-hero .elementor-widget-wrap { align-content: flex-start; padding: 100px 0 40px !important; }
.sp-partners-hero .sp-online-hero__intro { max-width: 971px; margin-top: 24px; }
.sp-partners-hero .sp-online-hero__intro p { margin-bottom: 0; }
.sp-partners-hero .sp-online-hero__intro a { color: #8d3195; text-underline-offset: 3px; }
.sp-partners-anchor-nav.sp-events-anchor-nav--fixed { margin: 0; }
.sp-partners-section:is(#sponsors, #organisers, #partners) { scroll-margin-top: var(--sp-partners-nav-offset, 100px); }
.sp-partners-section { color: #fff; background: #090513; }
.sp-partners-section .elementor-widget-text-editor { color: inherit; }
.sp-partners-section .elementor-widget-wrap { align-content: flex-start; }
.sp-partners-native.sp-partners-section .elementor-widget-heading { margin: 0 0 26px; }
.sp-partners-section .elementor-heading-title { margin: 0; color: inherit !important; }
.sp-partners-section p { margin: 0 0 24px; color: inherit; }
.sp-partners-section p:last-child { margin-bottom: 0; }
.sp-partners-native.sp-partners-section .sp-partners-intro { max-width: 695px; margin-bottom: 42px; }
.sp-partners-section .sp-partners-website { margin-top: 30px; }
.sp-partners-website a {
    color: var(--sp-partners-border);
    font-size: calc(var(--sp-type-body) * .9);
    font-weight: var(--sp-weight-bold);
    text-decoration: none;
}
.sp-partners-website a:hover { text-decoration: underline; }
.sp-partners-native a:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.sp-sponsors-accordion { margin: 0; }
.sp-sponsors-accordion .elementor-accordion { overflow: hidden; border: 1px solid var(--sp-partners-border); border-radius: 5px; }
.sp-sponsors-accordion .elementor-accordion .elementor-accordion-item { border: 0; }
.sp-sponsors-accordion .elementor-accordion .elementor-accordion-item + .elementor-accordion-item { border-top: 1px solid var(--sp-partners-border); }
.sp-sponsors-accordion .elementor-accordion .elementor-tab-title {
    display: flex;
    align-items: center;
    gap: 56px;
    min-height: 128px;
    padding: 30px;
    color: #fff;
    background: var(--sp-partners-card);
}
.sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title {
    display: flex;
    flex: 1;
    align-items: center;
    gap: 32px;
    min-width: 0;
    color: inherit;
    text-decoration: none;
}
.sp-sponsors-accordion .sp-sponsor-name { min-width: 0; }
.sp-sponsors-accordion .sp-sponsor-role { color: var(--sp-partners-border); font-size: var(--sp-type-body); font-weight: var(--sp-weight-bold); }
.sp-sponsors-accordion .sp-sponsor-logo { display: block; width: 257px; height: 62px; margin-left: auto; object-fit: contain; object-position: right center; }
.sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
    display: flex;
    order: 1;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    color: #fff;
    background: var(--sp-partners-border);
}
.sp-sponsors-accordion .elementor-accordion-icon > span { width: 16px; height: 16px; }
.sp-sponsors-accordion .elementor-accordion-icon :is(i, svg) { display: block; width: 16px; height: 16px; font-size: 16px; }
.sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon svg { fill: #fff; }
.sp-sponsors-accordion .elementor-accordion .elementor-tab-content { padding: 36px 30px; border-top: 1px solid var(--sp-partners-border); color: #fff; background: #201530; }
.sp-sponsors-accordion .elementor-tab-content > p { max-width: 1356px; }
.sp-partners-section--light { color: var(--sp-partners-ink); background: #fbfbfb; }
.sp-partners-section--light h2.elementor-heading-title { color: var(--sp-partners-border) !important; }
.sp-organiser-card { margin: 0 0 40px; padding: 50px; border: 1px solid var(--sp-partners-ink); border-radius: 5px; }
.sp-organiser-card:last-child { margin-bottom: 0; }
.sp-organiser-card > .elementor-container { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2.2fr); gap: 48px; max-width: none; }
.sp-organiser-card .elementor-column { width: 100% !important; }
.sp-organiser-identity h3 { max-width: 280px; }
.sp-partners-native .sp-organiser-logo.elementor-widget { width: 238px; max-width: 100%; height: 125px; margin: 0 0 26px; text-align: left; }
.sp-partners-native .sp-organiser-logo img { display: block; width: auto; max-width: 100%; height: 125px; object-fit: contain; object-position: left center; }
.sp-partners-native .sp-organiser-logo--jsarc { position: relative; overflow: hidden; }
.sp-partners-native .sp-organiser-logo--jsarc img { position: absolute; top: -90.37%; left: -23.93%; width: 147.71%; max-width: none; height: 283.29%; }
.sp-partner-grid > .elementor-container { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 78px; max-width: none; }
.sp-partner-card { width: 100% !important; padding: 38px 30px; border: 1px solid var(--sp-partners-border); border-radius: 5px; background: var(--sp-partners-card); }
.sp-partners-section .sp-partner-card .elementor-widget-heading { margin-bottom: 32px; }
.sp-partners-native .sp-partner-logo.elementor-widget { width: 199px; max-width: 100%; margin-bottom: 32px !important; padding: 9px 21px; border-radius: 5px; background: #fff; }
.sp-partners-native .sp-partner-logo img { display: block; width: 157px; height: 71px; object-fit: contain; }
@media (max-width: 1200px) {
    .sp-partners-hero, .sp-partners-hero > .elementor-container { min-height: 320px; }
    .sp-partners-hero .elementor-widget-wrap { padding-top: 64px !important; }
    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 10px 24px; }
    .sp-sponsors-accordion .sp-sponsor-role { grid-column: 1; }
    .sp-sponsors-accordion .sp-sponsor-logo { grid-column: 2; grid-row: 1 / 3; width: 180px; }
    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title { gap: 24px; }
    .sp-organiser-card { padding: 32px; }
    .sp-organiser-card > .elementor-container { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 32px; }
    .sp-partner-grid > .elementor-container { gap: 38px; }
}
@media (max-width: 1024px) {
    .sp-organiser-card > .elementor-container { grid-template-columns: minmax(0, 1fr); }
    .sp-organiser-identity h3 { max-width: none; }
    .sp-partners-section .sp-organiser-identity .elementor-widget-heading { margin-bottom: 0; }
}
@media (max-width: 900px) {
    .sp-partner-grid > .elementor-container { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .sp-partners-hero, .sp-partners-hero > .elementor-container { min-height: 0; }
    .sp-partners-hero .elementor-widget-wrap { padding-top: 48px !important; }
    .sp-partners-native.sp-partners-section .sp-partners-intro { margin-bottom: 32px; }
    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title { min-height: 110px; padding: 24px 20px; gap: 18px; }
    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .sp-sponsors-accordion .sp-sponsor-logo { grid-column: 1; grid-row: auto; width: 180px; height: 44px; margin: 6px 0 0; object-position: left center; }
    .sp-sponsors-accordion .elementor-accordion .elementor-tab-content { padding: 28px 20px; }
    .sp-organiser-card { padding: 28px 24px; }
    .sp-organiser-card > .elementor-container, .sp-partner-grid > .elementor-container { gap: 28px; }
    .sp-partner-card { padding: 30px 24px; }
}

@media (max-width: 1000px) {
    .sp-online-content-section > .elementor-container { gap: 48px; }
}

@media (max-width: 900px) {
    .sp-online-content-section {
        padding-top: 64px !important;
        padding-bottom: 64px !important;
    }
    .sp-online-content-section > .elementor-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
    }
    .sp-online-platform-media {
        order: -1 !important;
    }
    .sp-online-platform-media > .elementor-widget-wrap {
        position: static;
    }
}

@media (max-width: 767px) {
    .sp-online-content-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }
    .sp-online-content-section > .elementor-container {
        gap: 38px;
    }
    .sp-online-features-title {
        margin-top: 36px !important;
    }
    .sp-online-features-copy > .elementor-widget-container > p {
        margin-bottom: 26px;
    }
    .sp-online-features-copy li {
        padding-left: 24px;
    }
    .sp-online-features-copy li::before {
        width: 9px;
        height: 9px;
    }
}

/* Sponsorship Opportunities: Elementor page shell backed by the ordered CPT. */
.sp-sponsorship-native {
    --sp-sponsorship-border: #82368c;
    --sp-sponsorship-card: #110a22;
    --sp-sponsorship-muted: rgba(255, 255, 255, .58);
}

.sp-sponsorship-hero {
    --sp-banner-image: url("images/partners-hero.png");
}

.sp-sponsorship-hero,
.sp-sponsorship-hero > .elementor-container {
    min-height: 377px;
}

.sp-sponsorship-hero > .elementor-container {
    align-items: flex-start;
}

.sp-sponsorship-hero .elementor-widget-wrap {
    align-content: flex-start;
    padding: 100px 0 40px !important;
}

.sp-sponsorship-hero .sp-online-hero__intro {
    max-width: 971px;
    margin-top: 24px;
}

.sp-sponsorship-hero .sp-online-hero__intro p {
    margin-bottom: 0;
}

.sp-sponsorship-intro-section,
.sp-sponsorship-catalogue-section {
    color: #fff;
    background: #090513;
}

.sp-sponsorship-intro-section > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.03fr);
    gap: 84px;
    align-items: start;
}

.sp-sponsorship-intro-section .elementor-column {
    width: 100% !important;
}

.sp-sponsorship-intro p {
    margin: 0 0 24px;
    color: #fff;
}

.sp-sponsorship-intro p:last-child {
    margin-bottom: 0;
}

.sp-sponsorship-contact-card {
    padding: 38px 40px;
    border: 1px solid var(--sp-sponsorship-border);
    border-radius: 5px;
    background: rgba(17, 10, 34, .9);
}

.sp-sponsorship-contacts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}

.sp-sponsorship-contacts > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.sp-sponsorship-contacts strong,
.sp-sponsorship-contacts span,
.sp-sponsorship-contacts a {
    color: #fff;
}

.sp-sponsorship-contacts strong {
    margin-bottom: 6px;
    font-size: var(--sp-type-card);
    font-weight: var(--sp-weight-bold);
    line-height: var(--sp-leading-card);
}

.sp-sponsorship-contacts span {
    margin-bottom: 22px;
}

.sp-sponsorship-contacts a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font-size: calc(var(--sp-type-body) * .9);
    text-decoration: none;
}

.sp-sponsorship-contacts a + a {
    margin-top: 8px;
}

.sp-sponsorship-contacts a:hover,
.sp-sponsorship-contacts a:focus {
    color: #a944ad;
    text-decoration: underline;
}

.sp-sponsorship-catalogue-section {
    padding-top: 0 !important;
}

.sp-sponsorship-catalogue-section .elementor-widget-shortcode,
.sp-sponsorship-catalogue-section .elementor-widget-container {
    width: 100%;
}

.sp-sponsorship-catalogue {
    display: grid;
    grid-template-columns: minmax(280px, 493px) minmax(0, 1fr);
    gap: 64px;
    align-items: start;
}

.sp-sponsorship-index {
    position: sticky;
    top: calc(var(--wp-admin--admin-bar--height, 0px) + 28px);
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 0 34px 0 30px;
}

.sp-sponsorship-index-mobile {
    display: none;
}

.sp-sponsorship-index::before,
.sp-sponsorship-index a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 1px;
    background: var(--sp-sponsorship-border);
    content: "";
}

.sp-sponsorship-index__eyebrow {
    margin: 0 0 27px;
    color: #fff;
    font-size: var(--sp-type-card) !important;
    font-weight: var(--sp-weight-bold) !important;
}

.sp-sponsorship-index a {
    position: relative;
    display: block;
    padding: 9px 0;
    color: var(--sp-sponsorship-muted);
    font-size: var(--sp-type-body);
    line-height: 1.2;
    text-decoration: none;
    transition: color .2s ease;
}

.sp-sponsorship-index a::before {
    top: 0;
    bottom: 0;
    left: -30px;
    width: 4px;
    background: transparent;
}

.sp-sponsorship-index a:hover,
.sp-sponsorship-index a:focus,
.sp-sponsorship-index a.is-active {
    color: #fff;
}

.sp-sponsorship-index a.is-active::before {
    background: #a944ad;
}

.sp-sponsorship-index a:focus-visible,
.sp-sponsorship-package a:focus-visible {
    outline: 2px solid #a944ad;
    outline-offset: 4px;
}

.sp-sponsorship-package {
    padding: 0 0 64px;
    scroll-margin-top: 32px;
}

.sp-sponsorship-package + .sp-sponsorship-package {
    padding-top: 64px;
}

.sp-sponsorship-package:not(:last-child) {
    border-bottom: 1px solid var(--sp-sponsorship-border);
}

.sp-sponsorship-package:last-child {
    padding-bottom: 0;
}

.sp-sponsorship-package__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 40px;
    align-items: start;
    margin-bottom: 26px;
}

.sp-sponsorship-package__heading h2 {
    max-width: 630px;
    margin: 0;
    color: #a944ad;
    font-size: var(--sp-type-card) !important;
    line-height: var(--sp-leading-card) !important;
}

.sp-sponsorship-package__investment {
    display: flex;
    min-width: 150px;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
}

.sp-sponsorship-package__price,
.sp-sponsorship-package__availability {
    color: #fff;
}

.sp-sponsorship-package__price {
    font-size: var(--sp-type-body) !important;
    font-weight: var(--sp-weight-bold) !important;
}

.sp-sponsorship-package__availability {
    margin-top: 6px;
    font-size: calc(var(--sp-type-body) * .8) !important;
}

.sp-sponsorship-package__body.has-image {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 375px);
    gap: 48px;
    align-items: start;
}

.sp-sponsorship-package__copy p {
    margin: 0 0 34px;
    color: #fff;
}

.sp-sponsorship-package__copy p:last-child {
    margin-bottom: 0;
}

.sp-sponsorship-package__copy ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 38px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-sponsorship-package__copy li {
    position: relative;
    margin: 0;
    padding-left: 26px;
    color: #fff;
}

.sp-sponsorship-package__copy li::before {
    position: absolute;
    top: .32em;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #a944ad;
    content: "";
}

.sp-sponsorship-package__body.has-image .sp-sponsorship-package__copy ul {
    grid-template-columns: 1fr;
}

.sp-sponsorship-package__body > img {
    display: block;
    width: 100%;
    aspect-ratio: 1.21 / 1;
    border-radius: 4px;
    object-fit: cover;
}

@media (max-width: 1500px) {
    .sp-sponsorship-hero,
    .sp-sponsorship-hero > .elementor-container { min-height: 320px; }
    .sp-sponsorship-hero .elementor-widget-wrap { padding-top: 64px !important; }
    .sp-sponsorship-intro-section > .elementor-container { gap: 42px; }
    .sp-sponsorship-contact-card { padding: 32px; }
    .sp-sponsorship-contacts { gap: 28px; }
    .sp-sponsorship-catalogue { grid-template-columns: minmax(230px, 31%) minmax(0, 1fr); gap: 42px; }
    .sp-sponsorship-package__body.has-image { grid-template-columns: minmax(0, 1fr) minmax(210px, 32%); gap: 32px; }
}

@media (max-width: 1100px) {
    .sp-sponsorship-intro-section > .elementor-container { grid-template-columns: 1fr; }
    .sp-sponsorship-catalogue { display: block; }
    .sp-sponsorship-index {
        position: static;
        display: grid;
        width: 100%;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 50px;
        padding: 0;
        background: #090513;
    }
    .sp-sponsorship-index::before,
    .sp-sponsorship-index a::before,
    .sp-sponsorship-index__eyebrow { display: none; }
    .sp-sponsorship-index a {
        display: flex;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        padding: 9px 14px;
        border: 1px solid var(--sp-sponsorship-border);
        border-radius: 2px;
        color: #fff;
        text-align: center;
    }
    .sp-sponsorship-index a.is-active { background: var(--sp-sponsorship-border); }
    .sp-sponsorship-package { scroll-margin-top: 24px; }
}

@media (max-width: 900px) {
    .sp-sponsorship-index { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .sp-sponsorship-package__body.has-image { grid-template-columns: 1fr; }
    .sp-sponsorship-package__body > img { max-height: 420px; }
}

@media (max-width: 767px) {
    .sp-sponsorship-hero,
    .sp-sponsorship-hero > .elementor-container { min-height: 0; }
    .sp-sponsorship-hero .elementor-widget-wrap { padding-top: 48px !important; }
    .sp-sponsorship-contact-card { padding: 28px 24px; }
    .sp-sponsorship-contacts { grid-template-columns: 1fr; }
    .sp-sponsorship-contacts span { margin-bottom: 14px; }
    .sp-sponsorship-package__heading { gap: 20px; }
}

@media (max-width: 600px) {
    .sp-sponsorship-index { display: none; }
    .sp-sponsorship-index-mobile { display: block; margin-bottom: 40px; }
    .sp-sponsorship-index-mobile label { display: block; margin-bottom: 10px; color: #fff; font-weight: var(--sp-weight-bold); }
    .sp-sponsorship-index-mobile select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--sp-sponsorship-border); border-radius: 2px; color: #fff; background: #090513; font: inherit; color-scheme: dark; }
    .sp-sponsorship-index-mobile select:focus-visible { outline: 2px solid #a944ad; outline-offset: 3px; }
    .sp-sponsorship-package,
    .sp-sponsorship-package + .sp-sponsorship-package { padding-top: 0; padding-bottom: 48px; }
    .sp-sponsorship-package + .sp-sponsorship-package { padding-top: 48px; }
    .sp-sponsorship-package__heading { grid-template-columns: 1fr; margin-bottom: 22px; }
    .sp-sponsorship-package__investment { align-items: flex-start; text-align: left; }
    .sp-sponsorship-package__copy ul { grid-template-columns: 1fr; gap: 16px; }
    .sp-sponsorship-package__copy p { margin-bottom: 26px; }
}

/* Sign-up for Event Updates: native Elementor layout with live Dotdigital embed. */
.sp-updates-native,
.sp-updates-native * {
    box-sizing: border-box;
}

.sp-updates-hero {
    z-index: 2;
    overflow: visible;
    height: auto;
    min-height: 0;
    color: #fff;
    --sp-banner-image: url("images/partners-hero.png");
}

.sp-updates-hero > .elementor-container {
    position: relative;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 613px);
    gap: clamp(48px, 6vw, 96px);
    align-items: start;
    height: auto;
    min-height: 0;
}

.sp-updates-hero .elementor-column {
    width: 100% !important;
}

.sp-updates-hero .sp-updates-hero__copy {
    width: 100% !important;
    max-width: 688px;
    height: auto;
}

.sp-updates-hero .sp-updates-form-column {
    position: static;
    width: 100% !important;
    min-width: 0;
}

.sp-updates-hero .elementor-widget-wrap {
    align-content: flex-start;
    padding: 168px 0 72px !important;
}

.sp-updates-hero .sp-updates-form-column .elementor-widget-wrap {
    padding-bottom: 72px !important;
}

.sp-updates-hero .elementor-widget-heading,
.sp-updates-hero .elementor-heading-title {
    margin: 0;
}

.sp-updates-hero .sp-events-hero__title {
    margin-bottom: 0 !important;
}

.sp-updates-hero__intro {
    max-width: 688px;
    margin: 34px 0 0 !important;
}

.sp-updates-hero__intro p,
.sp-updates-subscribe p {
    margin: 0;
    color: #fff;
}

.sp-updates-button {
    width: 100%;
    margin: 33px 0 0 !important;
}

.sp-updates-button .elementor-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 25px;
    border-radius: 5px;
    color: #fff !important;
    background: #82368c !important;
    font-size: var(--sp-type-body);
    font-weight: var(--sp-weight-medium);
    line-height: 1;
}

.sp-updates-button .elementor-button:hover,
.sp-updates-button .elementor-button:focus {
    color: #fff !important;
    background: #692b72 !important;
}

.sp-updates-button .elementor-button:focus-visible,
.sp-updates-embed__fallback a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

.sp-updates-subscribe strong {
    color: #82368c;
    font-weight: var(--sp-weight-medium);
}

.sp-updates-subscribe--mobile {
    display: block;
    width: min(688px, 100%);
    margin-top: 30px;
}

.sp-updates-embed {
    position: relative;
    z-index: 3;
    width: 613px;
    max-width: 100%;
    scroll-margin-top: 24px;
}

.sp-updates-embed iframe {
    display: block;
    width: 100%;
    height: 980px;
    border: 4px solid #fff;
    background: #fff;
}

.sp-updates-embed__fallback {
    display: none;
    margin: 14px 0 0;
    color: #fff;
    font-size: calc(var(--sp-type-body) * .8);
}

.sp-updates-embed__fallback a {
    color: #a944ad;
    font-size: inherit;
}

.sp-updates-content-section {
    position: relative;
    z-index: 1;
    display: none;
    min-height: 0;
    padding-top: 45px !important;
    padding-bottom: 0 !important;
    color: #fff;
    background: #090513;
}

.sp-updates-content-section > .elementor-container {
    align-items: flex-start;
}

.sp-updates-content {
    width: 688px !important;
    max-width: 100%;
}

@media (max-width: 1500px) {
    .sp-updates-embed { width: 100%; }
}

@media (max-width: 1100px) {
    .sp-updates-hero {
        height: auto;
        min-height: 0;
        --sp-banner-background:
            linear-gradient(180deg, rgba(9, 5, 19, .28) 0%, rgba(9, 5, 19, .88) 560px, #090513 720px) center top / 100% 720px no-repeat,
            url("images/partners-hero.png") center top / auto 720px no-repeat,
            #090513;
    }
    .sp-updates-hero > .elementor-container {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
        height: auto;
        min-height: 0;
    }
    .sp-updates-hero .sp-updates-hero__copy {
        width: 100% !important;
        height: auto;
    }
    .sp-updates-hero .sp-updates-form-column {
        position: static;
        width: 100% !important;
    }
    .sp-updates-hero .elementor-widget-wrap {
        padding: 64px 0 0 !important;
    }
    .sp-updates-hero .sp-updates-form-column .elementor-widget-wrap {
        padding-top: 0 !important;
        padding-bottom: 64px !important;
    }
    .sp-updates-subscribe--desktop,
    .sp-updates-content-section { display: none; }
    .sp-updates-subscribe--mobile { margin-top: 36px; }
    .sp-updates-embed {
        width: min(613px, 100%);
        margin: 0 auto;
    }
    .sp-updates-embed__fallback { display: block; }
}

@media (max-width: 767px) {
    .sp-updates-hero > .elementor-container { gap: 38px; }
    .sp-updates-hero .elementor-widget-wrap { padding-top: 48px !important; }
    .sp-updates-hero .sp-updates-form-column .elementor-widget-wrap { padding-bottom: 48px !important; }
    .sp-updates-hero__intro { margin-top: 24px !important; }
    .sp-updates-button { margin-top: 24px !important; }
    .sp-updates-subscribe--mobile { margin-top: 30px; }
    .sp-updates-embed iframe { height: 980px; }
}

@media (max-width: 480px) {
    .sp-updates-embed iframe { height: 1000px; }
}

@media (max-width: 360px) {
    .sp-updates-embed iframe { height: 1060px; }
}

/* Code of Conduct: shared Elementor shell with the focused Figma text column. */
.sp-conduct-native,
.sp-conduct-native * {
    box-sizing: border-box;
}

.sp-conduct-hero {
    min-height: 381px;
    --sp-banner-image: url("images/conduct-hero.jpg");
}

.sp-conduct-hero > .elementor-container {
    min-height: 381px;
    align-items: flex-start;
}

.sp-conduct-hero .elementor-widget-wrap {
    align-content: flex-start;
    padding: 215px 0 0 !important;
}

.sp-conduct-hero .elementor-widget-heading,
.sp-conduct-hero .elementor-heading-title {
    margin: 0;
}

.sp-conduct-content-section {
    padding-top: 56px !important;
    padding-bottom: 75px !important;
    color: #fff;
    background: #090513;
}

.sp-conduct-content-section > .elementor-container {
    align-items: flex-start;
}

.sp-conduct-content {
    width: min(1095px, 100%) !important;
    max-width: 1095px;
}

.sp-conduct-content > .elementor-widget-wrap {
    align-content: flex-start;
}

.sp-conduct-content .elementor-widget {
    margin: 0;
}

.sp-conduct-content .elementor-widget-text-editor {
    color: inherit;
}

.sp-conduct-content p {
    margin: 0 0 24px;
    color: #fff;
    line-height: var(--sp-leading-body);
}

.sp-conduct-content p:last-child {
    margin-bottom: 0;
}

.sp-conduct-intro {
    margin-bottom: 64px !important;
}

.sp-conduct-section-title {
    margin: 0 0 36px !important;
}

.sp-conduct-section-title .elementor-heading-title {
    max-width: 1095px;
    margin: 0;
    color: #fff !important;
}

.sp-conduct-list {
    margin-bottom: 66px !important;
}

.sp-conduct-list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sp-conduct-list li {
    position: relative;
    margin: 0;
    padding-left: 27px;
    color: #fff;
    font-weight: var(--sp-weight-medium);
    line-height: 1.45;
}

.sp-conduct-list li::before {
    position: absolute;
    top: .42em;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #a944ad;
    content: "";
}

.sp-conduct-copy {
    margin-bottom: 68px !important;
}

.sp-conduct-reporting {
    margin-bottom: 0 !important;
}

.sp-conduct-reporting a {
    color: #82368c;
    text-decoration: none;
}

.sp-conduct-reporting a:hover {
    text-decoration: underline;
}

.sp-conduct-reporting a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

@media (max-width: 1200px) {
    .sp-conduct-hero,
    .sp-conduct-hero > .elementor-container {
        min-height: 320px;
    }

    .sp-conduct-hero .elementor-widget-wrap {
        padding-top: 160px !important;
    }
}

@media (max-width: 767px) {
    .sp-conduct-hero,
    .sp-conduct-hero > .elementor-container {
        min-height: 0;
    }

    .sp-conduct-hero .elementor-widget-wrap {
        padding: 64px 0 48px !important;
    }

    .sp-conduct-content-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .sp-conduct-intro,
    .sp-conduct-list {
        margin-bottom: 48px !important;
    }

    .sp-conduct-intro { margin-bottom: 32px !important; }

    .sp-conduct-section-title.sp-conduct-disclosure {
        position: relative;
        min-height: 64px;
        margin: 0 !important;
        padding: 18px 44px 18px 0;
        border-top: 1px solid rgba(130, 54, 140, .62);
        cursor: pointer;
    }

    .sp-conduct-section-title.sp-conduct-disclosure .elementor-heading-title {
        font-size: 26px;
        line-height: 1.2;
    }

    .sp-conduct-section-title.sp-conduct-disclosure::after {
        position: absolute;
        top: 50%;
        right: 4px;
        color: #a944ad;
        content: "+";
        font-size: 28px;
        font-weight: 400;
        line-height: 1;
        transform: translateY(-50%);
    }

    .sp-conduct-section-title.sp-conduct-disclosure[aria-expanded="true"]::after {
        content: "\2212";
    }

    .sp-conduct-section-title.sp-conduct-disclosure:focus-visible {
        outline: 2px solid #a944ad;
        outline-offset: 3px;
    }

    .sp-conduct-section-title.sp-conduct-disclosure + [hidden] {
        display: none !important;
    }

    .sp-conduct-section-title.sp-conduct-disclosure + :not([hidden]) {
        padding-top: 22px;
    }

    .sp-conduct-copy {
        margin-bottom: 48px !important;
    }

    .sp-conduct-list li {
        padding-left: 22px;
    }

    .sp-conduct-list li::before {
        width: 9px;
        height: 9px;
    }
}

@media (max-width: 480px) {
    .sp-conduct-hero .elementor-widget-wrap {
        padding: 48px 0 40px !important;
    }

    .sp-conduct-content-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .sp-conduct-section-title.sp-conduct-disclosure .elementor-heading-title {
        font-size: 22px;
    }
}

/* Innovation Awards: two editorial award sections with parent-bound sticky details. */
.sp-awards-native,
.sp-awards-native * {
    box-sizing: border-box;
}

.sp-awards-hero {
    min-height: 376px;
    --sp-banner-image: url("images/awards-hero.png");
}

.sp-awards-hero > .elementor-container {
    min-height: 376px;
    align-items: flex-start;
}

.sp-awards-hero .elementor-widget-wrap {
    align-content: flex-start;
    padding: 229px 0 0 !important;
}

.sp-awards-hero .elementor-widget-heading,
.sp-awards-hero .elementor-heading-title {
    margin: 0;
}

.sp-awards-navigation {
    padding: 0 !important;
    color: #fff;
    background: #090513;
}

.sp-awards-navigation .elementor-widget-text-editor {
    color: inherit;
}

.sp-awards-anchor-nav {
    flex-wrap: nowrap;
    gap: 26px;
    margin: 0;
    padding: 45px 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.sp-awards-anchor-nav::-webkit-scrollbar {
    display: none;
}

.sp-awards-anchor-nav a {
    min-width: 339px;
}

.sp-awards-jump {
    display: none;
}

.sp-awards-accordion__toggle {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: inherit;
    line-height: inherit;
    text-align: left;
    pointer-events: none;
}

.sp-awards-placeholder-title {
    display: none !important;
}

.sp-awards-nav-slot {
    display: flow-root;
}

.sp-awards-anchor-nav.sp-events-anchor-nav--fixed {
    margin: 0;
}

:is(#ads-security-innovation-award, #jsarc-academic-innovation-award) {
    scroll-margin-top: var(--sp-awards-nav-offset, 154px);
}

.sp-awards-award-section {
    color: #fff;
    background: #090513;
}

.sp-awards-award-section--first {
    padding-top: 61px !important;
    padding-bottom: 18px !important;
}

.sp-awards-award-section--academic {
    padding-top: 96px !important;
    padding-bottom: 68px !important;
}

.sp-awards-award-section > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 738px) minmax(0, 706px);
    gap: 76px;
    align-items: stretch;
}

.sp-awards-award-section .elementor-column {
    width: 100% !important;
}

.sp-awards-main-column .elementor-widget-text-editor {
    color: inherit;
}

.sp-awards-copy {
    width: min(709px, 100%);
}

.sp-awards-copy h2 {
    margin: 0 0 52px;
    color: #fff;
}

.sp-awards-copy h3 {
    margin: 0 0 23px;
    color: #fff;
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-card);
    font-weight: var(--sp-weight-bold);
    line-height: var(--sp-leading-card);
}

.sp-awards-copy p {
    margin: 0 0 24px;
    color: #fff;
    line-height: var(--sp-leading-body);
}

.sp-awards-copy p:last-child {
    margin-bottom: 0;
}

.sp-awards-copy__intro {
    margin-bottom: 38px;
}

.sp-awards-copy > section {
    padding: 38px 0;
    border-top: 1px solid #82368c;
}

.sp-awards-copy > section:last-child {
    padding-bottom: 0;
}

.sp-awards-copy ul {
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.sp-awards-copy li {
    position: relative;
    margin: 0;
    padding-left: 27px;
    color: #fff;
    font-weight: var(--sp-weight-medium);
    line-height: 1.45;
}

.sp-awards-copy li::before {
    position: absolute;
    top: .42em;
    left: 0;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #a944ad;
    content: "";
}

.sp-awards-copy strong {
    font-weight: var(--sp-weight-bold);
}

.sp-awards-summary-column > .elementor-widget-wrap {
    position: sticky;
    top: var(--sp-awards-nav-offset, 154px);
    align-self: start;
}

.sp-awards-summary {
    width: 100%;
    min-height: 696px;
    padding: 30px 32px;
    border: 1px solid #82368c;
    border-radius: 5px;
    color: #fff;
    background: #110a22;
}

.sp-awards-summary__item {
    margin-bottom: 31px;
}

.sp-awards-summary__item:last-child {
    margin-bottom: 0;
}

.sp-awards-summary h3 {
    margin: 0 0 15px;
    color: #82368c;
    font-family: var(--sp-font-family);
    font-size: var(--sp-type-body);
    font-weight: var(--sp-weight-medium);
    line-height: var(--sp-leading-body);
}

.sp-awards-summary strong {
    display: block;
    margin: 0 0 7px;
    color: #fff;
    font-size: calc(var(--sp-type-body) * 1.2);
    font-weight: var(--sp-weight-bold);
    line-height: 1.2;
}

.sp-awards-summary p {
    margin: 0;
    color: #fff;
    line-height: var(--sp-leading-body);
}

.sp-awards-summary .sp-awards-summary__small {
    font-size: calc(var(--sp-type-body) * .8);
}

.sp-awards-summary a {
    color: #82368c;
    text-decoration: none;
}

.sp-awards-summary a:hover {
    text-decoration: underline;
}

.sp-awards-summary a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

.sp-awards-winner-section {
    padding-top: 68px !important;
    padding-bottom: 82px !important;
    border-top: 1px solid #82368c;
    border-bottom: 1px solid #82368c;
    color: #fff;
    background: #090513;
}

.sp-awards-winner-section > .elementor-container {
    display: grid !important;
    grid-template-columns: minmax(0, 688px) minmax(0, 718px);
    gap: 114px;
    align-items: start;
}

.sp-awards-winner-section .elementor-column {
    width: 100% !important;
}

.sp-awards-winner-copy .elementor-widget-heading {
    margin: 0 0 26px;
}

.sp-awards-winner-copy .elementor-heading-title {
    margin: 0;
    color: #fff !important;
}

.sp-awards-winner-copy p {
    margin: 0 0 24px;
    color: #fff;
    line-height: var(--sp-leading-body);
}

.sp-awards-winner-copy p:last-child {
    margin-bottom: 0;
}

.sp-awards-winner-image img {
    display: block;
    width: 100%;
    aspect-ratio: 718 / 377;
    border-radius: 5px;
    object-fit: cover;
}

.sp-awards-previous-section {
    padding-top: 60px !important;
    padding-bottom: 123px !important;
    color: #fff;
    background: #090513;
}

.sp-awards-previous-section > .elementor-container {
    align-items: flex-start;
}

.sp-awards-previous-section > .elementor-container > .elementor-column {
    width: 100% !important;
}

.sp-awards-previous-section .elementor-widget-heading {
    margin: 0 0 28px;
}

.sp-awards-previous-section > .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-heading .elementor-heading-title {
    margin: 0;
    color: #82368c !important;
    font-size: 32px;
}

.sp-awards-previous-grid > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 21px;
    max-width: none !important;
}

.sp-awards-previous-grid .elementor-column {
    width: 100% !important;
}

.sp-awards-previous-card .elementor-widget-image {
    margin: 0 0 10px;
}

.sp-awards-previous-card img {
    display: block;
    width: 100%;
    aspect-ratio: 287 / 253;
    border-radius: 5px;
    object-fit: cover;
}

.sp-awards-previous-card .elementor-widget-heading {
    margin: 0;
}

.sp-awards-previous-card .elementor-heading-title {
    margin: 0;
    color: #fff !important;
    font-size: var(--sp-type-body);
    font-weight: var(--sp-weight-bold);
    line-height: var(--sp-leading-body);
}

@media (max-width: 1400px) {
    .sp-awards-award-section > .elementor-container {
        grid-template-columns: minmax(0, 1fr) minmax(0, .95fr);
        gap: 40px;
    }

    .sp-awards-winner-section > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
    }
}

@media (max-width: 980px) {
    .sp-awards-award-section > .elementor-container,
    .sp-awards-winner-section > .elementor-container {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
    }

    .sp-awards-copy {
        width: 100%;
    }

    .sp-awards-summary-column > .elementor-widget-wrap {
        position: static;
    }

    .sp-awards-summary-column.is-mobile-relocated {
        display: none !important;
    }

    .sp-awards-summary {
        min-height: 0;
        margin: 8px 0 34px;
    }

    .sp-awards-winner-image img {
        max-height: 520px;
    }

    .sp-awards-previous-grid > .elementor-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .sp-awards-hero,
    .sp-awards-hero > .elementor-container {
        min-height: 0;
    }

    .sp-awards-hero .elementor-widget-wrap {
        padding: 64px 0 48px !important;
    }

    .sp-awards-anchor-nav {
        display: none !important;
    }

    .sp-awards-jump {
        display: block;
        width: 100%;
        padding: 18px 0;
    }

    .sp-awards-jump label {
        display: block;
        margin-bottom: 8px;
        color: #fff;
        font-weight: 700;
    }

    .sp-awards-jump select {
        width: 100%;
        min-height: 48px;
        padding: 10px 42px 10px 14px;
        border: 1px solid #82368c;
        border-radius: 3px;
        color: #fff;
        background: #110a22;
        font: inherit;
    }

    :is(#ads-security-innovation-award, #jsarc-academic-innovation-award) {
        scroll-margin-top: 20px;
    }

    .sp-awards-award-section--first,
    .sp-awards-award-section--academic,
    .sp-awards-winner-section,
    .sp-awards-previous-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .sp-awards-copy h2 {
        margin-bottom: 34px;
    }

    .sp-awards-copy__intro {
        margin-bottom: 30px;
    }

    .sp-awards-copy > section {
        padding: 0;
    }

    .sp-awards-accordion__toggle {
        position: relative;
        min-height: 64px;
        padding: 18px 42px 18px 0;
        cursor: pointer;
        pointer-events: auto;
    }

    .sp-awards-accordion__toggle::after {
        position: absolute;
        top: 50%;
        right: 4px;
        color: #a944ad;
        content: "+";
        font-size: 30px;
        font-weight: 400;
        line-height: 1;
        transform: translateY(-50%);
    }

    .sp-awards-accordion.is-open .sp-awards-accordion__toggle::after {
        content: "−";
    }

    .sp-awards-accordion__body {
        display: none;
        padding-bottom: 26px;
    }

    .sp-awards-accordion.is-open .sp-awards-accordion__body {
        display: block;
    }

    .sp-awards-copy li {
        padding-left: 22px;
    }

    .sp-awards-copy li::before {
        width: 9px;
        height: 9px;
    }

    .sp-awards-summary {
        padding: 28px 24px;
    }

    .sp-awards-previous-grid > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 16px;
    }
}

@media (max-width: 480px) {
    .sp-awards-hero .elementor-widget-wrap {
        padding: 48px 0 40px !important;
    }

    .sp-awards-award-section--first,
    .sp-awards-award-section--academic,
    .sp-awards-winner-section,
    .sp-awards-previous-section {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    .sp-awards-award-section > .elementor-container,
    .sp-awards-winner-section > .elementor-container {
        gap: 38px;
    }

    .sp-awards-previous-grid > .elementor-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 12px;
    }

    .sp-awards-previous-card img {
        aspect-ratio: 1 / 1;
    }
}

/* Security & Policing+: keep the overview compact and scannable at every width. */
.sp-online-hero,
.sp-online-hero > .elementor-container {
    min-height: 320px;
}

.sp-online-hero .elementor-widget-wrap {
    padding-top: 64px !important;
    padding-bottom: 36px !important;
}

.sp-online-content-copy { min-width: 0; }
.sp-online-platform-media img { max-height: 420px; }

.sp-online-features-copy ul {
    display: block;
}

.sp-online-features-copy li {
    margin: 0 0 8px;
    padding: 0 0 0 32px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.sp-online-features-copy li:last-child { margin-bottom: 0; }

.sp-online-features-copy li::before {
    top: .55em;
    left: 0;
}

.sp-online-access-toggle { display: none; }

@media (max-width: 900px) {
    .sp-online-hero,
    .sp-online-hero > .elementor-container { min-height: 260px; }

    .sp-online-hero .elementor-widget-wrap {
        padding-top: 54px !important;
        padding-bottom: 32px !important;
    }

    .sp-online-content-section {
        padding-top: 48px !important;
        padding-bottom: 56px !important;
    }

    .sp-online-content-section > .elementor-container { gap: 36px; }

    .sp-online-platform-media .elementor-widget-image {
        max-width: 520px;
        margin-right: auto;
        margin-left: auto;
    }

    .sp-online-platform-media img {
        max-height: 300px;
        aspect-ratio: 16 / 9;
    }

    .sp-online-access-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        margin: 4px 0 0;
        padding: 11px 14px;
        border: 1px solid #82368c;
        border-radius: 3px;
        color: #fff;
        background: #26112e;
        font: inherit;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
    }

    .sp-online-access-toggle::after {
        margin-left: 16px;
        color: #d06ed4;
        content: "+";
        font-size: 25px;
        font-weight: 400;
        line-height: 1;
    }

    .sp-online-access-toggle[aria-expanded="true"]::after { content: "\2212"; }
    .sp-online-access-toggle[hidden],
    .sp-online-access-details[hidden] { display: none; }
    .sp-online-access-details { padding-top: 22px; }
    .sp-online-features-title { margin-top: 32px !important; }
}

@media (max-width: 767px) {
    .sp-online-hero,
    .sp-online-hero > .elementor-container { min-height: 0; }

    .sp-online-hero .elementor-widget-wrap {
        padding-top: 44px !important;
        padding-bottom: 32px !important;
    }

    .sp-online-content-section {
        padding-top: 40px !important;
        padding-bottom: 44px !important;
    }

    .sp-online-content-section > .elementor-container { gap: 30px; }
    .sp-online-platform-media img { max-height: 210px; }
    .sp-online-content-copy p { margin-bottom: 18px; }

    .sp-online-features-copy li { padding: 0 0 0 24px; }

    .sp-online-features-copy li::before {
        top: .55em;
        left: 0;
    }
}

/* Partners: progressive disclosures keep long profiles manageable on smaller screens. */
.sp-partners-profile-toggle { display: none; }

@media (max-width: 900px) {
    .sp-partners-native.sp-partners-section {
        padding-top: 56px !important;
        padding-bottom: 56px !important;
    }

    .sp-organiser-card {
        margin-bottom: 24px;
        padding: 28px;
    }

    .sp-partner-grid > .elementor-container,
    .sp-organiser-card > .elementor-container { gap: 24px; }

    .sp-partner-card { padding: 28px; }

    .sp-partners-profile-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 48px;
        margin-top: 22px;
        padding: 11px 14px;
        border: 1px solid var(--sp-partners-border);
        border-radius: 3px;
        color: inherit;
        background: transparent;
        font: inherit;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
    }

    .sp-partners-profile-toggle::after {
        margin-left: 16px;
        color: var(--sp-partners-border);
        content: "+";
        font-size: 25px;
        font-weight: 400;
        line-height: 1;
    }

    .sp-partners-profile-toggle[aria-expanded="true"]::after { content: "\2212"; }
    .sp-partners-profile-toggle[hidden],
    .sp-partners-copy[hidden] { display: none !important; }

    .sp-partner-card > .elementor-widget-wrap > .sp-partners-copy:not([hidden]) {
        padding-top: 20px;
    }
}

@media (max-width: 767px) {
    .sp-partners-native.sp-partners-section {
        padding-top: 48px !important;
        padding-bottom: 48px !important;
    }

    .sp-partners-anchor-nav {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .sp-partners-anchor-nav a {
        min-width: 0;
        padding: 12px 6px;
        font-size: 14px;
    }

    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title {
        min-height: 96px;
        padding: 18px;
        gap: 14px;
    }

    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-title {
        grid-template-columns: minmax(0, 1fr) 104px;
        gap: 6px 12px;
    }

    .sp-sponsors-accordion .sp-sponsor-role { grid-column: 1; }

    .sp-sponsors-accordion .sp-sponsor-logo {
        grid-column: 2;
        grid-row: 1 / 3;
        width: 104px;
        height: 40px;
        margin: 0;
        object-position: right center;
    }

    .sp-sponsors-accordion .elementor-accordion .elementor-tab-title .elementor-accordion-icon {
        flex-basis: 30px;
        width: 30px;
        height: 30px;
    }

    .sp-organiser-card,
    .sp-partner-card { padding: 24px 20px; }

    .sp-partners-native .sp-organiser-logo.elementor-widget {
        height: 96px;
        margin-bottom: 20px;
    }

    .sp-partners-native .sp-organiser-logo img { height: 96px; }
    .sp-partners-native .sp-partner-logo.elementor-widget { margin-bottom: 24px !important; }
    .sp-partners-section .sp-partner-card .elementor-widget-heading { margin-bottom: 0; }
}
