{"product_id":"a-fairy-fail-in-person-theater-premiere-🍿","title":"A Fairy Fail In Person Theater Premiere 🍿🎟️","description":"\u003cp\u003e\u003clink rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\"\u003e \u003clink rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\"\u003e \u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,500\u0026amp;family=Work+Sans:wght@400;500;600\u0026amp;family=IBM+Plex+Mono:wght@400;500\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\u003c\/p\u003e\n\u003cstyle\u003e\n  #aff-page * { box-sizing: border-box; }\n  #aff-page {\n    --ink: #140d1f;\n    --velvet: #241533;\n    --velvet-light: #35204a;\n    --gold: #e3b34e;\n    --gold-soft: #f0d493;\n    --blush: #e2a2c2;\n    --cream: #f7f0e4;\n    --muted: #b7a6c9;\n    font-family: 'Work Sans', sans-serif;\n    color: var(--cream);\n    background: var(--ink);\n    line-height: 1.55;\n    width: 100%;\n    max-width: 100%;\n    margin: 0;\n    border-radius: 12px;\n    overflow: hidden;\n    box-shadow: 0 20px 40px -20px rgba(0,0,0,0.6);\n  }\n  #aff-page a { color: var(--gold-soft); }\n  #aff-page .aff-section { padding: 28px 22px; }\n\n  \/* ---------- HERO ---------- *\/\n  #aff-page .aff-hero {\n    position: relative;\n    padding: 34px 22px 28px;\n    text-align: center;\n    background:\n      radial-gradient(120% 90% at 50% -10%, rgba(227,179,78,0.20), transparent 60%),\n      linear-gradient(180deg, var(--velvet) 0%, var(--ink) 100%);\n    overflow: hidden;\n  }\n  #aff-page .aff-hero::before,\n  #aff-page .aff-hero::after {\n    content: \"\";\n    position: absolute;\n    top: -30%;\n    width: 160%;\n    height: 220%;\n    background: conic-gradient(from 90deg at 50% 0%, transparent 0deg, rgba(247,240,228,0.06) 6deg, transparent 12deg, transparent 360deg);\n    animation: aff-sweep 9s linear infinite;\n    pointer-events: none;\n  }\n  #aff-page .aff-hero::before { left: -60%; transform-origin: top center; }\n  #aff-page .aff-hero::after { left: -20%; animation-delay: -4.5s; opacity: 0.6; }\n  @keyframes aff-sweep {\n    0%   { transform: rotate(-18deg); }\n    50%  { transform: rotate(18deg); }\n    100% { transform: rotate(-18deg); }\n  }\n  @media (prefers-reduced-motion: reduce) {\n    #aff-page .aff-hero::before, #aff-page .aff-hero::after { animation: none; }\n  }\n  #aff-page .aff-eyebrow {\n    position: relative;\n    display: inline-block;\n    font-family: 'IBM Plex Mono', monospace;\n    font-size: 10px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--gold-soft);\n    border: 1px solid rgba(227,179,78,0.4);\n    border-radius: 999px;\n    padding: 5px 13px;\n    margin-bottom: 16px;\n  }\n  #aff-page .aff-title {\n    position: relative;\n    font-family: 'Fraunces', serif;\n    font-weight: 700;\n    font-size: clamp(30px, 10vw, 40px);\n    line-height: 1.02;\n    letter-spacing: -0.01em;\n    margin: 0 0 10px;\n    background: linear-gradient(180deg, var(--cream) 30%, var(--gold-soft) 100%);\n    -webkit-background-clip: text;\n    background-clip: text;\n    -webkit-text-fill-color: transparent;\n  }\n  #aff-page .aff-tagline {\n    position: relative;\n    font-family: 'Fraunces', serif;\n    font-style: italic;\n    font-weight: 500;\n    font-size: 16px;\n    color: var(--blush);\n    margin: 0 0 18px;\n  }\n  #aff-page .aff-hero-sub {\n    position: relative;\n    font-family: 'IBM Plex Mono', monospace;\n    font-size: 11.5px;\n    line-height: 1.7;\n    letter-spacing: 0.03em;\n    color: var(--muted);\n    max-width: 360px;\n    margin: 0 auto;\n  }\n\n  \/* ---------- SYNOPSIS ---------- *\/\n  #aff-page .aff-synopsis {\n    border-top: 1px solid rgba(255,255,255,0.08);\n  }\n  #aff-page .aff-synopsis .aff-label {\n    font-family: 'IBM Plex Mono', monospace;\n    font-size: 10px;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n    color: var(--gold);\n    margin-bottom: 12px;\n    display: block;\n  }\n  #aff-page .aff-synopsis p {\n    font-size: 15px;\n    color: var(--cream);\n    margin: 0;\n  }\n  #aff-page .aff-synopsis .aff-director {\n    color: var(--muted);\n    font-size: 14px;\n  }\n\n  \/* ---------- VIDEO ---------- *\/\n  #aff-page .aff-video-wrap {\n    padding: 0 22px 28px;\n  }\n  #aff-page .aff-video-frame {\n    position: relative;\n    width: 100%;\n    padding-top: 56.25%;\n    border-radius: 10px;\n    overflow: hidden;\n    border: 1px solid rgba(227,179,78,0.25);\n    box-shadow: 0 20px 40px -18px rgba(0,0,0,0.7);\n  }\n  #aff-page .aff-video-frame iframe {\n    position: absolute;\n    inset: 0;\n    width: 100%;\n    height: 100%;\n    border: 0;\n  }\n\n  \/* ---------- CAST ---------- *\/\n  #aff-page .aff-cast {\n    background: var(--velvet);\n    border-top: 1px solid rgba(255,255,255,0.08);\n    border-bottom: 1px solid rgba(255,255,255,0.08);\n  }\n  #aff-page .aff-cast-row {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 7px 8px;\n    margin: 0 0 18px;\n  }\n  #aff-page .aff-cast-row:last-child { margin-bottom: 0; }\n  #aff-page .aff-cast-kicker {\n    font-family: 'IBM Plex Mono', monospace;\n    font-size: 10px;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n    color: var(--gold);\n    width: 100%;\n    margin-bottom: 4px;\n  }\n  #aff-page .aff-chip {\n    font-family: 'Work Sans', sans-serif;\n    font-size: 13px;\n    font-weight: 500;\n    color: var(--cream);\n    background: rgba(247,240,228,0.06);\n    border: 1px solid rgba(247,240,228,0.14);\n    border-radius: 999px;\n    padding: 6px 12px;\n  }\n  #aff-page .aff-chip.is-star {\n    color: var(--ink);\n    background: linear-gradient(180deg, var(--gold-soft), var(--gold));\n    border-color: transparent;\n    font-weight: 600;\n  }\n\n  \/* ---------- TICKET IMAGE ---------- *\/\n  #aff-page .aff-ticket-art {\n    text-align: center;\n    padding: 28px 22px 0;\n  }\n  #aff-page .aff-ticket-art img {\n    max-width: 100%;\n    border-radius: 8px;\n    box-shadow: 0 24px 50px -20px rgba(0,0,0,0.7);\n  }\n\n  \/* ---------- PERFORATED DIVIDER (signature element) ---------- *\/\n  #aff-page .aff-perf {\n    position: relative;\n    height: 34px;\n    margin-top: 40px;\n    background:\n      radial-gradient(circle 8px at 0 50%, transparent 8px, var(--ink) 8.5px) ,\n      radial-gradient(circle 8px at 100% 50%, transparent 8px, var(--ink) 8.5px);\n  }\n  #aff-page .aff-perf::before {\n    content: \"\";\n    position: absolute;\n    top: 50%;\n    left: 20px;\n    right: 20px;\n    border-top: 2px dashed rgba(247,240,228,0.25);\n  }\n  #aff-page .aff-perf::after {\n    content: \"\";\n    position: absolute;\n    top: 50%;\n    left: 0; right: 0;\n    height: 17px;\n    transform: translateY(-50%);\n    background-image: radial-gradient(circle 7px, var(--ink) 7px, transparent 7.5px);\n    background-repeat: repeat-x;\n    background-size: 26px 17px;\n    background-position: center;\n  }\n\n  \/* ---------- EVENT \/ TICKET DETAILS ---------- *\/\n  #aff-page .aff-event {\n    padding-top: 8px;\n  }\n  #aff-page .aff-event-card {\n    background: var(--velvet-light);\n    border: 1px solid rgba(227,179,78,0.28);\n    border-radius: 12px;\n    padding: 22px 20px;\n  }\n  #aff-page .aff-date {\n    font-family: 'Fraunces', serif;\n    font-weight: 700;\n    font-size: 22px;\n    color: var(--gold-soft);\n    margin: 0 0 4px;\n  }\n  #aff-page .aff-venue {\n    font-family: 'Fraunces', serif;\n    font-weight: 600;\n    font-size: 17px;\n    margin: 0 0 2px;\n  }\n  #aff-page .aff-address {\n    font-family: 'IBM Plex Mono', monospace;\n    font-size: 12px;\n    color: var(--muted);\n    margin: 0 0 18px;\n  }\n  #aff-page .aff-times {\n    display: flex;\n    gap: 16px;\n    flex-wrap: wrap;\n    border-top: 1px dashed rgba(247,240,228,0.2);\n    padding-top: 16px;\n  }\n  #aff-page .aff-time-block { min-width: 110px; }\n  #aff-page .aff-time-label {\n    font-family: 'IBM Plex Mono', monospace;\n    font-size: 9.5px;\n    letter-spacing: 0.13em;\n    text-transform: uppercase;\n    color: var(--gold);\n    display: block;\n    margin-bottom: 4px;\n  }\n  #aff-page .aff-time-value {\n    font-size: 16px;\n    font-weight: 600;\n    color: var(--cream);\n  }\n\n  \/* ---------- NOTICE ---------- *\/\n  #aff-page .aff-notice {\n    display: flex;\n    gap: 10px;\n    align-items: flex-start;\n    margin-top: 18px;\n    padding: 12px 14px;\n    background: rgba(226,162,194,0.1);\n    border: 1px solid rgba(226,162,194,0.35);\n    border-radius: 10px;\n  }\n  #aff-page .aff-notice-mark {\n    font-family: 'IBM Plex Mono', monospace;\n    font-weight: 500;\n    font-size: 10px;\n    letter-spacing: 0.08em;\n    color: var(--blush);\n    border: 1px solid var(--blush);\n    border-radius: 6px;\n    padding: 3px 6px;\n    white-space: nowrap;\n  }\n  #aff-page .aff-notice p {\n    margin: 0;\n    font-size: 12.5px;\n    color: var(--cream);\n  }\n\n  \/* ---------- CLOSING ---------- *\/\n  #aff-page .aff-closing {\n    text-align: center;\n    border-top: 1px solid rgba(255,255,255,0.08);\n  }\n  #aff-page .aff-closing p {\n    font-family: 'Fraunces', serif;\n    font-style: italic;\n    font-size: 16.5px;\n    color: var(--cream);\n    max-width: 420px;\n    margin: 0 auto;\n  }\n  #aff-page .aff-closing p span {\n    color: var(--gold-soft);\n    font-weight: 600;\n    font-style: normal;\n  }\n\n  @media (min-width: 640px) {\n    #aff-page .aff-section { padding: 40px 40px; }\n    #aff-page .aff-hero { padding: 52px 40px 42px; }\n    #aff-page .aff-video-wrap { padding: 0 40px 40px; }\n    #aff-page .aff-ticket-art { padding: 40px 40px 0; }\n    #aff-page .aff-notice p { font-size: 13.5px; }\n    #aff-page .aff-closing p { font-size: 19px; max-width: 480px; }\n  }\n\u003c\/style\u003e\n\u003cdiv id=\"aff-page\"\u003e\n\u003c!-- HERO --\u003e\n\u003cdiv class=\"aff-hero\"\u003e\n\u003cspan class=\"aff-eyebrow\"\u003eRed Carpet Premiere\u003c\/span\u003e\n\u003ch1 class=\"aff-title\"\u003eA Fairy Fail\u003c\/h1\u003e\n\u003cp class=\"aff-tagline\"\u003eNot all fairies are good at their job.\u003c\/p\u003e\n\u003cp class=\"aff-hero-sub\"\u003eCelebrate the premiere with us at Film Noir Cinema — join the cast and crew for the red carpet event.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- SYNOPSIS --\u003e\n\u003cdiv class=\"aff-section aff-synopsis\"\u003e\n\u003cspan class=\"aff-label\"\u003ePure Magic Pictures presents its ninth feature film\u003c\/span\u003e\n\u003cp\u003e\u003cspan class=\"aff-director\"\u003eFrom director Stefanie Hubbard —\u003c\/span\u003e \u003cem\u003eA Fairy Fail\u003c\/em\u003e is a fantasy\/comedy about a fairy who is assigned to make a trading card game player's life better, but is so bad at her job she accidentally makes it worse instead.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- VIDEO --\u003e\n\u003cdiv class=\"aff-video-wrap\"\u003e\n\u003cdiv class=\"aff-video-frame\"\u003e\u003ciframe title=\"A Fairy Fail — YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/Vuo3K2dMatQ?si=20n3l8IAuR-RYTEH\"\u003e\u003c\/iframe\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CAST --\u003e\n\u003cdiv class=\"aff-section aff-cast\"\u003e\n\u003cdiv class=\"aff-cast-row\"\u003e\n\u003cspan class=\"aff-cast-kicker\"\u003eStarring\u003c\/span\u003e \u003cspan class=\"aff-chip is-star\"\u003eAnna Rudegeair\u003c\/span\u003e \u003cspan class=\"aff-chip is-star\"\u003eNick Del Bianco\u003c\/span\u003e \u003cspan class=\"aff-chip is-star\"\u003eScotty Corn\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aff-cast-row\"\u003e\n\u003cspan class=\"aff-cast-kicker\"\u003eWith\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eOlivia Roldan\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eDominic D. Williamson\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eCrystal Baron\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eLaura River Reynolds\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eAnne Marie Clores\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eShibu Subahar\u003c\/span\u003e \u003cspan class=\"aff-chip\"\u003eKalani Hubbard\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- TICKET IMAGE --\u003e\n\u003cdiv class=\"aff-ticket-art\"\u003e\u003cimg alt=\"A Fairy Fail premiere ticket\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0666\/7373\/7986\/files\/AFairyFailTicket.jpg?v=1783791324\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"aff-perf\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c!-- EVENT DETAILS --\u003e\n\u003cdiv class=\"aff-section aff-event\"\u003e\n\u003cdiv class=\"aff-event-card\"\u003e\n\u003cp class=\"aff-date\"\u003eTuesday, July 21\u003c\/p\u003e\n\u003cp class=\"aff-venue\"\u003eFilm Noir Cinema\u003c\/p\u003e\n\u003cp class=\"aff-address\"\u003e122 Meserole Ave, Greenpoint, NY 11222\u003c\/p\u003e\n\u003cdiv class=\"aff-times\"\u003e\n\u003cdiv class=\"aff-time-block\"\u003e\n\u003cspan class=\"aff-time-label\"\u003eDoors Open\u003c\/span\u003e \u003cspan class=\"aff-time-value\"\u003e6:45 PM\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aff-time-block\"\u003e\n\u003cspan class=\"aff-time-label\"\u003eEvent Starts\u003c\/span\u003e \u003cspan class=\"aff-time-value\"\u003e7:15 PM\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"aff-notice\"\u003e\n\u003cspan class=\"aff-notice-mark\"\u003eTicket Info\u003c\/span\u003e\n\u003cp\u003eEach person needs their own ticket to enter — your email confirmation is your ticket.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- CLOSING --\u003e\n\u003cdiv class=\"aff-section aff-closing\"\u003e\n\u003cp\u003eTake your photo on the red carpet, hear from the cast and director before the film, and be the first to ever watch \u003cspan\u003eA Fairy Fail\u003c\/span\u003e in theaters.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Pure Magic Pictures Store","offers":[{"title":"Default Title","offer_id":48110782710018,"sku":"affjuly21","price":22.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0666\/7373\/7986\/files\/AFairyFailTicket.jpg?v=1783791324","url":"https:\/\/store.puremagicpictures.com\/products\/a-fairy-fail-in-person-theater-premiere-%f0%9f%8d%bf","provider":"Pure Magic Pictures Store","version":"1.0","type":"link"}