:root{--festival-gold:#e8a020;--festival-sun:#f0c040;--festival-orange:#e07028;--festival-red:#d42a1a;--festival-green:#1a8a5a;--festival-green-light:#2aaa6a;--festival-teal:#1a8a8a;--festival-navy:#0a1e3d;--festival-navy-light:#0d2a4a;--festival-cream:#fef8e8;--festival-cream-dim:#c8b888}html{scroll-behavior:smooth;background-color:var(--festival-navy);color:var(--festival-cream);overflow-x:hidden}body{font-family:'Poppins',sans-serif;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:'Rammetto One',cursive;font-weight:400}.subheading{font-family:'Fredoka One',cursive}.rsf-reveal{opacity:0;transform:translateY(30px);transition:opacity 0.8s ease-out,transform 0.8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.rsf-reveal.visible,.rsf-reveal.active{opacity:1;transform:translateY(0)}@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes pulse-glow{0%{transform:scale(1);filter:drop-shadow(0 0 5px rgb(228 179 99 / .2))}50%{transform:scale(1.05);filter:drop-shadow(0 0 15px rgb(228 179 99 / .6))}100%{transform:scale(1);filter:drop-shadow(0 0 5px rgb(228 179 99 / .2))}}.rsf-animate-slide-up{animation:slideUp 0.8s forwards;opacity:0}.rsf-animate-fade-in{animation:fadeIn 1s forwards;opacity:0}.rsf-animate-pulse{animation:pulse-glow 3s infinite}.rsf-animate-spin-slow{animation:spin 15s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.poster-border{border:3px solid var(--festival-gold);position:relative}.poster-border::before{content:'';position:absolute;inset:5px;z-index:0;border:2px solid var(--festival-gold);pointer-events:none}.texture-overlay{position:relative}.texture-overlay::after{content:'';position:absolute;inset:0;z-index:0;opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(https://reggaesunfest.pt/wp-content/themes/RSF-theme/assets/css/%23noise)'/%3E%3C/svg%3E")}.kente-stripe{height:12px;width:100%;background-image:repeating-linear-gradient(90deg,var(--festival-red) 0,var(--festival-red) 8px,var(--festival-gold) 8px,var(--festival-gold) 16px,var(--festival-green) 16px,var(--festival-green) 24px,var(--festival-gold) 24px,var(--festival-gold) 32px)}.rasta-stripe{background:linear-gradient(to right,var(--festival-red) 0%,var(--festival-red) 33.33%,var(--festival-gold) 33.33%,var(--festival-gold) 66.66%,var(--festival-green) 66.66%,var(--festival-green) 100%)}.rsf-rasta-border{padding:3px;background:repeating-linear-gradient(45deg,#f64328,#f64328 10px,#f9dd60 10px,#f9dd60 20px,#0c9f4f 20px,#0c9f4f 30px);border-radius:8px}.rsf-final-cta{position:relative;overflow:hidden;background-color:var(--festival-navy)}.rsf-final-cta-bg{position:absolute;inset:0;z-index:0;opacity:.15;pointer-events:none}.rsf-final-cta-bg img{width:100%;height:100%;object-fit:cover}.rsf-final-cta-content{position:relative;z-index:5}.section-eyebrow{font-family:'Poppins',sans-serif;font-size:.875rem;letter-spacing:.3em;color:rgb(232 160 32 / .7);text-transform:uppercase}.tickets-subtitle{font-family:'Fredoka One',cursive;font-size:1.4rem;color:var(--festival-cream);text-transform:uppercase;letter-spacing:.3em;opacity:.8}@media (max-width:768px){.tickets-title{font-size:3.5rem}.tickets-subtitle{font-size:1.1rem;letter-spacing:.15em}}.section-title{font-family:'Rammetto One',cursive;font-size:1.875rem;color:var(--festival-cream);text-transform:uppercase;letter-spacing:-.025em}@media (min-width:768px){.section-title{font-size:3rem}}@media (max-width:640px){.section-title{font-size:1.5rem}.section-eyebrow{font-size:.75rem;letter-spacing:.2em}}.section-divider{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;margin-bottom:2rem}.section-divider span,.section-divider div{height:1px;width:2rem}.rsf-btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;text-align:center;cursor:pointer;font-weight:700;font-family:'Rammetto One',cursive!important;font-size:1.1rem!important;text-transform:uppercase!important;letter-spacing:0.15em!important;text-decoration:none!important;text-shadow:2px 2px 0 rgb(0 0 0 / .4)!important;color:#fef8e8!important;border-radius:6px!important;transition:all 0.3s cubic-bezier(.175,.885,.32,1.275)!important;position:relative;transform-style:preserve-3d;line-height:normal!important;vertical-align:middle}@media (max-width:768px){.rsf-btn{padding:.8rem 1.5rem!important;font-size:0.9rem!important;letter-spacing:0.1em!important}}.rsf-btn-gold{background:linear-gradient(135deg,#f5d13b 0%,#f5cb0b 40%,#e8a020 100%)!important;border:3px solid #584032!important;box-shadow:0 6px 0 #3d2c22,0 12px 20px rgb(0 0 0 / .3)!important}.rsf-btn-gold:hover{transform:translateY(-4px) scale(1.03)!important;box-shadow:0 10px 0 #3d2c22,0 15px 30px rgb(0 0 0 / .4)!important}.rsf-btn-gold:active{transform:translateY(2px)!important;box-shadow:0 2px 0 #3d2c22!important}.rsf-btn-green{background:linear-gradient(135deg,#23ad72 0%,#1a8a5a 40%,#0c6130 100%)!important;border:3px solid #0d3152!important;box-shadow:0 6px 0 #062137,0 12px 20px rgb(0 0 0 / .3)!important}.rsf-btn-green:hover{transform:translateY(-4px) scale(1.03)!important;box-shadow:0 10px 0 #062137,0 15px 30px rgb(0 0 0 / .4)!important}.rsf-btn-green:active{transform:translateY(2px)!important;box-shadow:0 2px 0 #062137!important}header .rsf-btn{padding:.6rem 1.5rem!important;font-size:0.85rem!important;letter-spacing:0.05em!important}.rsf-heartbeat{animation:rsf-heartbeat-anim 1.5s ease-in-out infinite}@keyframes rsf-heartbeat-anim{0%{transform:scale(1);filter:drop-shadow(0 0 0 #fff0)}14%{transform:scale(1.05);filter:drop-shadow(0 0 20px rgb(245 203 11 / .6))}28%{transform:scale(1);filter:drop-shadow(0 0 0 #fff0)}42%{transform:scale(1.05);filter:drop-shadow(0 0 20px rgb(245 203 11 / .6))}70%{transform:scale(1);filter:drop-shadow(0 0 0 #fff0)}}.form-input{width:100%;background-color:var(--festival-navy);border:1px solid rgb(232 160 32 / .3);border-radius:.125rem;padding:.75rem 1rem;color:var(--festival-cream);font-family:'Poppins',sans-serif;transition:border-color 0.2s,box-shadow 0.2s}.form-input:focus{outline:none;border-color:var(--festival-gold);box-shadow:0 0 0 1px var(--festival-gold)}.form-label{display:block;font-family:'Rammetto One',cursive;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:rgb(254 248 232 / .7);margin-bottom:.5rem}.faq-item{border-bottom:1px solid rgb(232 160 32 / .1);transition:all 0.4s cubic-bezier(.4,0,.2,1)}.faq-item.is-active{background-color:rgb(13 42 74 / .6);border-color:rgb(232 160 32 / .3);box-shadow:0 20px 40px rgb(0 0 0 / .3)}.faq-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem;text-align:left;background:#fff0;border:none;cursor:pointer;outline:none}.faq-trigger span{transition:color 0.3s ease}.faq-item.is-active .faq-trigger span{color:var(--festival-gold)}.faq-content{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows 400ms cubic-bezier(.4,0,.2,1),opacity 400ms ease,visibility 400ms}.faq-item.is-active .faq-content{grid-template-rows:1fr;opacity:1;visibility:visible}.faq-content>div{overflow:hidden}.faq-icon{transition:all 0.4s cubic-bezier(.4,0,.2,1)}.faq-item.is-active .faq-icon{background-color:var(--festival-gold);color:var(--festival-navy);transform:rotate(45deg)}.plus-v{transition:transform 0.4s cubic-bezier(.4,0,.2,1)}.faq-item.is-active .plus-v{transform:rotate(90deg)}