Meta Muse Spark 1.3 – Arts and Entertainment

via Meta · Generated

  • AIMAC Debt 10.24
  • Cost $0.07
  • Total Violations 31
  • HTML Size 53 KB
  • Em Dashes 40

Screenshot

View Meta Muse Spark 1.3 Arts and Entertainment page View Live Page

Accessibility Issues Found

1 Critical 30 Serious

  • aria-required-children critical 1 instance

    Certain ARIA roles must contain particular children

    Example HTML <div class="filter-tabs" role="tablist">
  • color-contrast serious 30 instances

    Elements must meet minimum color contrast ratio thresholds

    Example HTML <a href="#visit" class="cta-nav">Book Tickets</a>

Artifacts

View Generated HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PRISM House — Where Culture Takes Center Stage | Music, Film, Theatre & Visual Arts</title>
<meta name="description" content="PRISM House is New York's home for music, movies, visual arts and performing arts. Explore exhibitions, performances, screenings, emerging talent and award winners.">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,ital,wght@9..144,0,700;9..144,0,900;9..144,1,700&family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css">
<style>
:root{
--bg:#0B0B14; --bg2:#141422; --cream:#FFF8F0; --paper:#FFFFFF;
--coral:#FF3E6C; --gold:#E9B44C; --teal:#2EC4B6; --violet:#7B5CFF;
--ink:#14121F; --muted:#6B6B7E; --line:#E9E2D8; --line-d:#26263A;
--radius:18px; --shadow:0 20px 60px rgba(0,0,0,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--cream);color:var(--ink);line-height:1.7;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Fraunces',serif;line-height:1.05;letter-spacing:-.02em}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.container{max-width:1220px;margin:0 auto;padding:0 24px}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.95rem;padding:14px 26px;border-radius:100px;transition:.3s;border:2px solid transparent;cursor:pointer}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:#d92c55;transform:translateY(-2px);box-shadow:0 12px 30px rgba(255,62,108,.35)}
.btn-gold{background:var(--gold);color:#111}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(233,180,76,.4)}
.btn-outline{border-color:#fff;color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.btn-outline:hover{background:#fff;color:#111}
.btn-dark{background:#111;color:#fff}
.btn-dark:hover{background:var(--violet)}
.eyebrow{font-family:'Space Grotesk',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:700;color:var(--coral)}
.eyebrow.light{color:var(--gold)}
/* UTILITY BAR */
.topbar{background:#000;color:#fff;font-size:.82rem}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:9px 0;gap:16px;flex-wrap:wrap}
.topbar a{color:var(--gold);font-weight:600}
.topbar .dot{width:7px;height:7px;background:var(--teal);border-radius:50%;display:inline-block;margin-right:8px;box-shadow:0 0 10px var(--teal)}
/* HEADER */
header.site{position:sticky;top:0;z-index:100;background:rgba(11,11,20,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-d);transition:.3s}
header.site.scrolled{box-shadow:0 10px 30px rgba(0,0,0,.4)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:20px}
.brand{display:flex;align-items:center;gap:14px;color:#fff}
.brand img{width:52px;height:52px;border-radius:14px;object-fit:cover}
.brand-name{font-family:'Fraunces',serif;font-weight:900;font-size:1.6rem;line-height:1;letter-spacing:.02em}
.brand-name span{color:var(--coral)}
.brand-tag{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#B9B9CC;font-family:'Space Grotesk',sans-serif}
nav.main{display:flex;gap:6px;align-items:center}
nav.main a{color:#D8D8E6;font-weight:600;font-size:.92rem;padding:10px 16px;border-radius:100px;transition:.25s}
nav.main a:hover,nav.main a.active{background:#fff;color:#111}
nav.main a.cta-nav{background:var(--coral);color:#fff}
.hamburger{display:none;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
/* HERO */
.hero{background:radial-gradient(1000px 500px at 85% 10%,rgba(123,92,255,.35),transparent),radial-gradient(800px 500px at 10% 90%,rgba(255,62,108,.28),transparent),var(--bg);color:#fff;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:64px 0 0}
.hero-copy h1{font-size:clamp(2.8rem,5.2vw,4.6rem);font-weight:900}
.hero-copy h1 em{font-style:italic;color:var(--gold);font-weight:700}
.hero-copy p.lead{font-size:1.15rem;color:#CFCFE0;margin:22px 0;max-width:560px}
.hero-badges{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 28px}
.pill{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:100px}
.pill i{color:var(--gold);margin-right:6px}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero-meta{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap}
.hero-meta div strong{font-size:1.5rem;font-family:'Fraunces',serif;display:block}
.hero-meta div span{font-size:.85rem;color:#A9A9C0}
.hero-visual{position:relative}
.hero-visual .main-img{border-radius:22px 22px 0 0;object-fit:cover;width:100%;height:560px}
.hero-card{position:absolute;left:-30px;bottom:40px;background:#fff;color:#111;border-radius:16px;padding:16px;display:flex;gap:14px;align-items:center;box-shadow:var(--shadow);max-width:340px}
.hero-card img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.hero-card strong{font-size:.95rem;line-height:1.3;display:block}
.hero-card small{color:var(--muted)}
.live-dot{display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff;padding:8px 14px;border-radius:100px;font-size:.8rem;font-weight:700;position:absolute;top:18px;left:18px}
.live-dot b{width:9px;height:9px;background:#22E584;border-radius:50%;animation:pulse 1.5s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(34,229,132,.7)}70%{box-shadow:0 0 0 8px rgba(34,229,132,0)}100%{box-shadow:0 0 0 0 rgba(34,229,132,0)}}
.marquee{background:var(--gold);color:#111;font-weight:800;white-space:nowrap;overflow:hidden;padding:12px 0;border-top:3px solid #111;border-bottom:3px solid #111;font-family:'Space Grotesk',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.marquee-inner{display:inline-block;animation:scroll 22s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
/* STATS */
.stats{background:#111;color:#fff;padding:28px 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats-grid strong{font-family:'Fraunces',serif;font-size:2rem;color:var(--gold)}
.stats-grid span{font-size:.85rem;color:#B9B9CC;text-transform:uppercase;letter-spacing:.12em}
/* SECTIONS */
section{padding:84px 0}
.section-head{max-width:760px;margin-bottom:42px}
.section-head h2{font-size:clamp(2rem,3.5vw,3rem);margin:12px 0 16px}
.section-head p{color:#4A4A5E;font-size:1.05rem}
/* TABS + CARDS */
.filter-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}
.filter-tabs button{border:2px solid var(--ink);background:transparent;padding:10px 20px;border-radius:100px;font-weight:700;cursor:pointer;transition:.25s}
.filter-tabs button.active,.filter-tabs button:hover{background:var(--ink);color:#fff}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.event-card{background:#fff;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);transition:.3s;display:flex;flex-direction:column}
.event-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.event-card .img-wrap{position:relative;height:240px;overflow:hidden}
.event-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:.6s}
.event-card:hover .img-wrap img{transform:scale(1.06)}
.badge{position:absolute;top:14px;left:14px;background:#111;color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;border-radius:100px}
.badge.music{background:var(--violet)} .badge.theatre{background:var(--coral)} .badge.film{background:var(--teal);color:#111} .badge.art{background:var(--gold);color:#111}
.event-body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.event-body h3{font-size:1.35rem}
.event-meta{font-size:.88rem;color:var(--muted);display:flex;gap:14px;flex-wrap:wrap}
.event-meta i{color:var(--coral);margin-right:6px}
.event-body p{font-size:.95rem;color:#3E3E52}
.card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px dashed var(--line)}
.price{font-weight:800;font-size:1.1rem} .price small{font-weight:500;color:var(--muted);font-size:.8rem}
/* SPLIT */
.split{background:var(--bg2);color:#fff;border-radius:28px;overflow:hidden}
.split-grid{display:grid;grid-template-columns:1fr 1fr}
.split-img{position:relative;min-height:560px}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.split-content{padding:56px 52px}
.split-content h2{font-size:2.6rem;margin:14px 0 18px}
.split-content p{color:#C5C5D6;margin-bottom:16px}
.check-list{list-style:none;margin:22px 0;display:grid;gap:12px}
.check-list li{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:12px 16px;border-radius:12px;font-size:.95rem}
.check-list i{color:var(--teal);margin-right:10px}
/* EMERGING + AWARDS */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.talent-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.talent-card img{height:320px;width:100%;object-fit:cover}
.talent-body{padding:28px}
.talent-body h3{font-size:1.6rem;margin:10px 0}
.talent-body p{color:#45455A;font-size:.98rem;margin-bottom:12px}
.artist-row{display:flex;align-items:center;gap:12px;margin-top:16px}
.artist-row img{width:48px!important;height:48px!important;border-radius:50%}
.awards{background:#111;color:#fff;border-radius:var(--radius);padding:32px;position:relative;overflow:hidden}
.awards::after{content:"★";position:absolute;right:-20px;top:-30px;font-size:12rem;opacity:.07}
.award-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.award-item:last-child{border:0}
.award-year{background:var(--gold);color:#111;font-weight:900;border-radius:12px;min-width:72px;height:72px;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:1.1rem}
.award-item h4{font-size:1.1rem} .award-item p{font-size:.9rem;color:#B9B9CC}
/* PLANNER */
.planner{background:linear-gradient(135deg,#FF3E6C 0%,#7B5CFF 55%,#0B0B14 130%);border-radius:28px;padding:8px;color:#fff}
.planner-inner{background:rgba(11,11,20,.92);border-radius:22px;padding:48px}
.planner-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:26px 0}
.step-box{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:20px}
.step-box h4{font-family:'Space Grotesk',sans-serif;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.choice{display:flex;flex-wrap:wrap;gap:8px}
.choice button{background:transparent;border:1.5px solid rgba(255,255,255,.25);color:#fff;padding:9px 15px;border-radius:100px;font-weight:600;font-size:.88rem;cursor:pointer;transition:.2s}
.choice button.selected{background:#fff;color:#111;border-color:#fff}
#plannerResult{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.itin{background:#fff;color:#111;border-radius:16px;overflow:hidden}
.itin img{height:150px;width:100%;object-fit:cover}
.itin div{padding:18px} .itin small{font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);font-size:.72rem}
.itin h5{font-family:'Fraunces',serif;font-size:1.15rem;margin:6px 0}
.itin p{font-size:.88rem;color:#555}
/* GALLERY + NEWS LAYOUT */
.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-strip a{position:relative;border-radius:16px;overflow:hidden;height:280px;display:block}
.gallery-strip img{width:100%;height:100%;object-fit:cover;transition:.5s}
.gallery-strip a:hover img{transform:scale(1.08)}
.gallery-strip span{position:absolute;bottom:12px;left:12px;background:rgba(0,0,0,.75);color:#fff;font-size:.8rem;font-weight:700;padding:7px 12px;border-radius:100px}
.content-with-sidebar{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.news-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:24px;display:grid;grid-template-columns:280px 1fr}
.news-card img{width:100%;height:100%;min-height:220px;object-fit:cover}
.news-body{padding:26px}
.news-body h3{font-size:1.4rem;margin:8px 0 10px}
.news-body p{font-size:.95rem;color:#4A4A5E}
.meta-line{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.meta-line b{color:var(--coral)}
aside.sidebar{display:flex;flex-direction:column;gap:22px;position:sticky;top:110px}
.side-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.side-box.dark{background:#111;color:#fff;border-color:#111}
.side-box h3{font-size:1.25rem;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.side-box h3 i{color:var(--coral)}
.premiere{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.premiere:last-child{border:0}
.premiere img{width:64px;height:64px;border-radius:12px;object-fit:cover}
.premiere strong{font-size:.92rem;line-height:1.3;display:block}
.premiere small{color:var(--muted);font-size:.82rem}
.trending{list-style:none;counter-reset:trend}
.trending li{counter-increment:trend;display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem;font-weight:600}
.trending li::before{content:counter(trend,decimal-leading-zero);font-family:'Fraunces',serif;font-weight:900;color:var(--coral);font-size:1.2rem}
.trending li:last-child{border:0}
.venue-spot{border-radius:14px;overflow:hidden}
.venue-spot img{height:160px;width:100%;object-fit:cover}
/* TESTIMONIALS + SHOP */
.testimonials{background:#111;color:#fff}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testi{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px}
.testi .stars{color:var(--gold);margin-bottom:12px}
.testi p{color:#D2D2E2;font-style:italic}
.testi-head{display:flex;gap:12px;align-items:center;margin-top:18px}
.testi-head img{width:52px;height:52px;border-radius:50%}
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.shop-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;text-align:center;padding-bottom:20px}
.shop-card img{height:200px;width:100%;object-fit:cover}
.shop-card h4{margin:14px 0 4px;font-size:1.05rem}
.shop-card .s-price{font-weight:800;color:var(--coral)}
/* FAQ */
.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.faq-q{width:100%;background:none;border:0;padding:20px 22px;font-weight:700;font-size:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;text-align:left}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-a p{padding:0 22px 20px;color:#4A4A5E}
.faq-item.open .faq-a{max-height:300px}
.faq-item.open .faq-q i{transform:rotate(45deg)}
.faq-q i{transition:.3s;background:#111;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-style:normal}
/* COUNTDOWN + NEWSLETTER */
.countdown-band{background:var(--violet);color:#fff;border-radius:22px;padding:36px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.count{display:flex;gap:12px}
.count div{background:rgba(0,0,0,.3);border-radius:12px;padding:12px 16px;text-align:center;min-width:78px}
.count strong{font-size:1.6rem;font-family:'Fraunces',serif;display:block}
.newsletter{background:#fff;border:2px dashed var(--ink);border-radius:18px;padding:28px;text-align:center}
.newsletter input{width:100%;padding:14px 18px;border-radius:100px;border:2px solid var(--line);margin:14px 0;font-size:1rem}
.newsletter input:focus{outline:none;border-color:var(--coral)}
/* FOOTER */
footer{background:#08080F;color:#CFCFE0;padding:64px 0 0;margin-top:80px}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px}
.foot-grid h4{color:#fff;font-family:'Space Grotesk',sans-serif;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px}
.foot-grid ul{list-style:none;display:grid;gap:10px;font-size:.94rem}
.foot-grid ul a:hover{color:var(--gold)}
.socials{display:flex;gap:10px;margin-top:18px}
.socials a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:.25s}
.socials a:hover{background:var(--coral);color:#fff;transform:translateY(-3px)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem}
#toTop{position:fixed;bottom:24px;right:24px;width:52px;height:52px;border-radius:50%;background:var(--coral);color:#fff;border:0;font-size:1.2rem;cursor:pointer;display:none;box-shadow:0 10px 30px rgba(0,0,0,.3);z-index:99}
@media(max-width:1020px){
.hero-grid,.split-grid,.two-col,.content-with-sidebar{grid-template-columns:1fr}
.events-grid,.testi-grid,.shop-grid{grid-template-columns:1fr 1fr}
.gallery-strip{grid-template-columns:1fr 1fr}
.planner-steps,#plannerResult{grid-template-columns:1fr}
.foot-grid{grid-template-columns:1fr 1fr}
nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:#111;flex-direction:column;padding:20px;gap:4px;border-bottom:3px solid var(--coral)}
nav.main.open{display:flex}
.hamburger{display:block}
.hero-visual .main-img{height:420px}
aside.sidebar{position:static}
.stats-grid{grid-template-columns:1fr 1fr}
.news-card{grid-template-columns:1fr}
}
@media(max-width:600px){.events-grid,.testi-grid,.shop-grid,.gallery-strip{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}.planner-inner{padding:26px}.split-content{padding:32px 24px}}
</style>
</head>
<body>

<div class="topbar">
<div class="container topbar-inner">
<div><span class="dot"></span> Box Office Open Daily 10am–8pm • Tonight: <a href="#events">Neon Nocturne Live + 42 more shows</a></div>
<div>Members get 20% off • <a href="#membership">Join Prism Circle</a> &nbsp;|&nbsp; <a href="#visit">Getting Here</a></div>
</div>
</div>

<header class="site" id="siteHeader">
<div class="container nav-wrap">
<a href="#" class="brand">
<img src="https://placehold.co/120x120/FF3E6C/ffffff?text=P&font=poppins" alt="PRISM House logo">
<div>
<div class="brand-name">PRISM<span>HOUSE</span></div>
<div class="brand-tag">Where Culture Takes Center Stage</div>
</div>
</a>
<nav class="main" id="mainNav" aria-label="Primary navigation">
<a href="#" class="active">Home</a>
<a href="#events">Events</a>
<a href="#exhibitions">Exhibitions</a>
<a href="#artists">Artists</a>
<a href="#news">News</a>
<a href="#shop">Shop</a>
<a href="#visit" class="cta-nav">Book Tickets</a>
</nav>
<button class="hamburger" id="menuBtn" aria-label="Toggle menu"><i class="fa-solid fa-bars"></i></button>
</div>
</header>

<div class="hero">
<div class="container hero-grid">
<div class="hero-copy">
<div class="eyebrow light">★ Music • Film • Theatre • Visual Arts</div>
<h1>Every story deserves a <em>standing ovation.</em></h1>
<p class="lead">Welcome to PRISM House — New York’s 68,000 sq ft playground for music, movies, visual arts and performing arts. Three stages, two cinemas, one immersive gallery and 300+ artists in residence. Your season starts here.</p>
<div class="hero-badges">
<span class="pill"><i class="fa-solid fa-ticket"></i> 120+ Shows / Month</span>
<span class="pill"><i class="fa-solid fa-star"></i> 14 Tony & Grammy Winners</span>
<span class="pill"><i class="fa-solid fa-location-dot"></i> Mercer Arts District</span>
</div>
<div class="hero-ctas">
<a href="#events" class="btn btn-coral">Book Now <i class="fa-solid fa-arrow-right"></i></a>
<a href="#planner" class="btn btn-outline">Discover Your Night <i class="fa-solid fa-wand-magic-sparkles"></i></a>
</div>
<div class="hero-meta">
<div><strong>248K</strong><span>Guests per year</span></div>
<div><strong>4.9 ★</strong><span>12,400 reviews</span></div>
<div><strong>Since 1998</strong><span>Independent & artist-led</span></div>
</div>
</div>
<div class="hero-visual">
<span class="live-dot"><b></b> LIVE TONIGHT • SOLD OUT IN 2 HRS</span>
<img class="main-img" src="https://picsum.photos/700/560?random=11" alt="Live performance at PRISM House main stage">
<div class="hero-card">
<img src="https://picsum.photos/200/200?random=21" alt="Neon Nocturne band">
<div><small>OCT 10–12 • MAIN STAGE</small><strong>Neon Nocturne: Immersive Synth-Orchestra</strong><small>★★★★★ “A fever dream in the best way” — CultureBeat</small></div>
</div>
</div>
</div>
<div style="height:36px"></div>
</div>

<div class="marquee"><div class="marquee-inner"> &nbsp; NOW ON SALE: NEON NOCTURNE ✦ PRISM FILM FEST OCT 18–27 ✦ BEHIND THE SCENES: THE MAKING OF GLASSHOUSE ✦ EMERGING TALENT LAB SHOWCASE ✦ MEMBERS PRE-SALE OPENS FRIDAY ✦ NOW ON SALE: NEON NOCTURNE ✦ PRISM FILM FEST OCT 18–27 ✦ BEHIND THE SCENES: THE MAKING OF GLASSHOUSE ✦ EMERGING TALENT LAB SHOWCASE ✦ MEMBERS PRE-SALE OPENS FRIDAY ✦</div></div>

<div class="stats">
<div class="container stats-grid">
<div><strong>3 Stages</strong><br><span>Main • Black Box • Rooftop</span></div>
<div><strong>2 Cinemas</strong><br><span>4K Laser + 70mm Archive</span></div>
<div><strong>9 Studios</strong><br><span>Rehearsal & Residency</span></div>
<div><strong>100% Indie</strong><br><span>Artist-first curation</span></div>
</div>
</div>

<main>
<!-- EVENTS -->
<section id="events" style="padding-bottom:20px">
<div class="container">
<div class="section-head">
<div class="eyebrow">● What's On — Fall Season 2026</div>
<h2>One house. Four worlds of wonder.</h2>
<p>Our curatorial team programs across disciplines so a jazz night can inspire a film premiere, and a gallery opening can become a performance. Every month we host over 120 events — from intimate 80-seat previews to 1,200-seat gala performances. Filter by your mood and find the night that finds you.</p>
</div>
<div class="filter-tabs" role="tablist">
<button class="active" data-filter="all">All Events</button>
<button data-filter="music">Live Music</button>
<button data-filter="theatre">Theatre & Dance</button>
<button data-filter="film">Film & Screen</button>
<button data-filter="art">Visual Arts</button>
</div>
<div class="events-grid" id="eventsGrid">
<article class="event-card" data-cat="music">
<div class="img-wrap"><span class="badge music">Live Music</span><img src="https://picsum.photos/600/400?random=31" alt="Neon Nocturne concert"></div>
<div class="event-body"><div class="event-meta"><span><i class="fa-regular fa-calendar"></i> Oct 10–12</span><span><i class="fa-solid fa-location-dot"></i> Main Stage</span></div><h3>Neon Nocturne: Synth-Orchestra</h3><p>A 28-piece collaboration between electronic producer Yuki Amara and the Prism Chamber Collective. Analog synths, strings, and 360° projection mapping.</p><div class="card-foot"><div class="price">$45 <small>from</small></div><a href="#visit" class="btn btn-dark" style="padding:10px 20px">Book Now</a></div></div>
</article>
<article class="event-card" data-cat="theatre">
<div class="img-wrap"><span class="badge theatre">Theatre</span><img src="https://picsum.photos/600/400?random=32" alt="Glasshouse play"></div>
<div class="event-body"><div class="event-meta"><span><i class="fa-regular fa-calendar"></i> Oct 15–Nov 3</span><span><i class="fa-solid fa-location-dot"></i> Black Box</span></div><h3>Glasshouse — World Premiere Play</h3><p>Award-winning playwright Dena Okafor’s family saga about memory, migration and a house made of glass. Directed by Marcus Webb with an all-star ensemble performance.</p><div class="card-foot"><div class="price">$38 <small>from</small></div><a href="#visit" class="btn btn-dark" style="padding:10px 20px">Book Now</a></div></div>
</article>
<article class="event-card" data-cat="film">
<div class="img-wrap"><span class="badge film">Film Fest</span><img src="https://picsum.photos/600/400?random=33" alt="Film festival screening"></div>
<div class="event-body"><div class="event-meta"><span><i class="fa-regular fa-calendar"></i> Oct 18–27</span><span><i class="fa-solid fa-location-dot"></i> Cinema 1 & 2</span></div><h3>Prism Film Fest: 42 Premieres</h3><p>Ten days of independent cinema, director Q&As, late-night cult curation and our famous rooftop screenings. Opening night: <em>Salt & Static</em> with live score.</p><div class="card-foot"><div class="price">$16 <small>from</small></div><a href="#visit" class="btn btn-dark" style="padding:10px 20px">Book Now</a></div></div>
</article>
<article class="event-card" data-cat="art">
<div class="img-wrap"><span class="badge art">Exhibition</span><img src="https://picsum.photos/600/400?random=34" alt="Chromatic Drift exhibition"></div>
<div class="event-body"><div class="event-meta"><span><i class="fa-regular fa-calendar"></i> Thru Dec 15</span><span><i class="fa-solid fa-location-dot"></i> Light Gallery</span></div><h3>Chromatic Drift: Immersive Light</h3><p>Step inside a living painting. Artist Lía Fernández transforms 8,000 sq ft into responsive color fields, sound baths and mirrored horizons. Timed entry, family hours Sundays.</p><div class="card-foot"><div class="price">$24 <small>from</small></div><a href="#visit" class="btn btn-dark" style="padding:10px 20px">Book Now</a></div></div>
</article>
<article class="event-card" data-cat="music">
<div class="img-wrap"><span class="badge music">Jazz</span><img src="https://picsum.photos/600/400?random=35" alt="Late night jazz"></div>
<div class="event-body"><div class="event-meta"><span><i class="fa-regular fa-calendar"></i> Every Thu</span><span><i class="fa-solid fa-location-dot"></i> Rooftop</span></div><h3>Rooftop Jazz: After Dark Sessions</h3><p>City skyline, craft cocktails and boundary-pushing curation — from Afro-jazz to modal hip-hop. This month features The Delia Brooks Trio + surprise guests.</p><div class="card-foot"><div class="price">$22 <small>from</small></div><a href="#visit" class="btn btn-dark" style="padding:10px 20px">Book Now</a></div></div>
</article>
<article class="event-card" data-cat="theatre">
<div class="img-wrap"><span class="badge theatre">Dance</span><img src="https://picsum.photos/600/400?random=36" alt="Contemporary dance"></div>
<div class="event-body"><div class="event-meta"><span><i class="fa-regular fa-calendar"></i> Nov 8–10</span><span><i class="fa-solid fa-location-dot"></i> Main Stage</span></div><h3>BODY/ARCHIVE by Kinesis Co.</h3><p>A visceral dance collaboration exploring how bodies remember. Seven dancers, live percussion, and set design from recycled stage materials. Post-show talk included.</p><div class="card-foot"><div class="price">$32 <small>from</small></div><a href="#visit" class="btn btn-dark" style="padding:10px 20px">Book Now</a></div></div>
</article>
</div>
</div>
</section>

<!-- BEHIND THE SCENES -->
<section id="exhibitions">
<div class="container">
<div class="split">
<div class="split-grid">
<div class="split-img"><img src="https://picsum.photos/800/800?random=41" alt="Behind the scenes rehearsal"></div>
<div class="split-content">
<div class="eyebrow light">Behind the Scenes — Curation in Action</div>
<h2>How a season is born: chaos, craft & collaboration.</h2>
<p>Every Prism season begins 14 months out with an open call. Last year we reviewed 2,300 proposals from musicians, filmmakers, choreographers and visual artists across 38 countries. Our curation council — made up of artists, educators and neighborhood residents — debates, workshops and ultimately selects 180 projects that speak to this moment.</p>
<p>Performance is never solitary here. A theatre director shares a studio wall with a muralist. A film composer jams with a jazz trio in the canteen. That cross-pollination is intentional: we program residencies where collaboration is the curriculum, and the audience gets to witness work in progress through open rehearsals and pay-what-you-wish labs every first Friday.</p>
<ul class="check-list">
<li><i class="fa-solid fa-check"></i> <strong>Open rehearsals:</strong> Watch Glasshouse tech week live, Oct 12 — free with RSVP.</li>
<li><i class="fa-solid fa-check"></i> <strong>Artist labs:</strong> 9 studios, mentorship + stipends for 40 residents yearly.</li>
<li><i class="fa-solid fa-check"></i> <strong>Sustainable stagecraft:</strong> 78% of sets reused or recycled in 2025.</li>
</ul>
<div style="display:flex;gap:12px;flex-wrap:wrap;margin-top:10px">
<a href="#artists" class="btn btn-gold">Discover Artists</a>
<a href="#gallery" class="btn btn-outline">View Gallery</a>
</div>
</div>
</div>
</div>
</div>
</section>

<!-- EMERGING + AWARDS -->
<section id="artists" style="padding-top:0">
<div class="container">
<div class="section-head">
<div class="eyebrow">● Talent & Triumph</div>
<h2>Emerging voices. Award-winning stages.</h2>
<p>We believe the future of culture is already rehearsing downstairs. Our Emerging Talent Lab funds, mentors and premieres early-career artists — while our main stages celebrate the award winners who once started there.</p>
</div>
<div class="two-col">
<div class="talent-card">
<img src="https://picsum.photos/800/400?random=51" alt="Emerging talent showcase">
<div class="talent-body">
<div class="eyebrow">Emerging Talent Lab • Class of 2026</div>
<h3>Meet the 12 artists rewriting the rules</h3>
<p>This year’s cohort is our boldest yet: a 19-year-old taiko drummer sampling subway sounds, a Bronx-born playwright staging bodega operas, a non-binary animator projecting queer folklore onto brutalist facades, and a string quartet that busks in trap beats.</p>
<p>Each artist receives a $8,000 creation grant, 120 hours of studio time, dramaturgy and marketing support, and a fully-produced showcase in our Black Box this November. Alumni have gone on to Sundance, Lincoln Center and the Venice Biennale — but they all started with a 10-minute showing and a brave audience. That could be you in the front row.</p>
<div class="artist-row">
<img src="https://i.pravatar.cc/100?u=talent1" alt="Lab director"><div><strong>Maya Chen, Lab Director</strong><br><small style="color:var(--muted)">“We don’t look for polish. We look for pulse.”</small></div>
</div>
<div style="margin-top:18px;display:flex;gap:10px;flex-wrap:wrap"><a href="#planner" class="btn btn-coral">Discover Showcase</a><a href="#news" class="btn btn-dark">Read Their Stories</a></div>
</div>
</div>
<div class="awards">
<div class="eyebrow light">★ Prism Award Winners Wall</div>
<h2 style="margin:12px 0 8px">Celebrated here. Awarded everywhere.</h2>
<p style="color:#B9B9CC">Prism premieres have earned 34 major awards in five years. When you book early, you see history first.</p>
<div class="award-item"><div class="award-year">2026</div><div><h4>Tony® Best Revival — “The Orchard”</h4><p>Premiered in our Black Box 2024 • 112 sold-out performances • Directed by Priya Nair</p></div></div>
<div class="award-item"><div class="award-year">2025</div><div><h4>Sundance Grand Jury — “Salt & Static”</h4><p>Developed in Prism Film Residency • Opens our Film Fest Oct 18 with live orchestral score</p></div></div>
<div class="award-item"><div class="award-year">2025</div><div><h4>Grammy® Best Global Album — Amara Collective</h4><p>Recorded live on our Rooftop • Returns Oct 10 for Neon Nocturne expansion</p></div></div>
<div class="award-item"><div class="award-year">2024</div><div><h4>Obie for Ensemble Performance — Kinesis Co.</h4><p>Back Nov 8 with BODY/ARCHIVE • Post-show curation talk with choreographer June Park</p></div></div>
<a href="#events" class="btn btn-gold" style="margin-top:18px;width:100%;justify-content:center">View All Winning Shows</a>
</div>
</div>
</div>
</section>

<!-- INTERACTIVE PLANNER -->
<section id="planner" style="padding-top:0">
<div class="container">
<div class="planner">
<div class="planner-inner">
<div class="eyebrow light">✦ Interactive • Show Planner</div>
<h2 style="font-size:clamp(1.9rem,3.2vw,2.8rem);margin:12px 0">Craft your perfect night out in 20 seconds</h2>
<p style="color:#C5C5D6;max-width:720px">Tell us your vibe, your crew and your night. Our planner curates a full itinerary — pre-show bite, main performance and late-night ritual — with real availability and member pricing. No endless scrolling, just a night you’ll talk about for months.</p>
<div class="planner-steps">
<div class="step-box"><h4>1 — Pick Your Vibe</h4><div class="choice" id="vibeChoice"><button data-v="music" class="selected">🎶 Live Music</button><button data-v="theatre">🎭 Theatre & Dance</button><button data-v="film">🎬 Film Night</button><button data-v="art">🎨 Art Immersive</button></div></div>
<div class="step-box"><h4>2 — When Are You Free?</h4><div class="choice" id="dayChoice"><button data-d="Friday" class="selected">Fri Evening</button><button data-d="Saturday">Saturday</button><button data-d="Sunday">Sunday Matinee</button></div></div>
<div class="step-box"><h4>3 — Who’s Coming?</h4><div class="choice" id="crewChoice"><button data-c="Date Night for 2" class="selected">Date Night (2)</button><button data-c="Friends (4)">Friends (4)</button><button data-c="Family (5)">Family (5)</button></div><div style="margin-top:16px"><button class="btn btn-coral" id="buildBtn" style="width:100%;justify-content:center">Build My Night <i class="fa-solid fa-sparkles"></i></button></div></div>
</div>
<div id="plannerResult"></div>
<p style="font-size:.85rem;color:#8E8EA6;margin-top:16px">* Live inventory synced 2 min ago. Member discounts applied at checkout. All venues wheelchair accessible with ASL on request.</p>
</div>
</div>
</div>
</section>

<!-- GALLERY -->
<section id="gallery" style="padding-top:0">
<div class="container">
<div style="display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap;margin-bottom:28px">
<div class="section-head" style="margin:0"><div class="eyebrow">● Visual Diaries</div><h2>Inside the house of light & sound</h2></div>
<a href="#visit" class="btn btn-dark">View Gallery <i class="fa-solid fa-images"></i></a>
</div>
<div class="gallery-strip">
<a href="#gallery"><img src="https://picsum.photos/500/500?random=61" alt="Gallery 1"><span>Main Stage • 1,200 seats</span></a>
<a href="#gallery"><img src="https://picsum.photos/500/500?random=62" alt="Gallery 2"><span>Light Gallery Immersive</span></a>
<a href="#gallery"><img src="https://picsum.photos/500/500?random=63" alt="Gallery 3"><span>Rooftop Cinema Nights</span></a>
<a href="#gallery"><img src="https://picsum.photos/500/500?random=64" alt="Gallery 4"><span>Backstage • Costume Atelier</span></a>
</div>
</div>
</section>

<!-- NEWS + SIDEBAR -->
<section id="news" style="padding-top:0">
<div class="container">
<div class="section-head"><div class="eyebrow">● News, Reviews & Resources</div><h2>The culture wire — what’s buzzing</h2><p>Industry news, artist interviews, ticket guides and honest reviews from our in-house critics. Written for fans, makers and the endlessly curious.</p></div>
<div class="content-with-sidebar">
<div>
<article class="news-card"><img src="https://picsum.photos/500/400?random=71" alt="Film fest news"><div class="news-body"><div class="meta-line"><b>Film</b> • Oct 2, 2026 • 6 min read</div><h3>Prism Film Fest unveils 2026 lineup: 42 films, 18 countries, one wild opener</h3><p>Festival director Jonas Reyes promises “the most adventurous curation yet” — from a restored 70mm samurai epic to a TikTok-shot horror that sold at midnight in Cannes. We break down the 7 must-see premieres, how to snag rush tickets, and why the closing-night rooftop party will sell out by Friday. Plus: full collaboration lineup between composers and directors for live-scored screenings.</p><a href="#news" style="font-weight:800;color:var(--coral)">Read Full Story →</a></div></article>
<article class="news-card"><img src="https://picsum.photos/500/400?random=72" alt="Backstage interview"><div class="news-body"><div class="meta-line"><b>Interview</b> • Sep 28, 2026 • 9 min read</div><h3>“Theatre should feel like weather”: Dena Okafor on Glasshouse</h3><p>The Pulitzer finalist talks grief, glass architecture and casting her own mother in flashback tapes. “I wanted a performance where the set breathes,” she says. Our critic sat in on final dress rehearsal to trace how sound designer Theo Lindt built a house that creaks, sighs and finally shatters — all live, eight times a week.</p><a href="#news" style="font-weight:800;color:var(--coral)">Read Full Story →</a></div></article>
<article class="news-card"><img src="https://picsum.photos/500/400?random=73" alt="Music industry"><div class="news-body"><div class="meta-line"><b>Music Industry</b> • Sep 20, 2026 • 5 min read</div><h3>How indie venues survive: our transparent box-office report</h3><p>Ticket fees, artist guarantees, late-night bar revenue — we open the books. Learn how your $45 ticket splits (68% goes directly to artists and crew), why dynamic pricing will never come to Prism, and how membership curation keeps emerging talent on stage even on Tuesdays.</p><a href="#news" style="font-weight:800;color:var(--coral)">Read Full Story →</a></div></article>
<div class="countdown-band" id="visit">
<div><h3 style="font-size:1.6rem">Gala Premiere: Glasshouse Opening Night</h3><p style="opacity:.9">Oct 15 • Red carpet, live orchestra, after-party on the rooftop. Only 80 gala seats left.</p></div>
<div class="count" id="countdown"><div><strong id="cd-d">11</strong><span>Days</span></div><div><strong id="cd-h">07</strong><span>Hours</span></div><div><strong id="cd-m">42</strong><span>Mins</span></div><div><strong id="cd-s">18</strong><span>Secs</span></div></div>
<a href="#visit" class="btn btn-gold">Book Now — $85</a>
</div>
</div>
<aside class="sidebar">
<div class="side-box dark"><h3><i class="fa-solid fa-fire"></i> Trending Now</h3><ul class="trending" style="color:#fff"><li>Neon Nocturne adds 2nd late show after instant sell-out</li><li>Glasshouse rush lottery: $15 tickets daily at 10am</li><li>Chromatic Drift extends to midnight Fridays</li><li>Rooftop Jazz x Vinyl Fair this Sunday</li></ul></div>
<div class="side-box"><h3><i class="fa-solid fa-clapperboard"></i> Upcoming Premieres</h3>
<div class="premiere"><img src="https://picsum.photos/200/200?random=81" alt=""><div><strong>Salt & Static (Live Score Premiere)</strong><small>Oct 18 • Cinema 1 • From $22</small></div></div>
<div class="premiere"><img src="https://picsum.photos/200/200?random=82" alt=""><div><strong>Bodega Opera — Lab Showcase</strong><small>Nov 14 • Black Box • $18</small></div></div>
<div class="premiere"><img src="https://picsum.photos/200/200?random=83" alt=""><div><strong>Winter Light Market + Choir</strong><small>Dec 6 • Courtyard • Free</small></div></div>
</div>
<div class="side-box" style="background:#FFF2D6;border-color:#E9B44C"><h3><i class="fa-solid fa-location-dot"></i> Venue Spotlight: The Rooftop</h3><div class="venue-spot"><img src="https://picsum.photos/600/300?random=84" alt="Rooftop venue"></div><p style="font-size:.9rem;margin-top:12px">300 seats under the skyline, heated domes in winter, silent-disco headphones after 11pm. Best sunset in the district — doors open 90 min before showtime.</p></div>
<div class="newsletter"><h3 style="font-family:'Fraunces',serif;font-size:1.4rem">Never miss an on-sale</h3><p style="font-size:.9rem;color:var(--muted)">Pre-sales, artist pre-views & $15 rush alerts. 28k culture lovers already in.</p><input type="email" id="nlEmail" placeholder="you@email.com"><button class="btn btn-coral" id="nlBtn" style="width:100%;justify-content:center">Get Access</button><p id="nlMsg" style="font-size:.85rem;margin-top:10px"></p></div>
</aside>
</div>
</div>
</section>

<!-- TESTIMONIALS -->
<section class="testimonials">
<div class="container">
<div class="section-head"><div class="eyebrow light">● Loved by Audiences & Artists</div><h2 style="color:#fff">Standing ovations, in their words</h2></div>
<div class="testi-grid">
<div class="testi"><div class="stars">★★★★★</div><p>“I brought my dad to Glasshouse preview and we both cried. The curation here trusts the audience to feel deeply. No other venue programs like this.”</p><div class="testi-head"><img src="https://i.pravatar.cc/100?u=prism1" alt=""><div><strong>Alina Rodriguez</strong><br><small style="color:#9A9AB0">Member since 2021 • 47 shows</small></div></div></div>
<div class="testi"><div class="stars">★★★★★</div><p>“As a touring musician, Prism is sacred. Sound crew is flawless, the collaboration jam after our set turned into a whole new EP. Best performance of our tour.”</p><div class="testi-head"><img src="https://i.pravatar.cc/100?u=prism2" alt=""><div><strong>Yuki Amara</strong><br><small style="color:#9A9AB0">Neon Nocturne • Headliner</small></div></div></div>
<div class="testi"><div class="stars">★★★★★</div><p>“The Emerging Lab changed my life. From open mic to Sundance in 18 months. They gave me studio, money, and — rarest of all — belief.”</p><div class="testi-head"><img src="https://i.pravatar.cc/100?u=prism3" alt=""><div><strong>Jordan Ellis</strong><br><small style="color:#9A9AB0">Filmmaker • Lab Alum 2023</small></div></div></div>
</div>
</div>
</section>

<!-- SHOP + FAQ + MEMBERSHIP -->
<section id="shop">
<div class="container">
<div class="section-head"><div class="eyebrow">● The Prism Shop</div><h2>Take the show home with you</h2><p>Limited vinyl, artist prints, backstage merch and gift cards. Every purchase funds free youth matinees — $312,000 raised last year.</p></div>
<div class="shop-grid">
<div class="shop-card"><img src="https://placehold.co/500x400/141422/FF3E6C?text=VINYL+%2B+POSTER&font=poppins" alt="Vinyl"><h4>Neon Nocturne Live Vinyl</h4><small style="color:var(--muted)">180g + foil poster</small><div class="s-price">$38</div><button class="btn btn-dark" style="padding:9px 20px;margin-top:10px">Add to Cart</button></div>
<div class="shop-card"><img src="https://placehold.co/500x400/E9B44C/111111?text=GLASSHOUSE+SCRIPT&font=poppins" alt="Script"><h4>Glasshouse Signed Script</h4><small style="color:var(--muted)">First edition, numbered</small><div class="s-price">$28</div><button class="btn btn-dark" style="padding:9px 20px;margin-top:10px">Add to Cart</button></div>
<div class="shop-card"><img src="https://placehold.co/500x400/2EC4B6/111111?text=CHROMATIC+PRINT&font=poppins" alt="Print"><h4>Chromatic Drift Art Print</h4><small style="color:var(--muted)">A2 giclée by Lía Fernández</small><div class="s-price">$65</div><button class="btn btn-dark" style="padding:9px 20px;margin-top:10px">Add to Cart</button></div>
<div class="shop-card"><img src="https://placehold.co/500x400/7B5CFF/ffffff?text=GIFT+CARD+%24100&font=poppins" alt="Gift card"><h4>Prism Gift Card $100</h4><small style="color:var(--muted)">No expiry, all shows</small><div class="s-price">$100</div><button class="btn btn-dark" style="padding:9px 20px;margin-top:10px">Add to Cart</button></div>
</div>

<div style="display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:64px" class="two-col">
<div>
<h2 style="margin-bottom:16px">Good questions, honest answers</h2>
<div class="faq-item open"><button class="faq-q">How do rush & lottery tickets work? <i>+</i></button><div class="faq-a"><p>Every sold-out performance releases 20 rush seats at 10am day-of via our app. Glasshouse also runs a $15 lottery — enter by 8am, winners notified by 10am. No bots, no resale markups; ID must match name.</p></div></div>
<div class="faq-item"><button class="faq-q">Is Prism accessible for all mobilities? <i>+</i></button><div class="faq-a"><p>Yes. All stages, cinemas and galleries are step-free with companion seating, hearing loops, captioned screenings every Tuesday, and ASL-interpreted performances twice per run. Tell us your needs at checkout and our access team will confirm within 24 hours.</p></div></div>
<div class="faq-item"><button class="faq-q">Can I refund or exchange tickets? <i>+</i></button><div class="faq-a"><p>Exchanges are free up to 48 hours before curtain — swap dates or gift to a friend in two clicks. Refunds to original payment are available up to 7 days before. Within 48 hours, list your ticket on our face-value fan exchange.</p></div></div>
<div class="faq-item"><button class="faq-q">How do artists apply for residencies? <i>+</i></button><div class="faq-a"><p>Our open call runs Jan 15–Mar 1 each year. Submit a 3-minute video, work sample and community idea. 40 residents receive stipends, studio curation support and a guaranteed showcase. Info sessions monthly in the Light Gallery.</p></div></div>
</div>
<div id="membership" style="background:#111;color:#fff;border-radius:22px;padding:36px">
<div class="eyebrow light">Prism Circle Membership</div>
<h2 style="margin:12px 0">See more. Pay less. Belong.</h2>
<p style="color:#B9B9CC">From $12/month: 20% off all tickets, pre-sale 48 hours early, free coat check + rooftop hour, and invites to open rehearsals. 9,200 members strong.</p>
<ul class="check-list"><li><i class="fa-solid fa-check"></i> <strong>Spotlight — $12/mo:</strong> discounts + pre-sales</li><li><i class="fa-solid fa-check"></i> <strong>Center Stage — $29/mo:</strong> + 2 free tickets yearly + guest passes</li><li><i class="fa-solid fa-check"></i> <strong>Producer — $79/mo:</strong> + gala invites + name in playbill</li></ul>
<a href="#visit" class="btn btn-coral" style="width:100%;justify-content:center;margin-top:10px">Join the Circle</a>
<p style="font-size:.82rem;color:#8E8EA6;margin-top:12px;text-align:center">Cancel anytime • 30-day money-back • Supports youth matinees</p>
</div>
</div>
</div>
</section>
</main>

<footer>
<div class="container foot-grid">
<div>
<div style="display:flex;gap:12px;align-items:center;margin-bottom:16px"><img src="https://placehold.co/120x120/FF3E6C/ffffff?text=P&font=poppins" alt="logo" style="width:48px;height:48px;border-radius:12px"><div style="font-family:'Fraunces',serif;font-weight:900;font-size:1.4rem;color:#fff">PRISM<span style="color:var(--coral)">HOUSE</span><div style="font-family:'Space Grotesk';font-size:.68rem;letter-spacing:.18em;color:#8E8EA6">WHERE CULTURE TAKES CENTER STAGE</div></div></div>
<p style="font-size:.92rem">Music, movies, visual arts and performing arts under one roof in the Mercer Arts District. Independent, artist-led and community-powered since 1998.</p>
<div class="socials"><a href="#" aria-label="Instagram"><i class="fa-brands fa-instagram"></i></a><a href="#" aria-label="TikTok"><i class="fa-brands fa-tiktok"></i></a><a href="#" aria-label="X"><i class="fa-brands fa-x-twitter"></i></a><a href="#" aria-label="YouTube"><i class="fa-brands fa-youtube"></i></a><a href="#" aria-label="Spotify"><i class="fa-brands fa-spotify"></i></a></div>
</div>
<div><h4>Explore</h4><ul><li><a href="#events">Events Calendar</a></li><li><a href="#exhibitions">Exhibitions</a></li><li><a href="#artists">Artists in Residence</a></li><li><a href="#news">News & Reviews</a></li><li><a href="#shop">Shop & Gift Cards</a></li></ul></div>
<div><h4>Visit</h4><ul><li>418 Prism House, 128 Mercer St</li><li>New York, NY 10012</li><li><a href="tel:+12125550148">+1 (212) 555-0148</a></li><li><a href="mailto:hello@prismhouse.nyc">hello@prismhouse.nyc</a></li><li>Open Daily 10am–11pm</li></ul></div>
<div><h4>Support</h4><ul><li><a href="#">Privacy Policy</a></li><li><a href="#">Terms of Service</a></li><li><a href="#">Accessibility</a></li><li><a href="#">Refund Policy</a></li><li><a href="#">Careers & Auditions</a></li></ul></div>
</div>
<div class="container foot-bottom"><span>© 2026 Prism House Arts Collective. All rights reserved. Made with ♥ in NYC.</span><span>Box Office: boxoffice@prismhouse.nyc • Press: press@prismhouse.nyc</span></div>
</footer>

<button id="toTop" aria-label="Back to top"><i class="fa-solid fa-arrow-up"></i></button>

<script>
// Mobile menu + header
const menuBtn=document.getElementById('menuBtn'), mainNav=document.getElementById('mainNav'), header=document.getElementById('siteHeader');
menuBtn.addEventListener('click',()=>mainNav.classList.toggle('open'));
window.addEventListener('scroll',()=>{header.classList.toggle('scrolled',window.scrollY>10);document.getElementById('toTop').style.display=window.scrollY>600?'block':'none';});
document.getElementById('toTop').addEventListener('click',()=>window.scrollTo({top:0,behavior:'smooth'}));
// Event filtering
document.querySelectorAll('.filter-tabs button').forEach(btn=>{
btn.addEventListener('click',()=>{
document.querySelectorAll('.filter-tabs button').forEach(b=>b.classList.remove('active'));btn.classList.add('active');
const f=btn.dataset.filter;document.querySelectorAll('#eventsGrid .event-card').forEach(card=>{
card.style.display=(f==='all'||card.dataset.cat===f)?'flex':'none';});});});
// Planner
const data={
music:{pre:{t:'Ember & Oak — Pre-show Dinner',d:'Southern small plates + natural wine, 5-min walk. Show ticket = free dessert.',img:'https://picsum.photos/500/300?random=91'},main:{t:'Neon Nocturne: Synth-Orchestra',d:'Main Stage • 8pm • Best seats rows F–J. 28-piece collaboration with 360° visuals.',img:'https://picsum.photos/500/300?random=92'},after:{t:'Rooftop Silent Disco',d:'Three DJs, skyline views, till 1am. Free with same-day ticket stub.',img:'https://picsum.photos/500/300?random=93'}},
theatre:{pre:{t:'Script & Sip: Lobby Talk',d:'Meet dramaturg + free playbill cocktail. Doors 6:30pm, talk 6:45pm sharp.',img:'https://picsum.photos/500/300?random=94'},main:{t:'Glasshouse — Premiere Play',d:'Black Box • 7:30pm • Post-show Q&A with cast. Runtime 2h10 with intermission.',img:'https://picsum.photos/500/300?random=95'},after:{t:'Nightcap with Cast',d:'Canteen bar, vinyl listening + director playlist. Artists stay late Fridays.',img:'https://picsum.photos/500/300?random=96'}},
film:{pre:{t:'Projector Room Popcorn Lab',d:'Truffle, miso-caramel + classic butter flight + local IPA tasting.',img:'https://picsum.photos/500/300?random=97'},main:{t:'Salt & Static + Live Score',d:'Cinema 1 • 7pm • Director intro + 12-piece orchestra. 4K laser, 98 mins.',img:'https://picsum.photos/500/300?random=98'},after:{t:'Midnight Cult: Rooftop Screening',d:'Cult classic under stars with blankets + hot cider. Extra layer recommended.',img:'https://picsum.photos/500/300?random=99'}},
art:{pre:{t:'Sketch & Spritz Hour',d:'Free sketch kits in Light Gallery atrium + aperitivo. All levels welcome.',img:'https://picsum.photos/500/300?random=100'},main:{t:'Chromatic Drift Immersive',d:'Light Gallery • Timed entry • 60–90 min. Best light 7–9pm for photos.',img:'https://picsum.photos/500/300?random=101'},after:{t:'Artist Print Market',d:'Meet 12 local makers, live screen-printing. Take home a $15 poster.',img:'https://picsum.photos/500/300?random=102'}}
};
let vibe='music', day='Friday', crew='Date Night for 2';
function bindChoice(id, fn){document.querySelectorAll('#'+id+' button').forEach(b=>b.addEventListener('click',()=>{document.querySelectorAll('#'+id+' button').forEach(x=>x.classList.remove('selected'));b.classList.add('selected');fn(b);}));}
bindChoice('vibeChoice',b=>vibe=b.dataset.v);bindChoice('dayChoice',b=>day=b.dataset.d);bindChoice('crewChoice',b=>crew=b.dataset.c);
function renderPlanner(){
const s=data[vibe];const price=vibe==='film'?'$58 total':'$110 total';
document.getElementById('plannerResult').innerHTML=
`<div class="itin"><img src="${s.pre.img}" alt=""><div><small>① Pre-Show • ${day} 6pm</small><h5>${s.pre.t}</h5><p>${s.pre.d}</p><p style="margin-top:8px"><b>${crew}</b> • Table reserved</p></div></div>
<div class="itin" style="outline:3px solid #E9B44C"><img src="${s.main.img}" alt=""><div><small>② Main Event • ${day} 8pm ⭐</small><h5>${s.main.t}</h5><p>${s.main.d}</p><a href="#visit" class="btn btn-dark" style="padding:9px 18px;margin-top:10px">Book Now — ${price}</a></div></div>
<div class="itin"><img src="${s.after.img}" alt=""><div><small>③ After-Party • ${day} 10:30pm</small><h5>${s.after.t}</h5><p>${s.after.d}</p><p style="margin-top:8px">✦ Curated for <b>${crew}</b></p></div></div>`;
}
document.getElementById('buildBtn').addEventListener('click',renderPlanner);renderPlanner();
// FAQ
document.querySelectorAll('.faq-q').forEach(q=>q.addEventListener('click',()=>{q.parentElement.classList.toggle('open');}));
// Countdown (to Oct 15 2026 19:30)
function tick(){const target=new Date('2026-10-15T19:30:00');const now=new Date();let diff=Math.max(0,target-now);const d=Math.floor(diff/86400000),h=Math.floor(diff/3600000)%24,m=Math.floor(diff/60000)%60,s=Math.floor(diff/1000)%60;document.getElementById('cd-d').textContent=String(d).padStart(2,'0');document.getElementById('cd-h').textContent=String(h).padStart(2,'0');document.getElementById('cd-m').textContent=String(m).padStart(2,'0');document.getElementById('cd-s').textContent=String(s).padStart(2,'0');}
setInterval(tick,1000);tick();
// Newsletter
document.getElementById('nlBtn').addEventListener('click',()=>{const v=document.getElementById('nlEmail').value;const msg=document.getElementById('nlMsg');if(/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(v)){msg.style.color='#0a7a4c';msg.textContent='✓ You’re on the list! First pre-sale drops Friday 10am.';}else{msg.style.color='#c00';msg.textContent='Please enter a valid email to join.';}});
</script>
</body>
</html>
View Axe Report (JSON)
{
  "testEngine": {
    "name": "axe-core",
    "version": "4.10.2"
  },
  "testRunner": {
    "name": "axe"
  },
  "testEnvironment": {
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/156.0.8078.4 Safari/537.36",
    "windowWidth": 1280,
    "windowHeight": 720,
    "orientationAngle": 0,
    "orientationType": "landscape-primary"
  },
  "timestamp": "2026-11-12T09:55:02.600Z",
  "url": "https://benchmark.aimac.invalid/89355fad69daeaa8a1c290c6f560722b171716f6cad585721ff2588d9a925261.html",
  "toolOptions": {
    "runOnly": {
      "type": "tag",
      "values": [
        "wcag2a",
        "wcag2aa",
        "wcag21a",
        "wcag21aa",
        "wcag22a",
        "wcag22aa"
      ]
    },
    "resultTypes": [
      "violations"
    ],
    "reporter": "v1"
  },
  "inapplicable": [
    {
      "id": "area-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <area> elements of image maps have alternative text",
      "help": "Active <area> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/area-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-braille-equivalent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-braillelabel and aria-brailleroledescription have a non-braille equivalent",
      "help": "aria-braille attributes must have a non-braille equivalent",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-braille-equivalent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-command-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA button, link and menuitem has an accessible name",
      "help": "ARIA commands must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-command-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-hidden-focus",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden elements are not focusable nor contain focusable elements",
      "help": "ARIA hidden element must not be focusable or contain focusable elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-focus?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-input-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA input field has an accessible name",
      "help": "ARIA input fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-input-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-meter-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA meter node has an accessible name",
      "help": "ARIA meter nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-meter-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-progressbar-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag111",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure every ARIA progressbar node has an accessible name",
      "help": "ARIA progressbar nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-progressbar-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-required-parent",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require parent roles are contained by them",
      "help": "Certain ARIA roles must be contained by particular parents",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-parent?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-toggle-field-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every ARIA toggle field has an accessible name",
      "help": "ARIA toggle fields must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-toggle-field-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "aria-tooltip-name",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every ARIA tooltip node has an accessible name",
      "help": "ARIA tooltip nodes must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-tooltip-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "autocomplete-valid",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag21aa",
        "wcag135",
        "EN-301-549",
        "EN-9.1.3.5",
        "ACT"
      ],
      "description": "Ensure the autocomplete attribute is correct and suitable for the form field",
      "help": "autocomplete attribute must be used correctly",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/autocomplete-valid?application=axeAPI",
      "nodes": []
    },
    {
      "id": "blink",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag222",
        "section508",
        "section508.22.j",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <blink> elements are not used",
      "help": "<blink> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/blink?application=axeAPI",
      "nodes": []
    },
    {
      "id": "definition-list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dl> elements are structured correctly",
      "help": "<dl> elements must only directly contain properly-ordered <dt> and <dd> groups, <script>, <template> or <div> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/definition-list?application=axeAPI",
      "nodes": []
    },
    {
      "id": "dlitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <dt> and <dd> elements are contained by a <dl>",
      "help": "<dt> and <dd> elements must be contained by a <dl>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/dlitem?application=axeAPI",
      "nodes": []
    },
    {
      "id": "duplicate-id-aria",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure every id attribute value used in ARIA and in labels is unique",
      "help": "IDs used in ARIA and labels must be unique",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/duplicate-id-aria?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-focusable-content",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure <frame> and <iframe> elements with focusable content do not have tabindex=-1",
      "help": "Frames with focusable content must not have tabindex=-1",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-focusable-content?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title-unique",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements contain a unique title attribute",
      "help": "Frames must have a unique title attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title-unique?application=axeAPI",
      "nodes": []
    },
    {
      "id": "frame-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.i",
        "TTv5",
        "TT12.d",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure <iframe> and <frame> elements have an accessible name",
      "help": "Frames must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/frame-title?application=axeAPI",
      "nodes": []
    },
    {
      "id": "html-xml-lang-mismatch",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure that HTML elements with both valid lang and xml:lang attributes agree on the base language of the page",
      "help": "HTML elements with lang and xml:lang must have the same base language",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-xml-lang-mismatch?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure input buttons have discernible text",
      "help": "Input buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-button-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "input-image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure <input type=\"image\"> elements have alternative text",
      "help": "Image buttons must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/input-image-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "marquee",
      "impact": null,
      "tags": [
        "cat.parsing",
        "wcag2a",
        "wcag222",
        "TTv5",
        "TT2.b",
        "EN-301-549",
        "EN-9.2.2.2"
      ],
      "description": "Ensure <marquee> elements are not used",
      "help": "<marquee> elements are deprecated and must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/marquee?application=axeAPI",
      "nodes": []
    },
    {
      "id": "meta-refresh",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag221",
        "TTv5",
        "TT8.a",
        "EN-301-549",
        "EN-9.2.2.1"
      ],
      "description": "Ensure <meta http-equiv=\"refresh\"> is not used for delayed refresh",
      "help": "Delayed refresh under 20 hours must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-refresh?application=axeAPI",
      "nodes": []
    },
    {
      "id": "object-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "EN-301-549",
        "EN-9.1.1.1"
      ],
      "description": "Ensure <object> elements have alternative text",
      "help": "<object> elements must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/object-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "role-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure [role=\"img\"] elements have alternative text",
      "help": "[role=\"img\"] elements must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/role-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "scrollable-region-focusable",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag211",
        "wcag213",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1",
        "EN-9.2.1.3"
      ],
      "description": "Ensure elements that have scrollable content are accessible by keyboard",
      "help": "Scrollable region must have keyboard access",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/scrollable-region-focusable?application=axeAPI",
      "nodes": []
    },
    {
      "id": "select-name",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure select element has an accessible name",
      "help": "Select element must have an accessible name",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/select-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "server-side-image-map",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag211",
        "section508",
        "section508.22.f",
        "TTv5",
        "TT4.a",
        "EN-301-549",
        "EN-9.2.1.1"
      ],
      "description": "Ensure that server-side image maps are not used",
      "help": "Server-side image maps must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/server-side-image-map?application=axeAPI",
      "nodes": []
    },
    {
      "id": "summary-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure summary elements have discernible text",
      "help": "Summary elements must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/summary-name?application=axeAPI",
      "nodes": []
    },
    {
      "id": "svg-img-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <svg> elements with an img, graphics-document or graphics-symbol role have an accessible text",
      "help": "<svg> elements with an img role must have an alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/svg-img-alt?application=axeAPI",
      "nodes": []
    },
    {
      "id": "td-headers-attr",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that each cell in a table that uses the headers attribute refers only to other cells in that table",
      "help": "Table cells that use the headers attribute must only refer to cells in the same table",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/td-headers-attr?application=axeAPI",
      "nodes": []
    },
    {
      "id": "th-has-data-cells",
      "impact": null,
      "tags": [
        "cat.tables",
        "wcag2a",
        "wcag131",
        "section508",
        "section508.22.g",
        "TTv5",
        "TT14.b",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that <th> elements and elements with role=columnheader/rowheader have data cells they describe",
      "help": "Table headers in a data table must refer to data cells",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/th-has-data-cells?application=axeAPI",
      "nodes": []
    },
    {
      "id": "valid-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2aa",
        "wcag312",
        "TTv5",
        "TT11.b",
        "EN-301-549",
        "EN-9.3.1.2",
        "ACT"
      ],
      "description": "Ensure lang attributes have valid values",
      "help": "lang attribute must have a valid value",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/valid-lang?application=axeAPI",
      "nodes": []
    },
    {
      "id": "video-caption",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag122",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT17.a",
        "EN-301-549",
        "EN-9.1.2.2"
      ],
      "description": "Ensure <video> elements have captions",
      "help": "<video> elements must have captions",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/video-caption?application=axeAPI",
      "nodes": []
    },
    {
      "id": "no-autoplay-audio",
      "impact": null,
      "tags": [
        "cat.time-and-media",
        "wcag2a",
        "wcag142",
        "TTv5",
        "TT2.a",
        "EN-301-549",
        "EN-9.1.4.2",
        "ACT"
      ],
      "description": "Ensure <video> or <audio> elements do not autoplay audio for more than 3 seconds without a control mechanism to stop or mute the audio",
      "help": "<video> or <audio> elements must not play automatically",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/no-autoplay-audio?application=axeAPI",
      "nodes": []
    }
  ],
  "passes": [
    {
      "id": "aria-allowed-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure an element's role supports its ARIA attributes",
      "help": "Elements must only use supported ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-allowed-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-allowed-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attributes are used correctly for the defined role"
            }
          ],
          "none": [
            {
              "id": "aria-unsupported-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute is supported"
            }
          ],
          "impact": null,
          "html": "<nav class=\"main\" id=\"mainNav\" aria-label=\"Primary navigation\">",
          "target": [
            "#mainNav"
          ]
        }
      ]
    },
    {
      "id": "aria-conditional-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are used as described in the specification of the element's role",
      "help": "ARIA attributes must be used as specified for the element's role",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-conditional-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-conditional-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<nav class=\"main\" id=\"mainNav\" aria-label=\"Primary navigation\">",
          "target": [
            "#mainNav"
          ]
        }
      ]
    },
    {
      "id": "aria-deprecated-role",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements do not use deprecated roles",
      "help": "Deprecated ARIA roles must not be used",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-deprecated-role?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "deprecatedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "minor",
              "message": "ARIA role is not deprecated"
            }
          ],
          "impact": null,
          "html": "<div class=\"filter-tabs\" role=\"tablist\">",
          "target": [
            ".filter-tabs"
          ]
        }
      ]
    },
    {
      "id": "aria-hidden-body",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "wcag412",
        "EN-301-549",
        "EN-9.1.3.1",
        "EN-9.4.1.2"
      ],
      "description": "Ensure aria-hidden=\"true\" is not present on the document body.",
      "help": "aria-hidden=\"true\" must not be present on the document body",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-hidden-body?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-hidden-body",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "No aria-hidden attribute is present on document body"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<body>",
          "target": [
            "body"
          ]
        }
      ]
    },
    {
      "id": "aria-prohibited-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure ARIA attributes are not prohibited for an element's role",
      "help": "Elements must only use permitted ARIA attributes",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-prohibited-attr?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "aria-prohibited-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "ARIA attribute is allowed"
            }
          ],
          "impact": null,
          "html": "<nav class=\"main\" id=\"mainNav\" aria-label=\"Primary navigation\">",
          "target": [
            "#mainNav"
          ]
        }
      ]
    },
    {
      "id": "aria-required-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure elements with ARIA roles have all required ARIA attributes",
      "help": "Required ARIA attributes must be provided",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-required-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "All required ARIA attributes are present"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div class=\"filter-tabs\" role=\"tablist\">",
          "target": [
            ".filter-tabs"
          ]
        }
      ]
    },
    {
      "id": "aria-roles",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all elements with a role attribute use a valid value",
      "help": "ARIA roles used must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-roles?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "invalidrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is valid"
            },
            {
              "id": "abstractrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Abstract roles are not used"
            },
            {
              "id": "unsupportedrole",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA role is supported"
            }
          ],
          "impact": null,
          "html": "<div class=\"filter-tabs\" role=\"tablist\">",
          "target": [
            ".filter-tabs"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr-value",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure all ARIA attributes have valid values",
      "help": "ARIA attributes must conform to valid values",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr-value?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "aria-valid-attr-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute values are valid"
            },
            {
              "id": "aria-errormessage",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-errormessage exists and references elements visible to screen readers that use a supported aria-errormessage technique"
            },
            {
              "id": "aria-level",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "aria-level values are valid"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<nav class=\"main\" id=\"mainNav\" aria-label=\"Primary navigation\">",
          "target": [
            "#mainNav"
          ]
        }
      ]
    },
    {
      "id": "aria-valid-attr",
      "impact": null,
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag412",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure attributes that begin with aria- are valid ARIA attributes",
      "help": "ARIA attributes must conform to valid names",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-valid-attr?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-valid-attr",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "ARIA attribute name is valid"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<nav class=\"main\" id=\"mainNav\" aria-label=\"Primary navigation\">",
          "target": [
            "#mainNav"
          ]
        }
      ]
    },
    {
      "id": "avoid-inline-spacing",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag21aa",
        "wcag1412",
        "EN-301-549",
        "EN-9.1.4.12",
        "ACT"
      ],
      "description": "Ensure that text spacing set through style attributes can be adjusted with custom stylesheets",
      "help": "Inline text spacing must be adjustable with custom stylesheets",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/avoid-inline-spacing?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [
            {
              "id": "important-letter-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Letter-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-word-spacing",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "word-spacing in the style attribute is not set to !important, or meets the minimum"
            },
            {
              "id": "important-line-height",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "line-height in the style attribute is not set to !important, or meets the minimum"
            }
          ],
          "none": [],
          "impact": null,
          "html": "<div style=\"height:36px\"></div>",
          "target": [
            ".hero > div:nth-child(2)"
          ]
        }
      ]
    },
    {
      "id": "button-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure buttons have discernible text",
      "help": "Buttons must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/button-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "button-has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has inner text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<button class=\"active\" data-filter=\"all\">All Events</button>",
          "target": [
            "button[data-filter=\"all\"]"
          ]
        }
      ]
    },
    {
      "id": "bypass",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag241",
        "section508",
        "section508.22.o",
        "TTv5",
        "TT9.a",
        "EN-301-549",
        "EN-9.2.4.1"
      ],
      "description": "Ensure each page has at least one mechanism for a user to bypass navigation and jump straight to the content",
      "help": "Page must have means to bypass repeated blocks",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/bypass?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "internal-link-present",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Valid skip link found"
            },
            {
              "id": "header-present",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<h1>Every story deserves a <em>standing ovation.</em></h1>",
                  "target": [
                    "h1"
                  ]
                },
                {
                  "html": "<h2>One house. Four worlds of wonder.</h2>",
                  "target": [
                    "#events > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Neon Nocturne: Synth-Orchestra</h3>",
                  "target": [
                    ".event-card[data-cat=\"music\"]:nth-child(1) > .event-body > h3"
                  ]
                },
                {
                  "html": "<h3>Glasshouse \u2014 World Premiere Play</h3>",
                  "target": [
                    ".event-card[data-cat=\"theatre\"]:nth-child(2) > .event-body > h3"
                  ]
                },
                {
                  "html": "<h3>Prism Film Fest: 42 Premieres</h3>",
                  "target": [
                    "article[data-cat=\"film\"] > .event-body > h3"
                  ]
                },
                {
                  "html": "<h3>Chromatic Drift: Immersive Light</h3>",
                  "target": [
                    "article[data-cat=\"art\"] > .event-body > h3"
                  ]
                },
                {
                  "html": "<h3>Rooftop Jazz: After Dark Sessions</h3>",
                  "target": [
                    ".event-card[data-cat=\"music\"]:nth-child(5) > .event-body > h3"
                  ]
                },
                {
                  "html": "<h3>BODY/ARCHIVE by Kinesis Co.</h3>",
                  "target": [
                    ".event-card[data-cat=\"theatre\"]:nth-child(6) > .event-body > h3"
                  ]
                },
                {
                  "html": "<h2>How a season is born: chaos, craft &amp; collaboration.</h2>",
                  "target": [
                    ".split-content > h2"
                  ]
                },
                {
                  "html": "<h2>Emerging voices. Award-winning stages.</h2>",
                  "target": [
                    "#artists > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Meet the 12 artists rewriting the rules</h3>",
                  "target": [
                    ".talent-body > h3"
                  ]
                },
                {
                  "html": "<h2 style=\"margin:12px 0 8px\">Celebrated here. Awarded everywhere.</h2>",
                  "target": [
                    ".awards > h2"
                  ]
                },
                {
                  "html": "<h4>Tony\u00ae Best Revival \u2014 \u201cThe Orchard\u201d</h4>",
                  "target": [
                    ".award-item:nth-child(4) > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Sundance Grand Jury \u2014 \u201cSalt &amp; Static\u201d</h4>",
                  "target": [
                    ".award-item:nth-child(5) > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Grammy\u00ae Best Global Album \u2014 Amara Collective</h4>",
                  "target": [
                    ".award-item:nth-child(6) > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Obie for Ensemble Performance \u2014 Kinesis Co.</h4>",
                  "target": [
                    ".award-item:nth-child(7) > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h2 style=\"font-size:clamp(1.9rem,3.2vw,2.8rem);margin:12px 0\">Craft your perfect night out in 20 seconds</h2>",
                  "target": [
                    ".planner-inner > h2"
                  ]
                },
                {
                  "html": "<h4>1 \u2014 Pick Your Vibe</h4>",
                  "target": [
                    ".step-box:nth-child(1) > h4"
                  ]
                },
                {
                  "html": "<h4>2 \u2014 When Are You Free?</h4>",
                  "target": [
                    ".step-box:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>3 \u2014 Who\u2019s Coming?</h4>",
                  "target": [
                    ".step-box:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h5>Ember &amp; Oak \u2014 Pre-show Dinner</h5>",
                  "target": [
                    ".itin:nth-child(1) > div > h5"
                  ]
                },
                {
                  "html": "<h5>Neon Nocturne: Synth-Orchestra</h5>",
                  "target": [
                    ".itin:nth-child(2) > div > h5"
                  ]
                },
                {
                  "html": "<h5>Rooftop Silent Disco</h5>",
                  "target": [
                    ".itin:nth-child(3) > div > h5"
                  ]
                },
                {
                  "html": "<h2>Inside the house of light &amp; sound</h2>",
                  "target": [
                    ".container > div:nth-child(1) > .section-head > h2"
                  ]
                },
                {
                  "html": "<h2>The culture wire \u2014 what\u2019s buzzing</h2>",
                  "target": [
                    "#news > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h3>Prism Film Fest unveils 2026 lineup: 42 films, 18 countries, one wild opener</h3>",
                  "target": [
                    ".news-card:nth-child(1) > .news-body > h3"
                  ]
                },
                {
                  "html": "<h3>\u201cTheatre should feel like weather\u201d: Dena Okafor on Glasshouse</h3>",
                  "target": [
                    ".news-card:nth-child(2) > .news-body > h3"
                  ]
                },
                {
                  "html": "<h3>How indie venues survive: our transparent box-office report</h3>",
                  "target": [
                    ".news-card:nth-child(3) > .news-body > h3"
                  ]
                },
                {
                  "html": "<h3 style=\"font-size:1.6rem\">Gala Premiere: Glasshouse Opening Night</h3>",
                  "target": [
                    "#visit > div:nth-child(1) > h3"
                  ]
                },
                {
                  "html": "<h3><i class=\"fa-solid fa-fire\"></i> Trending Now</h3>",
                  "target": [
                    ".dark > h3"
                  ]
                },
                {
                  "html": "<h3><i class=\"fa-solid fa-clapperboard\"></i> Upcoming Premieres</h3>",
                  "target": [
                    ".side-box:nth-child(2) > h3"
                  ]
                },
                {
                  "html": "<h3><i class=\"fa-solid fa-location-dot\"></i> Venue Spotlight: The Rooftop</h3>",
                  "target": [
                    ".side-box:nth-child(3) > h3"
                  ]
                },
                {
                  "html": "<h3 style=\"font-family:'Fraunces',serif;font-size:1.4rem\">Never miss an on-sale</h3>",
                  "target": [
                    ".newsletter > h3"
                  ]
                },
                {
                  "html": "<h2 style=\"color:#fff\">Standing ovations, in their words</h2>",
                  "target": [
                    ".testimonials > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h2>Take the show home with you</h2>",
                  "target": [
                    "#shop > .container > .section-head > h2"
                  ]
                },
                {
                  "html": "<h4>Neon Nocturne Live Vinyl</h4>",
                  "target": [
                    ".shop-card:nth-child(1) > h4"
                  ]
                },
                {
                  "html": "<h4>Glasshouse Signed Script</h4>",
                  "target": [
                    ".shop-card:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Chromatic Drift Art Print</h4>",
                  "target": [
                    ".shop-card:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Prism Gift Card $100</h4>",
                  "target": [
                    ".shop-card:nth-child(4) > h4"
                  ]
                },
                {
                  "html": "<h2 style=\"margin-bottom:16px\">Good questions, honest answers</h2>",
                  "target": [
                    ".two-col > div:nth-child(1) > h2"
                  ]
                },
                {
                  "html": "<h2 style=\"margin:12px 0\">See more. Pay less. Belong.</h2>",
                  "target": [
                    "#membership > h2"
                  ]
                },
                {
                  "html": "<h4>Explore</h4>",
                  "target": [
                    ".foot-grid > div:nth-child(2) > h4"
                  ]
                },
                {
                  "html": "<h4>Visit</h4>",
                  "target": [
                    ".foot-grid > div:nth-child(3) > h4"
                  ]
                },
                {
                  "html": "<h4>Support</h4>",
                  "target": [
                    ".foot-grid > div:nth-child(4) > h4"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a heading"
            },
            {
              "id": "landmark",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<main>",
                  "target": [
                    "main"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Page has a landmark region"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#000000",
                "contrastRatio": 21,
                "fontSize": "9.8pt (13.12px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has sufficient color contrast of 21"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<div><span class=\"dot\"></span> Box Office Open Daily 10am\u20138pm \u2022 Tonight: <a href=\"#events\">Neon Nocturne Live + 42 more shows</a></div>",
          "target": [
            ".topbar-inner > div:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "document-title",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag242",
        "TTv5",
        "TT12.a",
        "EN-301-549",
        "EN-9.2.4.2",
        "ACT"
      ],
      "description": "Ensure each HTML document contains a non-empty <title> element",
      "help": "Documents must have <title> element to aid in navigation",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/document-title?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "doc-has-title",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Document has a non-empty <title> element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "form-field-multiple-labels",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag332",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.3.3.2"
      ],
      "description": "Ensure form field does not have multiple label elements",
      "help": "Form field must not have multiple label elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/form-field-multiple-labels?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "multiple-label",
              "data": null,
              "relatedNodes": [],
              "impact": "moderate",
              "message": "Form field does not have multiple label elements"
            }
          ],
          "impact": null,
          "html": "<input type=\"email\" id=\"nlEmail\" placeholder=\"you@email.com\">",
          "target": [
            "#nlEmail"
          ]
        }
      ]
    },
    {
      "id": "html-has-lang",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure every HTML document has a lang attribute",
      "help": "<html> element must have a lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-has-lang?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "The <html> element has a lang attribute"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "html-lang-valid",
      "impact": null,
      "tags": [
        "cat.language",
        "wcag2a",
        "wcag311",
        "TTv5",
        "TT11.a",
        "EN-301-549",
        "EN-9.3.1.1",
        "ACT"
      ],
      "description": "Ensure the lang attribute of the <html> element has a valid value",
      "help": "<html> element must have a valid value for the lang attribute",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/html-lang-valid?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "valid-lang",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Value of lang attribute is included in the list of valid languages"
            }
          ],
          "impact": null,
          "html": "<html lang=\"en\">",
          "target": [
            "html"
          ]
        }
      ]
    },
    {
      "id": "image-alt",
      "impact": null,
      "tags": [
        "cat.text-alternatives",
        "wcag2a",
        "wcag111",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT7.a",
        "TT7.b",
        "EN-301-549",
        "EN-9.1.1.1",
        "ACT"
      ],
      "description": "Ensure <img> elements have alternative text or a role of none or presentation",
      "help": "Images must have alternative text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/image-alt?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-alt",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has an alt attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "alt-space-value",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a valid alt attribute value"
            }
          ],
          "impact": null,
          "html": "<img src=\"https://placehold.co/120x120/FF3E6C/ffffff?text=P&amp;font=poppins\" alt=\"PRISM House logo\">",
          "target": [
            "img[alt=\"PRISM House logo\"]"
          ]
        }
      ]
    },
    {
      "id": "label",
      "impact": null,
      "tags": [
        "cat.forms",
        "wcag2a",
        "wcag412",
        "section508",
        "section508.22.n",
        "TTv5",
        "TT5.c",
        "EN-301-549",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure every form element has a label",
      "help": "Form elements must have labels",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/label?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "non-empty-placeholder",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Element has a placeholder attribute"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "hidden-explicit-label",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "Form element has a visible explicit <label>"
            }
          ],
          "impact": null,
          "html": "<input type=\"email\" id=\"nlEmail\" placeholder=\"you@email.com\">",
          "target": [
            "#nlEmail"
          ]
        }
      ]
    },
    {
      "id": "link-in-text-block",
      "impact": null,
      "tags": [
        "cat.color",
        "wcag2a",
        "wcag141",
        "TTv5",
        "TT13.a",
        "EN-301-549",
        "EN-9.1.4.1"
      ],
      "description": "Ensure links are distinguished from surrounding text in a way that does not rely on color",
      "help": "Links must be distinguishable without relying on color",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-in-text-block?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "link-in-text-block-style",
              "data": null,
              "relatedNodes": [
                {
                  "html": "<div><span class=\"dot\"></span> Box Office Open Daily 10am\u20138pm \u2022 Tonight: <a href=\"#events\">Neon Nocturne Live + 42 more shows</a></div>",
                  "target": [
                    ".topbar-inner > div:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Links can be distinguished from surrounding text by visual styling"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#events\">Neon Nocturne Live + 42 more shows</a>",
          "target": [
            "div:nth-child(1) > a[href$=\"#events\"]"
          ]
        }
      ]
    },
    {
      "id": "link-name",
      "impact": null,
      "tags": [
        "cat.name-role-value",
        "wcag2a",
        "wcag244",
        "wcag412",
        "section508",
        "section508.22.a",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.2.4.4",
        "EN-9.4.1.2",
        "ACT"
      ],
      "description": "Ensure links have discernible text",
      "help": "Links must have discernible text",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/link-name?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "has-visible-text",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element has text that is visible to screen readers"
            }
          ],
          "all": [],
          "none": [
            {
              "id": "focusable-no-name",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element is not in tab order or has accessible text"
            }
          ],
          "impact": null,
          "html": "<a href=\"#events\">Neon Nocturne Live + 42 more shows</a>",
          "target": [
            "div:nth-child(1) > a[href$=\"#events\"]"
          ]
        }
      ]
    },
    {
      "id": "list",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure that lists are structured correctly",
      "help": "<ul> and <ol> must only directly contain <li>, <script> or <template> elements",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/list?application=axeAPI",
      "nodes": [
        {
          "any": [],
          "all": [],
          "none": [
            {
              "id": "only-listitems",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List element only has direct children that are allowed inside <li> elements"
            }
          ],
          "impact": null,
          "html": "<ul class=\"check-list\">",
          "target": [
            ".split-content > .check-list"
          ]
        }
      ]
    },
    {
      "id": "listitem",
      "impact": null,
      "tags": [
        "cat.structure",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure <li> elements are used semantically",
      "help": "<li> elements must be contained in a <ul> or <ol>",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/listitem?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "listitem",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "List item has a <ul>, <ol> or role=\"list\" parent element"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<li><i class=\"fa-solid fa-check\"></i> <strong>Open rehearsals:</strong> Watch Glasshouse tech week live, Oct 12 \u2014 free with RSVP.</li>",
          "target": [
            ".split-content > .check-list > li:nth-child(1)"
          ]
        }
      ]
    },
    {
      "id": "meta-viewport",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag2aa",
        "wcag144",
        "EN-301-549",
        "EN-9.1.4.4",
        "ACT"
      ],
      "description": "Ensure <meta name=\"viewport\"> does not disable text scaling and zooming",
      "help": "Zooming and scaling must not be disabled",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/meta-viewport?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "meta-viewport",
              "data": null,
              "relatedNodes": [],
              "impact": "critical",
              "message": "<meta> tag does not disable zooming on mobile devices"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
          "target": [
            "meta[name=\"viewport\"]"
          ]
        }
      ]
    },
    {
      "id": "nested-interactive",
      "impact": null,
      "tags": [
        "cat.keyboard",
        "wcag2a",
        "wcag412",
        "TTv5",
        "TT6.a",
        "EN-301-549",
        "EN-9.4.1.2"
      ],
      "description": "Ensure interactive controls are not nested as they are not always announced by screen readers or can cause focus problems for assistive technologies",
      "help": "Interactive controls must not be nested",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/nested-interactive?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "no-focusable-content",
              "data": null,
              "relatedNodes": [],
              "impact": "serious",
              "message": "Element does not have focusable descendants"
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<img src=\"https://placehold.co/120x120/FF3E6C/ffffff?text=P&amp;font=poppins\" alt=\"PRISM House logo\">",
          "target": [
            "img[alt=\"PRISM House logo\"]"
          ]
        }
      ]
    },
    {
      "id": "target-size",
      "impact": null,
      "tags": [
        "cat.sensory-and-visual-cues",
        "wcag22aa",
        "wcag258"
      ],
      "description": "Ensure touch targets have sufficient size and space",
      "help": "All touch targets must be 24px large, or leave sufficient space",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/target-size?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "target-size",
              "data": {
                "minSize": 24,
                "width": 340,
                "height": 52
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Control has sufficient size (340px by 52px, should be at least 24px by 24px)"
            },
            {
              "id": "target-offset",
              "data": {
                "closestOffset": 24,
                "minOffset": 24
              },
              "relatedNodes": [],
              "impact": "serious",
              "message": "Target has sufficient space from its closest neighbors. Safe clickable space has a diameter of 24px which is at least 24px."
            }
          ],
          "all": [],
          "none": [],
          "impact": null,
          "html": "<a href=\"#\" class=\"brand\">\n<img src=\"https://placehold.co/120x120/FF3E6C/ffffff?text=P&amp;font=poppins\" alt=\"PRISM House logo\">\n<div>\n<div class=\"brand-name\">PRISM<span>HOUSE</span></div>\n<div class=\"brand-tag\">Where Culture Takes Center Stage</div>\n</div>\n</a>",
          "target": [
            ".brand"
          ]
        }
      ]
    }
  ],
  "incomplete": [
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": null,
                "bgColor": null,
                "contrastRatio": 0,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": "bgGradient",
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"hero\">",
                  "target": [
                    ".hero"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element's background color could not be determined due to a background gradient"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow light\">\u2605 Music \u2022 Film \u2022 Theatre \u2022 Visual Arts</div>",
          "target": [
            ".hero-copy > .light.eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element's background color could not be determined due to a background gradient"
        }
      ]
    }
  ],
  "violations": [
    {
      "id": "aria-required-children",
      "impact": "critical",
      "tags": [
        "cat.aria",
        "wcag2a",
        "wcag131",
        "EN-301-549",
        "EN-9.1.3.1"
      ],
      "description": "Ensure elements with an ARIA role that require child roles contain them",
      "help": "Certain ARIA roles must contain particular children",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/aria-required-children?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "aria-required-children",
              "data": {
                "messageKey": "unallowed",
                "values": "button[tabindex]"
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"active\" data-filter=\"all\">All Events</button>",
                  "target": [
                    "button[data-filter=\"all\"]"
                  ]
                },
                {
                  "html": "<button data-filter=\"music\">Live Music</button>",
                  "target": [
                    "button[data-filter=\"music\"]"
                  ]
                },
                {
                  "html": "<button data-filter=\"theatre\">Theatre &amp; Dance</button>",
                  "target": [
                    "button[data-filter=\"theatre\"]"
                  ]
                },
                {
                  "html": "<button data-filter=\"film\">Film &amp; Screen</button>",
                  "target": [
                    "button[data-filter=\"film\"]"
                  ]
                },
                {
                  "html": "<button data-filter=\"art\">Visual Arts</button>",
                  "target": [
                    "button[data-filter=\"art\"]"
                  ]
                }
              ],
              "impact": "critical",
              "message": "Element has children which are not allowed: button[tabindex]"
            }
          ],
          "all": [],
          "none": [],
          "impact": "critical",
          "html": "<div class=\"filter-tabs\" role=\"tablist\">",
          "target": [
            ".filter-tabs"
          ],
          "failureSummary": "Fix any of the following:\n  Element has children which are not allowed: button[tabindex]"
        }
      ]
    },
    {
      "id": "color-contrast",
      "impact": "serious",
      "tags": [
        "cat.color",
        "wcag2aa",
        "wcag143",
        "TTv5",
        "TT13.c",
        "EN-301-549",
        "EN-9.1.4.3",
        "ACT"
      ],
      "description": "Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds",
      "help": "Elements must meet minimum color contrast ratio thresholds",
      "helpUrl": "https://dequeuniversity.com/rules/axe/4.10/color-contrast?application=axeAPI",
      "nodes": [
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "11.0pt (14.72px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#visit\" class=\"cta-nav\">Book Tickets</a>",
                  "target": [
                    ".cta-nav"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.0pt (14.72px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#visit\" class=\"cta-nav\">Book Tickets</a>",
          "target": [
            ".cta-nav"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.0pt (14.72px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#events\" class=\"btn btn-coral\">Book Now <i class=\"fa-solid fa-arrow-right\"></i></a>",
                  "target": [
                    ".btn-coral.btn[href$=\"#events\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#events\" class=\"btn btn-coral\">Book Now <i class=\"fa-solid fa-arrow-right\"></i></a>",
          "target": [
            ".btn-coral.btn[href$=\"#events\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#fff8f0",
                "contrastRatio": 3.23,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow\">\u25cf What's On \u2014 Fall Season 2026</div>",
          "target": [
            "#events > .container > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#7b5cff",
                "contrastRatio": 4.35,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"badge music\">Live Music</span>",
                  "target": [
                    ".event-card[data-cat=\"music\"]:nth-child(1) > .img-wrap > .music.badge"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.35 (foreground color: #ffffff, background color: #7b5cff, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"badge music\">Live Music</span>",
          "target": [
            ".event-card[data-cat=\"music\"]:nth-child(1) > .img-wrap > .music.badge"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.35 (foreground color: #ffffff, background color: #7b5cff, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"badge theatre\">Theatre</span>",
                  "target": [
                    ".event-card[data-cat=\"theatre\"]:nth-child(2) > .img-wrap > .theatre.badge"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"badge theatre\">Theatre</span>",
          "target": [
            ".event-card[data-cat=\"theatre\"]:nth-child(2) > .img-wrap > .theatre.badge"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#7b5cff",
                "contrastRatio": 4.35,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"badge music\">Jazz</span>",
                  "target": [
                    ".event-card[data-cat=\"music\"]:nth-child(5) > .img-wrap > .music.badge"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 4.35 (foreground color: #ffffff, background color: #7b5cff, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"badge music\">Jazz</span>",
          "target": [
            ".event-card[data-cat=\"music\"]:nth-child(5) > .img-wrap > .music.badge"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 4.35 (foreground color: #ffffff, background color: #7b5cff, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<span class=\"badge theatre\">Dance</span>",
                  "target": [
                    ".event-card[data-cat=\"theatre\"]:nth-child(6) > .img-wrap > .theatre.badge"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<span class=\"badge theatre\">Dance</span>",
          "target": [
            ".event-card[data-cat=\"theatre\"]:nth-child(6) > .img-wrap > .theatre.badge"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#fff8f0",
                "contrastRatio": 3.23,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow\">\u25cf Talent &amp; Triumph</div>",
          "target": [
            "#artists > .container > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"talent-card\">",
                  "target": [
                    ".talent-card"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow\">Emerging Talent Lab \u2022 Class of 2026</div>",
          "target": [
            ".talent-body > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#planner\" class=\"btn btn-coral\">Discover Showcase</a>",
                  "target": [
                    ".btn-coral.btn[href$=\"#planner\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#planner\" class=\"btn btn-coral\">Discover Showcase</a>",
          "target": [
            ".btn-coral.btn[href$=\"#planner\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-coral\" id=\"buildBtn\" style=\"width:100%;justify-content:center\">Build My Night <i class=\"fa-solid fa-sparkles\"></i></button>",
                  "target": [
                    "#buildBtn"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-coral\" id=\"buildBtn\" style=\"width:100%;justify-content:center\">Build My Night <i class=\"fa-solid fa-sparkles\"></i></button>",
          "target": [
            "#buildBtn"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"itin\">",
                  "target": [
                    ".itin:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>\u2460 Pre-Show \u2022 Friday 6pm</small>",
          "target": [
            ".itin:nth-child(1) > div > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"itin\" style=\"outline:3px solid #E9B44C\">",
                  "target": [
                    ".itin:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>\u2461 Main Event \u2022 Friday 8pm \u2b50</small>",
          "target": [
            ".itin:nth-child(2) > div > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "8.6pt (11.52px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"itin\">",
                  "target": [
                    ".itin:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<small>\u2462 After-Party \u2022 Friday 10:30pm</small>",
          "target": [
            ".itin:nth-child(3) > div > small"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 8.6pt (11.52px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#fff8f0",
                "contrastRatio": 3.23,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow\">\u25cf Visual Diaries</div>",
          "target": [
            ".container > div:nth-child(1) > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#fff8f0",
                "contrastRatio": 3.23,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow\">\u25cf News, Reviews &amp; Resources</div>",
          "target": [
            "#news > .container > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "9.6pt (12.8px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"news-card\">",
                  "target": [
                    ".news-card:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>Film</b>",
          "target": [
            ".news-card:nth-child(1) > .news-body > .meta-line > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"news-card\">",
                  "target": [
                    ".news-card:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#news\" style=\"font-weight:800;color:var(--coral)\">Read Full Story \u2192</a>",
          "target": [
            ".news-card:nth-child(1) > .news-body > a[href$=\"#news\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "9.6pt (12.8px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"news-card\">",
                  "target": [
                    ".news-card:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>Interview</b>",
          "target": [
            ".news-card:nth-child(2) > .news-body > .meta-line > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"news-card\">",
                  "target": [
                    ".news-card:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#news\" style=\"font-weight:800;color:var(--coral)\">Read Full Story \u2192</a>",
          "target": [
            ".news-card:nth-child(2) > .news-body > a[href$=\"#news\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "9.6pt (12.8px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"news-card\">",
                  "target": [
                    ".news-card:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<b>Music Industry</b>",
          "target": [
            ".news-card:nth-child(3) > .news-body > .meta-line > b"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 9.6pt (12.8px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<article class=\"news-card\">",
                  "target": [
                    ".news-card:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#news\" style=\"font-weight:800;color:var(--coral)\">Read Full Story \u2192</a>",
          "target": [
            ".news-card:nth-child(3) > .news-body > a[href$=\"#news\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#f2efff",
                "bgColor": "#7b5cff",
                "contrastRatio": 3.85,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "normal",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"countdown-band\" id=\"visit\">",
                  "target": [
                    "#visit"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.85 (foreground color: #f2efff, background color: #7b5cff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<p style=\"opacity:.9\">Oct 15 \u2022 Red carpet, live orchestra, after-party on the rooftop. Only 80 gala seats left.</p>",
          "target": [
            "#visit > div:nth-child(1) > p"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.85 (foreground color: #f2efff, background color: #7b5cff, font size: 12.0pt (16px), font weight: normal). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<button class=\"btn btn-coral\" id=\"nlBtn\" style=\"width:100%;justify-content:center\">Get Access</button>",
                  "target": [
                    "#nlBtn"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<button class=\"btn btn-coral\" id=\"nlBtn\" style=\"width:100%;justify-content:center\">Get Access</button>",
          "target": [
            "#nlBtn"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#fff8f0",
                "contrastRatio": 3.23,
                "fontSize": "9.0pt (12px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<body>",
                  "target": [
                    "body"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"eyebrow\">\u25cf The Prism Shop</div>",
          "target": [
            "#shop > .container > .section-head > .eyebrow"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.23 (foreground color: #ff3e6c, background color: #fff8f0, font size: 9.0pt (12px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shop-card\">",
                  "target": [
                    ".shop-card:nth-child(1)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"s-price\">$38</div>",
          "target": [
            ".shop-card:nth-child(1) > .s-price"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shop-card\">",
                  "target": [
                    ".shop-card:nth-child(2)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"s-price\">$28</div>",
          "target": [
            ".shop-card:nth-child(2) > .s-price"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shop-card\">",
                  "target": [
                    ".shop-card:nth-child(3)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"s-price\">$65</div>",
          "target": [
            ".shop-card:nth-child(3) > .s-price"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ff3e6c",
                "bgColor": "#ffffff",
                "contrastRatio": 3.41,
                "fontSize": "12.0pt (16px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<div class=\"shop-card\">",
                  "target": [
                    ".shop-card:nth-child(4)"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<div class=\"s-price\">$100</div>",
          "target": [
            ".shop-card:nth-child(4) > .s-price"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ff3e6c, background color: #ffffff, font size: 12.0pt (16px), font weight: bold). Expected contrast ratio of 4.5:1"
        },
        {
          "any": [
            {
              "id": "color-contrast",
              "data": {
                "fgColor": "#ffffff",
                "bgColor": "#ff3e6c",
                "contrastRatio": 3.41,
                "fontSize": "11.4pt (15.2px)",
                "fontWeight": "bold",
                "messageKey": null,
                "expectedContrastRatio": "4.5:1",
                "shadowColor": null
              },
              "relatedNodes": [
                {
                  "html": "<a href=\"#visit\" class=\"btn btn-coral\" style=\"width:100%;justify-content:center;margin-top:10px\">Join the Circle</a>",
                  "target": [
                    ".btn-coral.btn[href$=\"#visit\"]"
                  ]
                }
              ],
              "impact": "serious",
              "message": "Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
            }
          ],
          "all": [],
          "none": [],
          "impact": "serious",
          "html": "<a href=\"#visit\" class=\"btn btn-coral\" style=\"width:100%;justify-content:center;margin-top:10px\">Join the Circle</a>",
          "target": [
            ".btn-coral.btn[href$=\"#visit\"]"
          ],
          "failureSummary": "Fix any of the following:\n  Element has insufficient color contrast of 3.41 (foreground color: #ffffff, background color: #ff3e6c, font size: 11.4pt (15.2px), font weight: bold). Expected contrast ratio of 4.5:1"
        }
      ]
    }
  ],
  "coverage": {
    "contract": "main-document-vertical-scroll",
    "complete": true,
    "positions": [
      {
        "y": 0,
        "height": 10695
      },
      {
        "y": 576,
        "height": 10695
      },
      {
        "y": 1152,
        "height": 10695
      },
      {
        "y": 1728,
        "height": 10695
      },
      {
        "y": 2304,
        "height": 10695
      },
      {
        "y": 2880,
        "height": 10695
      },
      {
        "y": 3456,
        "height": 10695
      },
      {
        "y": 4032,
        "height": 10695
      },
      {
        "y": 4608,
        "height": 10695
      },
      {
        "y": 5184,
        "height": 10695
      },
      {
        "y": 5760,
        "height": 10695
      },
      {
        "y": 6336,
        "height": 10695
      },
      {
        "y": 6912,
        "height": 10695
      },
      {
        "y": 7488,
        "height": 10695
      },
      {
        "y": 8064,
        "height": 10695
      },
      {
        "y": 8640,
        "height": 10695
      },
      {
        "y": 9216,
        "height": 10695
      },
      {
        "y": 9792,
        "height": 10695
      },
      {
        "y": 9975,
        "height": 10695
      }
    ],
    "scans": 20,
    "max_states": 512,
    "settle_ms": 5000,
    "page_timeout_seconds": 150,
    "layout_stability": "consecutive 100ms size samples within one CSS pixel",
    "animation_settling": "finite animations present when scroll resources are ready finish or are cancelled",
    "interactive_states": "not exercised",
    "horizontal_scroll": "not exercised"
  }
}
System Prompt
You are a lead web developer at a top digital agency, tasked with creating a one-page website for a new client based on the given specifications, delivered as an HTML file. First non-whitespace char '<', last non-whitespace char '>'. Use the following services to generate placeholder images where needed:
- placehold.co (text): https://placehold.co/[{w}x{h}|{size}][/{bg-color}/{text-color}]?text={text}&font=[lato|lora|montserrat|noto sans|open sans|oswald|playfair display|poppins|pt sans|raleway|roboto|source sans|source sans pro]
- picsum.photos (photos): https://picsum.photos/[{w}/{h}|{size}]?[grayscale][&blur={1-10}]
- pravatar.cc (avatars): https://i.pravatar.cc/{size}?u={identifier}
Choose sizes appropriate to layout.
User Prompt
Create a **complete, polished, production-quality** primary web page for a new client in the "Arts and Entertainment" sector.
Your goal is to generate the full HTML code for a page that is not just functional but also visually compelling, content-rich, and feels like a finished product ready for launch.

**Client & Category:**
- Industry: "Arts and Entertainment"
- Description: Music, movies, visual arts, performing arts, and entertainment industry news and resources.

**Your Creative Task:**
1.  **Invent:** Create a unique, professional-sounding site name and a strong tagline fitting the "Arts and Entertainment" category.
2.  **Define Page:** Determine the most effective primary page type (e.g., homepage, service landing page, category portal) to showcase this fictional entity.
3.  **Design:** Develop an opinionated, modern, and professional layout. Make distinct choices about structure and flow.

**Content & Structure Requirements (Deliver a COMPLETE page):**
-   **Overall:** The final page must feel substantial and complete, with realistic amounts of text (multiple paragraphs per section where appropriate, avoid single sentences), well-integrated placeholder images, and logical flow. It should look like a real website a business would proudly use.
-   **HEADER:** Include the invented site name, tagline, a logo placeholder image, and a primary navigation bar. Ensure the navigation has **at least 5-7 clearly defined, relevant links** including: "Events", "Shop", "News".
-   **MAIN CONTENT:** Structure this area with **at least 3-4 distinct, well-developed sections**.
    -   Address key topics relevant to the "Arts and Entertainment" category. Consider themes similar to: "Emerging Talent", "Award Winners", "Behind the Scenes".
    -   **Content Depth:** Populate each section with **substantial, realistic text** (multiple sentences/paragraphs). Use authentic industry language and terminology like: "collaboration", "curation", "performance".
    -   **Visuals:** Integrate relevant placeholder images logically within the content sections.
    -   **Calls to Action:** Include clear and contextually relevant CTAs. Use strong verbs similar to: "Discover", "View Gallery", "Book Now".
-   **ENGAGEMENT (Recommended):** Strongly consider incorporating **one meaningful interactive element** that would genuinely benefit a user in the "Arts and Entertainment" sector. Ideas similar but not limited to: "show planner".
-   **SIDEBAR (Optional):** If your design includes a sidebar, populate it with **useful, relevant content**. Ideas: "upcoming premieres", "trending now", "venue spotlights".
-   **FOOTER:** Include a professional footer with invented contact details, copyright (current year), social media links, and standard links (Privacy, Terms).
-   **MODERN WEB PATTERNS:** Include modern web patterns like testimonial cards, feature grids, or FAQ accordions where appropriate.