.zp-main {}

.zp-hero { position: relative; min-height: 420px; display:flex; align-items:center; }
.zp-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.zp-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(11,11,13,0.9) 0%, rgba(11,11,13,0.6) 50%, rgba(11,11,13,0.2) 100%); }
.zp-hero-inner { position:relative; z-index:2; }
.zp-hero-text { max-width:520px; display:flex; flex-direction:column; gap:var(--space-3); }
.zp-hero-sub { max-width:60ch; }

.zp-live-card { max-width:800px; margin-inline:auto; display:flex; gap:var(--space-4); }
.zp-live-media { flex:1; min-width:0; }
.zp-live-media iframe { width:100%; aspect-ratio:16/9; border:0; }
.zp-live-content { flex:1; display:flex; flex-direction:column; gap:var(--space-3); }
.zp-live-badge { color:#fff; background:var(--color-accent-crimson); padding:2px 8px; font-size:var(--text-sm); width:max-content; }

.zp-featured-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--space-4); }
.zp-featured-card { display:flex; flex-direction:column; gap:var(--space-3); }
.zp-featured-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }

.zp-text-block { max-width:700px; margin-inline:auto; }

.zp-schedule { display:flex; flex-direction:column; gap:var(--space-2); }
.zp-row { padding:var(--space-3); border-bottom:1px solid var(--color-border-muted); }
.zp-row:hover { background:var(--color-bg-secondary); }
.zp-note { font-size:var(--text-sm); color:var(--color-text-secondary); }

.zp-atmosphere { display:grid; grid-template-columns:45% 55%; gap:var(--space-5); align-items:center; }
.zp-atmo-img img { width:100%; }

.zp-links { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--space-3); }
.zp-links a { display:block; }

.zp-notice { max-width:700px; margin-inline:auto; border-left:2px solid var(--color-accent-gold); }

.zp-cta { text-align:center; max-width:500px; margin-inline:auto; display:flex; flex-direction:column; gap:var(--space-3); }

@media (max-width:900px){
  .zp-featured-grid { grid-template-columns:1fr; }
  .zp-atmosphere { grid-template-columns:1fr; }
  .zp-links { grid-template-columns:1fr; }
  .zp-live-card { flex-direction:column; }
}