:root{--navy:#140d2e;--pink:#de42b8;--yellow:#ffd469;--cream:#f5efbd;--green:#74c9c5;--blue:#24143d}body{background:var(--navy);color:var(--cream)}.site-header{position:relative;background:#140d2e;border-bottom:2px solid var(--pink)}.nav{min-height:64px}.brand{color:var(--yellow);text-shadow:none}.nav-links{font-size:.88rem}.nav-links .btn{font-size:.8rem}.btn{background:var(--yellow);border:0;border-radius:30px;box-shadow:none;min-height:44px;color:#180d29}.btn:hover{box-shadow:none;transform:translateY(-2px)}.btn.secondary{background:var(--pink);color:var(--navy)}.hero{display:block;min-height:0;background:#140d2e;border:0}.hero:before,.hero:after{display:none}.hero .art-heading{margin:0;padding:0;max-width:none;line-height:0;text-shadow:none;-webkit-text-stroke:0}.art-heading img{display:block;width:100%;height:auto}.hero-details{padding:8px 0 28px}.hero .lead{font-size:clamp(1.6rem,3.7vw,3.5rem);color:var(--cream);background:none;border:0;box-shadow:none;margin:0 auto;padding:0;text-transform:uppercase}.hero .place{font-size:clamp(1rem,2.2vw,2rem);color:var(--yellow);background:none;padding:0;margin:0 auto;text-transform:uppercase}.hero .age{font-family:'Rye',Georgia,serif;margin:0 auto 12px}.stages{padding:18px 0 48px;border:0;background:var(--navy)}.stages>.wrap{width:min(1480px,calc(100% - 32px))}.stages .section-head{display:none}.stage-grid{gap:24px}.stage{min-height:290px;padding:28px 28px 28px 57%;border:5px solid var(--pink);border-radius:60px 95px 65px 45px;box-shadow:0 0 0 7px #54206c,inset 0 0 0 4px #281139;justify-content:center;background:linear-gradient(90deg,transparent 36%,#140d2e 57%),url('preview-castle.webp') left center/56% 100% no-repeat}.stage.portal{border-color:var(--pink);background:linear-gradient(90deg,transparent 36%,#140d2e 57%),url('preview-portal.webp') left center/56% 100% no-repeat;border-radius:95px 60px 45px 65px}.stage>.eyebrow{display:none}.stage h3{font-size:clamp(1.6rem,2.8vw,2.8rem);text-transform:uppercase;color:var(--cream);text-shadow:none;margin:0 0 18px}.stage p{font-weight:400;font-size:1rem}.stage .btn{align-self:flex-start;font-size:.85rem;padding:9px 24px}.intro{background:radial-gradient(ellipse at top,#34204b,var(--navy) 70%);border-top:3px solid #54206c}.intro h2,.stages h2,.lineup h2,.tickets h2,.info h2,.faq h2{color:var(--cream)}.features span,.ticket,.pillar,.faq-list details{background:#1d1235;border-color:#a83caa;border-radius:20px;box-shadow:none}.section{padding:80px 0}.lineup{background:#201239;border-top:3px solid var(--pink);border-bottom:3px solid var(--pink)}.lineup .wrap{border:0;box-shadow:none;background:transparent}.tickets{background:linear-gradient(#140d2e,#2b1645)}.camping{background:#172b36;border-top:3px solid #6cbcb6}.camping-art{border:4px solid #a843ac;border-radius:50px 22px;box-shadow:none}.protect{background:radial-gradient(ellipse at top,#274f4b,#142733 70%);border-top:3px solid #6cbcb6}.cleanup-rewards{background:#1d243a;border-radius:24px;box-shadow:none}.info{background:#211337;border-top:3px solid var(--pink)}.faq{background:#140d2e;border-top:3px solid #54206c}.footer{background:#100923;border-top:3px solid var(--pink)}.section-head p,.intro p,.split p,.info-grid p,.ticket p{color:var(--cream)}.text-link{font-size:1rem}.status{font-size:.9rem!important}.features span{font-size:1rem}.eyebrow{font-size:.9rem}.footer strong{color:var(--yellow)}
@media(max-width:1000px){.stage{padding-left:52%;padding-right:18px}.stage h3{font-size:1.7rem}.stage p{font-size:1rem}.nav-links{gap:15px;font-size:.8rem}}
@media(max-width:760px){.nav-links{top:66px;background:#140d2e;font-size:1rem}.hero .art-heading{width:100%;overflow:hidden}.art-heading img{width:100%;max-width:none;margin-left:0}.stage-grid{grid-template-columns:1fr;gap:28px}.stage,.stage.portal{min-height:300px;padding-left:52%;border-radius:40px;background-size:auto,56% 100%}.hero .lead{font-size:clamp(1.45rem,5vw,2rem)}.hero .place{font-size:1rem}.hero-details{padding-top:18px}.section{padding:60px 0}.stages{padding:20px 0 45px}}
@media(max-width:420px){.stage,.stage.portal{min-height:370px;padding:190px 22px 24px;background-size:auto,100% 220px;background-position:center,left top;background-image:linear-gradient(0deg,#140d2e 0%,#140d2e 35%,transparent 67%),url('preview-castle.webp')}.stage.portal{background-image:linear-gradient(0deg,#140d2e 0%,#140d2e 35%,transparent 67%),url('preview-portal.webp')}.stage h3{margin-bottom:8px}.stage p{margin-bottom:14px}.nav-links .btn{font-size:.9rem}}
/* Illustrated sections from the approved Wonderland direction. */
.hero-details{width:100%;max-width:none;position:relative;padding:22px 22% 32px;background:#140d2e url('wonderland-section.webp') center/100% 100% no-repeat}.hero .lead{position:relative;font-size:clamp(1.55rem,3.4vw,3.25rem)}.hero .place{position:relative;font-size:clamp(1rem,1.9vw,1.75rem)}.hero-details .age{margin-bottom:14px}.hero-details .btn{position:relative}
.intro{background:#140d2e url('wonderland-section.webp') center/100% 100% no-repeat;padding:64px 0 70px;border:0}.intro>.wrap{width:min(1160px,calc(100% - 48px))}.intro h2{max-width:750px}.intro p{max-width:640px;background:#140d2eab;border-radius:20px;padding:14px 22px}.intro .features{margin-top:30px}.features span{background:#1d1235ed;min-height:75px}
.lineup{background:#140d2e url('wonderland-section.webp') center/cover no-repeat}.lineup .wrap{max-width:800px;background:#140d2ed9;border-radius:36px}.tickets,.faq{background:#140d2e url('wonderland-section.webp') center/100% 100% no-repeat}.tickets .section-head,.faq .section-head{padding:20px 26px;background:#140d2edb;border-radius:26px;width:fit-content}.ticket,.faq-list details{background:#1d1235f2}.info{background:#140d2e url('wonderland-section.webp') center/100% 100% no-repeat}.info>.wrap{background:#140d2edb;padding:28px 32px;border-radius:28px}.protect{background:linear-gradient(#142733c9,#142733dc),url('wonderland-section.webp') center/cover no-repeat}.camping{background:linear-gradient(#172b36b8,#172b36d9),url('wonderland-section.webp') center/cover no-repeat}.camping .split>div:first-child{background:#172b36db;padding:24px;border-radius:28px}
@media(max-width:760px){.hero-details{padding:22px 12% 28px}.intro{background-size:auto 100%;padding:46px 0 56px}.intro p{padding:14px;max-width:calc(100% - 20px)}.hero .lead{font-size:clamp(1.35rem,4.6vw,2rem)}.hero .place{font-size:1rem}.intro>.wrap{width:calc(100% - 30px)}.tickets,.faq,.info{background-size:auto 100%}.info>.wrap{padding:25px}.tickets .section-head,.faq .section-head{padding:20px}.lineup .wrap{width:calc(100% - 45px)}}
/* Keep artwork proportional and vary each section's composition. */
.hero-details{background-size:cover;background-position:center 34%;padding-top:28px;padding-bottom:30px}.intro{background-size:cover;background-position:center}.lineup{background-color:#140d2e;background-image:linear-gradient(90deg,transparent 18%,#140d2e 48%),url('preview-castle.webp');background-position:center,left center;background-size:100% 100%,48% auto;background-repeat:no-repeat;padding:64px 0;border-top:2px solid #74318c;border-bottom:2px solid #74318c}.lineup .wrap{width:52%;max-width:780px;margin:0 4% 0 auto;padding:24px 30px;background:transparent;border-radius:0}.tickets{background:linear-gradient(140deg,#25113c,#140d2e 65%)}.faq{background:#140d2e}.info{background:linear-gradient(110deg,#201538,#172e3c)}.info>.wrap{background:transparent;padding:0}.protect{background:radial-gradient(ellipse at top,#24534c,#142733 75%)}.camping{background:#172b36}.camping .split>div:first-child{background:transparent;padding:0}.tickets .section-head,.faq .section-head{background:transparent;padding:0}.hero .lead,.hero .place,.hero .age{text-shadow:0 2px 6px #140d2e}
@media(max-width:760px){.hero-details{background-size:cover;background-position:center 34%;padding-left:10%;padding-right:10%}.lineup{background-image:linear-gradient(0deg,#140d2e 0%,#140d2e 40%,transparent 85%),url('preview-castle.webp');background-position:center,center top;background-size:100% 100%,100% auto;padding:230px 0 45px}.lineup .wrap{width:calc(100% - 32px);max-width:none;margin:auto;padding:24px 16px}.intro{background-size:cover}.info>.wrap{padding:0}.tickets .section-head,.faq .section-head{padding:0}}
.integrated-hero{position:relative;isolation:isolate}.integrated-hero .art-heading{margin:0;line-height:0}.integrated-hero .art-heading img{width:100%;height:auto;display:block;margin:0}.integrated-ticket{position:absolute;right:8%;bottom:7%;z-index:1;font-size:.85rem;min-height:44px;padding:10px 23px;box-shadow:0 2px 10px #140d2e80}
@media(max-width:760px){.integrated-ticket{right:3%;bottom:3%;font-size:.75rem;min-height:36px;padding:7px 13px}.integrated-hero .art-heading{overflow:visible}}
@media(max-width:520px){.integrated-ticket{position:relative;right:auto;bottom:auto;margin:-4px auto 12px;display:inline-flex}.integrated-hero{background:#140d2e}}
.integrated-hero .integrated-ticket{position:relative;right:auto;bottom:auto;display:inline-flex;margin:0 auto 14px;min-height:44px;font-size:.85rem;padding:10px 23px}.btn,.btn.secondary,.menu-toggle,.features span,.features span:nth-child(2n){border:2px solid var(--yellow)}
/* Final responsive and accessibility polish. */
.skip-link{position:absolute;z-index:20;left:16px;top:-100px;background:var(--yellow);color:var(--navy);padding:12px 18px;border-radius:8px;font-weight:700}.skip-link:focus{top:12px}.mobile-event-details{display:none}.nav-links{font-size:.875rem;gap:18px}.nav-links .btn{font-size:.875rem;min-height:44px}.nav-links a:not(.btn){padding:10px 0}.menu-toggle{min-height:44px;min-width:70px}.brand{font-size:1rem}.stage .btn{font-size:.875rem;line-height:1.5}.ticket-announcement{display:inline-block;margin-top:20px;padding:8px 16px;border:2px solid var(--yellow);border-radius:24px;color:var(--yellow);font-weight:700}.ticket .status{font-size:.95rem!important}.ticket h3{line-height:1.3}.faq-list summary{min-height:64px}.faq-list details p{font-size:1rem}.features span{line-height:1.4}.eyebrow{line-height:1.5}.ticket,.pillar,.info-grid>div{min-width:0}.section-head p{line-height:1.7}.footer{font-size:.95rem}.info-grid p{overflow-wrap:anywhere}
@media(min-width:761px) and (max-width:1040px){.nav-links{gap:12px}.nav-links .btn{padding:8px 12px}.stage-grid{gap:24px}.stage,.stage.portal{min-height:355px;padding-right:20px}.stage h3{font-size:1.75rem}.stage .btn{padding:8px 14px}}
@media(max-width:760px){.nav-links{font-size:1rem;gap:8px}.nav-links a{min-height:44px}.nav-links.open{box-shadow:0 16px 28px #0008}.stage,.stage.portal{min-height:340px}.features span{font-size:1rem}.faq-list summary{font-size:1rem}.brand{font-size:1rem}}
@media(max-width:520px){.mobile-event-details{display:block;margin:6px auto 12px;color:var(--cream);padding:0 15px}.mobile-event-details p{margin:0 auto;font-weight:700;font-size:1rem;line-height:1.6}.mobile-event-details p:first-child{font-size:1.2rem;color:var(--yellow)}.integrated-hero .integrated-ticket{margin-bottom:18px}.stage,.stage.portal{padding-bottom:24px}.stage p{font-size:1rem}.stage h3{font-size:2rem}.section h2,.intro h2{font-size:clamp(2rem,9vw,2.7rem);line-height:1.2}.ticket{padding:25px}.pillar{padding:24px}.faq-list summary{padding:18px}.faq-list details p{padding:0 18px 20px}.features{gap:12px}.intro p{background:#140d2ee6}.cleanup-rewards h3{font-size:1.6rem}}
.instagram-link{display:inline-block;margin-top:14px;color:var(--yellow);text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:8px 0}.instagram-link:hover{color:var(--cream)}
@media(min-width:761px) and (max-width:1040px){.nav-links{gap:9px}.nav{gap:12px}.brand{font-size:.9rem}}
.instagram-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:8px;text-decoration:none;border-radius:10px}.instagram-link:hover{background:#ffffff0d}.instagram-link svg{display:block;flex-shrink:0}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.integrated-hero .art-heading{line-height:0;max-width:none;margin:0}
/* Stage artwork keeps its native proportions instead of stretching backgrounds. */
.stage-grid .stage,.stage-grid .stage.portal{display:grid;grid-template-columns:48% 52%;min-height:0;padding:0;background:#140d2e;border-radius:48px;align-items:stretch}.stage-image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;min-width:0}.stage-copy{display:flex;flex-direction:column;justify-content:center;padding:26px 23px;min-width:0}.stage-copy>.eyebrow{display:none}.stage-copy h3{margin:0 0 16px;font-size:clamp(1.6rem,2.7vw,2.65rem)}.stage-copy p{font-size:1rem;line-height:1.6}.stage-copy .btn{align-self:flex-start;padding:9px 16px}
@media(max-width:1000px) and (min-width:761px){.stage-grid .stage,.stage-grid .stage.portal{grid-template-columns:1fr}.stage-image{height:auto;object-fit:contain}.stage-copy{padding:24px}}
@media(max-width:760px){.stage-grid .stage,.stage-grid .stage.portal{grid-template-columns:1fr;border-radius:34px}.stage-image{width:100%;height:auto;object-fit:contain}.stage-copy{padding:25px}.stage-copy h3{font-size:2rem}.stage-copy p{font-size:1rem}.stage-copy .btn{min-height:44px}.stage-grid{gap:28px}}
.footer-contact{display:flex;align-items:center}.footer-contact .btn{min-height:44px;padding:10px 26px}

.signup-section{background:radial-gradient(ellipse at 10% 25%,#44305c 0,transparent 55%),#17132b;border-block:1px solid #a07539}.signup-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}.signup-section h2{color:#f7dc98}.signup-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.signup-fields label{display:grid;gap:8px;font-size:15px}.signup-fields label span{font-size:12px;color:#c7bbd4}.signup-fields input{width:100%;box-sizing:border-box;border:1px solid #e5c76b;border-radius:8px;background:#100d20;color:#fff;padding:13px;font:inherit}.signup-fields input:focus{outline:2px solid #f7dc98;outline-offset:3px}.signup-consent{display:flex;gap:12px;margin-top:22px;align-items:flex-start;font-size:14px;line-height:1.6}.signup-consent input{flex:none;margin-top:5px;accent-color:#e5c76b;width:18px;height:18px}.signup-section .signup-privacy{font-size:12px;color:#c7bbd4;line-height:1.6}.signup-privacy a{color:#f7dc98;overflow-wrap:anywhere}.signup-trap{position:absolute;left:-10000px}.signup-section button{cursor:pointer;font:inherit}.signup-section button:disabled{opacity:.65;cursor:wait}#signup-status{font-size:14px;margin-bottom:0;min-height:24px}@media(max-width:700px){.signup-layout{grid-template-columns:1fr;gap:24px}.signup-fields{grid-template-columns:1fr}.signup-section{padding-block:48px}}
