@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Roboto+Slab:wght@400;700&display=swap";body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}#root{min-height:100vh;font-family:Roboto Slab,serif}.App{min-height:100vh;background:#f4e5c2}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center;color:#f4e5c2;position:relative;background:linear-gradient(#1d3a1bb3,#1d3a1bd9),url(/vignette-forest.jpg) center/cover;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,#3d5a3b4d,#2d4a2b80 40%,#1d3a1bb3);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:0}.hero:after{content:"🌻";position:absolute;bottom:10%;left:10%;font-size:3rem;opacity:.6;animation:sway 4s ease-in-out infinite}.hero-content{max-width:800px;margin-bottom:3rem;animation:fadeInUp 1s ease-out;position:relative;z-index:2}.title{font-family:Bebas Neue,sans-serif;font-size:clamp(4rem,10vw,8rem);margin-bottom:0;font-weight:400;letter-spacing:.1em;text-shadow:4px 4px 0 #1d3a1b,6px 6px 0 rgba(229,168,58,.3),8px 8px 20px rgba(0,0,0,.3);color:#e5a83a;line-height:.9}.subtitle{font-family:Bebas Neue,sans-serif;font-size:clamp(1.5rem,4vw,2.5rem);margin-bottom:2rem;letter-spacing:.3em;color:#f4e5c2;text-shadow:2px 2px 0 rgba(29,58,27,.5)}.event-date{font-size:1.3rem;margin-bottom:2rem;display:inline-flex;align-items:center;gap:.5rem;background:#f4e5c2e6;color:#2d4a2b;padding:1rem 2rem;border-radius:0;border:3px solid #e5a83a;box-shadow:4px 4px #0003;font-weight:700;letter-spacing:.05em}.date-icon{font-size:1.5rem}.thank-you-message{margin-top:2rem;padding:1.5rem;background:#f4e5c2f2;border:3px solid #e5a83a;border-radius:0;max-width:600px;margin:2rem auto 0;box-shadow:4px 4px #0003}.thank-you-message p{color:#2d4a2b;font-size:1.1rem;line-height:1.6;margin:.5rem 0;font-weight:600}.event-photos-section{padding:4rem 2rem;background:linear-gradient(180deg,#f4e5c2,#e5d5b2)}.gallery-subtitle{text-align:center;color:#5a7558;font-style:italic;margin-bottom:2rem;font-size:1.1rem}.event-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.event-photo-item{position:relative;aspect-ratio:1;overflow:hidden;border:4px solid #2d4a2b;box-shadow:4px 4px #2d4a2b;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;background:#2d4a2b}.event-photo-item:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #2d4a2b}.event-photo-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,opacity .3s ease}.event-photo-item:hover img{transform:scale(1.1);opacity:.95}.photo-modal{position:fixed;inset:0;background:#1d3a1bf2;display:flex;justify-content:center;align-items:center;z-index:2000;padding:2rem;animation:fadeIn .3s ease;cursor:pointer}.photo-modal-content{max-width:90%;max-height:90%;position:relative;animation:slideUp .3s ease}.photo-modal-content img{max-width:100%;max-height:90vh;display:block;border:4px solid #f4e5c2;box-shadow:0 0 30px #00000080}.photo-modal .close-btn{position:absolute;top:-50px;right:0;background:#f4e5c2;color:#2d4a2b;border:3px solid #2d4a2b;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:3px 3px #0000004d}.photo-modal .close-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #0000004d;background:#e5a83a}.cta-button{background:#e5a83a;color:#2d4a2b;border:4px solid #f4e5c2;padding:1rem 3rem;font-size:1.3rem;font-family:Bebas Neue,sans-serif;letter-spacing:.1em;border-radius:0;cursor:pointer;transition:all .3s ease;font-weight:400;box-shadow:4px 4px #0000004d;text-transform:uppercase}.cta-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #0000004d;background:#d4942a}.countdown{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp 1s ease-out .3s both;position:relative;z-index:2}.countdown-item{background:#f4e5c2e6;border:3px solid #e5a83a;padding:1.5rem;border-radius:0;min-width:100px;box-shadow:3px 3px #0003}.countdown-number{display:block;font-size:2.5rem;font-weight:700;margin-bottom:.5rem;color:#2d4a2b;font-family:Bebas Neue,sans-serif}.countdown-label{font-size:.9rem;text-transform:uppercase;color:#2d4a2b;letter-spacing:1px;font-weight:700}.rsvp-modal{position:fixed;inset:0;background:#2d4a2be6;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease}.rsvp-content{background:#f4e5c2;padding:2rem;border:4px solid #2d4a2b;border-radius:0;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease;box-shadow:6px 6px #0000004d}.rsvp-content iframe{background:#fff;border:2px solid #2d4a2b;min-height:500px}.close-btn{position:absolute;top:1rem;right:1rem;background:#2d4a2b;color:#f4e5c2;border:none;font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.close-btn:hover{background:#3d5a3b}.rsvp-content h2{color:#2d4a2b;margin-bottom:1.5rem;font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:.05em}.rsvp-content form{display:flex;flex-direction:column;gap:1rem}.rsvp-content input,.rsvp-content textarea{padding:.8rem;border:2px solid #2d4a2b;border-radius:0;font-size:1rem;transition:border .3s ease;background:#fff;font-family:Roboto Slab,serif}.rsvp-content input:focus,.rsvp-content textarea:focus{outline:none;border-color:#e5a83a;box-shadow:0 0 0 2px #e5a83a4d}.submit-btn{background:#2d4a2b;color:#f4e5c2;border:none;padding:1rem;font-size:1.2rem;font-family:Bebas Neue,sans-serif;letter-spacing:.1em;border-radius:0;cursor:pointer;transition:all .3s ease;text-transform:uppercase;box-shadow:3px 3px #0000004d}.submit-btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #0000004d;background:#3d5a3b}.info-section,.lineup-section,.details-section,.gallery-section{padding:4rem 2rem;background:#f4e5c2;position:relative}.sponsor-section{padding:4rem 2rem;background:linear-gradient(180deg,#e5d5b2,#f4e5c2)}.sponsor-container{display:flex;align-items:center;justify-content:center;gap:3rem;max-width:800px;margin:3rem auto;flex-wrap:wrap}.sponsor-logo{flex-shrink:0}.sponsor-logo img{width:200px;height:200px;object-fit:contain;border:4px solid #2d4a2b;border-radius:50%;padding:1rem;background:#fff;box-shadow:6px 6px #2d4a2b;transition:transform .3s ease}.sponsor-logo img:hover{transform:translate(-2px,-2px);box-shadow:8px 8px #2d4a2b}.sponsor-info{text-align:center;max-width:400px}.sponsor-info h3{font-family:Bebas Neue,sans-serif;font-size:2.5rem;color:#2d4a2b;margin-bottom:.5rem;letter-spacing:.05em}.sponsor-tagline{font-size:1.3rem;color:#5a7558;font-style:italic;margin-bottom:1rem}.sponsor-info p{color:#2d4a2b;line-height:1.6}.sponsor-bonus{margin-top:1rem;padding:1rem;background:#e5a83a1a;border-left:4px solid #e5a83a;font-weight:600;border-radius:0}.sponsor-link{color:#2d4a2b;text-decoration:none;transition:color .3s ease}.sponsor-link:hover{color:#e5a83a}.sponsor-website{display:inline-block;margin-top:1rem;padding:.5rem 1rem;background:#2d4a2b;color:#f4e5c2;text-decoration:none;font-family:Bebas Neue,sans-serif;letter-spacing:.05em;font-size:1.1rem;border:2px solid #2d4a2b;transition:all .3s ease;box-shadow:3px 3px #0003}.sponsor-website:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #0003;background:#3d5a3b}.lineup-section{background:linear-gradient(180deg,#f4e5c2,#e5d5b2)}.details-section{background:linear-gradient(180deg,#e5d5b2,#f4e5c2)}.container{max-width:1200px;margin:0 auto}.container h2{font-size:clamp(2.5rem,5vw,4rem);color:#2d4a2b;margin-bottom:2rem;text-align:center;font-family:Bebas Neue,sans-serif;letter-spacing:.1em;text-shadow:3px 3px 0 rgba(229,168,58,.3)}.lead{font-size:1.2rem;color:#2d4a2b;text-align:center;max-width:800px;margin:0 auto;line-height:1.8}.lineup-note{font-style:italic;color:#5a7558;text-align:center;font-size:1.1rem;margin-top:-1rem;margin-bottom:2rem}.performers{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.performer{background:#fff;padding:2rem;border:3px solid #2d4a2b;border-radius:0;text-align:center;box-shadow:4px 4px #2d4a2b;transition:transform .3s ease,box-shadow .3s ease;position:relative}.performer:before{content:"🎸";position:absolute;top:-15px;right:20px;font-size:2rem;transform:rotate(15deg)}.performer:nth-child(2):before{content:"🎻"}.performer:nth-child(3):before{content:"🎪"}.performer:nth-child(4):before{content:"🎵"}.performer:nth-child(5):before{content:"🎤"}.performer:nth-child(6):before{content:"🥁"}.performer:hover{transform:translate(-3px,-3px);box-shadow:7px 7px #2d4a2b}.performer-time{background:#e5a83a;color:#2d4a2b;padding:.5rem 1rem;display:inline-block;margin-bottom:1rem;font-weight:700;font-family:Bebas Neue,sans-serif;letter-spacing:.05em;border:2px solid #2d4a2b}.performer h3{color:#2d4a2b;margin-bottom:.5rem;font-size:1.5rem;font-family:Bebas Neue,sans-serif;letter-spacing:.05em}.performer p{color:#5a7558;font-style:italic;font-size:1rem}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.detail-card{text-align:center;padding:2rem;background:#fff;border:3px solid #2d4a2b;border-radius:0;transition:transform .3s ease;box-shadow:3px 3px #2d4a2b}.detail-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px #2d4a2b}.detail-icon{font-size:3rem;margin-bottom:1rem;filter:sepia(.3)}.detail-card h3{color:#2d4a2b;margin-bottom:1rem;font-size:1.5rem;font-family:Bebas Neue,sans-serif;letter-spacing:.05em}.detail-card p{color:#5a7558;line-height:1.6}.map-link{color:#e5a83a;text-decoration:none;font-weight:700;margin-top:1rem;display:inline-block;transition:color .3s ease;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem}.map-link:hover{color:#d4942a;text-decoration:underline}.poster-container{max-width:600px;margin:2rem auto 3rem}.festival-poster{width:100%;height:auto;border:4px solid #2d4a2b;box-shadow:6px 6px #2d4a2b;display:block}.image-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.gallery-image{position:relative;aspect-ratio:4/3;overflow:hidden;border:4px solid #2d4a2b;box-shadow:6px 6px #2d4a2b;transition:transform .3s ease,box-shadow .3s ease;cursor:pointer}.gallery-image:hover{transform:translate(-3px,-3px);box-shadow:9px 9px #2d4a2b}.gallery-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.gallery-image:hover img{transform:scale(1.05)}.faq-section{padding:4rem 2rem;background:linear-gradient(180deg,#f4e5c2,#e5d5b2)}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.faq-item{background:#fff;padding:2rem;border:3px solid #2d4a2b;border-radius:0;box-shadow:4px 4px #2d4a2b;transition:transform .3s ease,box-shadow .3s ease}.faq-item:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #2d4a2b}.faq-item h3{color:#2d4a2b;margin-bottom:1rem;font-size:1.3rem;font-family:Bebas Neue,sans-serif;letter-spacing:.05em}.faq-item p{color:#5a7558;line-height:1.6;font-size:1rem}.footer{background:#2d4a2b;color:#f4e5c2;padding:3rem 2rem;text-align:center;border-top:8px solid #e5a83a}.footer a{color:#e5a83a;text-decoration:none;transition:color .3s ease;font-weight:700}.footer a:hover{color:#f4e5c2;text-decoration:underline}.footer-note{margin-top:1rem;opacity:.9;font-size:.9rem;letter-spacing:.05em}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.theme-toggle{position:fixed;top:1rem;right:1rem;background:#e5a83a4d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #e5a83a;border-radius:50%;width:50px;height:50px;font-size:1.5rem;cursor:pointer;z-index:1000;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{transform:scale(1.1);background:#e5a83a80}.dark-mode{background:#1a1a1a}.dark-mode .hero{background:linear-gradient(#0a1a0ad9,#0a1a0af2),url(/vignette-forest-2.JPG) center/cover}.dark-mode .hero:before{background:radial-gradient(ellipse at top,#1d3a1b66,#0d2a0b99 40%,#0a1a0acc)}.dark-mode .title{color:#e5a83a;text-shadow:4px 4px 0 #0a1a0a,6px 6px 0 rgba(10,10,10,.5),8px 8px 20px rgba(229,168,58,.4)}.dark-mode .subtitle{color:#f4e5c2;text-shadow:2px 2px 0 rgba(10,10,10,.8)}.dark-mode .event-date{background:#e5a83a1a;color:#e5a83a;border-color:#e5a83a}.dark-mode .cta-button{background:#e5a83a;color:#0a1a0a;border-color:#e5a83a}.dark-mode .cta-button:hover{background:#d4942a}.dark-mode .countdown-item{background:#e5a83a1a;border-color:#e5a83a;color:#f4e5c2}.dark-mode .countdown-number{color:#e5a83a}.dark-mode .countdown-label{color:#f4e5c2}.dark-mode .info-section,.dark-mode .lineup-section,.dark-mode .details-section,.dark-mode .gallery-section,.dark-mode .faq-section,.dark-mode .sponsor-section{background:#1a1a1a}.dark-mode .sponsor-section{background:linear-gradient(180deg,#2a2a2a,#1a1a1a)}.dark-mode .sponsor-logo img{border-color:#e5a83a;box-shadow:6px 6px #e5a83a;background:#2a2a2a}.dark-mode .sponsor-logo img:hover{box-shadow:8px 8px #e5a83a}.dark-mode .sponsor-info h3{color:#e5a83a}.dark-mode .sponsor-tagline{color:#d4d4d4}.dark-mode .sponsor-info p{color:#f4e5c2}.dark-mode .sponsor-bonus{background:#e5a83a33;border-left-color:#e5a83a}.dark-mode .sponsor-link{color:#e5a83a}.dark-mode .sponsor-link:hover{color:#f4e5c2}.dark-mode .sponsor-website{background:#e5a83a;color:#0a1a0a;border-color:#e5a83a}.dark-mode .sponsor-website:hover{background:#d4942a;border-color:#d4942a}.dark-mode .lineup-section{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}.dark-mode .details-section{background:linear-gradient(180deg,#2a2a2a,#1a1a1a)}.dark-mode .faq-section{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}.dark-mode .container h2{color:#e5a83a;text-shadow:3px 3px 0 rgba(10,10,10,.5)}.dark-mode .lead{color:#f4e5c2}.dark-mode .lineup-note{color:#d4d4d4}.dark-mode .performer{background:#2a2a2a;border-color:#e5a83a;box-shadow:4px 4px #e5a83a}.dark-mode .performer:hover{box-shadow:7px 7px #e5a83a}.dark-mode .performer-time{background:#e5a83a;color:#0a0a0a;border-color:#0a0a0a}.dark-mode .performer h3{color:#f4e5c2}.dark-mode .performer p{color:#d4d4d4}.dark-mode .detail-card{background:#2a2a2a;border-color:#e5a83a;box-shadow:3px 3px #e5a83a}.dark-mode .detail-card:hover{box-shadow:5px 5px #e5a83a}.dark-mode .detail-card h3{color:#f4e5c2}.dark-mode .detail-card p{color:#d4d4d4}.dark-mode .map-link{color:#e5a83a}.dark-mode .map-link:hover{color:#f4e5c2}.dark-mode .festival-poster,.dark-mode .gallery-image{border-color:#e5a83a;box-shadow:6px 6px #e5a83a}.dark-mode .gallery-image:hover{box-shadow:9px 9px #e5a83a}.dark-mode .faq-item{background:#2a2a2a;border-color:#e5a83a;box-shadow:4px 4px #e5a83a}.dark-mode .faq-item:hover{box-shadow:6px 6px #e5a83a}.dark-mode .faq-item h3{color:#f4e5c2}.dark-mode .faq-item p{color:#d4d4d4}.dark-mode .footer{background:#0a1a0a;border-top-color:#e5a83a}.dark-mode .theme-toggle{background:#e5a83a33;border-color:#e5a83a;color:#e5a83a}.dark-mode .rsvp-content{background:#2a2a2a;border-color:#e5a83a;box-shadow:6px 6px #e5a83a}.dark-mode .rsvp-content h2{color:#f4e5c2}.dark-mode .rsvp-content input,.dark-mode .rsvp-content textarea{background:#1a1a1a;border-color:#3a3a3a;color:#f4e5c2}.dark-mode .rsvp-content input:focus,.dark-mode .rsvp-content textarea:focus{border-color:#e5a83a}.dark-mode .submit-btn{background:#e5a83a;color:#0a0a0a}.dark-mode .submit-btn:hover{background:#d4942a}.dark-mode .close-btn{background:#e5a83a;color:#0a0a0a}.dark-mode .close-btn:hover{background:#d4942a}.dark-mode .thank-you-message{background:#e5a83a26;border-color:#e5a83a}.dark-mode .thank-you-message p{color:#f4e5c2}.dark-mode .event-photos-section{background:linear-gradient(180deg,#1a1a1a,#2a2a2a)}.dark-mode .gallery-subtitle{color:#d4d4d4}.dark-mode .event-photo-item{border-color:#e5a83a;box-shadow:4px 4px #e5a83a;background:#e5a83a}.dark-mode .event-photo-item:hover{box-shadow:7px 7px #e5a83a}.dark-mode .photo-modal{background:#0a0a0af2}.dark-mode .photo-modal-content img{border-color:#e5a83a}.dark-mode .photo-modal .close-btn{background:#e5a83a;color:#0a0a0a;border-color:#e5a83a}.dark-mode .photo-modal .close-btn:hover{background:#d4942a}@media (max-width: 768px){.countdown{gap:1rem}.countdown-item{min-width:80px;padding:1rem}.countdown-number{font-size:2rem}.title{font-size:clamp(3rem,15vw,6rem)}.performers,.details-grid{grid-template-columns:1fr}.image-gallery{grid-template-columns:1fr;gap:1.5rem}.sponsor-container{flex-direction:column;gap:2rem}.sponsor-logo img{width:150px;height:150px}}
