/* ==========================================================================
   Pitch Deck — cover slide + stacked slide cards (Launchpad demo)
   ========================================================================== */
.epg-pitchdeck { --pd-card: var(--bg-body); --pd-line: color-mix(in srgb, var(--text-main) 11%, transparent); --pd-tint: color-mix(in srgb, var(--accent) 7%, var(--bg-body)); --pd-r: 18px; }
[data-theme="dark"] .epg-pitchdeck { --pd-card: color-mix(in srgb, var(--text-main) 4%, var(--bg-body)); --pd-line: color-mix(in srgb, var(--text-main) 13%, transparent); --pd-tint: color-mix(in srgb, var(--accent) 12%, var(--bg-body)); }

.epg-pitchdeck__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 30px 26px; padding-bottom: 8px; }

/* --- Slide card (with a second slide peeking out behind it) --- */
.epg-pitchdeck__card { position: relative; display: flex; flex-direction: column; grid-column: span 2; min-width: 0; padding: 12px; border: 1px solid var(--pd-line); border-radius: var(--pd-r); background: var(--pd-card); --pd-deck: 0 8px 0 -5px var(--pd-card), 0 8px 0 -4px var(--pd-line), 0 16px 0 -10px var(--pd-card), 0 16px 0 -9px var(--pd-line); box-shadow: var(--pd-deck); transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s; }
.epg-pitchdeck__card:hover { transform: translateY(-4px); box-shadow: var(--pd-deck), 0 30px 44px -22px color-mix(in srgb, var(--accent) 45%, transparent); }

.epg-pitchdeck__media { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 11px; background: var(--bg-section-alt); }
.epg-pitchdeck__media img, .epg-pitchdeck__media .epj-ph { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.epg-pitchdeck__card:hover .epg-pitchdeck__media img { transform: scale(1.04); }
.epg-pitchdeck__counter { position: absolute; top: 12px; left: 12px; padding: 6px 10px; border-radius: 8px; background: rgba(17, 17, 17, .72); color: #fff; font: 700 11px/1 'JetBrains Mono', ui-monospace, monospace; letter-spacing: .5px; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.epg-pitchdeck__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: rgba(255, 255, 255, .35); }
.epg-pitchdeck__progress::after { content: ''; position: absolute; inset: 0 auto 0 0; width: var(--p, 20%); background: var(--accent); }

.epg-pitchdeck__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 8px 8px; }
.epg-pitchdeck__body .epj-meta { margin-top: auto; padding-top: 4px; }
.epg-pitchdeck__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.epg-pitchdeck .epg-pitchdeck__chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px 6px 9px; border-radius: 999px; background: color-mix(in srgb, var(--accent) 13%, transparent); color: var(--accent-text, var(--accent)); font: 700 11.5px/1 var(--font-heading); letter-spacing: .1px; }
.epg-pitchdeck .epg-pitchdeck__chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent); }
.epg-pitchdeck .epg-pitchdeck__chip--ghost { padding-left: 11px; background: transparent; box-shadow: inset 0 0 0 1px var(--pd-line); color: var(--text-main); }
.epg-pitchdeck .epg-pitchdeck__chip--ghost::before { display: none; }
.epg-pitchdeck__title { margin: 0; font-family: var(--font-heading); font-size: 1.12rem; font-weight: 800; line-height: 1.3; letter-spacing: -.015em; }
.epg-pitchdeck__title a { color: var(--text-main); transition: color .2s; }
.epg-pitchdeck__title a:hover { color: var(--accent-text, var(--accent)); }
.epg-pitchdeck__excerpt { margin: 0; color: var(--text-muted); font-size: .92rem; line-height: 1.6; }

/* --- Cover slide --- */
.epg-pitchdeck__card--cover { grid-column: span 4; grid-row: span 2; padding: 14px; background: linear-gradient(180deg, var(--pd-card) 50%, var(--pd-tint)); }
.epg-pitchdeck__card--cover .epg-pitchdeck__media { flex: 1 1 auto; min-height: 300px; aspect-ratio: auto; border-radius: 12px; }
.epg-pitchdeck__card--cover .epg-pitchdeck__media img, .epg-pitchdeck__card--cover .epg-pitchdeck__media .epj-ph { position: absolute; inset: 0; }
.epg-pitchdeck__card--cover .epg-pitchdeck__counter { top: 16px; left: 16px; padding: 8px 12px; font-size: 12px; }
.epg-pitchdeck__card--cover .epg-pitchdeck__body { flex: 0 0 auto; gap: 14px; padding: 24px 16px 12px; }
.epg-pitchdeck__card--cover .epg-pitchdeck__title { font-size: clamp(1.55rem, 1rem + 1.4vw, 2.3rem); line-height: 1.12; letter-spacing: -.03em; }
.epg-pitchdeck__card--cover .epg-pitchdeck__excerpt { max-width: 60ch; font-size: 1rem; }
.epg-pitchdeck__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; width: 100%; margin-top: 4px; padding-top: 16px; border-top: 1px dashed var(--pd-line); }
.epg-pitchdeck__foot .epj-meta { margin: 0; padding: 0; }
.epg-pitchdeck__cta { display: inline-flex; align-items: center; gap: 10px; padding: 11px 14px 11px 18px; border-radius: 999px; background: var(--text-main); color: var(--bg-body) !important; font: 700 13px/1 var(--font-heading); transition: background .2s, gap .2s; }
.epg-pitchdeck__cta i { font-size: 16px; }
.epg-pitchdeck__cta:hover { gap: 14px; background: var(--accent-fill, var(--accent)); color: var(--on-accent-fill, #fff) !important; }

/* --- Odd counts: the last row always fills the width --- */
.epg-pitchdeck__card:nth-child(2):last-child { grid-row: span 2; }
.epg-pitchdeck__card:nth-child(3n+2):nth-child(n+5):last-child,
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):nth-last-child(2) { grid-column: span 3; }
.epg-pitchdeck__card:nth-child(3n+2):nth-child(n+5):last-child .epg-pitchdeck__media,
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):nth-last-child(2) .epg-pitchdeck__media { aspect-ratio: 16 / 8; }
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):last-child { grid-column: 1 / -1; flex-direction: row; align-items: stretch; gap: 10px; }
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):last-child .epg-pitchdeck__media { flex: 0 0 38%; }
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):last-child .epg-pitchdeck__body { justify-content: center; padding: 14px 18px; }
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):last-child .epg-pitchdeck__body .epj-meta { margin-top: 6px; }
.epg-pitchdeck__card:nth-child(3n+1):nth-child(n+4):last-child .epg-pitchdeck__title { font-size: 1.35rem; }
.epg-pitchdeck__grid.is-single .epg-pitchdeck__card--cover { grid-column: 1 / -1; }

/* --- Responsive --- */
@media (max-width: 992px) {
	.epg-pitchdeck__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card { grid-column: span 1; grid-row: auto; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card--cover { grid-column: 1 / -1; }
	.epg-pitchdeck__card--cover .epg-pitchdeck__media { min-height: 0; aspect-ratio: 16 / 8; }
	/* even number of small cards: the last one goes full width */
	.epg-pitchdeck__grid > .epg-pitchdeck__card:nth-child(even):last-child { grid-column: 1 / -1; flex-direction: row; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card:nth-child(even):last-child .epg-pitchdeck__media { flex: 0 0 42%; aspect-ratio: auto; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card:nth-child(odd):last-child:not(.epg-pitchdeck__card--cover) { flex-direction: column; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card:nth-child(odd):last-child:not(.epg-pitchdeck__card--cover) .epg-pitchdeck__media { flex: none; aspect-ratio: 16 / 10; }
}
@media (max-width: 600px) {
	.epg-pitchdeck__grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card { grid-column: 1 / -1; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card:last-child { flex-direction: column !important; }
	.epg-pitchdeck__grid > .epg-pitchdeck__card:last-child .epg-pitchdeck__media { flex: none !important; aspect-ratio: 16 / 10 !important; }
	.epg-pitchdeck__card--cover .epg-pitchdeck__media { aspect-ratio: 4 / 3 !important; }
	.epg-pitchdeck__card--cover .epg-pitchdeck__body { padding: 18px 6px 6px; }
	.epg-pitchdeck__card { padding: 10px; border-radius: 16px; }
}
