/* One rhythm for header actions. Same silhouette, same baseline, no competing frames. */
@media(min-width:768px){
.header-top{grid-template-columns:182px minmax(0,1fr) 435px;gap:28px;align-items:center;padding-bottom:20px}
.header-actions{display:grid;grid-template-columns:1.15fr 1fr;gap:14px 16px;align-items:start;align-self:center}
.header-contact{display:block;text-align:left;margin:0}
.header-contact .phone-button,.header-actions>.buy-ticket{display:flex;width:100%;height:56px;min-height:56px;box-sizing:border-box;border-radius:50px;padding:12px 16px;margin:0;font:650 17px/1.25 Montserrat;box-shadow:none}
.header-contact .phone-button{background:#fff7fc99;border:1px solid #fff9}.header-contact .phone-button:hover{background:#fff7fc;border-color:#fff}
.header-socials{grid-column:1/-1;display:flex;justify-content:center;margin:0;gap:18px}.header-socials a,.header-socials img{width:25px;height:25px}
.header-location{font-size:16px}.header-location small{font-size:12px}.header-hours{font-size:16px}
}
@media(min-width:768px) and (max-width:1199px){.header-top{grid-template-columns:150px minmax(0,1fr) 360px;gap:20px}.header__logo,.header__logo img{width:150px;height:70px}.header-location{font-size:14px;gap:8px}.header-location .location-object{width:48px;flex-basis:48px}.header-hours{font-size:14px}.header-location small{font-size:11px}.header-contact .phone-button,.header-actions>.buy-ticket{font-size:14px;height:52px;min-height:52px;padding-inline:10px}.header-actions{gap:12px}}
@media(min-width:768px) and (max-width:991px){.header-top{grid-template-columns:130px minmax(0,1fr) 310px;gap:17px}.header__logo,.header__logo img{width:130px;height:65px}.header-location .location-object{display:none}.header-contact .phone-button,.header-actions>.buy-ticket{font-size:12px}}
@media(max-width:767px){.header-actions{display:contents}.header-contact,.header-actions>.header-socials{display:none}.header-actions>.buy-ticket{width:146px;font-size:12px;padding:10px;min-height:45px;border-radius:50px;box-shadow:none;justify-self:center}.header-top{grid-template-columns:minmax(0,1fr) 146px 62px}}
/* Campaign banners: one photographic field, soft colour transitions, dimensional corners. */
.offerSlider{overflow:hidden!important;border-radius:36px;box-shadow:none;background:#ed78bf}
.edit-promo.campaign-slide{display:block;isolation:isolate;height:580px;min-height:580px;overflow:hidden;background:#562779;--campaign-tone:85,31,113}
.edit-promo.campaign-slide[hidden]{display:none!important}
.campaign-slide .hero-art{position:absolute;inset:0;height:100%;width:100%;z-index:0;margin:0}
.campaign-slide .hero-photo{position:absolute;inset:0;margin:0;transform:none;border:0;border-radius:0;height:100%;width:100%;display:block;background:transparent;overflow:hidden}
.campaign-slide .hero-photo img{position:absolute;right:0;top:0;width:78%;height:100%;object-fit:cover;object-position:center 30%;animation:none;border-radius:0;mask-image:linear-gradient(90deg,transparent 0%,#000 29%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 29%)}
.campaign-slide:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(var(--campaign-tone),.93) 0%,rgba(var(--campaign-tone),.76) 21%,rgba(var(--campaign-tone),.24) 49%,transparent 72%),linear-gradient(0deg,rgba(var(--campaign-tone),.5),transparent 54%)}
.campaign-slide:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 12% 90%,#ee299b88,transparent 65%)}
.campaign-slide .edit-promo-copy{position:absolute;left:52px;bottom:50px;width:calc(100% - 104px);padding:0;z-index:4;color:#fff;max-width:650px}
.campaign-slide .edit-promo-copy .eyebrow{font:650 12px/1.3 Montserrat;color:white;text-transform:uppercase;letter-spacing:.14em;margin:0 0 22px;display:inline-flex;padding:8px 12px;border:1px solid #ffffff66;border-radius:30px;background:#ffffff08}
.campaign-slide .edit-promo-copy h2,.edit-promo.campaign-slide[data-slide="3"] .banner-title{font:500 57px/1.16 Unbounded;letter-spacing:-.055em;color:#fff;margin:0 0 22px;max-width:100%;text-shadow:none}
.campaign-slide .edit-promo-copy p{font:500 19px/1.5 Montserrat;max-width:360px;min-height:0;margin:0;color:#fff}
.campaign-slide .hero-actions{margin-top:27px;gap:20px}.campaign-slide .hero-actions .buy-ticket{min-height:54px;font-size:16px;padding:15px 24px;min-width:180px;box-shadow:none}.campaign-slide .hero-price{color:#fff;font-size:14px}
.campaign-fur,.campaign-soft{position:absolute;object-fit:contain;pointer-events:none;z-index:3;animation:campaign-drift 10s ease-in-out infinite}
.campaign-fur{width:300px;height:300px;right:-100px;bottom:-140px}.campaign-soft{width:190px;height:190px;left:-80px;top:-100px;animation-delay:-5s}
.campaign-birthday{--campaign-tone:145,23,105!important;background:#a82e88!important}.campaign-birthday .hero-photo img{width:83%;object-position:62% 40%}.campaign-birthday .edit-promo-copy{max-width:560px}.campaign-birthday .campaign-fur{width:330px;height:330px;bottom:-175px;right:-100px}
.campaign-date{--campaign-tone:139,30,107!important;background:#c25299!important}.campaign-date .hero-photo img{width:77%;object-position:65% 32%}.campaign-date .edit-promo-copy{max-width:570px}.campaign-date .campaign-fur{right:-100px;bottom:-160px;width:320px;height:320px}
.campaign-combo{--campaign-tone:52,39,126!important;background:#593c9b!important}.campaign-combo .hero-photo img{width:78%;object-position:70% 30%}.campaign-combo .edit-promo-copy h2{font-size:52px}.campaign-combo .campaign-fur{width:310px;height:310px;bottom:-160px}
.campaign-team .edit-promo-copy h2{font-size:48px}.campaign-team .hero-photo img{width:79%;object-position:center 28%}
@keyframes campaign-drift{0%,100%{translate:0 0;rotate:-3deg}50%{translate:-10px -12px;rotate:5deg}}
/* Keep the recognisable gradients, give the textures the scale of the supplied reference. */
.intro-coral{width:240px;height:240px;left:-130px;top:-75px}.intro-lime{width:360px;height:360px;right:-155px;bottom:-100px}
.occasion-birthday:before{background:radial-gradient(ellipse at 38% 65%,#ff92d5a8,transparent 70%)}
.decor-birthday{width:350px;height:350px;left:-150px;bottom:-110px}.decor-corporate{width:300px;height:300px;right:-75px;top:-135px}.occasion-schools .decor-schools{width:260px;height:260px;right:-75px;bottom:-140px;rotate:-15deg}
.decor-gift{width:480px;height:480px;right:-250px;top:-70px;opacity:.85;filter:blur(14px)}.occasion-gift .gift-coral{width:210px;height:210px;left:30px;bottom:-130px}
.contact-coral{width:330px;height:330px;left:-100px;bottom:-160px}.journal-puff{width:240px;height:240px;left:49%;top:-35px;rotate:20deg}.journal-decor{width:320px;height:320px;right:-70px;bottom:-45px;rotate:15deg}.decor-footer{width:310px;height:310px;right:-80px;bottom:-150px}.footer{padding-bottom:100px}
@media(min-width:768px) and (max-width:1199px){.edit-promo.campaign-slide{height:530px;min-height:530px}.campaign-slide .edit-promo-copy{left:38px;bottom:40px;max-width:560px}.campaign-slide .edit-promo-copy h2,.edit-promo.campaign-slide[data-slide="3"] .banner-title{font-size:47px}.campaign-team .edit-promo-copy h2{font-size:39px}.campaign-combo .edit-promo-copy h2{font-size:44px}.campaign-slide .edit-promo-copy p{font-size:17px;max-width:320px}.intro-lime{width:280px;height:280px;right:-95px}.decor-corporate{width:250px;height:250px}.decor-birthday{width:300px;height:300px}}
@media(max-width:767px){
.offerSlider{border-radius:26px}.edit-promo.campaign-slide{height:640px;min-height:640px;display:block}
.campaign-slide .hero-art{height:100%;min-height:0}.campaign-slide .hero-photo{inset:0;height:100%}.campaign-slide .hero-photo img,.campaign-birthday .hero-photo img,.campaign-date .hero-photo img,.campaign-combo .hero-photo img,.campaign-team .hero-photo img{width:100%;height:65%;top:0;right:0;object-fit:cover;object-position:center 25%;mask-image:linear-gradient(#000 62%,transparent 100%);-webkit-mask-image:linear-gradient(#000 62%,transparent 100%)}
.campaign-slide:after{background:linear-gradient(0deg,rgba(var(--campaign-tone),.98),rgba(var(--campaign-tone),.8) 25%,transparent 67%)}.campaign-slide:before{background:radial-gradient(ellipse at 10% 95%,#ee299b88,transparent 65%)}
.campaign-slide .edit-promo-copy{left:23px;bottom:30px;max-width:none;width:calc(100% - 46px)}.campaign-slide .edit-promo-copy .eyebrow{font-size:9px;letter-spacing:.12em;padding:7px 10px;margin-bottom:15px}.campaign-slide .edit-promo-copy h2,.edit-promo.campaign-slide[data-slide="3"] .banner-title{font-size:34px;line-height:1.2;margin-bottom:16px}.campaign-team .edit-promo-copy h2{font-size:27px;letter-spacing:-.06em}.campaign-combo .edit-promo-copy h2{font-size:32px}.campaign-slide .edit-promo-copy p{font-size:15px;max-width:270px;line-height:1.5}.campaign-slide .hero-actions{margin-top:22px;gap:12px;align-items:center}.campaign-slide .hero-actions .buy-ticket{min-height:48px;font-size:14px;padding:12px 19px;min-width:0}.campaign-slide .hero-price{font-size:11px}.campaign-fur,.campaign-birthday .campaign-fur,.campaign-date .campaign-fur,.campaign-combo .campaign-fur{width:155px;height:155px;right:-74px;bottom:115px;z-index:2}.campaign-soft{width:135px;height:135px;left:-50px;top:-65px}
.intro-coral{width:155px;height:155px;left:-85px;top:-70px}.intro-lime{width:230px;height:230px;right:-105px;bottom:-60px}.decor-birthday{width:220px;height:220px;left:-105px;bottom:-95px}.decor-corporate{width:175px;height:175px;right:-60px;top:-95px}.occasion-schools .decor-schools{width:160px;height:160px;right:-45px;bottom:-135px}.occasion-gift .gift-coral{width:150px;height:150px;left:-40px;bottom:-125px}.contact-coral{width:210px;height:210px;left:-95px;bottom:-110px}.journal-puff{width:160px;height:160px;left:auto;right:25px;top:-35px}.journal-decor{width:210px;height:210px;right:-45px;bottom:-45px}.decor-footer{width:220px;height:220px;right:-100px;bottom:-100px}
}
@media(prefers-reduced-motion:reduce){.campaign-fur,.campaign-soft{animation:none!important}}
@media(min-width:768px){.campaign-date .hero-photo img{width:72%;mask-image:linear-gradient(90deg,transparent,#000 20%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%)}.intro-coral{left:-160px;top:-105px}}
@media(max-width:767px){.intro-coral{left:-105px;top:-95px}}
/* Keep texture clear of mobile copy. */
@media(max-width:767px){.campaign-fur,.campaign-birthday .campaign-fur,.campaign-date .campaign-fur,.campaign-combo .campaign-fur{right:-65px;bottom:-68px}.intro-coral{left:-115px;top:-120px}}
.contact-coral{bottom:-40px}
@media(max-width:767px){.contact-coral{bottom:-30px}}
