    max-width: 1180px;
}

.eventflow-event-hero {
    margin-bottom: 2rem;
}

.eventflow-event-hero__media {
    align-items: flex-end;
    background-position: center;
    background-size: cover;
    border-radius: 1.25rem;
    display: flex;
    min-height: 34rem;
    overflow: hidden;
    position: relative;
}

.eventflow-event-hero__media--placeholder {
    align-items: center;
    background:
        radial-gradient(circle at 20% 20%, rgba(255,255,255,.16), transparent 34%),
        linear-gradient(135deg, #4f46e5, #111827);
    justify-content: center;
}

.eventflow-event-hero__media--placeholder > span {
    color: rgba(255,255,255,.22);
    font-size: clamp(3rem, 10vw, 8rem);
    font-weight: 800;
    letter-spacing: .1em;
}

.eventflow-event-hero__overlay {
    background: linear-gradient(
        180deg,
        rgba(15,23,42,.05) 10%,
        rgba(15,23,42,.88) 100%
    );
    inset: 0;
    position: absolute;
}

.eventflow-event-hero__content {
    color: #fff;
    max-width: 52rem;
    padding: clamp(1.5rem, 5vw, 4rem);
    position: relative;
    z-index: 1;
}

.eventflow-event-hero__back {
    color: #fff;
    display: inline-flex;
    font-weight: 700;
    margin-bottom: 1.25rem;
    text-decoration: none;
}

.eventflow-event-hero h1 {
    color: #fff;
    font-size: clamp(2.5rem, 6vw, 5rem);
    line-height: 1;
    margin: 1rem 0;
}

.eventflow-event-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 1.5rem;
    font-size: 1.05rem;
}

.eventflow-event-status {
    border-radius: 999px;
    display: inline-flex;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .05em;
    padding: .45rem .75rem;
    text-transform: uppercase;
}

.eventflow-event-status--open,
.eventflow-event-status--limited {
    background: #dcfce7;
    color: #166534;
}

.eventflow-event-status--waitlist {
    background: #fef3c7;
    color: #92400e;
}

.eventflow-event-status--sold-out,
.eventflow-event-status--closed,
.eventflow-event-status--completed {
    background: #e5e7eb;
    color: #374151;
}

.eventflow-event-layout {
    align-items: start;
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) 22rem;
}

.eventflow-event-main {
    min-width: 0;
}

.eventflow-event-facts {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 2rem;
}

.eventflow-event-fact {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: .9rem;
    padding: 1rem;
}

.eventflow-event-fact__label {
    color: #64748b;
    display: block;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .06em;
    margin-bottom: .4rem;
    text-transform: uppercase;
}

.eventflow-event-description,
.eventflow-event-venue,
.eventflow-related-events {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    margin-bottom: 2rem;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.eventflow-event-description h2,
.eventflow-event-venue h2,
.eventflow-related-events h2 {
    margin-top: 0;
}

.eventflow-event-sidebar {
    position: sticky;
    top: 2rem;
}

.eventflow-event-sidebar__card {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    box-shadow: 0 16px 40px rgba(15,23,42,.08);
    padding: 1.5rem;
}

.eventflow-event-sidebar__card h2 {
    margin: 1rem 0 .5rem;
}

.eventflow-event-sidebar__remaining strong {
    display: block;
    font-size: 2.5rem;
    line-height: 1;
}

.eventflow-event-sidebar__cta,
.eventflow-event-sidebar__calendar {
    align-items: center;
    border-radius: .7rem;
    display: flex;
    font-weight: 800;
    justify-content: center;
    margin-top: 1rem;
    min-height: 3rem;
    padding: .75rem 1rem;
    text-align: center;
    text-decoration: none;
}

.eventflow-event-sidebar__cta {
    background: #4f46e5;
    color: #fff;
}

.eventflow-event-sidebar__cta--disabled {
    background: #e5e7eb;
    color: #6b7280;
}

.eventflow-event-sidebar__calendar {
    border: 1px solid #cbd5e1;
    color: #334155;
}

.eventflow-event-section-eyebrow {
    color: #64748b;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .08em;
    margin: 0 0 .35rem;
    text-transform: uppercase;
}

.eventflow-event-venue {
    display: grid;
    gap: 2rem;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr);
}

.eventflow-event-venue address {
    color: #475569;
    font-style: normal;
}

.eventflow-event-venue__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 1rem;
}

.eventflow-event-venue__links a {
    color: #4f46e5;
    font-weight: 700;
}

.eventflow-event-venue__notes {
    display: grid;
    gap: 1rem;
}

.eventflow-event-venue__notes > div {
    background: #f8fafc;
    border-radius: .75rem;
    padding: 1rem;
}

.eventflow-event-venue__notes h3,
.eventflow-event-venue__notes p {
    margin: 0;
}

.eventflow-event-venue__notes h3 {
    margin-bottom: .4rem;
}

.eventflow-related-events__grid {
    display: grid;
    gap: 1.25rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 960px) {
    .eventflow-event-layout {
        grid-template-columns: 1fr;
    }

    .eventflow-event-sidebar {
        position: static;
    }

    .eventflow-event-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .eventflow-event-hero__media {
        min-height: 28rem;
    }

    .eventflow-event-venue,
    .eventflow-related-events__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .eventflow-event-facts {
        grid-template-columns: 1fr;
    }

    .eventflow-event-hero__content {
        padding: 1.25rem;
    }
}


/* EF-006A.3 — Public event layout shell. */

.eventflow-event-page {
    min-width: 0;
}

.eventflow-event-main,
.eventflow-event-sidebar,
.eventflow-event-after-layout {
    min-width: 0;
}

.eventflow-event-sidebar:empty,
.eventflow-event-after-layout:empty {
    display: none;
}

@media (max-width: 900px) {
    .eventflow-event-sidebar {
        width: 100%;
    }
}


/* EF-006A.5 — Public event branding foundation. */

.eventflow-event-page {
    background: var(
        --eventflow-background,
        #ffffff
    );
    color: var(
        --eventflow-text,
        #101828
    );
    font-family: var(
        --eventflow-font-family,
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif
    );
}

.eventflow-event-page h1,
.eventflow-event-page h2,
.eventflow-event-page h3,
.eventflow-event-page h4,
.eventflow-event-page h5,
.eventflow-event-page h6 {
    color: var(
        --eventflow-secondary,
        #101828
    );
    font-family: var(
        --eventflow-heading-font-family,
        inherit
    );
}

.eventflow-event-page a {
    color: var(
        --eventflow-primary,
        #175cd3
    );
}

.eventflow-event-page .eventflow-button,
.eventflow-event-page .eventflow-event-button,
.eventflow-event-page .eventflow-registration-button--primary {
    background: var(
        --eventflow-button-background,
        #175cd3
    );
    border-radius: var(
        --eventflow-button-radius,
        8px
    );
    color: var(
        --eventflow-button-text,
        #ffffff
    );
}

.eventflow-event-page .eventflow-event-layout {
    max-width: var(
        --eventflow-content-width,
        1200px
    );
}


/* EF-006B.1 — Public event hero upgrade. */

.eventflow-event-hero {
    background: var(
        --eventflow-secondary,
        #101828
    );
    color: #ffffff;
    isolation: isolate;
    min-height: 520px;
    overflow: hidden;
    position: relative;
}

.eventflow-event-hero__media,
.eventflow-event-hero__overlay {
    inset: 0;
    position: absolute;
}

.eventflow-event-hero__image {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.eventflow-event-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgb(16 24 40 / 92%) 0%,
            rgb(16 24 40 / 74%) 48%,
            rgb(16 24 40 / 36%) 100%
        ),
        linear-gradient(
            0deg,
            rgb(16 24 40 / 42%) 0%,
            transparent 60%
        );
}

.eventflow-event-hero__inner {
    align-items: center;
    display: flex;
    margin: 0 auto;
    min-height: 520px;
    max-width: var(
        --eventflow-content-width,
        1200px
    );
    padding: 72px 24px;
    position: relative;
    z-index: 1;
}

.eventflow-event-hero__content {
    max-width: 760px;
}

.eventflow-event-hero__status {
    backdrop-filter: blur(10px);
    background: rgb(255 255 255 / 14%);
    border: 1px solid rgb(255 255 255 / 26%);
    border-radius: 999px;
    display: inline-flex;
    font-size: 13px;
    font-weight: 750;
    letter-spacing: 0.04em;
    margin-bottom: 20px;
    padding: 7px 12px;
    text-transform: uppercase;
}

.eventflow-event-hero__status--open,
.eventflow-event-hero__status--limited {
    background: rgb(6 118 71 / 82%);
}

.eventflow-event-hero__status--waitlist {
    background: rgb(181 71 8 / 84%);
}

.eventflow-event-hero__status--sold-out,
.eventflow-event-hero__status--closed,
.eventflow-event-hero__status--completed {
    background: rgb(180 35 24 / 82%);
}

.eventflow-event-hero__title {
    color: #ffffff !important;
    font-size: clamp(42px, 7vw, 82px);
    letter-spacing: -0.045em;
    line-height: 0.98;
    margin: 0;
    text-wrap: balance;
}

.eventflow-event-hero__meta {
    display: grid;
    gap: 14px;
    margin-top: 28px;
    max-width: 680px;
}

.eventflow-event-hero__meta-item {
    align-items: baseline;
    display: grid;
    gap: 12px;
    grid-template-columns: 70px minmax(0, 1fr);
}

.eventflow-event-hero__meta-label {
    color: rgb(255 255 255 / 62%);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.eventflow-event-hero__meta-value {
    color: rgb(255 255 255 / 92%);
    font-size: 18px;
    font-weight: 600;
}

.eventflow-event-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
}

.eventflow-event-hero .eventflow-event-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(
        --eventflow-button-radius,
        8px
    );
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    min-height: 48px;
    padding: 11px 20px;
    text-decoration: none;
}

.eventflow-event-hero .eventflow-event-button--primary {
    background: var(
        --eventflow-button-background,
        #175cd3
    );
    color: var(
        --eventflow-button-text,
        #ffffff
    );
}

.eventflow-event-hero .eventflow-event-button--secondary {
    background: rgb(255 255 255 / 12%);
    border-color: rgb(255 255 255 / 36%);
    color: #ffffff;
}

.eventflow-event-hero .eventflow-event-button--disabled {
    background: rgb(255 255 255 / 12%);
    border-color: rgb(255 255 255 / 22%);
    color: rgb(255 255 255 / 64%);
    cursor: not-allowed;
}

.eventflow-event-hero__signals {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 24px;
}

.eventflow-event-countdown {
    align-items: baseline;
    display: inline-flex;
    gap: 8px;
}

.eventflow-event-countdown__label {
    color: rgb(255 255 255 / 62%);
    font-size: 13px;
}

.eventflow-event-countdown__value,
.eventflow-event-hero__capacity {
    color: #ffffff;
    font-size: 14px;
    font-weight: 750;
}

.eventflow-event-hero--without-image {
    background:
        radial-gradient(
            circle at 75% 20%,
            color-mix(
                in srgb,
                var(--eventflow-primary, #175cd3) 46%,
                transparent
            ),
            transparent 38%
        ),
        linear-gradient(
            135deg,
            var(--eventflow-secondary, #101828),
            #1d2939
        );
}

@media (max-width: 782px) {
    .eventflow-event-hero,
    .eventflow-event-hero__inner {
        min-height: 470px;
    }

    .eventflow-event-hero__inner {
        padding: 56px 20px;
    }

    .eventflow-event-hero__overlay {
        background:
            linear-gradient(
                0deg,
                rgb(16 24 40 / 94%) 0%,
                rgb(16 24 40 / 68%) 72%,
                rgb(16 24 40 / 44%) 100%
            );
    }

    .eventflow-event-hero__meta-item {
        gap: 4px;
        grid-template-columns: 1fr;
    }

    .eventflow-event-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .eventflow-event-hero .eventflow-event-button {
        width: 100%;
    }
}


/* EF-006B.2 — Hero presentation controls. */

.eventflow-event-hero__eyebrow {
    color: rgb(255 255 255 / 72%);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.12em;
    margin: 0 0 12px;
    text-transform: uppercase;
}

.eventflow-event-hero__subtitle {
    color: rgb(255 255 255 / 78%);
    font-size: clamp(17px, 2.2vw, 22px);
    line-height: 1.5;
    margin: 22px 0 0;
    max-width: 680px;
}


/* EF-006B.3 — Hero media controls. */

.eventflow-event-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgb(16 24 40 / var(--eventflow-hero-overlay, 0.74)) 0%,
            rgb(16 24 40 / calc(var(--eventflow-hero-overlay, 0.74) * 0.8)) 48%,
            rgb(16 24 40 / calc(var(--eventflow-hero-overlay, 0.74) * 0.42)) 100%
        ),
        linear-gradient(
            0deg,
            rgb(16 24 40 / calc(var(--eventflow-hero-overlay, 0.74) * 0.48)) 0%,
            transparent 60%
        );
}


/* EF-006C.1 — Event information section. */

.eventflow-event-information {
    margin-top: 32px;
}

.eventflow-section-heading > p {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    margin: 8px 0 0;
}

.eventflow-event-information__grid {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(
        2,
        minmax(0, 1fr)
    );
    margin-top: 20px;
}

.eventflow-event-information__card,
.eventflow-event-contact {
    background: var(
        --eventflow-surface,
        #f8fafc
    );
    border: 1px solid var(
        --eventflow-border,
        #e4e7ec
    );
    border-radius: var(
        --eventflow-radius,
        10px
    );
    padding: 22px;
}

.eventflow-event-information__card h3,
.eventflow-event-contact h3 {
    margin: 0 0 10px;
}

.eventflow-event-information__card p {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    margin: 0 0 10px;
}

.eventflow-event-information__card p:last-child {
    margin-bottom: 0;
}

.eventflow-event-contact {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 16px;
}

.eventflow-event-contact h3 {
    margin: 0;
    width: 100%;
}

@media (max-width: 720px) {
    .eventflow-event-information__grid {
        grid-template-columns: 1fr;
    }
}


/* EF-006C.2 — Event information display controls. */

.eventflow-information-order {
    display: grid;
    gap: 8px;
    margin: 12px 0 20px;
}

.eventflow-information-order__item {
    align-items: center;
    background: #f8fafc;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    cursor: grab;
    display: flex;
    gap: 10px;
    padding: 10px 12px;
}

.eventflow-information-order__item.is-dragging {
    opacity: 0.55;
}

.eventflow-information-order__item span:first-child {
    color: #667085;
    font-weight: 800;
}


/* EF-006D.1 — Venue experience upgrade. */

.eventflow-event-venue {
    margin-top: 32px;
}

.eventflow-event-venue__layout {
    display: grid;
    gap: 22px;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(0, 0.85fr);
    margin-top: 20px;
}

.eventflow-event-venue__primary,
.eventflow-event-venue__detail {
    background: var(
        --eventflow-surface,
        #f8fafc
    );
    border: 1px solid var(
        --eventflow-border,
        #e4e7ec
    );
    border-radius: var(
        --eventflow-radius,
        10px
    );
    padding: 24px;
}

.eventflow-event-venue__name {
    margin: 0 0 10px;
}

.eventflow-event-venue__address {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    font-style: normal;
    line-height: 1.6;
}

.eventflow-event-venue__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.eventflow-event-venue__contact {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 18px;
}

.eventflow-event-venue__details {
    display: grid;
    gap: 14px;
}

.eventflow-event-venue__detail h3 {
    margin: 0 0 10px;
}

.eventflow-event-venue__detail p {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    margin: 0 0 10px;
}

.eventflow-event-venue__detail p:last-child {
    margin-bottom: 0;
}

@media (max-width: 820px) {
    .eventflow-event-venue__layout {
        grid-template-columns: 1fr;
    }

    .eventflow-event-venue__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .eventflow-event-venue__actions
        .eventflow-event-button {
        width: 100%;
    }
}


/* EF-006D.1A — Venue layout conflict repair. */

.eventflow-event-page .eventflow-event-venue {
    display: block;
}

.eventflow-event-page
    .eventflow-event-venue__layout {
    align-items: stretch;
    grid-template-columns:
        minmax(20rem, 1.15fr)
        minmax(16rem, 0.85fr);
    width: 100%;
}

.eventflow-event-page
    .eventflow-event-venue__primary,
.eventflow-event-page
    .eventflow-event-venue__detail {
    min-width: 0;
}

.eventflow-event-page
    .eventflow-event-venue__address {
    overflow-wrap: anywhere;
}

.eventflow-event-page
    .eventflow-event-venue__actions
    .eventflow-event-button {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(
        --eventflow-button-radius,
        8px
    );
    display: inline-flex;
    font-weight: 750;
    justify-content: center;
    line-height: 1.2;
    min-height: 46px;
    padding: 10px 18px;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
}

.eventflow-event-page
    .eventflow-event-venue__actions
    .eventflow-event-button--primary {
    background: var(
        --eventflow-button-background,
        #175cd3
    );
    color: var(
        --eventflow-button-text,
        #ffffff
    );
}

.eventflow-event-page
    .eventflow-event-venue__actions
    .eventflow-event-button--secondary {
    background: #ffffff;
    border-color: var(
        --eventflow-border,
        #d0d5dd
    );
    color: var(
        --eventflow-primary,
        #175cd3
    );
}

.eventflow-event-page
    .eventflow-event-venue__contact {
    align-items: flex-start;
    flex-direction: column;
}

.eventflow-event-page
    .eventflow-event-venue__contact a {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

@media (max-width: 1080px) {
    .eventflow-event-page
        .eventflow-event-venue__layout {
        grid-template-columns: 1fr;
    }

    .eventflow-event-page
        .eventflow-event-venue__details {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .eventflow-event-page
        .eventflow-event-venue__details {
        grid-template-columns: 1fr;
    }

    .eventflow-event-page
        .eventflow-event-venue__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .eventflow-event-page
        .eventflow-event-venue__actions
        .eventflow-event-button {
        white-space: normal;
        width: 100%;
    }
}


/* EF-006D.2 — Venue map and display controls. */

.eventflow-event-venue__map {
    border: 1px solid var(--eventflow-border, #e4e7ec);
    border-radius: var(--eventflow-radius, 10px);
    height: var(--eventflow-venue-map-height, 360px);
    margin-top: 20px;
    overflow: hidden;
    width: 100%;
}

.eventflow-event-venue__map iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}


/* EF-006E.1 — Registration sidebar upgrade. */

.eventflow-event-sidebar__card {
    display: grid;
    gap: 18px;
}

.eventflow-event-sidebar__status {
    align-items: center;
    align-self: start;
    background: #eef2ff;
    border-radius: 999px;
    color: #3730a3;
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
    padding: 7px 12px;
    text-transform: uppercase;
    width: fit-content;
}

.eventflow-event-sidebar__status--open,
.eventflow-event-sidebar__status--limited {
    background: #dcfce7;
    color: #166534;
}

.eventflow-event-sidebar__status--waitlist {
    background: #fef3c7;
    color: #92400e;
}

.eventflow-event-sidebar__status--sold-out,
.eventflow-event-sidebar__status--closed,
.eventflow-event-sidebar__status--completed {
    background: #f3f4f6;
    color: #374151;
}

.eventflow-event-sidebar__card h2 {
    margin: 0;
}

.eventflow-event-sidebar__message,
.eventflow-event-sidebar__secure-note,
.eventflow-event-sidebar__capacity p,
.eventflow-event-sidebar__waitlist {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    margin: 0;
}

.eventflow-event-sidebar__capacity {
    background: var(
        --eventflow-surface,
        #f8fafc
    );
    border: 1px solid var(
        --eventflow-border,
        #e4e7ec
    );
    border-radius: var(
        --eventflow-radius,
        10px
    );
    display: grid;
    gap: 10px;
    padding: 14px;
}

.eventflow-event-sidebar__capacity-row {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.eventflow-event-sidebar__capacity-row span {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    font-size: 13px;
}

.eventflow-event-sidebar__progress {
    background: #e5e7eb;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.eventflow-event-sidebar__progress > span {
    background: var(
        --eventflow-primary,
        #175cd3
    );
    display: block;
    height: 100%;
    transition: width 180ms ease;
}

.eventflow-event-sidebar__actions {
    display: grid;
    gap: 10px;
}

.eventflow-event-sidebar__primary,
.eventflow-event-sidebar__calendar {
    align-items: center;
    border-radius: var(
        --eventflow-button-radius,
        8px
    );
    display: inline-flex;
    font-weight: 800;
    justify-content: center;
    min-height: 52px;
    padding: 12px 18px;
    text-align: center;
    text-decoration: none;
}

.eventflow-event-sidebar__primary {
    background: var(
        --eventflow-button-background,
        #175cd3
    );
    color: var(
        --eventflow-button-text,
        #ffffff
    );
}

.eventflow-event-sidebar__primary.is-disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.eventflow-event-sidebar__calendar {
    background: #ffffff;
    border: 1px solid var(
        --eventflow-border,
        #d0d5dd
    );
    color: var(
        --eventflow-primary,
        #175cd3
    );
}

.eventflow-event-sidebar__secure-note {
    font-size: 12px;
    text-align: center;
}

@media (max-width: 960px) {
    .eventflow-event-sidebar {
        position: static;
    }
}


/* EF-006E.2 — Registration sidebar display controls. */

.eventflow-event-sidebar:has(
    .eventflow-event-sidebar__card.is-static
) {
    position: static;
}

.eventflow-event-sidebar__card.is-static {
    position: static;
}


/* EF-006F.1 — Related events and shared event cards. */

.eventflow-related-events {
    margin-top: 34px;
}

.eventflow-related-events__header {
    align-items: flex-end;
    display: flex;
    gap: 24px;
    justify-content: space-between;
    margin-bottom: 22px;
}

.eventflow-related-events__header h2 {
    margin-bottom: 0;
}

.eventflow-related-events__intro {
    color: var(
        --eventflow-text-muted,
        #667085
    );
    margin: 8px 0 0;
}

.eventflow-related-events__all {
    flex: 0 0 auto;
    font-weight: 750;
    text-decoration: none;
}

.eventflow-related-events__grid {
    display: grid;
    gap: 20px;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
}

.eventflow-event-card {
    background: #ffffff;
    border: 1px solid var(
        --eventflow-border,
        #e4e7ec
    );
    border-radius: var(
        --eventflow-radius,
        10px
    );
    box-shadow:
        0 1px 2px rgb(16 24 40 / 5%);
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    transition:
        box-shadow 160ms ease,
        transform 160ms ease;
}

.eventflow-event-card:hover {
    box-shadow:
        0 16px 34px rgb(16 24 40 / 12%);
    transform: translateY(-3px);
}

.eventflow-event-card__media {
    aspect-ratio: 16 / 9;
    background:
        linear-gradient(
            135deg,
            var(--eventflow-secondary, #101828),
            var(--eventflow-primary, #175cd3)
        );
    display: block;
    overflow: hidden;
    position: relative;
}

.eventflow-event-card__image,
.eventflow-event-card__placeholder {
    display: block;
    height: 100%;
    width: 100%;
}

.eventflow-event-card__image {
    object-fit: cover;
    transition: transform 220ms ease;
}

.eventflow-event-card:hover
    .eventflow-event-card__image {
    transform: scale(1.035);
}

.eventflow-event-card__placeholder {
    align-items: center;
    display: flex;
    justify-content: center;
}

.eventflow-event-card__placeholder span {
    color: rgb(255 255 255 / 74%);
    font-size: 28px;
    font-weight: 850;
    letter-spacing: 0.08em;
}

.eventflow-event-card__status,
.eventflow-event-card__featured {
    backdrop-filter: blur(8px);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.045em;
    padding: 6px 9px;
    position: absolute;
    text-transform: uppercase;
    top: 12px;
}

.eventflow-event-card__status {
    background: rgb(255 255 255 / 92%);
    color: #344054;
    left: 12px;
}

.eventflow-event-card__featured {
    background: rgb(23 92 211 / 92%);
    color: #ffffff;
    right: 12px;
}

.eventflow-event-card__status--open,
.eventflow-event-card__status--limited {
    color: #166534;
}

.eventflow-event-card__status--waitlist {
    color: #92400e;
}

.eventflow-event-card__status--sold-out,
.eventflow-event-card__status--closed,
.eventflow-event-card__status--completed {
    color: #374151;
}

.eventflow-event-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}

.eventflow-event-card__date {
    color: var(
        --eventflow-primary,
        #175cd3
    );
    font-size: 13px;
    font-weight: 800;
    margin: 0 0 8px;
}

.eventflow-event-card__title {
    font-size: 20px;
    line-height: 1.25;
    margin: 0;
}

.eventflow-event-card__title a {
    color: var(
        --eventflow-secondary,
        #101828
    );
    text-decoration: none;
}

.eventflow-event-card__location,
.eventflow-event-card__excerpt {
    color: var(
        --eventflow-text-muted,
        #667085
    );
}

.eventflow-event-card__location {
    font-size: 14px;
    margin: 10px 0 0;
}

.eventflow-event-card__excerpt {
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.55;
    margin: 14px 0 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.eventflow-event-card__footer {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 20px;
}

.eventflow-event-card__remaining {
    color: #b54708;
    font-size: 12px;
    font-weight: 750;
}

.eventflow-event-card__link {
    align-items: center;
    display: inline-flex;
    font-weight: 800;
    gap: 7px;
    text-decoration: none;
}

@media (max-width: 980px) {
    .eventflow-related-events__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .eventflow-related-events__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .eventflow-related-events__grid {
        grid-template-columns: 1fr;
    }
}


/* EF-006F.2 — Related events display controls. */

.eventflow-event-card:not(:has(
    .eventflow-event-card__media
)) {
    border-top:
        4px solid
        var(--eventflow-primary, #175cd3);
}

/* EF-112-R1A - AEC-STYLE SINGLE EVENT PRESENTATION */

.eventflow-public--single {
    background: var(--eventflow-single-page-background, #ffffff);
    color: var(--eventflow-single-body-color, #344054);
    overflow: hidden;
}

.eventflow-public--single,
.eventflow-public--single * {
    box-sizing: border-box;
}

.eventflow-public--single .eventflow-public__container {
    margin: 0 auto;
    max-width: none;
    padding: 0;
    width: 100%;
}

.eventflow-public--single .eventflow-public__event {
    margin: 0;
    padding: 0;
}

.eventflow-public--single .eventflow-event-page {
    background: var(--eventflow-single-page-background, #ffffff);
    margin: 0;
    padding: 0 0 72px;
    width: 100%;
}

/* HERO */

.eventflow-public--single .eventflow-event-hero {
    background: var(--eventflow-single-hero-background, #073f4e);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: var(--eventflow-single-hero-text, #ffffff);
    isolation: isolate;
    margin: 0;
    min-height: clamp(430px, 48vw, 560px);
    overflow: hidden;
    position: relative;
    width: 100%;
}

.eventflow-public--single .eventflow-event-hero__media,
.eventflow-public--single .eventflow-event-hero__overlay {
    border-radius: 0;
    inset: 0;
    position: absolute;
}

.eventflow-public--single .eventflow-event-hero__media {
    background-position: var(--eventflow-event-hero-position, center center);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
}

.eventflow-public--single .eventflow-event-hero__overlay {
    background:
        linear-gradient(
            90deg,
            rgba(4, 58, 72, .96) 0%,
            rgba(4, 58, 72, .88) 38%,
            rgba(4, 58, 72, .52) 67%,
            rgba(4, 58, 72, .22) 100%
        );
    z-index: 1;
}

.eventflow-public--single .eventflow-event-hero__inner {
    align-items: center;
    display: flex;
    margin: 0 auto;
    min-height: inherit;
    max-width: 1200px;
    padding: 64px 32px 58px;
    position: relative;
    width: 100%;
    z-index: 2;
}

.eventflow-public--single .eventflow-event-hero__content {
    background: transparent;
    border: 0;
    box-shadow: none;
    max-width: 660px;
    padding: 0;
    width: 100%;
}

.eventflow-public--single .eventflow-event-hero__eyebrow,
.eventflow-public--single .eventflow-event-hero__status {
    color: var(--eventflow-single-accent-color, #a8dd25);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.2;
    margin-bottom: 16px;
    text-transform: uppercase;
}

.eventflow-public--single .eventflow-event-hero h1,
.eventflow-public--single .eventflow-event-hero__title {
    color: var(--eventflow-single-hero-heading, #ffffff);
    font-size: clamp(46px, 6vw, 76px);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: .98;
    margin: 0 0 24px;
    max-width: 760px;
}

.eventflow-public--single .eventflow-event-hero__subtitle {
    color: var(--eventflow-single-hero-muted, rgba(255,255,255,.84));
    font-size: 18px;
    line-height: 1.55;
    margin: -4px 0 22px;
    max-width: 620px;
}

.eventflow-public--single .eventflow-event-hero__facts,
.eventflow-public--single .eventflow-event-hero__meta,
.eventflow-public--single .eventflow-event-hero__details {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
    margin: 0 0 26px;
}

.eventflow-public--single .eventflow-event-hero__fact,
.eventflow-public--single .eventflow-event-hero__meta-item,
.eventflow-public--single .eventflow-event-hero__detail {
    align-items: center;
    color: var(--eventflow-single-hero-text, #ffffff);
    display: inline-flex;
    font-size: 15px;
    font-weight: 650;
    gap: 9px;
    line-height: 1.35;
}

.eventflow-public--single .eventflow-event-hero__offerings,
.eventflow-public--single .eventflow-event-offerings {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
}

.eventflow-public--single .eventflow-event-hero__offering,
.eventflow-public--single .eventflow-event-offering {
    background: rgba(40, 183, 191, .18);
    border: 1px solid rgba(101, 224, 230, .34);
    border-radius: 999px;
    color: #d8fbfd;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .04em;
    padding: 6px 11px;
    text-transform: uppercase;
}

.eventflow-public--single .eventflow-event-hero__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin: 0 0 22px;
}

.eventflow-public--single
.eventflow-event-hero__actions
.eventflow-event-button,
.eventflow-public--single
.eventflow-event-hero__actions
.eventflow-registration-button {
    align-items: center;
    border-radius: 4px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    justify-content: center;
    letter-spacing: .025em;
    min-height: 48px;
    padding: 13px 24px;
    text-decoration: none !important;
    text-transform: uppercase;
}

.eventflow-public--single
.eventflow-event-hero__actions
.eventflow-event-button--primary,
.eventflow-public--single
.eventflow-event-hero__actions
.eventflow-registration-button--primary {
    background: var(--eventflow-single-primary-button-background, #a8dd25);
    border: 1px solid var(--eventflow-single-primary-button-background, #a8dd25);
    color: var(--eventflow-single-primary-button-text, #073f4e);
}

.eventflow-public--single
.eventflow-event-hero__actions
.eventflow-event-button--secondary {
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.78);
    color: #ffffff;
}

.eventflow-public--single
.eventflow-event-hero__actions
.eventflow-event-button--secondary:hover {
    background: rgba(255,255,255,.11);
    color: #ffffff;
}

.eventflow-public--single .eventflow-event-hero__utility,
.eventflow-public--single .eventflow-event-hero__footer,
.eventflow-public--single .eventflow-event-hero__countdown-row {
    align-items: center;
    color: rgba(255,255,255,.82);
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    gap: 9px 18px;
}

.eventflow-public--single .eventflow-event-countdown strong,
.eventflow-public--single .eventflow-event-hero__countdown strong {
    color: var(--eventflow-single-accent-color, #a8dd25);
    font-weight: 800;
}

/* CONTENT WRAPPER */

.eventflow-public--single .eventflow-event-layout,
.eventflow-public--single .eventflow-event-after-layout {
    margin: 0 auto;
    max-width: 1200px;
    padding-left: 32px;
    padding-right: 32px;
    width: 100%;
}

.eventflow-public--single .eventflow-event-layout {
    display: block;
    padding-top: 58px;
}

.eventflow-public--single .eventflow-event-main {
    display: block;
    min-width: 0;
    width: 100%;
}

.eventflow-public--single .eventflow-event-sidebar {
    display: none;
}

/* EVENT FACTS */

.eventflow-public--single .eventflow-event-facts {
    background: var(--eventflow-single-surface-color, #ffffff);
    border: 1px solid var(--eventflow-single-border-color, #e5e7eb);
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(13, 58, 72, .06);
    float: right;
    margin: 0 0 34px 54px;
    padding: 24px 28px;
    width: min(360px, 36%);
}

.eventflow-public--single .eventflow-event-fact {
    align-items: flex-start;
    display: grid;
    gap: 4px 14px;
    grid-template-columns: 34px minmax(0, 1fr);
    margin-bottom: 20px;
}

.eventflow-public--single .eventflow-event-fact:last-child {
    margin-bottom: 0;
}

.eventflow-public--single .eventflow-event-fact__icon {
    align-items: center;
    color: #0aa6b4;
    display: flex;
    grid-row: span 2;
    justify-content: center;
    min-height: 30px;
}

.eventflow-public--single .eventflow-event-fact__label {
    color: var(--eventflow-single-heading-color, #073f4e);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.eventflow-public--single .eventflow-event-fact__value {
    color: var(--eventflow-single-body-color, #344054);
    font-size: 15px;
    font-weight: 550;
    line-height: 1.45;
}

/* ABOUT */

.eventflow-public--single .eventflow-event-description {
    border: 0;
    margin: 0 0 56px;
    min-height: 210px;
    padding: 0;
}

.eventflow-public--single .eventflow-event-description h2,
.eventflow-public--single .eventflow-section-heading h2,
.eventflow-public--single .eventflow-event-information h2,
.eventflow-public--single .eventflow-event-instructor h2 {
    color: var(--eventflow-single-heading-color, #073f4e);
    font-size: clamp(30px, 3.1vw, 40px);
    font-weight: 700;
    letter-spacing: -.035em;
    line-height: 1.08;
    margin: 0 0 25px;
    padding-bottom: 15px;
    position: relative;
}

.eventflow-public--single .eventflow-event-description h2::after,
.eventflow-public--single .eventflow-section-heading h2::after,
.eventflow-public--single .eventflow-event-information h2::after,
.eventflow-public--single .eventflow-event-instructor h2::after {
    background: var(--eventflow-single-accent-color, #a8dd25);
    bottom: 0;
    content: "";
    height: 3px;
    left: 0;
    position: absolute;
    width: 46px;
}

.eventflow-public--single .eventflow-event-description__content {
    color: var(--eventflow-single-body-color, #344054);
    font-size: 17px;
    line-height: 1.72;
    max-width: 720px;
}

/* PLAN YOUR VISIT */

.eventflow-public--single .eventflow-event-information {
    clear: both;
    margin: 0 0 60px;
    padding: 0;
}

.eventflow-public--single
.eventflow-event-information
.eventflow-section-heading {
    margin-bottom: 24px;
    max-width: 760px;
}

.eventflow-public--single
.eventflow-event-information
.eventflow-section-heading p {
    color: var(--eventflow-single-muted-color, #667085);
    font-size: 16px;
    line-height: 1.6;
    margin: -8px 0 0;
}

.eventflow-public--single .eventflow-event-information__grid,
.eventflow-public--single .eventflow-event-information__items {
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.eventflow-public--single .eventflow-event-information__item,
.eventflow-public--single .eventflow-event-information__card {
    background: var(--eventflow-single-surface-color, #ffffff);
    border: 1px solid var(--eventflow-single-border-color, #e5e7eb);
    border-radius: 8px;
    min-height: 118px;
    padding: 22px;
}

.eventflow-public--single .eventflow-event-information__item h3,
.eventflow-public--single .eventflow-event-information__card h3 {
    color: var(--eventflow-single-heading-color, #073f4e);
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
}

.eventflow-public--single .eventflow-event-information__item p,
.eventflow-public--single .eventflow-event-information__card p {
    color: var(--eventflow-single-muted-color, #667085);
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}

/* VENUE */

.eventflow-public--single .eventflow-event-venue {
    background: var(--eventflow-single-venue-background, #f7f9fa);
    border: 0;
    border-radius: 10px;
    clear: both;
    margin: 0 0 40px;
    overflow: hidden;
    padding: 34px;
}

.eventflow-public--single
.eventflow-event-venue
.eventflow-section-heading {
    margin-bottom: 26px;
}

.eventflow-public--single .eventflow-event-venue__map {
    border: 0;
    border-radius: 6px;
    box-shadow: 0 8px 22px rgba(13, 58, 72, .08);
    height: 350px;
    margin: 0;
    overflow: hidden;
    width: 100%;
}

.eventflow-public--single .eventflow-event-venue__map iframe {
    display: block;
    height: 100%;
    width: 100%;
}

.eventflow-public--single .eventflow-event-venue__layout {
    display: grid;
    gap: 16px;
    grid-template-columns: 1.25fr .75fr;
    margin-top: 18px;
}

.eventflow-public--single .eventflow-event-venue__primary,
.eventflow-public--single .eventflow-event-venue__details {
    background: #ffffff;
    border: 1px solid #e6ebed;
    border-radius: 6px;
    box-shadow: none;
    padding: 24px;
}

.eventflow-public--single .eventflow-event-venue__name {
    color: var(--eventflow-single-heading-color, #073f4e);
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -.025em;
}

.eventflow-public--single .eventflow-event-venue__address {
    color: var(--eventflow-single-body-color, #475467);
    font-size: 15px;
}

.eventflow-public--single .eventflow-event-venue__details {
    display: grid;
    gap: 12px;
}

.eventflow-public--single .eventflow-event-venue__detail {
    background: var(--eventflow-single-venue-detail-background, #f7f9fa);
    border: 1px solid #edf0f2;
    border-radius: 6px;
    padding: 16px;
}

.eventflow-public--single .eventflow-event-venue__detail h3 {
    color: var(--eventflow-single-heading-color, #073f4e);
    font-size: 15px;
    margin: 0 0 6px;
}

.eventflow-public--single .eventflow-event-venue__detail p {
    color: var(--eventflow-single-muted-color, #667085);
    font-size: 13px;
    line-height: 1.5;
}

.eventflow-public--single
.eventflow-event-venue__actions
.eventflow-event-button {
    border-radius: 4px;
    font-size: 12px;
    min-height: 40px;
    padding: 10px 16px;
    text-decoration: none !important;
    text-transform: uppercase;
}

.eventflow-public--single
.eventflow-event-venue__actions
.eventflow-event-button--primary {
    background: #0aa6b4;
    border-color: #0aa6b4;
    color: #ffffff;
}

/* STRAIGHT EDGES */

.eventflow-public--single .eventflow-event-hero::before,
.eventflow-public--single .eventflow-event-hero::after {
    display: none !important;
}

.eventflow-public--single .eventflow-event-hero,
.eventflow-public--single .eventflow-event-page {
    clip-path: none !important;
    transform: none !important;
}

/* RESPONSIVE */

@media (max-width: 960px) {
    .eventflow-public--single .eventflow-event-hero__inner {
        padding: 56px 26px 52px;
    }

    .eventflow-public--single .eventflow-event-layout,
    .eventflow-public--single .eventflow-event-after-layout {
        padding-left: 26px;
        padding-right: 26px;
    }

    .eventflow-public--single .eventflow-event-facts {
        display: grid;
        float: none;
        gap: 20px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0 0 38px;
        width: 100%;
    }

    .eventflow-public--single .eventflow-event-fact {
        margin: 0;
    }

    .eventflow-public--single .eventflow-event-description__content {
        max-width: none;
    }

    .eventflow-public--single .eventflow-event-information__grid,
    .eventflow-public--single .eventflow-event-information__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .eventflow-public--single .eventflow-event-venue__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .eventflow-public--single .eventflow-event-page {
        padding-bottom: 50px;
    }

    .eventflow-public--single .eventflow-event-hero {
        min-height: 500px;
    }

    .eventflow-public--single .eventflow-event-hero__overlay {
        background:
            linear-gradient(
                90deg,
                rgba(4, 58, 72, .97) 0%,
                rgba(4, 58, 72, .88) 72%,
                rgba(4, 58, 72, .62) 100%
            );
    }

    .eventflow-public--single .eventflow-event-hero__inner {
        align-items: flex-end;
        padding: 50px 20px 42px;
    }

    .eventflow-public--single .eventflow-event-hero h1,
    .eventflow-public--single .eventflow-event-hero__title {
        font-size: clamp(42px, 13vw, 58px);
    }

    .eventflow-public--single .eventflow-event-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .eventflow-public--single
    .eventflow-event-hero__actions
    .eventflow-event-button,
    .eventflow-public--single
    .eventflow-event-hero__actions
    .eventflow-registration-button {
        width: 100%;
    }

    .eventflow-public--single .eventflow-event-layout,
    .eventflow-public--single .eventflow-event-after-layout {
        padding-left: 20px;
        padding-right: 20px;
    }

    .eventflow-public--single .eventflow-event-layout {
        padding-top: 42px;
    }

    .eventflow-public--single .eventflow-event-facts,
    .eventflow-public--single .eventflow-event-information__grid,
    .eventflow-public--single .eventflow-event-information__items {
        grid-template-columns: 1fr;
    }

    .eventflow-public--single .eventflow-event-description {
        margin-bottom: 46px;
    }

    .eventflow-public--single .eventflow-event-venue {
        border-radius: 8px;
        padding: 24px 18px;
    }

    .eventflow-public--single .eventflow-event-venue__map {
        height: 300px;
    }
}

/* /EF-112-R1A */

/* EF-112-R1F - AEC NATIVE HERO EVENT CARD */

.eventflow-aec-event-hero {
    align-items: center;
    min-height: clamp(500px, 48vw, 650px);
    overflow: hidden;
    padding-bottom: clamp(72px, 7vw, 120px);
    padding-top: clamp(130px, 11vw, 190px);
}

.eventflow-aec-event-hero > .site-container {
    align-items: center;
    display: flex;
    position: relative;
    width: 100%;
    z-index: 10;
}

.eventflow-aec-event-hero__card {
    max-width: 475px;
    width: 100%;
}

.eventflow-aec-event-hero
.eventflow-event-hero {
    background: rgba(5, 67, 80, .82);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    min-height: 0;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.eventflow-aec-event-hero
.eventflow-event-hero__media,
.eventflow-aec-event-hero
.eventflow-event-hero__overlay {
    display: none !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__inner {
    align-items: stretch;
    display: block;
    margin: 0;
    max-width: none;
    min-height: 0;
    padding: 22px 24px 20px;
    width: 100%;
}

.eventflow-aec-event-hero
.eventflow-event-hero__content {
    max-width: none;
    padding: 0;
    width: 100%;
}

.eventflow-aec-event-hero
.eventflow-event-hero__eyebrow,
.eventflow-aec-event-hero
.eventflow-event-hero__status {
    display: inline-flex;
    font-size: 11px;
    margin-bottom: 14px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__title {
    font-size: clamp(42px, 4vw, 62px);
    line-height: 1;
    margin-bottom: 20px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__subtitle {
    display: none;
}

.eventflow-aec-event-hero
.eventflow-event-hero__meta {
    gap: 8px;
    margin-bottom: 16px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__pill {
    background: #ffffff;
    border: 0;
    color: #254c5a;
    font-size: 12px;
    min-height: 30px;
    padding: 6px 12px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__offerings {
    margin-bottom: 16px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__offering {
    font-size: 11px;
    padding: 5px 10px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions {
    gap: 12px;
    margin-bottom: 16px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button,
.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-registration-button {
    border-radius: 0;
    font-family:
        "Titillium Web",
        Helvetica,
        Arial,
        sans-serif;
    font-size: 13px;
    min-height: 44px;
    padding: 12px 18px;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--primary,
.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-registration-button--primary {
    background: #95c93d;
    border-color: #95c93d;
    color: #174958;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--primary:hover,
.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-registration-button--primary:hover {
    background: #000000;
    border-color: #000000;
    color: #95c93d;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--secondary {
    background: transparent;
    border-color: rgba(255, 255, 255, .8);
    color: #ffffff;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--secondary:hover {
    background: #ffffff;
    border-color: #ffffff;
    color: #174958;
}

.eventflow-aec-event-hero
.eventflow-event-hero__signals,
.eventflow-aec-event-hero
.eventflow-event-hero__utility,
.eventflow-aec-event-hero
.eventflow-event-hero__footer,
.eventflow-aec-event-hero
.eventflow-event-hero__countdown-row {
    color: rgba(255, 255, 255, .84);
    font-size: 12px;
    gap: 8px 16px;
    margin: 0;
}

.eventflow-aec-event-hero
.eventflow-event-hero__signals strong,
.eventflow-aec-event-hero
.eventflow-event-countdown strong,
.eventflow-aec-event-hero
.eventflow-event-hero__countdown strong {
    color: #ffffff;
}

.eventflow-public--single {
    margin-top: 0;
}

@media (max-width: 960px) {
    .eventflow-aec-event-hero {
        min-height: 560px;
        padding-bottom: 70px;
        padding-top: 140px;
    }

    .eventflow-aec-event-hero__card {
        max-width: 460px;
    }
}

@media (max-width: 768px) {
    .eventflow-aec-event-hero {
        align-items: flex-end;
        min-height: 620px;
        padding-bottom: 48px;
        padding-top: 130px;
    }

    .eventflow-aec-event-hero > .site-container {
        align-items: flex-end;
    }

    .eventflow-aec-event-hero__card {
        margin: 0 auto;
        max-width: 100%;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__inner {
        padding: 22px 20px;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__title {
        font-size: clamp(38px, 12vw, 54px);
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__actions
    .eventflow-event-button,
    .eventflow-aec-event-hero
    .eventflow-event-hero__actions
    .eventflow-registration-button {
        width: 100%;
    }
}

/* /EF-112-R1F */

/* EF-112-R1G - HERO VISUAL TUNING OPTION 01 */

/*
 * OPTION 01
 *
 * - Remove the EventFlow card/background treatment.
 * - Let the event information sit directly on the AEC native hero.
 * - Make metadata pills compact.
 * - Resize CTAs to match normal AEC site button proportions.
 * - Preserve all existing EventFlow content and behavior.
 */

.eventflow-aec-event-hero__card {
    max-width: 720px;
    width: 100%;
}

.eventflow-aec-event-hero
.eventflow-event-hero {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__inner {
    align-items: stretch !important;
    display: block !important;
    margin: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__content {
    max-width: 720px !important;
    padding: 0 !important;
    width: 100% !important;
}

/* Status */

.eventflow-aec-event-hero
.eventflow-event-hero__eyebrow,
.eventflow-aec-event-hero
.eventflow-event-hero__status {
    align-items: center;
    display: inline-flex;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    line-height: 1 !important;
    margin: 0 0 24px !important;
    min-height: 34px;
    padding: 8px 17px !important;
    text-transform: uppercase;
}

/* Event title */

.eventflow-aec-event-hero
.eventflow-event-hero__title {
    font-size: clamp(54px, 5vw, 80px) !important;
    font-weight: 700 !important;
    letter-spacing: -.035em !important;
    line-height: .98 !important;
    margin: 0 0 28px !important;
}

/* Compact metadata pills */

.eventflow-aec-event-hero
.eventflow-event-hero__meta {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    margin: 0 0 24px !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__pill {
    align-items: center !important;
    background: #ffffff !important;
    border: 0 !important;
    border-radius: 999px !important;
    color: #254c5a !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    font-size: 13px !important;
    font-weight: 650 !important;
    gap: 8px !important;
    justify-content: flex-start !important;
    line-height: 1 !important;
    min-height: 34px !important;
    padding: 8px 14px !important;
    width: auto !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__pill svg {
    flex: 0 0 auto;
    height: 16px !important;
    width: 16px !important;
}

/* CE Credits */

.eventflow-aec-event-hero
.eventflow-event-hero__offerings {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 0 26px !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__offering {
    align-items: center !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    min-height: 34px !important;
    padding: 8px 16px !important;
}

/* AEC-sized action buttons */

.eventflow-aec-event-hero
.eventflow-event-hero__actions {
    align-items: center !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin: 0 0 24px !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button,
.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-registration-button {
    align-items: center !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    font-family:
        "Titillium Web",
        Helvetica,
        Arial,
        sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    justify-content: center !important;
    letter-spacing: .01em !important;
    line-height: 1 !important;
    min-height: 46px !important;
    padding: 14px 22px !important;
    text-decoration: none !important;
    text-transform: none !important;
    width: auto !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--primary,
.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-registration-button--primary {
    background: #95c93d !important;
    border: 1px solid #95c93d !important;
    color: #174958 !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--primary:hover,
.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-registration-button--primary:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #95c93d !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--secondary {
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, .9) !important;
    color: #ffffff !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__actions
.eventflow-event-button--secondary:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #174958 !important;
}

/* Countdown / capacity */

.eventflow-aec-event-hero
.eventflow-event-hero__signals,
.eventflow-aec-event-hero
.eventflow-event-hero__utility,
.eventflow-aec-event-hero
.eventflow-event-hero__footer,
.eventflow-aec-event-hero
.eventflow-event-hero__countdown-row {
    align-items: center !important;
    color: rgba(255, 255, 255, .78) !important;
    display: flex !important;
    flex-wrap: wrap !important;
    font-size: 13px !important;
    gap: 8px 18px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.eventflow-aec-event-hero
.eventflow-event-hero__signals strong,
.eventflow-aec-event-hero
.eventflow-event-countdown strong,
.eventflow-aec-event-hero
.eventflow-event-hero__countdown strong {
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* Desktop placement */

.eventflow-aec-event-hero {
    min-height: clamp(540px, 48vw, 680px) !important;
    padding-bottom: clamp(80px, 7vw, 115px) !important;
    padding-top: clamp(145px, 11vw, 185px) !important;
}

/* Tablet */

@media (max-width: 960px) {
    .eventflow-aec-event-hero__card,
    .eventflow-aec-event-hero
    .eventflow-event-hero__content {
        max-width: 620px !important;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__title {
        font-size: clamp(50px, 8vw, 68px) !important;
    }
}

/* Mobile */

@media (max-width: 768px) {
    .eventflow-aec-event-hero {
        min-height: 620px !important;
        padding-bottom: 48px !important;
        padding-top: 135px !important;
    }

    .eventflow-aec-event-hero__card,
    .eventflow-aec-event-hero
    .eventflow-event-hero__content {
        max-width: 100% !important;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__title {
        font-size: clamp(44px, 13vw, 58px) !important;
        margin-bottom: 24px !important;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__meta {
        gap: 8px !important;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__pill {
        font-size: 12px !important;
        min-height: 32px !important;
        padding: 7px 12px !important;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__actions {
        align-items: flex-start !important;
        flex-direction: row !important;
    }

    .eventflow-aec-event-hero
    .eventflow-event-hero__actions
    .eventflow-event-button,
    .eventflow-aec-event-hero
    .eventflow-event-hero__actions
    .eventflow-registration-button {
        font-size: 13px !important;
        min-height: 44px !important;
        padding: 13px 18px !important;
        width: auto !important;
    }
}

/* /EF-112-R1G */

/* ==========================================================
   EF-113B1 - SAFE DESIGNER TOKEN BRIDGE
   Only actual Hero controls are token-driven here.
   Structural Hero/title/background rules remain untouched.
   ========================================================== */

.eventflow-aec-event-hero .eventflow-event-hero__pill {
    background: var(--eventflow-single-hero-pill-background, #ffffff) !important;
    color: var(--eventflow-single-hero-pill-text, #254c5a) !important;
    border-radius: var(--eventflow-single-hero-pill-radius, 999px) !important;
}

.eventflow-aec-event-hero .eventflow-event-hero__offering {
    background: var(--eventflow-single-hero-offering-background, #53b5b1) !important;
    color: var(--eventflow-single-hero-offering-text, #ffffff) !important;
    border-radius: var(--eventflow-single-hero-offering-radius, 999px) !important;
}

.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-event-button,
.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-registration-button {
    border-radius: var(--eventflow-single-hero-button-radius, 0px) !important;
    box-shadow: var(--eventflow-single-hero-button-shadow, none) !important;
}

.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-event-button--primary,
.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-registration-button--primary {
    background: var(--eventflow-single-primary-button-background, #95c93d) !important;
    border-color: var(--eventflow-single-primary-button-background, #95c93d) !important;
    color: var(--eventflow-single-primary-button-text, #174958) !important;
}

.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-event-button--secondary {
    background: var(--eventflow-single-secondary-button-background, transparent) !important;
    border-color: var(--eventflow-single-secondary-button-border, rgba(255, 255, 255, .9)) !important;
    color: var(--eventflow-single-secondary-button-text, #ffffff) !important;
}

.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-event-button--primary:hover,
.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-registration-button--primary:hover {
    background: #000000 !important;
    border-color: #000000 !important;
    color: #95c93d !important;
}

.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-event-button--secondary:hover {
    background: #ffffff !important;
    border-color: #ffffff !important;
    color: #174958 !important;
}

/* /EF-113B1 */

/* EF-113C1 - EVENT DETAIL PUBLIC DESIGNER BRIDGE */
.eventflow-aec-event-hero{min-height:var(--eventflow-single-hero-min-height,560px)!important;padding-top:var(--eventflow-single-hero-padding-top,160px)!important;padding-bottom:var(--eventflow-single-hero-padding-bottom,96px)!important}
.eventflow-aec-event-hero__card,.eventflow-aec-event-hero .eventflow-event-hero__content{max-width:var(--eventflow-single-hero-content-width,720px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__title{color:var(--eventflow-single-hero-title-color,#fff)!important;font-size:var(--eventflow-single-hero-title-size,64px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__eyebrow,.eventflow-aec-event-hero .eventflow-event-hero__status{background:var(--eventflow-single-hero-status-background,#087a54)!important;border-radius:var(--eventflow-single-hero-status-radius,999px)!important;color:var(--eventflow-single-hero-status-text,#fff)!important}
.eventflow-aec-event-hero .eventflow-event-hero__meta{gap:var(--eventflow-single-hero-meta-gap,12px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__pill{min-height:var(--eventflow-single-hero-pill-height,34px)!important;padding:var(--eventflow-single-hero-pill-padding,8px 14px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__offering{min-height:var(--eventflow-single-hero-offering-height,34px)!important;padding:var(--eventflow-single-hero-offering-padding,8px 16px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__actions{gap:var(--eventflow-single-hero-actions-gap,14px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-event-button,.eventflow-aec-event-hero .eventflow-event-hero__actions .eventflow-registration-button{min-height:var(--eventflow-single-hero-button-height,46px)!important;padding:var(--eventflow-single-hero-button-padding,12px 22px)!important}
.eventflow-aec-event-hero .eventflow-event-hero__signals{color:var(--eventflow-single-hero-signal-color,#d7e3e7)!important}
.eventflow-aec-event-hero .eventflow-event-hero__signals strong{color:var(--eventflow-single-hero-signal-strong-color,#fff)!important}
.eventflow-event-page{max-width:var(--eventflow-single-content-max-width,1200px)}
.eventflow-event-page .eventflow-event-main{gap:var(--eventflow-single-section-gap,56px)}
.eventflow-event-page .eventflow-event-section,.eventflow-event-page .eventflow-event-about,.eventflow-event-page .eventflow-event-visit{border-radius:var(--eventflow-single-section-radius,0);padding:var(--eventflow-single-section-padding,0)}
.eventflow-event-page .eventflow-event-venue__primary,.eventflow-event-page .eventflow-event-venue__detail,.eventflow-event-page .eventflow-event-venue__map{border-radius:var(--eventflow-single-venue-radius,12px)}
.eventflow-event-page .eventflow-event-venue__map,.eventflow-event-page .eventflow-event-venue__map iframe{min-height:var(--eventflow-single-venue-map-height,360px)}
@media(max-width:768px){.eventflow-aec-event-hero{min-height:var(--eventflow-single-hero-mobile-min-height,620px)!important;padding-top:var(--eventflow-single-hero-mobile-padding-top,135px)!important;padding-bottom:var(--eventflow-single-hero-mobile-padding-bottom,48px)!important}}
/* /EF-113C1 */

/* ==========================================================
   EF-113C6 - STATUS PILL PUBLIC SIZING
   Open Registration pill only.
   ========================================================== */

.eventflow-aec-event-hero
.eventflow-event-hero__eyebrow,
.eventflow-aec-event-hero
.eventflow-event-hero__status {
    min-height:
        var(--eventflow-single-hero-status-height, 32px) !important;
    padding:
        var(--eventflow-single-hero-status-padding, 8px 15px) !important;
}

/* /EF-113C6 */

/* ==========================================================
   EF-113C7G - HERO BACKGROUND TRUE REPLACEMENT
   ----------------------------------------------------------
   When EventFlow resolves a Hero image, completely suppress the
   AEC theme's native/hardcoded Hero artwork and allow the resolved
   EventFlow image to become the sole background image.
   ========================================================== */

.eventflow-aec-event-hero.has-image {
    position: relative;

    background-image: none !important;
    background-color: #174b59 !important;
}

/*
 * Some AEC Hero treatments may place artwork on pseudo-elements.
 * Suppress image artwork there while retaining a controlled
 * readability overlay supplied by EventFlow below.
 */
.eventflow-aec-event-hero.has-image::before,
.eventflow-aec-event-hero.has-image::after {
    background-image: none !important;
}

/*
 * EventFlow-resolved Hero image:
 * Event Hero -> Featured Image -> Designer Hero.
 */
.eventflow-aec-event-hero.has-image > .hero__background {
    position: absolute;
    inset: 0;
    z-index: 0;

    width: 100%;
    height: 100%;

    overflow: hidden;
    pointer-events: none;
}

.eventflow-aec-event-hero.has-image
> .hero__background
> .eventflow-aec-event-hero__background-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
}

/*
 * Controlled EventFlow overlay.
 * This replaces any theme artwork/overlay stacking ambiguity.
 */
.eventflow-aec-event-hero.has-image > .hero__background::after {
    content: "";

    position: absolute;
    inset: 0;
    z-index: 1;

    background:
        linear-gradient(
            90deg,
            rgba(14, 67, 79, 0.78) 0%,
            rgba(14, 67, 79, 0.62) 48%,
            rgba(14, 67, 79, 0.38) 100%
        );

    pointer-events: none;
}

/*
 * Keep EventFlow content above the resolved image and overlay.
 */
.eventflow-aec-event-hero.has-image > .site-container {
    position: relative;
    z-index: 2;
}

/* /EF-113C7G */

/* ==========================================================
   EF-113C7H - REMOVE HERO TINT
   ----------------------------------------------------------
   When an EventFlow Hero image exists, show that image cleanly.
   Remove the green fallback color and all EventFlow-added
   gradient/tint overlays from the native AEC Hero.
   ========================================================== */

.eventflow-aec-event-hero.has-image {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

/*
 * Disable any Hero-level pseudo-element tint/artwork.
 */
.eventflow-aec-event-hero.has-image::before,
.eventflow-aec-event-hero.has-image::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

/*
 * Keep the resolved EventFlow/Designer image as the sole
 * visual background layer.
 */
.eventflow-aec-event-hero.has-image > .hero__background {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
}

.eventflow-aec-event-hero.has-image
> .hero__background::before,
.eventflow-aec-event-hero.has-image
> .hero__background::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
}

.eventflow-aec-event-hero.has-image
> .hero__background
> .eventflow-aec-event-hero__background-image {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: center center !important;

    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/*
 * Ensure no inherited opacity/filter is applied to the
 * background wrapper itself.
 */
.eventflow-aec-event-hero.has-image > .hero__background {
    opacity: 1 !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/*
 * Content remains above the image.
 */
.eventflow-aec-event-hero.has-image > .site-container {
    position: relative;
    z-index: 2;
}

/* /EF-113C7H */


/* ==========================================================
   EF-113C8A - HERO IMAGE POSITION
   ========================================================== */

.eventflow-aec-event-hero.has-image
> .hero__background
> .eventflow-aec-event-hero__background-image {
    object-position:
        var(
            --eventflow-detail-hero-position-x,
            center
        )
        var(
            --eventflow-detail-hero-position-y,
            center
        ) !important;
}

/* /EF-113C8A */

/* EF-125B — About the Instructor. */
.eventflow-public--single .eventflow-event-instructor {
    margin-top: 32px;
}



.eventflow-public--single .eventflow-event-instructor__content {
    line-height: 1.7;
}

.eventflow-public--single .eventflow-event-instructor__content::after {
    clear: both;
    content: "";
    display: table;
}

.eventflow-public--single .eventflow-event-instructor__content img {
    height: auto;
    max-width: 100%;
}

.eventflow-public--single .eventflow-event-instructor__content > :first-child {
    margin-top: 0;
}

.eventflow-public--single .eventflow-event-instructor__content > :last-child {
    margin-bottom: 0;
}

@media (max-width: 640px) {
    .eventflow-public--single .eventflow-event-instructor__content img.alignleft,
    .eventflow-public--single .eventflow-event-instructor__content img.alignright {
        display: block;
        float: none;
        margin: 0 0 18px;
    }
}
/* END EF-125B — About the Instructor. */
