:root{--black:#080908;--ink:#111310;--gold:#d7ad54;--gold2:#f0d28a;--green:#0d5c40;--cream:#f5f1e8;--white:#fff;--line:rgba(215,173,84,.25)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}img{width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{max-width:1240px;margin:auto;padding:110px 32px}.topbar{height:34px;padding:0 4vw;background:var(--green);display:flex;align-items:center;justify-content:space-between;font-size:.72rem;letter-spacing:.13em}.topbar a{font-weight:700;color:var(--gold2)}header{height:82px;padding:0 4vw;display:flex;align-items:center;gap:30px;position:absolute;top:34px;width:100%;z-index:20;border-bottom:1px solid rgba(255,255,255,.15)}.brand{display:flex;align-items:center;line-height:1}.brand>b{font-family:'Playfair Display';font-size:2rem;color:var(--gold);border:1px solid var(--gold);padding:8px 7px;margin-right:10px}.brand>span{font-weight:700;letter-spacing:.13em;font-size:.8rem}.brand small{display:block;color:var(--gold);letter-spacing:.38em;margin-top:5px;font-size:.57rem}nav{display:flex;align-items:center;gap:20px;margin-left:auto}nav a{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}nav a:hover{color:var(--gold)}.btn{border:1px solid var(--gold);background:var(--gold);color:#0a0a08;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:700;padding:15px 22px;cursor:pointer;display:inline-block;transition:.25s}.btn:hover{background:var(--gold2);transform:translateY(-2px)}.btn.ghost{color:var(--white);background:transparent}.menu{display:none;background:none;border:0;color:white;font-size:1.5rem}.hero{height:min(850px,92vh);min-height:690px;position:relative;overflow:hidden;display:flex;align-items:center}.hero-slides,.hero-slide{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1.04);transition:opacity 1s,transform 6s}.hero-slide.active{opacity:1;transform:scale(1)}.hero-content{max-width:1240px;width:100%;margin:auto;padding:130px 32px 40px;position:relative;z-index:2}.eyebrow{font-size:.71rem;letter-spacing:.24em;font-weight:700;color:var(--gold);margin:0 0 18px}.hero h1,.section-head h2,.intro h2,.future h2,.quote h2,.gallery h2,.print h2{font-family:'Playfair Display',serif;font-size:clamp(3.4rem,7vw,6.7rem);line-height:.93;margin:0 0 28px;font-weight:600}.hero h1 i,h2 i{color:var(--gold);font-weight:600}.hero-content>p:not(.eyebrow){max-width:590px;font-size:1.1rem;color:#ddd}.actions{display:flex;gap:12px;margin-top:34px}.hero-note{position:absolute;right:4vw;bottom:40px;z-index:3;border-left:1px solid var(--gold);padding-left:18px}.hero-note span,.hero-note strong{display:block}.hero-note span{font-size:.65rem;letter-spacing:.25em}.hero-note strong{font-family:'Playfair Display';color:var(--gold);font-size:1.1rem}.hero-dots{display:flex;gap:8px;margin-top:50px}.hero-dots button{width:30px;height:2px;background:#777;border:0}.hero-dots button.active{background:var(--gold)}.marquee{overflow:hidden;background:var(--gold);color:#111;padding:12px 0;white-space:nowrap;font-weight:700;letter-spacing:.14em}.marquee div{width:max-content;animation:marquee 24s linear infinite}@keyframes marquee{to{transform:translateX(-50%)}}.intro{background:var(--cream);color:var(--ink);max-width:none;padding-left:max(32px,calc((100vw - 1176px)/2));padding-right:max(32px,calc((100vw - 1176px)/2))}.intro h2,.section-head h2,.gallery h2,.print h2{font-size:clamp(2.8rem,5vw,5rem)}.intro-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px}.lead{font-size:1.25rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa}.stats div{padding:22px;border-right:1px solid #aaa}.stats b,.stats span{display:block}.stats b{color:var(--green);font-size:2rem;font-family:'Playfair Display'}.dark-section{background:#0b1813}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:50px}.section-head h2{margin:0}.section-head>a{color:var(--gold);font-weight:700}.theme-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:280px 280px;gap:14px}.theme-card{position:relative;padding:24px;display:flex;justify-content:space-between;flex-direction:column;background:linear-gradient(140deg,#1d241e,#0b0d0b);overflow:hidden;border:1px solid var(--line)}.theme-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.1)),var(--img);background-size:cover;background-position:center;opacity:.65;transition:.4s}.theme-card:hover:before{transform:scale(1.04);opacity:.85}.theme-card>*{position:relative}.theme-card.big{grid-row:span 2}.theme-card span{color:var(--gold);font-size:.75rem}.theme-card h3{font-family:'Playfair Display';font-size:1.8rem;margin:0}.theme-card p{margin:6px 0 0;color:#ccc;font-size:.9rem}.more-types{margin-top:30px;display:flex;gap:11px;align-items:center;flex-wrap:wrap;color:#bbb}.more-types span{border:1px solid var(--line);border-radius:30px;padding:6px 15px;color:white}.services{background:var(--black)}.service-columns{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-columns>div{padding:35px 26px 10px;border-right:1px solid var(--line)}.service-columns b{color:var(--gold)}.service-columns h3{font-family:'Playfair Display';font-size:2rem}.service-columns p{color:#aaa}.rentals{background:var(--cream);color:var(--ink)}.quote-badge{font-size:.75rem;letter-spacing:.12em}.quote-badge b{display:inline-grid;place-items:center;background:var(--green);color:white;border-radius:50%;width:26px;height:26px}.rental-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.rental{background:white;border:1px solid #ddd;display:grid;grid-template-columns:44% 1fr;min-height:300px}.rental>div:last-child{padding:28px;display:flex;flex-direction:column}.rental-img{position:relative;background:#eee}.rental-img img{height:100%;object-fit:contain}.rental-img span{position:absolute;top:12px;left:12px;background:var(--green);color:white;font-size:.65rem;padding:5px 9px}.rental-visual{display:grid;place-items:center;background:#111;color:var(--gold);font-family:'Playfair Display';font-size:4rem;text-align:center;line-height:.9}.rental-visual.games{font-size:2.6rem;background:var(--green)}.rental-visual.bubble{background:radial-gradient(circle,#cbe9dc,#426c5b);font-size:8rem;color:white}.meta{color:var(--green);font-size:.67rem;font-weight:700;letter-spacing:.15em}.rental h3{font-family:'Playfair Display';font-size:1.7rem;margin:4px 0}.rental p:not(.meta){font-size:.88rem;color:#666}.rental-foot{margin-top:auto;border-top:1px solid #ddd;padding-top:15px}.rental-foot strong,.rental-foot button{display:block}.rental-foot button{border:0;background:none;color:var(--green);font-weight:700;padding:8px 0;cursor:pointer}details{margin-top:30px;border-top:1px solid #bbb;padding:22px 0}summary{font-weight:700;cursor:pointer}.entertain{display:grid;grid-template-columns:1fr 1fr;min-height:720px}.ent-copy{padding:100px max(32px,7vw)}.ent-copy h2{font-family:'Playfair Display';font-size:clamp(3rem,5vw,5.5rem);line-height:1;margin:0}.ent-copy>p:not(.eyebrow){color:#aaa;max-width:600px}.talent-list{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}.talent-list span{border:1px solid #444;border-radius:30px;padding:6px 13px}.ent-image{background-size:cover;background-position:center;position:relative}.ent-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent)}.ent-image div{position:absolute;z-index:2;bottom:40px;left:40px}.ent-image small,.ent-image b{display:block;letter-spacing:.14em}.ent-image b{font-family:'Playfair Display';font-size:2rem;color:var(--gold)}.print{position:relative;background:var(--green);max-width:none;padding-left:max(32px,calc((100vw - 1176px)/2));padding-right:max(32px,calc((100vw - 1176px)/2));overflow:hidden}.print-mark{position:absolute;right:4%;top:-90px;color:rgba(255,255,255,.05);font-family:'Playfair Display';font-size:25rem}.product-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3)}.product-strip span{padding:14px;border-bottom:1px solid rgba(255,255,255,.2)}.events{background:#111}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button,.view-toggle button{background:none;border:1px solid #555;color:white;padding:8px 13px;cursor:pointer}.filters .active,.view-toggle .active{background:var(--gold);color:#111;border-color:var(--gold)}.event-empty{min-height:350px;border:1px solid var(--line);display:grid;place-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 0,#183c2f,#0c0e0c)}.event-empty span{color:var(--gold);letter-spacing:.15em;font-size:.75rem}.event-empty h3{font-family:'Playfair Display';font-size:2.3rem;margin:10px}.calendar{border:1px solid var(--line);padding:20px}.hidden{display:none}.cal-head{display:flex;justify-content:space-between;margin-bottom:18px}.cal-head button{background:none;color:white;border:0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr)}.cal-grid>*{min-height:55px;border:1px solid #292929;padding:9px;font-style:normal}.cal-grid b{min-height:auto;color:var(--gold)}.gallery{background:#e9e3d8;color:#111}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:300px 300px;gap:14px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery .g1{grid-row:span 2}.gallery img{height:100%;object-fit:cover;transition:.5s}.gallery figure:hover img{transform:scale(1.04)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:30px;color:white;font-family:'Playfair Display';font-size:1.7rem;background:linear-gradient(transparent,rgba(0,0,0,.8))}.gallery-cats{text-align:center;margin-top:30px;color:#555}.future{display:grid;grid-template-columns:1.4fr 1fr;background:linear-gradient(130deg,#0a0a0a,#123c2d);padding:100px max(32px,8vw);gap:80px}.future>div:first-child p:not(.eyebrow){max-width:650px;color:#ccc}.dream-choices{border:1px solid var(--gold);padding:30px;display:grid;gap:8px}.dream-choices span{font-size:.65rem;color:var(--gold);letter-spacing:.2em;margin-top:13px}.dream-choices b{font-family:'Playfair Display';font-size:1.5rem}.vip{text-align:center}.vip>span{letter-spacing:.4em;color:var(--gold)}.vip h2{font-family:'Playfair Display';font-size:9rem;line-height:1;margin:10px}.vip p{color:#aaa}.vip>b{font-size:.72rem;letter-spacing:.2em;border:1px solid var(--gold);padding:9px 13px}.quote{display:grid;grid-template-columns:.8fr 1.2fr;background:var(--cream);color:#111}.quote-side{background:#0b1813;color:white;padding:100px max(32px,7vw)}.quote-side a{display:block;margin-top:35px;color:var(--gold)}.quote-form{padding:80px max(32px,7vw)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.fields .wide{grid-column:span 2}.quote-form label,.mini-form label{font-weight:700;font-size:.8rem;letter-spacing:.04em}.quote-form input,.quote-form select,.quote-form textarea,.mini-form input,.mini-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #999;padding:10px 2px;border-radius:0}.quote-form textarea,.mini-form textarea{border:1px solid #aaa;margin-top:8px}.quote-form fieldset{border:0;padding:25px 0}.checks{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.checks label{font-weight:400}.upload{display:block;border:1px dashed #999;padding:14px;margin:18px 0}.form-note{font-size:.78rem;color:#666}footer{padding:70px 5vw 25px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;border-top:1px solid var(--line)}footer h2{font-family:'Playfair Display';font-size:2.5rem}footer h3{color:var(--gold);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}footer>div>a{display:block;color:#bbb;margin:7px 0}.copyright{grid-column:1/-1;border-top:1px solid #333;padding-top:20px;color:#777;font-size:.8rem}.mobile-bar{display:none}dialog{background:var(--cream);color:#111;border:0;max-width:620px;width:calc(100% - 30px);padding:40px;max-height:90vh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.82)}dialog h2{font-family:'Playfair Display';font-size:2.5rem;margin-top:0}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:2rem}.mini-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mini-form .checks,.mini-form button,.mini-form label:has(textarea){grid-column:1/-1}#toast{position:fixed;right:20px;bottom:20px;background:var(--green);color:white;padding:14px 20px;z-index:100;transform:translateY(120px);transition:.3s}#toast.show{transform:none}.reveal{opacity:0;transform:translateY(20px);transition:.8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){nav{display:none;position:absolute;top:82px;left:0;right:0;background:#0b0c0b;padding:25px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.menu{display:block;margin-left:auto}.header-cta{display:none}.theme-grid{grid-template-columns:1fr 1fr}.theme-card.big{grid-row:span 1}.service-columns{grid-template-columns:1fr 1fr}.rental{grid-template-columns:40% 1fr}.entertain{grid-template-columns:1fr}.ent-image{min-height:500px}.intro-grid,.future{grid-template-columns:1fr}.quote{grid-template-columns:1fr}.quote-side{padding-top:70px;padding-bottom:70px}}
@media(max-width:680px){body{padding-bottom:58px}.topbar span{display:none}.topbar{justify-content:center}header{height:70px}.brand>b{font-size:1.5rem}.wrap{padding:75px 20px}.hero{min-height:680px}.hero-content{padding:120px 20px 60px}.hero h1{font-size:3.5rem}.hero-note{display:none}.actions{flex-direction:column;align-items:flex-start}.theme-grid,.rental-grid,.product-strip,.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.theme-card,.theme-card.big{min-height:300px}.service-columns{grid-template-columns:1fr}.rental{grid-template-columns:1fr}.rental-img,.rental-visual{height:300px}.section-head{align-items:flex-start;gap:20px}.ent-copy{padding:75px 20px}.ent-image{min-height:390px}.gallery figure,.gallery .g1{height:330px;grid-row:auto}.future{padding:75px 20px;gap:40px}.vip h2{font-size:6rem}.quote-form{padding:60px 20px}.fields,.mini-form{grid-template-columns:1fr}.fields .wide,.mini-form .checks,.mini-form button,.mini-form label:has(textarea){grid-column:auto}.checks{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr;padding:55px 20px}.copyright{grid-column:auto}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:50;text-align:center;font-weight:700;text-transform:uppercase;font-size:.8rem}.mobile-bar a{padding:16px;background:var(--green)}.mobile-bar a:last-child{background:var(--gold);color:#111}dialog{padding:30px 20px}}

/* Vibrant celebration campaign */
:root{--gold:#ffd269;--gold2:#ffe3a1}.topbar{background:#8b0755}.party-hero{display:grid;grid-template-columns:1fr 1fr;gap:5%;padding:135px max(24px,5vw) 65px;min-height:800px;background:radial-gradient(ellipse at 12% 25%,#54104c,transparent 60%),radial-gradient(ellipse at 100% 80%,#112c65,transparent 60%),#09070e;align-items:center}.party-copy{max-width:640px}.party-copy h1{font-size:clamp(2.8rem,4.8vw,5.4rem);line-height:1.08}.party-copy>p{font-size:1.1rem;color:#eee}.party-copy .eyebrow{color:#ffd269}.party-copy i{color:#ff5bc6}.party-poster{display:block;max-width:560px;justify-self:center;box-shadow:0 15px 70px #e5008533;border:1px solid #ebbc69}.party-poster img{height:auto}.party-copy .btn:first-child{background:#f70099;color:white;border-color:#f70099}.occasion-line{margin-top:35px}.marquee{background:#f40096;color:#fff}.events{background:radial-gradient(ellipse at top right,#351129,transparent 50%),#100b14}.featured-event{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.featured-event img{height:auto}.event-info h2{font-size:clamp(2.4rem,4vw,4.4rem);line-height:1.12;margin:15px 0}.event-info h2 i{color:#ffad48}.event-tagline{font-size:1.35rem;color:#ffd269}.event-facts{border-top:1px solid #654232;border-bottom:1px solid #654232;margin:24px 0}.event-facts strong{font-size:1.3rem}.competition{border-left:3px solid #ff409f;background:#ffffff08;padding:20px 24px;margin-top:28px}.competition h3{margin:0;font-size:1.35rem}.competition a{text-decoration:underline;color:#ffd269}.season-heading{margin:85px 0 35px}.season-heading h2{font-size:clamp(2rem,4vw,3.5rem);margin:0}.event-cards{display:grid;grid-template-columns:1fr 1fr;gap:40px 28px}.season-event{border:1px solid #66503c;background:#ffffff05}.season-event img{height:auto;aspect-ratio:2/3;object-fit:contain;background:#080808}.season-event>div{padding:24px}.season-event h3{font-family:'Playfair Display',serif;font-size:1.8rem;line-height:1.25;margin:10px 0}.soon-badge{display:inline-block;background:#51234a;color:#ffe7f5;padding:6px 12px;font-weight:700;font-size:.875rem;letter-spacing:.08em}.event-note{color:#c9bdcb;font-size:.95rem}.events-page{padding-top:100px}.events-page .wrap{padding-top:65px}nav a{font-size:.875rem}.eyebrow,.meta{font-size:.875rem}.quote-form label,.mini-form label{font-size:.875rem}a:focus-visible,button:focus-visible{outline:3px solid #ff64c9;outline-offset:5px}
@media(max-width:1100px){.party-hero{gap:25px}.party-copy .actions{flex-wrap:wrap}header{gap:16px}nav{gap:12px}}
@media(max-width:760px){.party-hero{grid-template-columns:1fr;padding-top:125px}.party-copy h1{font-size:clamp(2.6rem,10vw,4.4rem)}.party-poster{margin-top:15px}.featured-event{grid-template-columns:1fr;gap:25px}.event-cards{grid-template-columns:1fr}.events .section-head{display:block}.event-info .btn{white-space:normal;text-align:center}.season-heading{margin-top:60px}.events-page{padding-top:90px}.events-page .wrap{padding-top:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}

[hidden]{display:none!important}.filters{margin-top:20px}.event-cards.hidden{display:none}.calendar p{padding:18px 0;border-bottom:1px solid #554453}
.quote-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.quote-form button[disabled]{cursor:wait;opacity:.72}.quote-form .form-note.success{color:#bfffd0;font-weight:700}.quote-form .form-note.error{color:#ffd0d0;font-weight:700}

/* Resumed homepage updates */
body:has(main#home) header{top:0}
.brand>b{min-width:58px;text-align:center;padding-inline:6px}
.party-hero{padding-top:120px}
.party-copy .actions{flex-wrap:wrap}
.party-poster{overflow:hidden;border:0;border-radius:28px;box-shadow:0 20px 80px #e5008540}
.party-poster img{transform:scale(1.015)}
.theme-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,300px)}
.theme-card.big{grid-row:span 2}
.theme-card.baby-card{grid-column:span 2}
@media(max-width:1000px){.theme-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.theme-card.big,.theme-card.baby-card{grid-row:auto;grid-column:auto}.theme-card{min-height:300px}}
@media(max-width:680px){.brand>b{font-size:1.25rem;min-width:52px}.party-hero{padding-top:100px}}
