.hes-event-page {
	background: var(--surface-canvas, #f2f1ed);
	color: var(--text-primary, #1c1b1b);
	font-family: var(--font-body, "Darker Grotesque", system-ui, sans-serif);
	font-size: var(--type-body-base, 1.125rem);
	letter-spacing: .5px;
	line-height: 1.3559;
}
.hes-event-page *, .hes-event-page *::before, .hes-event-page *::after { box-sizing: border-box; }
.hes-event-section { display: flex; justify-content: center; width: 100%; }
.hes-event-container { max-width: 1290px; min-width: 0; width: calc(100% - 64px); }
.hes-event-hero { background: var(--surface-brand, #ef536a); color: var(--text-on-brand, #fff); padding: 32px 0 0; }
.hes-event-hero .hes-event-breadcrumb__current, .hes-event-hero .hes-event-breadcrumb__link, .hes-event-hero .hes-event-breadcrumb__separator, .hes-event-hero__title, .hes-event-hero__description { color: var(--text-on-brand, #fff); }
.hes-event-hero__inner { display: block; }
.hes-event-hero__copy { display: grid; gap: 12px; justify-items: start; padding: 56px 0 40px; }
.hes-event-breadcrumb { align-items: center; color: var(--text-secondary, #3e3c3a); display: flex; flex-wrap: wrap; font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: var(--type-body-small, .845625rem); font-weight: 500; gap: 8px; letter-spacing: 0; line-height: 1.2; margin-bottom: 4px; max-width: 100%; }
.hes-event-breadcrumb__link { color: inherit; text-decoration: none; }
.hes-event-breadcrumb__link:hover, .hes-event-breadcrumb__link:focus-visible { color: var(--highlight-default, #fbe122); text-decoration: underline; text-underline-offset: 3px; }
.hes-event-breadcrumb__current { color: var(--text-primary, #1c1b1b); overflow-wrap: anywhere; }
.hes-event-breadcrumb__separator { color: var(--text-secondary, #3e3c3a); }
.hes-event-hero__title { font-family: var(--font-heading, "Space Grotesk", system-ui, sans-serif); font-size: clamp(2.5rem, 4vw, 3.051875rem); font-weight: 700; letter-spacing: 0; line-height: 1; margin: 0; max-width: 11em; text-transform: uppercase; }
.hes-event-hero__description { font-size: var(--type-body-base, 1.125rem); letter-spacing: .5px; line-height: 1; margin: 0; max-width: 32em; }
.hes-event-hero__media { aspect-ratio: 16 / 7; background: transparent; display: flex; justify-content: center; margin: 0; min-height: 220px; overflow: hidden; width: 100%; }
.hes-event__hero-image { display: block; height: 100%; object-fit: cover; object-position: center; width: 100%; }
.hes-event__hero-placeholder { align-items: center; color: var(--text-secondary, #3e3c3a); display: grid; font-size: var(--type-body-small, .845625rem); gap: 8px; justify-items: center; line-height: 1; }
.hes-event__hero-placeholder-icon { border: 2px solid currentColor; display: block; height: 14px; position: relative; width: 14px; }
.hes-event__hero-placeholder-icon::after { background: currentColor; content: ""; display: block; height: 4px; inset: 4px auto auto 4px; position: absolute; width: 4px; }
.hes-event-details { background: var(--surface-brand, #ef536a); color: var(--text-on-brand, #fff); padding: 64px 0; }
.hes-event-details__layout { align-items: start; column-gap: 16px; display: grid; grid-template-columns: minmax(0, 760px) 360px; justify-content: space-between; }
.hes-event-details__content { display: grid; gap: 48px; min-width: 0; }
.hes-event-card, .hes-event-registration { border-radius: 16px; }
.hes-event-registration { border-style: solid; border-width: 2px; }
.hes-event-registration--member { border-width: 4px; }
.hes-event-card { background: transparent; border: 0; color: var(--text-on-brand, #fff); display: grid; gap: 24px; padding: 0; }
.hes-event-card--accent { background: transparent; border: 0; border-radius: 0; color: var(--text-on-brand, #fff); gap: 48px; padding: 0; }
.hes-event-card__group { display: grid; gap: 24px; }
.hes-event-card h2, .hes-event-registration h2 { font-family: var(--font-heading, "Space Grotesk", system-ui, sans-serif); font-size: 1.953125rem; font-weight: 700; letter-spacing: 0; line-height: 1; margin: 0; text-transform: uppercase; }
.hes-event-card h2, .hes-event-card--accent h2 { color: var(--text-on-brand, #fff); }
.hes-event-card__body { display: grid; gap: 16px; }
.hes-event-card__body > :first-child { margin-top: 0; }
.hes-event-card__body > :last-child { margin-bottom: 0; }
.hes-event-card p, .hes-event-card li, .hes-event-facts dd, .hes-event-registration p { font-size: var(--type-body-base, 1.125rem); line-height: 1.2; margin: 0; }
.hes-event-facts { display: grid; gap: 12px; margin: 0; }
.hes-event-facts > div { display: grid; gap: 4px; grid-template-columns: 100px minmax(0, 1fr); }
.hes-event-facts dt { font-weight: 700; }
.hes-event-facts dd { margin: 0; }
.hes-event-facts__note { display: block; font-size: var(--type-body-small, .845625rem); margin-top: 4px; }
.hes-event-facts a { color: inherit; }
.hes-fixture { --hes-fixture-bg: var(--surface-raised, #fff); --hes-fixture-border: var(--border-default, #a8a5a0); --hes-fixture-text: var(--text-primary, #1c1b1b); align-items: center; background: var(--hes-fixture-bg); border: 2px solid var(--hes-fixture-border); border-radius: 12px; color: var(--hes-fixture-text); display: inline-flex; font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: var(--hes-fixture-font-size, 1rem); font-weight: 500; gap: var(--hes-fixture-gap, 8px); letter-spacing: .5px; line-height: var(--hes-fixture-line-height, 1.2759); max-width: 100%; min-height: var(--hes-fixture-min-height, 44px); padding: var(--hes-fixture-padding-block, 10px) var(--hes-fixture-padding-inline-end, 14px) var(--hes-fixture-padding-block, 10px) var(--hes-fixture-padding-inline-start, 10px); width: fit-content; }
.hes-fixture--error { --hes-fixture-bg: var(--feedback-error-bg, #fcd8de); --hes-fixture-border: var(--feedback-error-border, #ef536a); --hes-fixture-text: var(--feedback-error-text, #b4213a); }
.hes-fixture--warning { --hes-fixture-bg: var(--feedback-warning-bg, #fef8cd); --hes-fixture-border: var(--feedback-warning-border, #aa890e); --hes-fixture-text: var(--feedback-warning-text, #765c0a); }
.hes-fixture--info { --hes-fixture-bg: var(--feedback-info-bg, #c8e0f9); --hes-fixture-border: var(--feedback-info-border, #1c7ee3); --hes-fixture-text: var(--feedback-info-text, #135496); }
.hes-fixture--success { --hes-fixture-bg: var(--feedback-success-bg, #a3feeb); --hes-fixture-border: var(--feedback-success-border, #00d8a3); --hes-fixture-text: var(--feedback-success-text, #00c590); }
.hes-fixture--small { --hes-fixture-font-size: 14px; --hes-fixture-line-height: 1; --hes-fixture-min-height: 34px; --hes-fixture-padding-block: 8px; --hes-fixture-padding-inline-end: 12px; --hes-fixture-padding-inline-start: 12px; }
.hes-fixture__icon { align-items: center; background: var(--hes-fixture-bg); border: 2px solid var(--hes-fixture-border); border-radius: 50%; color: var(--hes-fixture-text); display: inline-flex; flex: 0 0 20px; font-size: 14px; height: 20px; justify-content: center; letter-spacing: 0; line-height: 1; width: 20px; }
.hes-fixture__message { overflow-wrap: anywhere; }
.hes-event-registration { background: var(--surface-raised, #fff); border-color: var(--border-strong, #3e3c3a); color: var(--text-primary, #1c1b1b); display: grid; gap: 20px; padding: 24px; position: sticky; top: 144px; }
.hes-event-registration h2 { color: var(--text-primary, #1c1b1b); font-size: 1.953125rem; }
.hes-event-registration__heading { display: grid; gap: 8px; }
.hes-event-registration__deal { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; }
.hes-event-registration__price { color: var(--text-secondary, #5a5854); font-family: var(--font-heading, "Space Grotesk", system-ui, sans-serif); font-size: 1.25rem; font-weight: 500; letter-spacing: 0; line-height: 1; }
.hes-event-registration__price--regular { color: var(--text-tertiary, #807d78); text-decoration: line-through; }
.hes-event-registration__price--member { color: var(--color-mint-800, #00b380); font-weight: 700; text-decoration: none; }
.hes-event-registration__badge { background: var(--color-mint-800, #00b380); border-radius: 999px; color: var(--text-on-brand, #fff); font-family: var(--font-heading, "Space Grotesk", system-ui, sans-serif); font-size: .625rem; font-weight: 700; letter-spacing: .25px; line-height: normal; padding: 4px 6px; }
.hes-event-registration__includes { display: grid; gap: 0; }
.hes-event-registration__includes-title { font-weight: 700; }
.hes-event-registration__includes ul { margin: 0; padding-left: 1.25em; }
.hes-event-registration__facts { display: grid; gap: 0; }
.hes-event-registration__facts p { font-weight: 700; }
.hes-event-registration__rsvp-summary { color: var(--text-secondary, #3e3c3a); display: grid; gap: 2px; }
.hes-event-registration__rsvp-summary p { font-size: var(--type-body-small, .845625rem); }
.hes-event-registration__venue { display: grid; gap: 8px; }
.hes-event-registration__map { align-items: center; background: var(--surface-sunken, #e5e3dd); color: var(--text-secondary, #5a5854); display: flex; font-size: var(--type-body-small, .845625rem); justify-content: center; min-height: 160px; overflow: hidden; width: 100%; }
.hes-event-registration__map iframe { border: 0; display: block; min-height: 160px; width: 100%; }
.hes-event-registration__series-note { color: var(--text-tertiary, #807d78); font-size: var(--type-body-small, .845625rem) !important; }
.hes-event-registration__series-note a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.hes-event-registration__series-note a:hover, .hes-event-registration__series-note a:focus-visible { color: var(--text-primary, #1c1b1b); }
.hes-event-registration__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 16px; justify-content: flex-start; }
.hes-event-registration__state { background: var(--color-neutral-200, #e5e3dd); border-color: var(--border-default, #a8a5a0); color: var(--text-disabled, #a8a5a0); cursor: not-allowed; opacity: 1; }
.hes-event-button { align-items: center; background: var(--highlight-default, #fbe122); border: 4px solid var(--border-strong, #3e3c3a); border-radius: 8px; color: var(--text-primary, #1c1b1b); display: inline-flex; font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: var(--type-body-base, 1.125rem); font-weight: 500; justify-content: center; min-height: 40px; padding: 12px 20px; text-decoration: none; transition: box-shadow 140ms ease, transform 140ms ease; width: fit-content; }
.hes-event-button:hover, .hes-event-button:focus-visible { color: var(--text-primary, #1c1b1b); }
.hes-event-button.brutal-hover:hover, .hes-event-button.brutal-hover:focus-visible { box-shadow: 4px 4px 0 var(--text-primary, #1c1b1b); transform: translate(-4px, -4px); }
.hes-event-button:focus-visible, .hes-event-breadcrumb__link:focus-visible { outline: 3px solid var(--border-focus, #1c7ee3); outline-offset: 3px; }
.hes-event-hero__badge { background: var(--color-yellow-300, #fce972); border: 1px solid var(--color-neutral-400, #a8a5a0); border-radius: 999px; color: var(--color-red-900, #4e0e19); font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: 10.35px; font-weight: 700; letter-spacing: .25px; line-height: 1; padding: 8px 12px 6px; text-transform: uppercase; }
.hes-event-hero__badge--hybrid { background: var(--surface-raised, #fff); border: 2px solid var(--action-accent-default, #1c7ee3); color: var(--action-accent-default, #1c7ee3); }
.hes-event-venue__layout { align-items: stretch; display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
.hes-event-venue__map { align-items: center; background: var(--surface-sunken, #e5e3dd); color: var(--text-secondary, #5a5854); display: flex; font-size: var(--type-body-small, .845625rem); justify-content: center; min-height: 240px; overflow: hidden; width: 100%; }
.hes-event-venue__map iframe { border: 0; display: block; height: 100%; min-height: 240px; width: 100%; }
.hes-event-venue__copy { align-content: start; display: grid; gap: 8px; }
.hes-event-venue__copy strong { font-family: var(--font-heading, "Space Grotesk", system-ui, sans-serif); font-size: 1.25rem; line-height: 1.1; }
.hes-event-venue__copy strong a { align-items: center; display: inline-flex; gap: 8px; }
.hes-event-venue__copy strong a span[aria-hidden="true"] { font-size: .8em; line-height: 1; }
.hes-event-venue__copy p { margin: 0; }
.hes-event-venue__copy a { color: inherit; text-underline-offset: 3px; }
.hes-event-venue__copy a:focus-visible, .hes-event-registration__venue-teaser a:focus-visible { outline: 3px solid var(--border-focus, #1c7ee3); outline-offset: 3px; }
.hes-event-venue__label { font-weight: 700; }
.hes-event-registration__venue-teaser a { color: inherit; text-decoration: none; }
.hes-event-registration__venue-teaser a:hover, .hes-event-registration__venue-teaser a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.hes-event-venue { scroll-margin-top: var(--header-height, 96px); }
.hes-event-button--secondary { background: var(--surface-raised, #fff); border: 2px solid var(--border-default, #a8a5a0); color: var(--text-primary, #1c1b1b); }
.hes-event-button--secondary:hover, .hes-event-button--secondary:focus-visible { background: var(--surface-sunken, #e5e3dd); border-color: var(--border-strong, #3e3c3a); color: var(--text-primary, #1c1b1b); }
.hes-event-button--secondary:disabled, .hes-event-button--secondary:disabled:hover, .hes-event-button--secondary:disabled:focus-visible, .hes-event-registration__state:hover, .hes-event-registration__state:focus-visible { background: var(--color-neutral-200, #e5e3dd); border-color: var(--border-default, #a8a5a0); box-shadow: none; color: var(--text-disabled, #a8a5a0); outline: none; transform: none; }
.hes-event-calendar__trigger, .hes-event-calendar__trigger:hover, .hes-event-calendar__trigger:focus-visible { background: var(--surface-raised, #fff); border-color: var(--border-default, #a8a5a0); box-shadow: none; color: var(--text-primary, #1c1b1b); transform: none; }
.hes-event-calendar__trigger:focus-visible { outline: 3px solid var(--border-focus, #1c7ee3); outline-offset: 3px; }
.hes-event-calendar__chevron { fill: none; height: 16px; margin-left: 10px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; width: 16px; }
.hes-event-calendar { position: relative; }
.hes-event-calendar__menu { background: var(--surface-canvas, #f2f1ed); border: 4px solid var(--border-strong, #3e3c3a); border-radius: 4px; max-height: calc(100svh - 32px); min-width: 128px; overflow-y: auto; position: absolute; right: 0; top: calc(100% + 8px); z-index: 5; }
.hes-event-calendar__menu a { align-items: center; color: var(--text-primary, #1c1b1b); display: flex; font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: 18px; font-weight: 600; gap: 16px; justify-content: space-between; line-height: 1; min-width: 220px; padding: 14px 16px; text-decoration: none; }
.hes-event-calendar__menu a + a { border-top: 1px solid var(--border-default, #a8a5a0); }
.hes-event-calendar__menu a:hover { background: var(--surface-brand, #ef536a); color: var(--highlight-default, #fbe122); }
.hes-event-calendar__menu a:focus-visible { background: var(--surface-brand, #ef536a); color: var(--highlight-default, #fbe122); outline: 3px solid var(--border-focus, #1c7ee3); outline-offset: -5px; }
.hes-event-attendees { gap: 12px; }
.hes-event-attendees__count { font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-weight: 700; }
.hes-event-attendees__list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.hes-event-attendee-chip { align-items: center; background: transparent; border: 4px solid var(--border-strong, #3e3c3a); border-radius: 9999px; color: var(--text-on-brand, #fff); display: inline-flex; font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: var(--type-body-small, .845625rem); gap: 8px; line-height: 1; padding: 4px 10px 4px 4px; }
.hes-event-attendee-chip__initial { align-items: center; background: var(--highlight-default, #fbe122); border-radius: 50%; color: var(--text-primary, #1c1b1b); display: inline-flex; font-size: .75rem; font-weight: 700; height: 32px; justify-content: center; width: 32px; }
.hes-event-attendee-chip--overflow { background: var(--surface-sunken, #e5e3dd); color: var(--text-primary, #1c1b1b); padding: 12px 14px; }
.hes-event-registration__share { border-top: 1px solid var(--border-default, #a8a5a0); display: grid; gap: 8px; padding-top: 20px; }
.hes-event-registration__share-label { color: var(--text-secondary, #3e3c3a); font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: var(--type-body-small, .845625rem); }
.hes-event-registration__share-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.hes-event-share-button { align-items: center; background: transparent; border: 2px solid var(--border-default, #a8a5a0); border-radius: 8px; color: var(--text-primary, #1c1b1b); display: inline-flex; font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); font-size: 18px; font-weight: 500; height: 40px; justify-content: center; min-width: 56px; padding: 0; text-decoration: none; transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease; width: 56px; }
.hes-event-share-button svg { display: block; fill: currentColor; height: 16px; width: 16px; }
.hes-event-share-button:hover, .hes-event-share-button:focus-visible { background: var(--surface-sunken, #e5e3dd); border-color: var(--border-strong, #3e3c3a); box-shadow: 4px 4px 0 var(--shadow-hard, var(--border-strong, #3e3c3a)); color: var(--text-primary, #1c1b1b); transform: translate(-4px, -4px); }
.hes-event-share-button:focus-visible { outline: 3px solid var(--border-focus, #1c7ee3); outline-offset: 3px; }
.hes-event-share-button--native { padding-inline: 0; }
.hes-event-registration__share-status { color: var(--text-secondary, #3e3c3a); font-size: var(--type-body-small, .845625rem); min-height: 1em; }
.hes-event-section--password { background: var(--surface-canvas, #f2f1ed); padding: 64px 0; }
.hes-event-password { background: var(--surface-raised, #fff); border: 4px solid var(--border-strong, #3e3c3a); border-radius: 16px; display: grid; gap: 20px; padding: 24px; }
.hes-event-password h1 { font-family: var(--font-heading, "Space Grotesk", system-ui, sans-serif); font-size: clamp(2rem, 4vw, 3.051875rem); line-height: 1; margin: 0; text-transform: uppercase; }
.hes-event-password form, .hes-event-password p { margin: 0; }
.hes-event-password input[type="password"] { border: 2px solid var(--border-strong, #3e3c3a); border-radius: 8px; min-height: 44px; padding: 8px 12px; }
.hes-event-password input[type="submit"] { background: var(--action-primary-default, #ef536a); border: 2px solid var(--border-strong, #3e3c3a); border-radius: 8px; color: var(--text-on-brand, #fff); font-family: var(--font-button, "Space Grotesk", system-ui, sans-serif); min-height: 44px; padding: 8px 16px; }
.hes-event-password input:focus-visible { outline: 3px solid var(--border-focus, #1c7ee3); outline-offset: 3px; }
@media (max-width: 980px) { .hes-event-details__layout { grid-template-columns: 1fr; gap: 32px; } .hes-event-registration { position: static; } }
@media (max-width: 980px) { .hes-event-hero__copy { min-height: auto; padding-block: 32px; } }
@media (max-width: 760px) { .hes-event-container { width: calc(100% - 32px); } .hes-event-hero { padding: 32px 0 0; } .hes-event-hero__title { font-size: clamp(2rem, 12vw, 2.5rem); } .hes-event-hero__media { min-height: 180px; } .hes-event-details { padding: 32px 0; } .hes-event-registration { padding: 20px; } .hes-event-card--accent { padding: 0; } .hes-event-facts > div { grid-template-columns: 1fr; gap: 0; } .hes-event-calendar__menu { left: 0; right: auto; } .hes-event-calendar__menu a { min-width: min(220px, calc(100vw - 72px)); } }
@media (max-width: 759px) { .hes-event-venue__layout { grid-template-columns: 1fr; } .hes-event-venue__map, .hes-event-venue__map iframe { min-height: 180px; } }
@media (prefers-reduced-motion: reduce) { .hes-event-button, .hes-event-share-button { transform: none; transition: none; } .hes-event-button:hover, .hes-event-button:focus-visible, .hes-event-share-button:hover, .hes-event-share-button:focus-visible { transform: none; } }
