body.sbe27-site{margin:0;overflow-x:clip;overflow-y:visible}
.sbe27-row > .elementor-container,.sbe27-row > .elementor-container > .elementor-column{max-width:none;width:100%}
.sbe27-row .elementor-widget-wrap{padding:0}
.sb-elementor-card-wrap{width:min(100% - 36px,1060px);margin:0 auto;padding:9px 0}
.sbe27-form-card{width:min(100% - 36px,800px);margin:25px auto;padding:clamp(16px,4vw,28px);border:1px solid #bfe5ed;border-radius:22px;background:#fff;color:#13384e;font:16px/1.5 system-ui,sans-serif}
.sbe27-form-card label{display:grid;gap:5px;margin:9px 0;font-weight:700}
.sbe27-form-card input:not([type=checkbox]):not([type=hidden]),.sbe27-form-card textarea{width:100%;max-width:100%;padding:10px;border:1px solid #85b8c5;border-radius:8px;color:#13384e;background:#fff;font:inherit;box-sizing:border-box}
.sbe27-form-card .sbe27-check{display:flex;gap:8px;align-items:baseline}
.sbe27-form-card button,.sbe27-button{background:#e8fa84;color:#13384e;border:1px solid transparent;border-radius:99px;padding:9px 17px;font-weight:800;text-decoration:none;display:inline-block}
.sbe27-trap{position:absolute;left:-9999px}
.sbe27-form-card :focus-visible{outline:3px solid #08738b;outline-offset:2px}

.sbe27-matching-hero h1{overflow-wrap:anywhere}

.sbv-aftermovie{margin-top:clamp(40px,8vw,95px)}
.sbv-media-video-wrap .sbe27-aftermovie-player{display:block;width:100%;height:auto;aspect-ratio:16/9;border:0;background:#051b49;object-fit:contain}

#application-status,#first-access-signup{scroll-margin-top:110px}
.sbe27-signup-notice{margin:0 0 16px;padding:12px 16px;border:1px solid #edbf82;border-radius:10px;background:#fff4e5;color:#643800}
.sbe27-signup-thanks{margin:104px 0 0;scroll-margin-top:104px;padding:clamp(18px,4vw,32px);border-bottom:1px solid #8dd4aa;background:#e8f9ee;color:#134d30;text-align:center}
.sbe27-signup-thanks h2,.sbe27-signup-thanks p{margin:0}
.sbe27-signup-thanks p{margin-top:6px}
.admin-bar .sbe27-signup-thanks{scroll-margin-top:150px}

.sbe27-hub-summary{padding:16px;margin:14px 0;border:1px solid #b9e5eb;border-radius:14px;background:#eafaff}

.sbe27-ambassador-kit{margin:24px 0;overflow-wrap:anywhere}
.sbe27-kit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:14px}
.sbe27-kit-grid figure{margin:0;padding:10px;border:1px solid #c4e8ef;border-radius:12px;background:#f6fdff}
.sbe27-kit-grid img{display:block;width:100%;height:auto;border-radius:8px}
.sbe27-kit-grid figcaption{margin:8px 0 3px}
.sbe27-kit-copy{display:block}

.sbe27-ambassador-hub{width:min(100% - 32px,1100px)}
.sbe27-ambassador-hub .sbe27-hub-summary{border-left:5px solid #08738b}
.sbe27-kit-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:20px}
.sbe27-kit-image{overflow:hidden;border:1px solid #bfe5ed;border-radius:18px;background:#fff}
.sbe27-kit-preview{display:block;padding:12px;background:#eefaff;text-align:center;color:#075d79}
.sbe27-kit-preview img{display:block;width:100%;height:clamp(200px,35vw,330px);object-fit:contain;margin:0 auto 8px}
.sbe27-kit-image-content{padding:16px}
.sbe27-kit-image-content h4{margin:0 0 12px}
.sbe27-kit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
.sbe27-kit-caption{padding-top:10px;border-top:1px solid #d7edf2;margin-top:12px}
.sbe27-kit-caption [role=status]{display:inline-block;margin-inline-start:8px}
.sbe27-hub-profile{margin:24px 0;padding:14px;border:1px solid #bfe5ed;border-radius:12px}
.sbe27-hub-profile summary{cursor:pointer;font-weight:700}

.sbe27-checklist{margin:24px 0;padding:clamp(14px,3vw,24px);border:1px solid #bfe5ed;border-radius:16px;background:#f3fbff}
.sbe27-checklist h3{margin-top:0}
.sbe27-checklist fieldset{margin:0 0 16px;padding:8px 12px;border:1px solid #bfe5ed;border-radius:10px}
.sbe27-checklist legend{padding:0 5px;font-weight:800}
.sbe27-form-card .sbe27-checklist label{display:flex;align-items:baseline;gap:9px;padding:4px 0;font-weight:500}
.sbe27-checklist input{flex:none;accent-color:#08738b}

/* Shared visitor layouts. Keep forms, instructions, and answers start-aligned. */
.sbv-section-heading > p,
.preview-lead {
    text-wrap: pretty;
}

@media (max-width: 1000px) {
    .sbv-header .sbv-menu {
        max-height: calc(100vh - 144px);
        max-height: calc(100dvh - 144px);
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }

    .sbv-header .sbv-menu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .sbv-header .sbv-menu > a {
        display: flex;
        align-items: center;
        flex-shrink: 0;
        min-height: 44px;
    }
}

@media (max-width: 780px) {
    :is(.sbe27-site, .preview-page) {
        --sbe27-gutter: clamp(16px, 4vw, 24px);
        --sbe27-gap: 16px;
        --sbe27-stack-gap: 24px;
    }

    .sbv-wrap,
    .preview-content,
    .sb-elementor-card-wrap,
    .sbe27-form-card {
        box-sizing: border-box;
        width: min(620px, calc(100% - 2 * var(--sbe27-gutter, 16px)));
        margin-inline: auto;
    }

    .sbv-section {
        padding-block: clamp(44px, 8vw, 64px);
    }

    .sbv-hero {
        min-height: auto;
        padding-block: 110px 52px;
    }

    .sbv-section-heading,
    .sbv-tickets-top,
    .sbe27-recap-page > .sbv-wrap > h1,
    .sbe27-recap-page > .sbv-wrap > h2,
    .sbe27-form-card > h1,
    .sbe27-form-card > h2 {
        text-align: center;
    }

    :is(.sbv-vision-copy, .sbv-copy, .sbv-foamshow-content, .sbv-lineup-copy,
        .sbv-travel-content, .sbv-guide-heading, .sbv-signup-copy, .sbv-faq-grid > :first-child,
        .sbe27-experience-grid > :first-child) > :is(h1, h2, .sbv-overline) {
        text-align: center;
        margin-inline: auto;
    }

    .sbv-section-heading {
        margin-bottom: var(--sbe27-stack-gap, 24px);
    }

    .sbv-section-heading > p {
        margin: 10px auto 0;
    }

    :is(.sbv-split, .sbv-vision-grid, .sbv-foamshow-layout, .sbv-lineup-layout,
        .sbv-travel-grid, .sbv-guide-layout, .sbv-faq-grid, .sbv-signup-inner,
        .sbe27-experience-grid) {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--sbe27-stack-gap, 24px);
    }

    :is(.sbv-signature-grid, .sbv-ticket-grid, .sbv-vip-grid, .sbv-gallery-grid,
        .preview-attraction-grid, .sbe27-recap-years, .sbe27-kit-grid) {
        gap: var(--sbe27-gap, 16px);
    }

    :is(.sbv-actions, .sbv-vision-tags, .sbv-genre-pills, .sbe27-experience-links,
        .sbe27-kit-actions, .sbe27-recap-page .sbe27-recap-nav) {
        justify-content: center;
    }

    :is(.sbv-blast-countdown, .sbv-countdown-explain) {
        margin-inline: auto;
    }

    .sbv-footer-inner {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        text-align: center;
        gap: var(--sbe27-gap, 16px);
    }

    .sbv-footer-inner > small {
        grid-column: 1 / -1;
    }

    .sbv-footer nav {
        justify-content: center;
        gap: 4px 14px;
    }

    :is(.sbv-footer nav a, .preview-footer nav a, .preview-cta, .sbe27-button,
        .sbe27-form-card button, .sbv-media-tabs button, .sbv-lineup-controls button) {
        min-height: 44px;
        align-content: center;
    }

    :is(.sbv-lineup-controls button[data-lineup-step], .sbv-lineup-controls .sbv-lineup-thumbnails button) {
        min-width: 44px;
    }

    :is(.preview-content, .sbe27-form-card, .sbe27-experience-tip) {
        overflow-wrap: anywhere;
    }

    :is(.preview-content, .sbe27-form-card, .sbe27-experience-grid) :is(img, video, iframe) {
        max-width: 100%;
    }

    .sbe27-form-card fieldset {
        min-inline-size: 0;
    }

    .preview-hero {
        min-height: clamp(415px, 85vw, 535px);
    }
}

@media (max-width: 480px) {
    .sbv-features,
    .ticket-page .offer-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--sbe27-gap, 16px);
    }

    .sbv-features strong {
        font-size: 13px;
    }

    .sbv-features small {
        font-size: 12px;
    }

    .sbv-media-tabs {
        max-width: 100%;
        flex-wrap: wrap;
        justify-content: center;
        border-radius: 18px;
    }
}

/* Gallery landing page */
.sbe27-gallery-landing {
    background: radial-gradient(ellipse at top right, #18d8ee66, transparent 55%),
        linear-gradient(155deg, #073479, #055fb8 55%, #531c83);
    padding-block: clamp(120px, 14vw, 170px) clamp(48px, 8vw, 95px);
    text-align: center;
}

.sbe27-gallery-intro {
    margin: 0 auto clamp(32px, 6vw, 62px);
    max-width: 60ch;
}

.sbe27-gallery-intro h1 {
    color: inherit;
    margin: 0;
    font-size: clamp(3rem, 10vw, 7rem);
    line-height: 1;
    letter-spacing: -.06em;
    text-transform: uppercase;
}

.sbe27-gallery-intro p:last-child,
.sbe27-gallery-recap p:last-child {
    max-width: 52ch;
    margin: 14px auto 0;
    line-height: 1.6;
}

.sbe27-gallery-landing h2 {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
}

.sbe27-gallery-landing .sbe27-recap-years {
    margin-block: 18px clamp(28px, 6vw, 60px);
}

.sbe27-gallery-landing .sbe27-recap-card {
    align-content: center;
    min-height: 120px;
}

.sbe27-gallery-recap {
    display: grid;
    justify-items: center;
    gap: 20px;
    padding: clamp(22px, 5vw, 48px);
    border: 1px solid #b8effb80;
    border-radius: 22px;
    background: #082b68;
}

@media (max-width: 780px) {
    .sbe27-gallery-landing {
        padding-block: 105px 44px;
    }

    .sbe27-gallery-landing .sbe27-recap-years {
        grid-template-columns: minmax(0, 1fr);
    }

    .sbe27-gallery-landing .sbe27-recap-card {
        min-height: 88px;
    }
}

.sbe27-gallery-landing .sbe27-recap-card {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.sbe27-gallery-landing .sbe27-recap-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: radial-gradient(circle at 90% 26%, #ffffffb3 0 3%, transparent 4%),
        radial-gradient(circle at 13% 84%, #ffffff80 0 9%, transparent 10%),
        radial-gradient(circle at 94% 76%, #ffffff66 0 18%, transparent 19%);
}

.sbe27-gallery-landing a:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 4px;
}

/* VIP stage image */
.sbv-vip-card-one {
    gap: 18px;
}

.sbv-vip-card-one .sbe27-vip-photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 14px;
}
