:root{color-scheme:dark;--navy:#071323;--blue:#07395e;--pink:#eba3de;--yellow:#ffe258;--cream:#fff2ce;--green:#5aa98b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--navy);color:var(--cream);font:16px/1.6 'DM Sans',system-ui,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}.wrap{width:min(1200px,calc(100% - 40px));margin:auto}.eyebrow{font-family:'Rye',Georgia,serif;color:var(--yellow);font-size:.82rem;letter-spacing:.05em;text-transform:uppercase}h1,h2,h3{font-family:'Rye',Georgia,serif;font-weight:400;line-height:1.14;margin:0}h2{font-size:clamp(2.2rem,4.6vw,4.3rem)}p{max-width:680px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:11px 26px;background:var(--pink);border:3px solid #080b14;border-radius:12px;box-shadow:5px 5px 0 #080b14;color:#080b14;font-family:'Rye',Georgia,serif;text-align:center;font-size:.83rem;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 #080b14}.btn.secondary{background:var(--yellow)}
.site-header{position:absolute;z-index:5;top:0;width:100%;background:#070d17f2;border-bottom:3px solid var(--pink)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:'Rye',Georgia,serif;color:var(--pink);font-size:1.05rem;line-height:1.03;text-shadow:2px 2px #671e55}.nav-links{display:flex;align-items:center;gap:23px;font-family:'Rye',Georgia,serif;font-size:.7rem}.nav-links a:not(.btn):hover{color:var(--pink)}.nav-links .btn{min-height:38px;padding:5px 15px;font-size:.66rem;box-shadow:3px 3px 0 #000}.menu-toggle{display:none;border:2px solid var(--pink);color:var(--cream);background:transparent;border-radius:8px;padding:7px 12px}
.hero{min-height:100svh;position:relative;isolation:isolate;display:flex;align-items:center;text-align:center;background:var(--blue) url('hero-v2.jpg') center/cover no-repeat;border-bottom:18px solid var(--pink)}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#03101b66 0%,#03101b38 25%,#03101bb8 48%,#03101b8e 72%,#03101b22 100%)}.hero:after{content:"";position:absolute;bottom:-18px;left:0;right:0;height:18px;background:repeating-conic-gradient(#080b14 0 25%,var(--pink) 0 50%) 0 0/36px 36px}.hero-content{padding-top:120px;padding-bottom:90px}.hero h1{font-size:clamp(3.5rem,8.2vw,8.5rem);line-height:.97;color:var(--pink);-webkit-text-stroke:2px #080b14;text-shadow:4px 5px 0 #792166,8px 10px 0 #080b14;max-width:1150px;margin:23px auto 32px}.hero h1 span{display:block}.hero .eyebrow{display:inline-block;padding:8px 20px;background:#0b3150d9;border:2px solid var(--yellow);border-radius:50% 50% 8px 8px}.hero .lead{font-family:'Rye',Georgia,serif;font-size:clamp(1.15rem,2.5vw,2rem);color:#080b14;background:var(--cream);border:3px solid #080b14;padding:9px 22px;display:table;margin:0 auto 12px;box-shadow:5px 6px 0 var(--pink)}.hero .place{font-family:'Rye',Georgia,serif;font-size:clamp(.78rem,1.5vw,1.1rem);background:#071323dd;display:table;padding:5px 12px;margin:0 auto 24px}.hero-actions{display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.scroll-cue{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#fff;text-shadow:1px 2px #000}
.intro{background:radial-gradient(circle at 50% 0%,#125079,#071323 67%);padding:95px 0 105px;text-align:center}.intro h2{color:var(--pink);margin:12px auto 22px}.intro p{margin:0 auto;color:#efe3d6}.features{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:55px}.features span{display:grid;place-items:center;min-height:95px;padding:15px;background:#102d42;border:3px solid var(--pink);box-shadow:5px 6px 0 #000;font-family:'Rye',Georgia,serif;font-size:.83rem}.features span:nth-child(2n){border-color:var(--yellow)}.section{padding:100px 0}.section-head{margin-bottom:38px}.section-head p{color:#eadedb;margin:16px 0 0}.stages{background:linear-gradient(135deg,#10142c,#0a3350 55%,#11142b);border-top:10px solid #030810}.stages h2{color:var(--pink)}.stage-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stage{min-height:555px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding:31px;border:5px solid var(--pink);box-shadow:9px 9px 0 #02080c;background:linear-gradient(0deg,#061322 0%,#061322e6 26%,transparent 62%),url('castle.jpg') center top/cover no-repeat}.stage.portal{border-color:#78d5be;background:linear-gradient(0deg,#061322 0%,#061322e6 26%,transparent 62%),url('portal.jpg') center top/cover no-repeat}.stage h3{font-size:clamp(2rem,3.3vw,3rem);color:var(--cream);text-shadow:3px 3px #000;margin:8px 0}.stage p{color:#fff2e1;font-weight:600;margin:0 0 18px}.text-link{font-family:'Rye',Georgia,serif;color:var(--yellow);font-size:.85rem}.portal .text-link{color:#a9f3df}
.lineup{text-align:center;background:repeating-conic-gradient(#071b31 0 15deg,#0a2b49 15deg 30deg) 50% 0/100% 100%;border-top:10px solid #02080c;border-bottom:10px solid var(--pink)}.lineup .wrap{padding:35px 20px;border:3px solid var(--pink);background:#071525e8;box-shadow:9px 9px 0 #02080c}.lineup h2{color:var(--pink);margin:12px 0}.lineup p{margin:18px auto 30px}.tickets{background:linear-gradient(145deg,#1a1641,#073759)}.tickets h2{color:var(--pink)}.ticket-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.ticket{padding:33px;min-height:228px;background:#081323;border:3px solid var(--pink);box-shadow:6px 7px 0 #02080c}.ticket:nth-child(2){border-color:#80dbca}.ticket:nth-child(3){border-color:var(--yellow)}.ticket h3{font-size:1.5rem}.ticket p{color:#e8dedd;min-height:60px}.ticket .status{color:var(--yellow);font-family:'Rye',Georgia,serif;font-size:.78rem}
.camping{background:#0a2c37;border-top:10px solid #02080c}.split{display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center}.split h2{color:var(--yellow)}.split p{color:#e9e6d6}.camping-art{min-height:390px;border:7px solid var(--green);box-shadow:10px 10px 0 #02080c;background:#071d27 url('camping.webp') center/cover no-repeat}.protect{text-align:center;background:radial-gradient(circle at 50% 0,#175a42,#092c36 55%,#071d27);border-top:12px solid #02080c}.protect h2{color:var(--yellow)}.protect p{margin:20px auto 0;color:#e8f0df}.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px;text-align:left}.pillar{padding:27px;border:3px solid #8ad4ae;background:#081d24;box-shadow:5px 6px 0 #02080c}.pillar h3{font-size:1.13rem;color:var(--yellow)}.pillar p{margin:13px 0 0;font-size:.95rem}.info{background:#121a35;border-top:10px solid var(--pink)}.info h2{color:var(--pink)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:40px}.info-grid div{border-left:4px solid var(--yellow);padding-left:22px}.info-grid h3{font-size:1.2rem}.info-grid p{color:#e2dcdf}.footer{background:#070d17;border-top:12px solid var(--pink);padding:42px 0 58px;color:#ddd4e2;font-size:.84rem}.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer strong{font-family:'Rye',Georgia,serif;color:var(--pink)}section[id]{scroll-margin-top:78px}
@media(max-width:900px){.nav-links{gap:13px;font-size:.64rem}.nav-links .btn{font-size:.62rem}.stage{min-height:500px}}
@media(max-width:760px){.nav{min-height:66px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:66px;left:0;right:0;padding:22px;background:#070d17;flex-direction:column;align-items:stretch;font-size:.82rem;border-bottom:3px solid var(--pink)}.nav-links.open{display:flex}.nav-links .btn{align-self:start}.hero-content{padding-top:120px;padding-bottom:75px}.hero h1{font-size:clamp(3.1rem,12vw,6rem)}.features{grid-template-columns:repeat(2,1fr)}.features span:last-child{grid-column:1/-1}.stage-grid,.split,.pillars,.info-grid{grid-template-columns:1fr}.ticket-grid{grid-template-columns:1fr}.ticket p{min-height:0}.section{padding:75px 0}.stage{min-height:480px}.camping-art{min-height:280px}.scroll-cue{display:none}}
@media(max-width:520px){.wrap{width:min(100% - 30px,1200px)}.hero{min-height:780px}.hero:before{background:linear-gradient(180deg,#03101b55,#03101bd9 25% 76%,#03101b44)}.hero h1{font-size:clamp(2.75rem,12vw,4.5rem);text-shadow:3px 3px 0 #751967,6px 6px 0 #000;overflow-wrap:anywhere}.hero .eyebrow{font-size:.69rem}.hero .lead{font-size:1.05rem}.hero .place{font-size:.73rem}.hero-actions .btn{width:100%}.brand{font-size:.84rem}.stage{min-height:420px;padding:22px}.stage h3{font-size:2rem}.stage p{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
.faq{background:linear-gradient(150deg,#0a2943,#11152d);border-top:10px solid #070d17}.faq h2{color:var(--pink)}.faq-list{max-width:900px;display:grid;gap:13px}.faq-list details{border:3px solid var(--pink);background:#071323;box-shadow:5px 5px 0 #02080c}.faq-list details:nth-child(2n){border-color:#8ad4ae}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 23px;font-family:'Rye',Georgia,serif;font-size:1rem;line-height:1.45}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';color:var(--yellow);font:700 1.6rem/1 'DM Sans',sans-serif}.faq-list details[open] summary:after{content:'−'}.faq-list details p{margin:0;padding:0 23px 23px;color:#e7e1dc}.faq-list details a{color:var(--yellow);text-decoration:underline;text-underline-offset:3px}.faq-list summary:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}@media(max-width:520px){.faq-list summary{font-size:.88rem;padding:17px}.faq-list details p{padding:0 17px 19px}}
.cleanup-rewards{max-width:920px;margin:48px auto 0;padding:30px 38px;border:3px solid var(--yellow);background:#071d27;box-shadow:8px 8px 0 #02080c;text-align:left}.cleanup-rewards h3{font-size:clamp(1.35rem,2.6vw,2rem);color:var(--pink);margin:10px 0}.cleanup-rewards p{margin:0;color:#ecf1df}@media(max-width:520px){.cleanup-rewards{padding:24px;margin-top:36px}}
.ticket-grid{grid-template-columns:repeat(6,1fr)}.ticket{grid-column:span 2}.ticket:nth-child(4){grid-column:2/span 2;border-color:#8ad4ae}.ticket:nth-child(5){grid-column:4/span 2;border-color:#f4a3d9}@media(max-width:760px){.ticket-grid{grid-template-columns:1fr}.ticket,.ticket:nth-child(4),.ticket:nth-child(5){grid-column:auto}}
