/* EBN stylesheet. Loaded after dist/style.css in default.hbs so these rules override the theme. */

/* ============================================================
   Section 3: network bar + main nav
   ============================================================ */

:root {
    --ebn-orange: #FF6D2D;
    --ebn-dot-ebn: #FF6D2D;
    --ebn-dot-research: #2454E6;
    --ebn-dot-jobs: #8447FF;
    --ebn-dot-ebclub: #4AE6C8;
    --ebn-dot-iebp: #C2FCF7;
    --ebn-dot-tgs: #F3FF05;
    --ebn-network-bar-bg: #000;
    --ebn-network-bar-fg: rgba(255, 255, 255, 0.85);
    --ebn-network-bar-fg-hover: #fff;
    --ebn-network-bar-hairline: rgba(255, 255, 255, 0.12);
}

/* ---------- Network bar ---------- */

.ebn-network-bar {
    background: var(--ebn-network-bar-bg);
    color: var(--ebn-network-bar-fg);
    font-family: var(--pinolada--font-family--elements, system-ui, sans-serif);
    font-size: 12px;
    line-height: 1;
    border-block-end: 1px solid var(--ebn-network-bar-hairline);
}

.ebn-network-bar__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    inline-size: 100%;
    max-inline-size: calc(var(--pinolada--size--container) + var(--pinolada--space--site) * 2);
    padding-inline: var(--pinolada--space--site);
    padding-block: 8px;
    margin-inline: auto;
}

.ebn-network-bar__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ebn-network-bar__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--ebn-network-bar-fg);
    text-decoration: none;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: color 0.15s;
}

.ebn-network-bar__link::before {
    content: "";
    inline-size: 10px;
    block-size: 10px;
    border-radius: 50%;
    background: currentColor;
    flex: 0 0 auto;
}

.ebn-network-bar__link[data-net="ebn"]::before      { background: var(--ebn-dot-ebn); }
.ebn-network-bar__link[data-net="research"]::before { background: var(--ebn-dot-research); }
.ebn-network-bar__link[data-net="jobs"]::before     { background: var(--ebn-dot-jobs); }
.ebn-network-bar__link[data-net="ebclub"]::before   { background: var(--ebn-dot-ebclub); }
.ebn-network-bar__link[data-net="iebp"]::before     { background: var(--ebn-dot-iebp); }
.ebn-network-bar__link[data-net="tgs"]::before      { background: var(--ebn-dot-tgs); }

.ebn-network-bar__link[data-net="directory"]::before {
    background: conic-gradient(
        from 0deg,
        #FF2D55 0deg,
        #FF9500 60deg,
        #FFD300 120deg,
        #34C759 180deg,
        #0A84FF 240deg,
        #AF52DE 300deg,
        #FF2D55 360deg
    );
}

.ebn-network-bar__link:hover,
.ebn-network-bar__link:focus-visible {
    color: var(--ebn-network-bar-fg-hover);
}

.ebn-network-bar__link.is-current {
    color: #fff;
}

.ebn-network-bar__label {
    display: inline-flex;
    align-items: center;
    color: rgba(255, 255, 255, 0.6);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    user-select: none;
    white-space: nowrap;
}

.ebn-network-bar__cta {
    color: var(--ebn-network-bar-fg);
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: color 0.15s;
}

.ebn-network-bar__cta:hover,
.ebn-network-bar__cta:focus-visible {
    color: var(--ebn-network-bar-fg-hover);
}

@media (max-width: 600px) {
    .ebn-network-bar__inner {
        gap: 0;
        padding-block: 6px;
        padding-inline-end: 0;
    }
    .ebn-network-bar__list {
        gap: 14px;
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
        padding-inline-end: 32px;
        -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%);
                mask-image: linear-gradient(to right, #000 calc(100% - 32px), transparent 100%);
    }
    .ebn-network-bar__list::-webkit-scrollbar { display: none; }
    .ebn-network-bar__link { font-size: 11px; }
    .ebn-network-bar__cta  { display: none; }

    /* Current property first in the scroll row so it is visible without scrolling. */
    .ebn-network-bar__list > li:has(.is-current) { order: -1; }

    /* Keep the Network: label pinned to the start of the scrolling row. */
    .ebn-network-bar__list > .ebn-network-bar__label {
        order: -2;
        position: sticky;
        inset-inline-start: 0;
        padding-inline-end: 8px;
        background: var(--ebn-network-bar-bg);
        z-index: 1;
    }
}

/* ---------- Main nav (overrides pinolada's .nav-primary when ebn-nav is rendered instead) ---------- */

.ebn-nav {
    display: flex;
    align-items: stretch;
}

.ebn-nav__menu {
    display: flex;
    align-items: stretch;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
    flex-wrap: wrap;
}

.ebn-nav__item {
    position: relative;
    display: flex;
    align-items: stretch;
}

.ebn-nav__link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 10px 14px;
    color: var(--pinolada--color--contrast, #111);
    text-decoration: none;
    font-family: var(--pinolada--font-family--elements, system-ui, sans-serif);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.01em;
    border-block-end: 3px solid transparent;
    transition: color 0.15s, border-color 0.15s;
}

.ebn-nav__link:hover,
.ebn-nav__link:focus-visible {
    color: var(--ebn-orange);
}

.ebn-nav__item.is-current > .ebn-nav__link,
.ebn-nav__item--has-submenu.is-current > .ebn-nav__link {
    border-block-end-color: var(--ebn-orange);
}

.ebn-nav__caret {
    font-size: 10px;
    line-height: 1;
    transition: transform 0.15s;
}

/* ---------- CSS-only dropdown, scoped to .ebn-nav only ---------- */

.ebn-nav .ebn-nav__submenu {
    position: absolute;
    inset-block-start: 100%;
    inset-inline-start: 0;
    min-inline-size: 220px;
    margin: 0;
    padding: 8px 0;
    list-style: none;
    background: var(--pinolada--color--base, #fff);
    border: 1px solid var(--pinolada--color--border, rgba(0, 0, 0, 0.1));
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
    z-index: 50;
}

.ebn-nav .ebn-nav__item--has-submenu:hover > .ebn-nav__submenu,
.ebn-nav .ebn-nav__item--has-submenu:focus-within > .ebn-nav__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.ebn-nav .ebn-nav__item--has-submenu:hover > .ebn-nav__link .ebn-nav__caret,
.ebn-nav .ebn-nav__item--has-submenu:focus-within > .ebn-nav__link .ebn-nav__caret {
    transform: rotate(180deg);
}

.ebn-nav .ebn-nav__submenu .ebn-nav__link {
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    border-block-end: 0;
    white-space: nowrap;
}

.ebn-nav .ebn-nav__submenu .ebn-nav__link:hover,
.ebn-nav .ebn-nav__submenu .ebn-nav__link:focus-visible {
    color: var(--ebn-orange);
    background: color-mix(in oklab, var(--ebn-orange) 8%, transparent);
}

/* ---------- Dark mode ---------- */

[data-prefers-color-scheme="dark"] .ebn-nav .ebn-nav__submenu {
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.5);
}

/* ---------- Hide pinolada's old nav; the EBN nav sits in the same slot ---------- */

.site-navigation .nav-primary { display: none; }

@media (max-width: 991px) {
    .ebn-nav__menu { flex-direction: column; align-items: stretch; gap: 0; }
    .ebn-nav__item { display: block; }
    .ebn-nav__link { padding: 12px 0; border-block-end: 1px solid var(--pinolada--color--border, rgba(0, 0, 0, 0.08)); }
    .ebn-nav__item--has-submenu > .ebn-nav__link { border-block-end-color: transparent; }
    .ebn-nav .ebn-nav__submenu {
        position: static;
        inset-block-start: auto;
        inset-inline-start: auto;
        min-inline-size: 0;
        margin: 0;
        padding: 0 0 8px 16px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: transparent;
        opacity: 1;
        visibility: visible;
        transform: none;
    }
    .ebn-nav__item--has-submenu .ebn-nav__caret { display: none; }
}

/* ============================================================
   Pinolada compatibility fix
   dist/style.css has a bug: the rule
   .site-color-scheme__options,.site-color-scheme__options[aria-hidden=false]{opacity:1;visibility:visible}
   leaves the first selector unqualified, so the colour-scheme menu is
   visible on page load even though the markup is aria-hidden="true".
   Re-hide it when aria-hidden="true"; higher specificity than the bug.
   ============================================================ */

.site-color-scheme__options[aria-hidden="true"] {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(0, -8px, 0);
}

/* ============================================================
   Section 4: breadcrumbs
   Rendered inside .article-header__content (post/page) and
   .site-heading__content (tag/author), so they inherit the content
   column from the surrounding grid. No breadcrumb on home, index,
   or any EBClub template (those templates do not include the partial).
   ============================================================ */

.ebn-breadcrumbs {
    margin-block-end: 12px;
    font-family: var(--pinolada--font-family--elements, system-ui, sans-serif);
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--pinolada--color--contrast-dim, rgba(0, 0, 0, 0.55));
}

.ebn-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ebn-breadcrumbs__item {
    min-inline-size: 0;
}

.ebn-breadcrumbs__link {
    color: inherit;
    text-decoration: none;
    transition: color 0.15s;
}

.ebn-breadcrumbs__link:hover,
.ebn-breadcrumbs__link:focus-visible {
    color: var(--ebn-orange);
}

.ebn-breadcrumbs__sep {
    color: var(--pinolada--color--contrast-dimmer, rgba(0, 0, 0, 0.35));
    user-select: none;
}

.ebn-breadcrumbs__link[aria-current="location"] {
    color: var(--pinolada--color--contrast, inherit);
    font-weight: 500;
}

@media (max-width: 600px) {
    .ebn-breadcrumbs { font-size: 11px; margin-block-end: 10px; }
}

/* ============================================================
   Section 5: migrated from Site Header code injection
   One-time move, byte-for-byte apart from the partner-card dark
   mode fix noted in the commit. All of these rules used to ship
   inline on every page as ~31 KB of code injection; moving them
   to the theme stylesheet means they are cached across pages.
   ============================================================ */

/* ---------- Scroll-to-top button (CSS was in head code injection) ---------- */

    /*Scroll to Top CSS*/
    .scroll-top {
		position: fixed;
 		z-index: 50;
		padding: 0;
		right: 30px;
		bottom: 100px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(15px);    
		height: 46px;
		width: 46px;
		cursor: pointer;
		display: flex;
  		align-items: center;
  		justify-content: center;
		border-radius: 50%;
  	transition: all .4s ease;
  	border: none;
  	box-shadow: inset 0 0 0 2px #ccc;
  	color: #ccc;
  	background-color: #fff;
	}

	.scroll-top.is-active {
		opacity: 1;
  		visibility: visible;
  		transform: translateY(0);
	}

	.scroll-top .icon-tabler-arrow-up {
  		position: absolute;
  		stroke-width: 2px;
  		stroke: #333;
	}

	.scroll-top svg path { 
		fill: none; 
	}

	.scroll-top svg.progress-circle path {
		stroke: #333;
		stroke-width: 4;
  		transition: all .4s ease;
	}

	.scroll-top:hover {
  		color: var(--ghost-accent-color);
	}

	.scroll-top:hover .progress-circle path, .scroll-top:hover .icon-tabler-arrow-up {
  		stroke: var(--ghost-accent-color);
	}
          

/* ---------- EBClub chrome, event cards, event hero (ex-head code injection) ---------- */

.ebclub-full-width > * {
    max-inline-size: 100%;
}
.ebclub-full-width .kg-width-wide {
    grid-column: wide-start / wide-end;
}
.ebclub-full-width .kg-width-full {
    grid-column: full-start / full-end;
}
.is-hidden {
    display: none !important;
}
.ebclub-breadcrumb-bar {
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--xs);
    padding-block: var(--pinolada--space--xs-s);
    border-block-end: 0.5px solid var(--pinolada--color--border);
}
@media (min-width: 48em) {
    .ebclub-breadcrumb-bar {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.ebclub-breadcrumb {
    display: flex;
    align-items: center;
    gap: var(--pinolada--space--2xs);
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    color: var(--pinolada--color--contrast-dim);
}
.ebclub-breadcrumb a {
    color: var(--pinolada--color--contrast-dim);
    text-decoration: none;
}
.ebclub-breadcrumb a:hover {
    color: var(--pinolada--color--primary);
}
.ebclub-breadcrumb__sep {
    color: var(--pinolada--color--contrast-dimmer);
}
.ebclub-breadcrumb__current {
    color: var(--pinolada--color--contrast);
    font-weight: var(--pinolada--font-weight--elements-bold);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-inline-size: 24ch;
}
.ebclub-event-subnav {
    display: flex;
    gap: var(--pinolada--space--s);
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}
.ebclub-event-subnav::-webkit-scrollbar { display: none; }
.ebclub-event-subnav__link {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    color: var(--pinolada--color--contrast-dim);
    text-decoration: none;
    white-space: nowrap;
    padding-block-end: var(--pinolada--space--2xs);
    border-block-end: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.ebclub-event-subnav__link:hover,
.ebclub-event-subnav__link.is-active {
    color: var(--pinolada--color--primary);
    border-block-end-color: var(--pinolada--color--primary);
}
.ebclub-page-header {
    padding-block: var(--pinolada--space--s-l);
}
.ebclub-page-header__inner {
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--s);
}
@media (min-width: 48em) {
    .ebclub-page-header__inner {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
    }
}
.ebclub-page-header__title {
    font-size: var(--pinolada--font-size--3xl);
    font-family: var(--pinolada--font-family--headings);
    font-weight: var(--pinolada--font-weight--headings);
    margin: 0;
    letter-spacing: var(--pinolada--letter-spacing--headings, -0.02em);
}
.ebclub-page-header__excerpt {
    font-size: var(--pinolada--font-size--base);
    color: var(--pinolada--color--contrast-dim);
    margin-block-start: var(--pinolada--space--2xs);
}
.ebclub-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pinolada--space--2xs);
    align-items: center;
}
.ebclub-filter-chip {
    display: inline-flex;
    align-items: center;
    padding: var(--pinolada--space--3xs) var(--pinolada--space--xs);
    border-radius: var(--pinolada--radius--2xl);
    border: 1px solid var(--pinolada--color--border-highlight);
    background: transparent;
    color: var(--pinolada--color--contrast-dim);
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements);
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    white-space: nowrap;
}
.ebclub-filter-chip:hover {
    border-color: var(--pinolada--color--primary);
    color: var(--pinolada--color--primary);
}
.ebclub-filter-chip.is-active {
    background: var(--pinolada--color--primary);
    border-color: var(--pinolada--color--primary);
    color: var(--pinolada--color--primary-contrast);
}
.ebclub-events-section__title {
    margin-block-end: var(--pinolada--space--s-m);
}
.ebclub-events-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pinolada--space--s-m);
}
@media (min-width: 36em) {
    .ebclub-events-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 64em) {
    .ebclub-events-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
.ebclub-event-card--featured {
    grid-column: 1 / -1;
}
@media (min-width: 48em) {
    .ebclub-event-card--featured {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
    }
    .ebclub-event-card--featured .ebclub-event-card__media {
        min-block-size: 280px;
    }
}
.ebclub-events-grid--compact {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.ebclub-event-card {
    background: var(--pinolada--color--base);
    border: 1px solid var(--pinolada--color--border);
    border-radius: var(--pinolada--radius--l);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.2s, transform 0.2s;
}
.ebclub-event-card:hover {
    box-shadow: 0 4px 24px var(--pinolada--color--shadow-highlight);
    transform: translateY(-2px);
}
.ebclub-event-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--pinolada--color--secondary);
    text-decoration: none;
    flex-shrink: 0;
}
.ebclub-event-card--featured .ebclub-event-card__media {
    aspect-ratio: unset;
}
.ebclub-event-card__figure {
    margin: 0;
    block-size: 100%;
}
.ebclub-event-card__image {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}
.ebclub-event-card:hover .ebclub-event-card__image {
    transform: scale(1.03);
}
.ebclub-event-card__image-placeholder {
    inline-size: 100%;
    block-size: 100%;
    min-block-size: 160px;
    background: linear-gradient(135deg,
        color-mix(in srgb, var(--pinolada--color--primary) 20%, transparent),
        color-mix(in srgb, var(--pinolada--color--primary) 8%, transparent));
}
.ebclub-event-card__sponsor-badge {
    position: absolute;
    inset-block-start: var(--pinolada--space--2xs);
    inset-inline-end: var(--pinolada--space--2xs);
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: rgba(255, 255, 255, 0.9);
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    padding: 3px 8px;
    border-radius: var(--pinolada--radius--s);
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    white-space: nowrap;
    max-inline-size: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ebclub-event-card__badges {
    position: absolute;
    inset-block-end: var(--pinolada--space--2xs);
    inset-inline-start: var(--pinolada--space--2xs);
    display: flex;
    gap: var(--pinolada--space--3xs);
}
.ebclub-event-card__type-badge {
    background: var(--pinolada--color--primary);
    color: var(--pinolada--color--primary-contrast);
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    padding: 3px 8px;
    border-radius: var(--pinolada--radius--s);
}
.ebclub-event-card__past-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}
.ebclub-event-card__past-label {
    background: rgba(255, 255, 255, 0.15);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.95);
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    padding: var(--pinolada--space--2xs) var(--pinolada--space--xs);
    border-radius: var(--pinolada--radius--l);
}
.ebclub-event-card__body {
    padding: var(--pinolada--space--s-m);
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: var(--pinolada--space--2xs);
}
.ebclub-event-card__meta {
    display: flex;
    gap: var(--pinolada--space--xs);
    align-items: center;
}
.ebclub-event-card__date {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    color: var(--pinolada--color--primary);
}
.ebclub-event-card__title {
    font-size: var(--pinolada--font-size--xl);
    font-family: var(--pinolada--font-family--headings);
    font-weight: var(--pinolada--font-weight--headings);
    line-height: 1.3;
    margin: 0;
    letter-spacing: var(--pinolada--letter-spacing--headings, -0.02em);
}
.ebclub-event-card__title a {
    color: var(--pinolada--color--contrast-highlight);
    text-decoration: none;
}
.ebclub-event-card__title a:hover {
    color: var(--pinolada--color--primary);
}
.ebclub-event-card__excerpt {
    font-size: var(--pinolada--font-size--base-small);
    color: var(--pinolada--color--contrast-dim);
    line-height: 1.6;
    margin: 0;
    flex: 1;
}
.ebclub-event-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-block-start: auto;
    padding-block-start: var(--pinolada--space--xs);
    border-block-start: 1px solid var(--pinolada--color--border-dim);
}
.ebclub-event-card__attending {
    font-size: var(--pinolada--font-size--3xs);
    color: var(--pinolada--color--contrast-dimmer);
    font-family: var(--pinolada--font-family--elements);
}
.ebclub-event-card__cta {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    color: var(--pinolada--color--primary);
    text-decoration: none;
    white-space: nowrap;
}
.ebclub-event-card__cta:hover {
    text-decoration: underline;
}
.ebclub-member-banner__inner {
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--s);
    padding: var(--pinolada--space--s-m);
    border-radius: var(--pinolada--radius--l);
    align-items: flex-start;
}
@media (min-width: 48em) {
    .ebclub-member-banner__inner {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
    }
}
.ebclub-member-banner__text {
    font-size: var(--pinolada--font-size--base-small);
    line-height: 1.6;
}
.ebclub-event-hero {
    position: relative;
    overflow: hidden;
    min-block-size: 480px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
@media (min-width: 48em) {
    .ebclub-event-hero {
        min-block-size: 560px;
    }
}
.ebclub-event-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.ebclub-event-hero__bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.85) 0%,
        rgba(0, 0, 0, 0.5)  40%,
        rgba(0, 0, 0, 0.2)  100%
    );
}
.ebclub-event-hero__bg-img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: center top;
}
.ebclub-event-hero__content {
    position: relative;
    z-index: 1;
    padding-block: var(--pinolada--space--l-2xl);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--pinolada--space--s);
}
.ebclub-event-hero__type-tag {
    display: inline-flex;
    align-items: center;
    background: rgba(var(--ghost-accent-color-rgb, 5, 90, 91), 0.3);
    border: 1px solid var(--pinolada--color--primary);
    color: var(--pinolada--color--primary);
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: var(--pinolada--space--3xs) var(--pinolada--space--xs);
    border-radius: var(--pinolada--radius--2xl);
    text-decoration: none;
}
.ebclub-event-hero__title {
    font-size: var(--pinolada--font-size--4xl);
    font-family: var(--pinolada--font-family--headings);
    font-weight: var(--pinolada--font-weight--headings);
    color: #fff;
    line-height: 1.15;
    letter-spacing: var(--pinolada--letter-spacing--headings, -0.02em);
    margin: 0;
    max-inline-size: 22ch;
}
.ebclub-event-hero__excerpt {
    font-size: var(--pinolada--font-size--l);
    color: rgba(255, 255, 255, 0.75);
    max-inline-size: 48ch;
    line-height: 1.6;
    margin: 0;
}
.ebclub-event-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pinolada--space--xs) var(--pinolada--space--s);
    align-items: center;
}
.ebclub-event-hero__meta-item {
    font-size: var(--pinolada--font-size--base-small);
    font-family: var(--pinolada--font-family--elements);
    color: rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    gap: var(--pinolada--space--3xs);
}
.ebclub-event-hero__meta-item--access {
    background: rgba(255, 255, 255, 0.12);
    border: 0.5px solid rgba(255, 255, 255, 0.25);
    padding: var(--pinolada--space--3xs) var(--pinolada--space--xs);
    border-radius: var(--pinolada--radius--2xl);
    font-size: var(--pinolada--font-size--2xs);
}
.ebclub-event-hero__past-badge {
    display: inline-block;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: rgba(255, 255, 255, 0.9);
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: var(--pinolada--space--3xs) var(--pinolada--space--xs);
    border-radius: var(--pinolada--radius--2xl);
}
.ebclub-event-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pinolada--space--s);
    align-items: center;
    margin-block-start: var(--pinolada--space--xs);
}
.ebclub-event-hero__cta {
    font-size: var(--pinolada--font-size--base-small);
    padding-block: var(--pinolada--space--xs);
    padding-inline: var(--pinolada--space--m);
}
.ebclub-event-hero__cta-secondary {
    font-size: var(--pinolada--font-size--base-small);
    padding-block: var(--pinolada--space--xs);
    padding-inline: var(--pinolada--space--m);
    color: rgba(255, 255, 255, 0.85);
    border-color: rgba(255, 255, 255, 0.4);
}
.ebclub-event-hero__member-note,
.ebclub-event-hero__member-link {
    font-size: var(--pinolada--font-size--base-small);
    color: rgba(255, 255, 255, 0.6);
}
.ebclub-event-hero__member-link a,
.ebclub-event-hero__member-note a {
    color: rgba(255, 255, 255, 0.85);
    text-decoration: underline;
}
.ebclub-countdown {
    display: flex;
    gap: var(--pinolada--space--xs);
}
.ebclub-countdown__block {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    border-radius: var(--pinolada--radius--m);
    padding: var(--pinolada--space--xs) var(--pinolada--space--s);
    min-inline-size: 56px;
}
.ebclub-countdown__num {
    font-size: var(--pinolada--font-size--3xl);
    font-family: var(--pinolada--font-family--headings);
    font-weight: var(--pinolada--font-weight--headings);
    color: #fff;
    line-height: 1;
    letter-spacing: -0.02em;
}
.ebclub-countdown__label {
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-block-start: 2px;
}
.ebclub-sponsor-hero-bar {
    position: relative;
    z-index: 1;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-block-start: 0.5px solid rgba(255, 255, 255, 0.1);
    padding: var(--pinolada--space--s) var(--pinolada--space--site);
    display: flex;
    align-items: center;
    gap: var(--pinolada--space--s);
    flex-wrap: wrap;
}
.ebclub-sponsor-hero-bar__label {
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.45);
    white-space: nowrap;
    flex-shrink: 0;
}
.ebclub-sponsor-hero-bar__logos {
    display: flex;
    align-items: center;
    gap: var(--pinolada--space--s);
    flex-wrap: wrap;
    flex: 1;
}
.ebclub-sponsor-logo-pill {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    color: rgba(255, 255, 255, 0.75);
    background: rgba(255, 255, 255, 0.1);
    border: 0.5px solid rgba(255, 255, 255, 0.2);
    padding: var(--pinolada--space--3xs) var(--pinolada--space--xs);
    border-radius: var(--pinolada--radius--s);
    white-space: nowrap;
}
.ebclub-sponsor-hero-bar__become {
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    color: rgba(255, 255, 255, 0.4);
    text-decoration: none;
    white-space: nowrap;
    margin-inline-start: auto;
    transition: color 0.2s;
}
.ebclub-sponsor-hero-bar__become:hover {
    color: rgba(255, 255, 255, 0.7);
}
.ebclub-card {
    padding-block: var(--pinolada--space--l);
    border-block-end: 1px solid var(--pinolada--color--border-dim);
}
.ebclub-card__title {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pinolada--color--contrast-dimmer);
    margin-block-end: var(--pinolada--space--s-m);
    display: flex;
    align-items: center;
    gap: var(--pinolada--space--s);
}
.ebclub-card__title::after {
    content: '';
    flex: 1;
    block-size: 1px;
    background: var(--pinolada--color--border-dim);
}
.ebclub-media-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pinolada--space--s);
}
@media (min-width: 48em) {
    .ebclub-media-grid {
        grid-template-columns: 1.8fr 1fr;
    }
}
.ebclub-media-main {
    border-radius: var(--pinolada--radius--l);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--pinolada--color--secondary);
}
.ebclub-media-main img,
.ebclub-media-main iframe {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
}
.ebclub-media-stack {
    display: flex;
    flex-direction: row;
    gap: var(--pinolada--space--s);
}
@media (min-width: 48em) {
    .ebclub-media-stack {
        flex-direction: column;
    }
}
.ebclub-media-thumb {
    flex: 1;
    border-radius: var(--pinolada--radius--m);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--pinolada--color--secondary);
    position: relative;
    cursor: pointer;
}
.ebclub-media-thumb img,
.ebclub-media-thumb iframe {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
}
.ebclub-media-thumb__label {
    position: absolute;
    inset-block-end: var(--pinolada--space--2xs);
    inset-inline-start: var(--pinolada--space--2xs);
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    color: rgba(255, 255, 255, 0.85);
    background: rgba(0, 0, 0, 0.6);
    padding: 2px var(--pinolada--space--2xs);
    border-radius: var(--pinolada--radius--s);
}
.ebclub-sponsor-banner {
    background: var(--pinolada--color--secondary);
    border-radius: var(--pinolada--radius--l);
    padding: var(--pinolada--space--s-m);
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--s);
}
@media (min-width: 48em) {
    .ebclub-sponsor-banner {
        flex-direction: row;
        align-items: center;
    }
}
.ebclub-sponsor-banner__label {
    font-size: var(--pinolada--font-size--3xs);
    font-family: var(--pinolada--font-family--elements);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--pinolada--color--contrast-dimmer);
    white-space: nowrap;
    flex-shrink: 0;
}
.ebclub-sponsor-banner__divider {
    inline-size: 1px;
    block-size: 28px;
    background: var(--pinolada--color--border);
    flex-shrink: 0;
    display: none;
}
@media (min-width: 48em) {
    .ebclub-sponsor-banner__divider { display: block; }
}
.ebclub-sponsor-banner__logos {
    display: flex;
    flex-wrap: wrap;
    gap: var(--pinolada--space--s);
    align-items: center;
    flex: 1;
}
.ebclub-sponsor-tier {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.ebclub-sponsor-tier__logo {
    block-size: 28px;
    inline-size: auto;
    max-inline-size: 100px;
    object-fit: contain;
    filter: var(--pinolada-sponsor-logo-filter, none);
}
.ebclub-sponsor-tier--title .ebclub-sponsor-tier__logo {
    block-size: 36px;
    max-inline-size: 120px;
}
.ebclub-sponsor-tier__name {
    font-size: var(--pinolada--font-size--3xs);
    color: var(--pinolada--color--contrast-dimmer);
    font-family: var(--pinolada--font-family--elements);
    text-align: center;
}
.ebclub-sponsor-banner__cta {
    font-size: var(--pinolada--font-size--2xs);
    color: var(--pinolada--color--primary);
    text-decoration: none;
    white-space: nowrap;
    margin-inline-start: auto;
    font-family: var(--pinolada--font-family--elements);
}
.ebclub-speakers-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pinolada--space--s);
}
@media (min-width: 36em) {
    .ebclub-speakers-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (min-width: 64em) {
    .ebclub-speakers-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
.ebclub-speaker-card {
    background: var(--pinolada--color--secondary);
    border-radius: var(--pinolada--radius--l);
    padding: var(--pinolada--space--s-m);
    display: flex;
    gap: var(--pinolada--space--s);
    align-items: flex-start;
}
.ebclub-speaker-card__avatar {
    inline-size: 52px;
    block-size: 52px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    background: var(--pinolada--color--border);
}
.ebclub-speaker-card__name {
    font-size: var(--pinolada--font-size--base-small);
    font-family: var(--pinolada--font-family--headings);
    font-weight: var(--pinolada--font-weight--headings);
    color: var(--pinolada--color--contrast-highlight);
    margin: 0 0 2px;
}
.ebclub-speaker-card__role {
    font-size: var(--pinolada--font-size--2xs);
    color: var(--pinolada--color--contrast-dim);
    font-family: var(--pinolada--font-family--elements);
    margin: 0 0 var(--pinolada--space--2xs);
}
.ebclub-speaker-card__bio {
    font-size: var(--pinolada--font-size--3xs);
    color: var(--pinolada--color--contrast-dimmer);
    line-height: 1.6;
    margin: 0;
}
.ebclub-topics-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--xs);
}
.ebclub-topics-list li {
    display: flex;
    gap: var(--pinolada--space--s);
    align-items: flex-start;
    padding: var(--pinolada--space--xs) var(--pinolada--space--s);
    background: var(--pinolada--color--secondary);
    border-radius: var(--pinolada--radius--m);
    border-inline-start: 3px solid var(--pinolada--color--primary);
    font-size: var(--pinolada--font-size--base-small);
    color: var(--pinolada--color--contrast);
    line-height: 1.6;
}
.ebclub-panels-list {
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--xs);
}
.ebclub-panel-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--pinolada--space--s);
    align-items: start;
    padding: var(--pinolada--space--s);
    background: var(--pinolada--color--secondary);
    border-radius: var(--pinolada--radius--m);
}
.ebclub-panel-item__speaker {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    color: var(--pinolada--color--primary);
    white-space: nowrap;
    padding-block-start: 2px;
}
.ebclub-panel-item__topic {
    font-size: var(--pinolada--font-size--base-small);
    color: var(--pinolada--color--contrast);
    line-height: 1.6;
}
.ebclub-agenda-list {
    display: flex;
    flex-direction: column;
    gap: var(--pinolada--space--2xs);
}
.ebclub-agenda-item {
    display: grid;
    grid-template-columns: 52px 1fr;
    gap: var(--pinolada--space--s);
    align-items: start;
    padding: var(--pinolada--space--xs) var(--pinolada--space--s);
    background: var(--pinolada--color--secondary);
    border-radius: var(--pinolada--radius--m);
}
.ebclub-agenda-item--keynote {
    border-inline-start: 3px solid var(--pinolada--color--primary);
}
.ebclub-agenda-item--break {
    opacity: 0.6;
}
.ebclub-agenda-item__time {
    font-size: var(--pinolada--font-size--2xs);
    font-family: var(--pinolada--font-family--elements);
    font-weight: var(--pinolada--font-weight--elements-bold);
    color: var(--pinolada--color--primary);
    padding-block-start: 2px;
}
.ebclub-agenda-item__title {
    font-size: var(--pinolada--font-size--base-small);
    color: var(--pinolada--color--contrast);
    font-weight: var(--pinolada--font-weight--base-bold);
    line-height: 1.4;
}
.ebclub-agenda-item__speaker {
    font-size: var(--pinolada--font-size--3xs);
    color: var(--pinolada--color--contrast-dimmer);
    font-family: var(--pinolada--font-family--elements);
    margin-block-start: 2px;
}
.ebclub-home .article-content > * {
    max-inline-size: 100%;
}
.ebclub-media-strip-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--pinolada--space--s);
}
@media (min-width: 36em) {
    .ebclub-media-strip-grid {
        grid-template-columns: 2fr 1fr 1fr;
    }
}
.ebclub-media-strip-main {
    border-radius: var(--pinolada--radius--l);
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--pinolada--color--secondary);
    position: relative;
}
.ebclub-media-strip-thumb-col {
    display: flex;
    flex-direction: row;
    gap: var(--pinolada--space--s);
}
@media (min-width: 36em) {
    .ebclub-media-strip-thumb-col {
        flex-direction: column;
    }
}
/* EBClub — keep site header always visible, sub-nav sticks beneath it */
.ebclub-home .site-header,
.ebclub-home header[class*="site-header"],
.ebclub-home .gh-head {
  transform: none !important;
  position: sticky !important;
  top: 0 !important;
}
      

/* ---------- EBN template layout resets (ex-head code injection) ---------- */

/* ── EBN TEMPLATE LAYOUT RESETS ─────────────────────────────────────────── */

/* ebclub-home: full-bleed, no column constraint */
.ebclub-home .ebclub-home-content,
.ebclub-home .ebclub-home-content > * {
  max-inline-size: 100% !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}
.ebclub-home .kg-card {
  max-inline-size: 100% !important;
}

/* ebn-content-full: escapes narrow text column */
.ebn-content-full .ebn-content-full__main,
.ebn-content-full .ebn-content-full__main > * {
  max-inline-size: 100% !important;
  padding-inline: 0 !important;
}
.ebn-content-full .kg-card,
.ebn-content-full .kg-width-wide {
  max-inline-size: 100% !important;
}
.ebn-content-full .kg-width-full {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  max-inline-size: 100vw !important;
}

/* Sticky subnav: sits below Ghost fixed header */
.ebc-nav {
  top: var(--pinolada--size--header, 64px);
}

/* ---------- EBN in-article ad unit v3 (ex-head code injection) ---------- */

.ebn-ad {
  /* Per advertiser. Override on the unit with a style attribute:
     style="--ebn-ad-accent:#580AFF; --ebn-ad-btn-fg:#ffffff;" */
  --ebn-ad-accent: #FF6D2D;
  --ebn-ad-btn-fg: #ffffff;

  /* Inherits Pinolada's base font, whatever it is set to in Ghost's
     design settings. Falls back to the surrounding content. */
  font-family: var(--pinolada--font-family--base, inherit);
  margin: 2.6em 0;
}

/* The label stays uppercase, matching the native card and the rest of
   the site. Everything else, button included, is sentence case. */
.ebn-ad .ebn-ad__label {
  margin: 0 0 0.7rem;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: inherit;
  opacity: 0.6;
}

/* Hairlines above and below, matching the native card. The rgba line
   is the fallback; color-mix ties the rule to the theme's own text
   colour so it is correct in light and dark. */
.ebn-ad .ebn-ad__inner {
  padding: 1.4rem 0 1.6rem;
  border-top: 1px solid rgba(128, 128, 128, 0.28);
  border-bottom: 1px solid rgba(128, 128, 128, 0.28);
  border-top-color: color-mix(in srgb, currentColor 18%, transparent);
  border-bottom-color: color-mix(in srgb, currentColor 18%, transparent);
}

.ebn-ad .ebn-ad__body {
  display: flex;
  gap: 1.25rem;
  align-items: flex-start;
}

/* Spec: supplied at 256x256, displays at 64px. */
.ebn-ad .ebn-ad__image {
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  margin: 0.15rem 0 0;
  border-radius: 6px;
  object-fit: cover;
}

.ebn-ad .ebn-ad__content {
  flex: 1 1 auto;
  min-width: 0;
}

/* No font-size here on purpose: the copy inherits the article's body
   type, which is what makes the unit sit in the page like the native
   card rather than looking bolted on. */
.ebn-ad .ebn-ad__text {
  margin: 0 0 1.4rem;
  color: inherit;
}

.ebn-ad .ebn-ad__text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ebn-ad .ebn-ad__cta {
  display: inline-block;
  padding: 0.8rem 1.4rem;
  background: var(--ebn-ad-accent);
  color: var(--ebn-ad-btn-fg);
  border-radius: 6px;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
  transition: filter 0.15s ease;
}

.ebn-ad .ebn-ad__cta:hover {
  color: var(--ebn-ad-btn-fg);
  text-decoration: none;
  filter: brightness(0.93);
}

.ebn-ad .ebn-ad__cta:focus-visible {
  outline: 3px solid var(--ebn-ad-accent);
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .ebn-ad .ebn-ad__body { gap: 1rem; }
  .ebn-ad .ebn-ad__inner { padding: 1.2rem 0 1.4rem; }
}

/* ---------- Footer columns (ex-foot code injection) ---------- */

.nav-secondary__menu[data-ebnfc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.7rem 2rem;margin:0;padding:0;align-items:start}
.nav-secondary__menu[data-ebnfc] > li.ebnfc-col{display:block;margin:0;padding:0;list-style:none}
.nav-secondary__menu[data-ebnfc] > li.ebnfc-col:before{display:none}
.ebnfc-h{font-size:.68rem;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.5;margin:0 0 .7rem;padding:0}
ul.ebnfc-list{list-style:none;margin:0;padding:0;display:block}
ul.ebnfc-list > li{display:block;margin:0 0 .42rem;padding:0;list-style:none}
ul.ebnfc-list > li:before{display:none}
ul.ebnfc-list .nav-secondary__menu-link{display:inline-block;padding:0}
@media(max-width:520px){.nav-secondary__menu[data-ebnfc]{grid-template-columns:repeat(2,1fr);gap:1.4rem 1.2rem}}

/* ---------- Partner card dark-mode fix ----------
   Bug: in dark mode, .ebclub-partner-card h3 and the contact-link inside the
   card both resolve to near-black (around #040F0F) because the card's own
   --ebc-light-ink falls through to --pinolada--color--contrast-highlight,
   which does not flip for the dark theme. Result: unreadable dark text on
   a dark card. Fix: in [data-prefers-color-scheme="dark"] only, re-point
   the partner-name and the contact-link to --pinolada--color--contrast
   (which does flip), so the title and the "contact" link read white on
   the dark card. Light mode is untouched; card background and body copy
   are untouched. Only the partner card's h3, its h3 > a and the contact
   link change colour in dark mode. */
[data-prefers-color-scheme="dark"] .ebclub-partner-card h3,
[data-prefers-color-scheme="dark"] .ebclub-partner-card h3 a,
[data-prefers-color-scheme="dark"] .ebclub-partner-card__contact a {
    color: var(--pinolada--color--contrast);
}
