:root {
    --shm-event-ink: #111216;
    --shm-event-muted: #626874;
    --shm-event-paper: #fbfaf8;
    --shm-event-rule: rgb(17 18 22 / .12);
    --shm-event-radius: 24px;
}

.shm-event-page { color: var(--shm-event-ink); }
.shm-event-hero {
    background:
        radial-gradient(circle at 92% 5%, rgb(255 23 109 / .11), transparent 35%),
        linear-gradient(135deg, #fff 0%, #fbf8f4 100%);
    border-bottom: 1px solid var(--shm-event-rule);
    padding-block: clamp(3.2rem, 6vw, 8rem);
}
.shm-event-hero-inner {
    align-items: center;
    display: grid;
    gap: clamp(3rem, 5vw, 7rem);
    grid-template-columns: minmax(0, .9fr) minmax(42rem, 1.1fr);
    margin: 0 auto;
    max-width: 138rem;
}
.shm-event-hero-copy { min-width: 0; }
.shm-event-crumbs { align-items: center; color: var(--shm-event-muted); display: flex; font-size: 1.25rem; font-weight: 700; gap: .8rem; margin-bottom: 3rem; }
.shm-event-crumbs a { color: inherit; text-decoration: underline; text-underline-offset: .3em; }
.shm-event-kicker { align-items: center; color: var(--ghost-accent-color); display: flex; font-size: 1.15rem; font-weight: 850; gap: .8rem; letter-spacing: .14em; margin: 0 0 1.5rem; text-transform: uppercase; }
.shm-event-kicker span { background: currentColor; border-radius: 50%; box-shadow: 0 0 0 .5rem rgb(255 23 109 / .1); height: .65rem; width: .65rem; }
.shm-event-hero .gh-article-title { font-size: clamp(4.2rem, 5.8vw, 7.6rem); letter-spacing: -.06em; line-height: .95; margin: 0; max-width: 14ch; text-wrap: balance; }
.shm-event-excerpt { color: var(--shm-event-muted); font-size: clamp(1.8rem, 2vw, 2.3rem); line-height: 1.45; margin: 2.4rem 0 0; max-width: 58rem; }
.shm-event-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.4rem; margin-top: 3rem; }
.shm-event-actions .gh-button { border: 0; }
.shm-event-secondary { color: var(--shm-event-ink); font-size: 1.35rem; font-weight: 800; text-decoration: underline; text-underline-offset: .35em; }
.shm-event-visual { background: #111216; border: 1px solid rgb(17 18 22 / .1); border-radius: var(--shm-event-radius); box-shadow: 0 2.4rem 7rem rgb(17 18 22 / .16); margin: 0; overflow: hidden; padding: 1.2rem; }
.shm-event-feature-image, .shm-event-visual .shm-image-slot { aspect-ratio: 16 / 9; border-radius: calc(var(--shm-event-radius) - .8rem); display: block; height: auto; object-fit: cover; width: 100%; }
.shm-event-visual figcaption { color: rgb(255 255 255 / .64); font-size: 1.15rem; line-height: 1.4; padding: 1rem .4rem .2rem; }

.shm-event-content { padding-block: clamp(4rem, 7vw, 8rem); }
.shm-event-content-inner { margin: 0 auto; max-width: 112rem; }
.shm-event-content .gh-content { color: #292c32; font-size: clamp(1.72rem, 1.2vw, 1.95rem); line-height: 1.7; max-width: none; }
.shm-event-content .gh-content > * + * { margin-top: 2.2rem; }
.shm-event-content .gh-content > :is(p, h2, blockquote) { margin-inline: auto; max-width: 76rem; }
.shm-event-content .gh-content h2 { color: var(--shm-event-ink); font-size: clamp(2.8rem, 4vw, 4.5rem); letter-spacing: -.045em; line-height: 1.05; margin-top: 5rem; }
.shm-event-facts { display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 5rem; overflow: hidden; border: 1px solid var(--shm-event-rule); border-radius: var(--shm-event-radius); background: var(--shm-event-rule); }
.shm-event-fact { background: #fff; padding: clamp(1.8rem, 3vw, 2.8rem); }
.shm-event-fact-label { color: var(--ghost-accent-color); display: block; font-size: 1rem; font-weight: 850; letter-spacing: .13em; margin-bottom: .7rem; text-transform: uppercase; }
.shm-event-fact strong { color: var(--shm-event-ink); display: block; font-size: clamp(1.7rem, 2vw, 2.2rem); line-height: 1.15; }
.shm-event-fact span:last-child { color: var(--shm-event-muted); display: block; font-size: 1.25rem; line-height: 1.4; margin-top: .5rem; }
.shm-event-ticket-cta {
    align-items: flex-start;
    background: linear-gradient(135deg, #fff7fa 0%, #fff 58%, #faf6ef 100%);
    border: 1px solid rgb(255 23 109 / .22);
    border-radius: var(--shm-event-radius);
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    margin: -2.5rem auto 5rem;
    max-width: 76rem;
    padding: clamp(2.2rem, 4vw, 3.4rem);
}
.shm-event-ticket-cta p { margin: 0; max-width: 58rem; }
.shm-event-ticket-cta p:first-child { color: var(--ghost-accent-color); font-size: 1.05rem; letter-spacing: .12em; text-transform: uppercase; }
.shm-event-ticket-cta p:last-child { color: var(--shm-event-muted); font-size: 1.3rem; line-height: 1.5; }
.shm-event-ticket-cta .gh-button {
    border: 0;
    box-shadow: 0 1rem 2.4rem rgb(255 23 109 / .18);
    color: #fff !important;
    font-size: 1.45rem !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    min-height: 4.8rem;
    padding-inline: 2.1rem;
    text-indent: 0 !important;
}
.shm-event-ticket-cta .gh-button span { visibility: visible !important; }
.shm-event-ticket-cta .gh-button:hover { transform: translateY(-1px); }
.shm-event-editorial-note { background: linear-gradient(135deg, #111216, #25161e); border-radius: var(--shm-event-radius); color: #fff; margin: 4.5rem 0; padding: clamp(2.4rem, 5vw, 4.4rem); }
.shm-event-editorial-note .shm-event-note-label { color: #ff5a99; font-size: 1rem; font-weight: 850; letter-spacing: .13em; margin: 0 0 1rem; text-transform: uppercase; }
.shm-event-editorial-note h2 { color: #fff !important; margin: 0 !important; max-width: 18ch !important; }
.shm-event-editorial-note p { color: rgb(255 255 255 / .74); margin: 1.3rem 0 0; max-width: 66rem; }
.shm-event-source { border-top: 1px solid var(--shm-event-rule); color: var(--shm-event-muted); font-size: 1.3rem; margin-top: 4rem; padding-top: 2rem; }
.shm-event-source a { color: inherit; font-weight: 750; text-decoration-color: var(--ghost-accent-color); text-underline-offset: .25em; }
.shm-event-more { background: var(--shm-event-paper); border-top: 1px solid var(--shm-event-rule); padding-block: clamp(4rem, 7vw, 8rem); }
.shm-event-more > .gh-inner { margin: 0 auto; max-width: var(--container-width); }
.shm-event-more-heading { margin-bottom: 2.8rem; }
.shm-event-more-heading h2 { font-size: clamp(3rem, 4vw, 4.8rem); letter-spacing: -.05em; line-height: 1; margin-top: .8rem; }
.shm-event-more .gh-feed { display: grid; gap: 2rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 900px) {
    .shm-event-hero-inner { grid-template-columns: 1fr; }
    .shm-event-hero .gh-article-title { max-width: none; }
    .shm-event-visual { order: -1; }
}
@media (max-width: 680px) {
    .shm-event-hero { padding-block: 2rem 4rem; }
    .shm-event-hero-inner { gap: 3rem; }
    .shm-event-crumbs { margin-bottom: 2rem; }
    .shm-event-hero .gh-article-title { font-size: clamp(3.8rem, 12vw, 5.4rem); }
    .shm-event-facts { grid-template-columns: 1fr 1fr; }
    .shm-event-more .gh-feed { grid-template-columns: 1fr; }
}
@media (max-width: 420px) { .shm-event-facts { grid-template-columns: 1fr; } }
