body:has(.spellbound){color:#351139;background:#faf1df}.spellbound{--joy-cream:#faf1df;--joy-yellow:#ffe878;--joy-ink:#351139;--joy-lavender:#d9b8ef;--joy-orange:#ff642b;--f-display:"Titan One",sans-serif;--f-body:"DM Sans",sans-serif;--f-serif:"DM Sans",sans-serif;--f-hand:"Kalam",cursive;--ink:var(--joy-ink);--ink-soft:#533854;--ink-faint:#6d506b;--starlight:var(--joy-ink);--gold:var(--joy-yellow);--line:#35113940;color:var(--joy-ink);background:var(--joy-cream);font-family:var(--f-body);min-height:100vh;font-size:17px;line-height:1.4;overflow:clip}.spellbound button,.spellbound input,.spellbound textarea,.spellbound select{font:inherit}.spellbound button,.spellbound a{-webkit-tap-highlight-color:transparent}.spellbound :is(a,button,input,textarea,select,summary):focus-visible{outline-offset:5px;outline:3px solid}.spellbound section[id]{scroll-margin-top:88px}.spellbound .joy-smiley{flex-shrink:0;width:1em;height:1em;display:inline-block}.joy-skip{z-index:200;background:var(--joy-ink);color:var(--joy-yellow);padding:12px 20px;position:fixed;top:-80px;left:20px}.joy-skip:focus{top:10px}.joy-header{z-index:90;background:var(--joy-cream);justify-content:space-between;align-items:center;gap:24px;height:clamp(66px,4.65vw,80px);padding:0 3.7%;display:flex;position:sticky;top:0}.joy-wordmark{white-space:nowrap;font-family:var(--f-display);letter-spacing:-.04em;align-items:center;gap:.16em;font-size:clamp(30px,3.85vw,58px);font-weight:400;line-height:1;display:flex}.joy-wordmark .joy-smiley{font-size:.8em;transform:rotate(-9deg)}.joy-nav{align-items:center;gap:clamp(22px,3.4vw,55px);font-size:16px;font-weight:700;display:flex}.joy-nav a{white-space:nowrap;text-underline-offset:5px;padding:14px 0}.joy-nav a:hover{text-decoration:underline}.joy-nav .mobile-schedule{display:none}.joy-header-actions{align-items:center;gap:12px;display:flex}.joy-donate{background:var(--joy-ink);color:var(--joy-yellow);padding:7px 38px;font-size:24px;font-weight:700;line-height:1.25}.joy-donate:hover{background:#522153}.donate-rays{width:25px;height:43px;position:relative}.donate-rays i{background:var(--joy-ink);border-radius:9px;width:26px;height:4px;position:absolute;top:19px;left:0}.donate-rays i:first-child{top:5px;transform:rotate(-30deg)}.donate-rays i:last-child{top:33px;transform:rotate(30deg)}.joy-menu{display:none}.spellbound #hero{aspect-ratio:1916/821;isolation:isolate;background:var(--joy-yellow);text-align:left;height:auto;min-height:0;margin:0;padding:0;display:block;position:relative;overflow:hidden}.spellbound #hero:after{content:none}.spellbound #timeline{background:var(--joy-cream)}.joy-hero-art{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.joy-hero-copy{width:54%;padding:2.5% 0 0 3.75%;position:relative}.joy-edition{text-transform:uppercase;letter-spacing:.21em;white-space:nowrap;margin:0 0 1.2vw;font-size:clamp(12px,1.12vw,18px);font-weight:700;line-height:1.2}.spellbound .joy-hero h1{font-family:var(--f-display);letter-spacing:-.045em;margin:0 0 1.2vw -.7vw;font-size:11.4vw;font-weight:400;line-height:.83}.joy-hero h1 span{white-space:nowrap;display:block}.joy-hero h1 span:first-child{transform-origin:0 100%;transform:rotate(-2deg)scaleX(1.26)}.joy-hero h1 span:last-child{transform-origin:0;transform:rotate(-1deg)scaleX(.875)}.joy-subtitle{letter-spacing:-.018em;margin:0 0 1.1vw;font-size:clamp(17px,1.82vw,30px);font-weight:700;line-height:1.1}.joy-hero-actions{align-items:center;gap:2.15vw;display:flex}.joy-button{border:2px solid var(--joy-ink);background:var(--joy-ink);color:var(--joy-yellow);justify-content:center;align-items:center;gap:18px;min-height:48px;padding:.7vw 2vw;line-height:1.25;transition:transform .18s,box-shadow .18s;display:inline-flex;font-size:clamp(17px,1.65vw,26px)!important;font-weight:700!important}.joy-button:hover{box-shadow:4px 4px 0 var(--joy-orange);transform:translate(-2px,-2px)}.joy-button span{font-size:1.35em;line-height:1}.joy-text-link{text-underline-offset:6px;white-space:nowrap;font-size:clamp(16px,1.55vw,24px);font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px}.joy-text-link:hover{text-decoration-thickness:3px}.joy-note{font-family:var(--f-hand);text-transform:uppercase;pointer-events:none;font-size:clamp(13px,1.3vw,21px);font-weight:400;line-height:1.05}.joy-note b{padding-top:4px;padding-left:1.6em;font-size:1.5em;display:inline-block}.note-top{position:absolute;top:2%;right:2.7%;transform:rotate(-8deg)}.note-right{position:absolute;top:47%;right:2%;transform:rotate(-9deg)}.note-left{position:absolute;bottom:3%;left:2%;transform:rotate(-12deg)}.note-left .joy-smiley{margin-left:15px;font-size:35px;display:block}.joy-ribbon{background:var(--joy-ink);color:var(--joy-yellow);z-index:2;justify-content:center;align-items:center;gap:1.5vw;min-height:7vw;margin-top:-1.6vw;margin-bottom:-.8vw;padding:12px 2%;display:flex;position:relative;transform:rotate(-1.8deg)scaleX(1.02)}.joy-ribbon p{font-family:var(--f-display);text-transform:uppercase;letter-spacing:-.02em;white-space:nowrap;margin:0;font-size:4.33vw;line-height:1}.ribbon-scribble{font-family:var(--f-hand);font-size:7vw;line-height:.55;transform:rotate(-15deg)}.ribbon-star{font-size:4.5vw;font-weight:400;line-height:1}.ribbon-note{font-family:var(--f-hand);text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--joy-cream);font-size:1.12vw;line-height:1.15;transform:rotate(-6deg)}.joy-intro{background:var(--joy-lavender);padding:2.1vw 2.35% 1.5vw}.joy-intro-heading{border-bottom:1px solid var(--joy-ink);justify-content:space-between;align-items:center;gap:22px;padding:0 .8% 1vw;display:flex}.joy-intro h2{font:400 4.12vw/1.1 var(--f-display);letter-spacing:-.035em;white-space:nowrap;margin:0}.intro-star{font-size:5.8vw;line-height:.8;transform:rotate(12deg)}.intro-note{font-size:1.15vw;transform:rotate(-12deg)}.intro-note .joy-smiley{margin-left:55%;font-size:30px;display:block}.joy-features{grid-template-columns:1fr 1fr;gap:1.6vw;padding-top:1vw;display:grid}.joy-feature{grid-template-columns:1.23fr 1fr;align-items:start;gap:1.3vw;min-width:0;display:grid}.joy-feature+.joy-feature{border-left:1px solid var(--joy-ink);padding-left:1.6vw}.joy-feature-photo{background:var(--joy-ink);border:0;width:100%;height:100%;min-height:180px;padding:0;position:relative;overflow:hidden}.joy-feature-photo img{object-fit:cover;aspect-ratio:1.85;width:100%;height:100%;transition:transform .3s}.joy-feature-photo:hover img{transform:scale(1.03)}.photo-play{background:var(--joy-yellow);width:34px;height:34px;color:var(--joy-ink);opacity:0;border-radius:50%;place-items:center;font-size:13px;transition:opacity .2s;display:grid;position:absolute;bottom:10px;right:10px}.joy-feature-photo:hover .photo-play,.joy-feature-photo:focus-visible .photo-play{opacity:1}.joy-feature h3{font:400 clamp(23px,1.7vw,32px)/1.1 var(--f-display);letter-spacing:-.035em;margin:0 0 5px}.joy-feature p{margin:0 0 12px;font-size:clamp(14px,1.08vw,19px);line-height:1.25}.joy-feature .joy-text-link{font-size:clamp(15px,1.17vw,21px)}@media (width>=1800px){.joy-header{height:85px}.joy-hero-copy{padding-top:3%}}@media (width<=1100px){.joy-header{gap:15px;padding-inline:3%}.joy-wordmark{font-size:36px}.joy-nav{gap:22px;font-size:14px}.joy-donate{padding-inline:24px;font-size:19px}.donate-rays{display:none}.joy-feature{grid-template-columns:1fr;gap:13px}.joy-feature-photo{aspect-ratio:1.85;min-height:0}.joy-feature p{font-size:16px}}@media (width<=760px){.joy-header{gap:12px;height:70px;padding-inline:5%}.joy-wordmark{font-size:clamp(26px,6.8vw,40px)}.joy-header-actions{gap:17px}.joy-donate{padding:9px 15px;font-size:17px}.joy-menu{background:0 0;border:0;flex-direction:column;justify-content:center;gap:5px;width:25px;height:34px;padding:0;display:flex}.joy-menu span{background:var(--joy-ink);width:100%;height:2px;display:block}.joy-nav{background:var(--joy-cream);border-bottom:2px solid var(--joy-ink);padding:15px 5% 22px;display:none;position:absolute;top:70px;left:0;right:0;box-shadow:0 8px 12px #35113912}.joy-nav.menu-open{grid-template-columns:1fr 1fr;gap:4px 25px;display:grid}.joy-nav a,.joy-nav .mobile-schedule{padding-block:11px;font-size:18px;display:block}.spellbound #hero{aspect-ratio:auto;height:calc(202px + 98.1vw);min-height:0;max-height:none}.joy-hero-art{object-fit:cover;object-position:right bottom;width:145%;max-width:none;height:62.1vw;inset:auto auto 0 -45%}.joy-hero-copy{width:100%;padding:26px 5% 0}.joy-edition{letter-spacing:.17em;margin-bottom:17px;font-size:clamp(10px,2.75vw,15px)}.spellbound .joy-hero h1{letter-spacing:-.05em;margin:0 0 17px -.5vw;font-size:20.3vw;line-height:.88}.joy-subtitle{margin-bottom:16px;font-size:clamp(17px,4.6vw,24px);line-height:1.2}.joy-hero-actions{gap:24px}.joy-button{gap:13px;min-height:48px;padding:12px 19px;font-size:17px!important}.joy-hero-actions .joy-text-link{font-size:17px}.note-top,.note-right,.note-left{display:none}.note-left{font-size:15px;bottom:2%;left:4%}.note-left .joy-smiley{font-size:25px}.joy-ribbon{gap:14px;min-height:99px;margin-top:-18px;margin-bottom:-10px;padding:16px 6%;transform:rotate(-2deg)scaleX(1.03)}.joy-ribbon p{white-space:normal;text-align:center;font-size:7.2vw;line-height:1.1}.ribbon-note,.ribbon-scribble{display:none}.ribbon-star{font-size:34px}.joy-intro{padding:34px 5% 35px}.joy-intro-heading{align-items:center;gap:15px;padding:0 0 22px}.joy-intro h2{white-space:normal;font-size:clamp(29px,7.5vw,48px);line-height:1.08}.intro-star{font-size:48px}.intro-note{display:none}.joy-features{grid-template-columns:1fr;gap:25px;padding-top:24px}.joy-feature{grid-template-columns:1fr;gap:20px}.joy-feature+.joy-feature{border-left:0;border-top:1px solid var(--joy-ink);padding:26px 0 0}.joy-feature-photo{aspect-ratio:1.8}.joy-feature h3{margin-bottom:9px;font-size:31px}.joy-feature p{margin-bottom:18px;font-size:17px;line-height:1.45}.joy-feature .joy-text-link{font-size:18px}.photo-play{opacity:1}}@media (width<=360px){.joy-header-actions{gap:10px}.joy-wordmark{font-size:25px}.joy-donate{padding-inline:12px}.joy-button{padding-inline:12px;font-size:15px!important}.joy-hero-actions{gap:16px}.joy-hero-actions .joy-text-link{font-size:15px}}@media (prefers-reduced-motion:reduce){.spellbound *,.spellbound :before,.spellbound :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
