@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;700;800;900&family=Inter:wght@300;400;500;600&display=swap');
:root{--ew-black:#000000;--ew-purple:#8B5CF6;--ew-pink:#EC4899;--ew-grad:linear-gradient(135deg,#8B5CF6,#EC4899);--ew-glow-purple:0 0 20px #8B5CF6,0 0 40px #8B5CF680;--ew-glow-pink:0 0 20px #EC4899,0 0 40px #EC489980;--ew-font-head:'Outfit',sans-serif;--ew-font-body:'Inter',sans-serif;}
#r2-app{background:var(--ew-black);color:#fff;font-family:var(--ew-font-body);line-height:1.6;overflow-x:hidden;}
#r2-app *{box-sizing:border-box;margin:0;padding:0;}
#r2-app h1,#r2-app h2,#r2-app h3,#r2-app h4{font-family:var(--ew-font-head);font-weight:800;}
#r2-app a{color:var(--ew-purple);text-decoration:none;}
.ew-container{max-width:1200px;margin:0 auto;padding:0 20px;}
.ew-section{padding:100px 0;}
/* Glow text */
.ew-glow{text-shadow:var(--ew-glow-purple);}
.ew-glow-pink{text-shadow:var(--ew-glow-pink);}
/* Gradient border */
.ew-grad-border{position:relative;border-radius:16px;padding:2px;background:var(--ew-grad);}
.ew-grad-border-inner{background:var(--ew-black);border-radius:14px;padding:40px;}
/* Pulse */
@keyframes ew-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.8;transform:scale(1.03);}}
.ew-pulse{animation:ew-pulse 2s ease-in-out infinite;}
/* Hero */
.ew-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.ew-hero canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;}
.ew-hero-content{position:relative;z-index:2;}
.ew-hero h1{font-size:clamp(2.5rem,6vw,5rem);background:var(--ew-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;margin-bottom:20px;}
.ew-hero p{font-size:1.3rem;color:#ffffffcc;max-width:600px;margin:0 auto 30px;}
.ew-btn{display:inline-block;padding:16px 40px;background:var(--ew-grad);border:none;border-radius:50px;color:#fff;font-family:var(--ew-font-head);font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .3s,box-shadow .3s;}
.ew-btn:hover{transform:translateY(-3px);box-shadow:var(--ew-glow-purple);}
/* Event types grid */
.ew-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:50px;}
.ew-card{background:#0a0a0a;border:1px solid #8B5CF640;border-radius:16px;padding:30px;text-align:center;transition:transform .3s,border-color .3s;}
.ew-card:hover{transform:translateY(-8px);border-color:var(--ew-pink);}
.ew-card-icon{font-size:3rem;margin-bottom:16px;}
.ew-card h3{font-size:1.3rem;margin-bottom:10px;color:var(--ew-purple);}
.ew-card p{color:#ffffff99;font-size:.95rem;}
/* Section titles */
.ew-title{font-size:clamp(2rem,4vw,3rem);text-align:center;margin-bottom:16px;}
.ew-subtitle{text-align:center;color:#ffffff99;font-size:1.1rem;max-width:600px;margin:0 auto;}
/* Carousel */
.ew-carousel{display:flex;gap:20px;overflow-x:auto;padding:40px 0;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.ew-carousel::-webkit-scrollbar{height:6px;}
.ew-carousel::-webkit-scrollbar-thumb{background:var(--ew-grad);border-radius:3px;}
.ew-carousel-item{min-width:350px;height:250px;border-radius:16px;overflow:hidden;scroll-snap-align:start;flex-shrink:0;position:relative;}
.ew-carousel-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.ew-carousel-item:hover img{transform:scale(1.05);}
/* Gallery */
.ew-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;margin-top:50px;}
.ew-gallery-item{border-radius:12px;overflow:hidden;aspect-ratio:16/10;position:relative;}
.ew-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.ew-gallery-item:hover img{transform:scale(1.08);}
/* Team */
.ew-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-top:50px;}
.ew-team-card{text-align:center;}
.ew-team-card .ew-avatar{width:120px;height:120px;border-radius:50%;margin:0 auto 16px;background:var(--ew-grad);padding:3px;}
.ew-team-card .ew-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.ew-team-card h4{color:var(--ew-pink);margin-bottom:4px;}
.ew-team-card p{color:#ffffff99;font-size:.9rem;}
/* Testimonials */
.ew-testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:50px;}
.ew-testimonial{background:#0a0a0a;border:1px solid #EC489940;border-radius:16px;padding:30px;}
.ew-testimonial p{color:#ffffffcc;font-style:italic;margin-bottom:16px;}
.ew-testimonial .ew-author{color:var(--ew-pink);font-weight:600;}
/* Pricing */
.ew-pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:50px;}
.ew-price-card{border-radius:16px;padding:2px;background:#1a1a1a;transition:transform .3s;}
.ew-price-card.ew-featured{background:var(--ew-grad);}
.ew-price-card-inner{background:#0a0a0a;border-radius:14px;padding:40px;text-align:center;height:100%;}
.ew-price-card:hover{transform:translateY(-5px);}
.ew-price-card h3{font-size:1.4rem;margin-bottom:8px;color:var(--ew-purple);}
.ew-price-card .ew-price{font-size:2.2rem;font-family:var(--ew-font-head);font-weight:900;margin:16px 0;background:var(--ew-grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.ew-price-card ul{list-style:none;margin:20px 0;text-align:left;}
.ew-price-card ul li{padding:8px 0;border-bottom:1px solid #ffffff10;color:#ffffffcc;font-size:.95rem;}
.ew-price-card ul li::before{content:'✓ ';color:var(--ew-pink);}
/* FAQ */
.ew-faq{max-width:800px;margin:50px auto 0;}
.ew-faq-item{border-bottom:1px solid #ffffff15;padding:20px 0;}
.ew-faq-q{font-family:var(--ew-font-head);font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:#ffffffee;}
.ew-faq-q::after{content:'+';font-size:1.5rem;color:var(--ew-purple);transition:transform .3s;}
.ew-faq-item.active .ew-faq-q::after{transform:rotate(45deg);}
.ew-faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease;color:#ffffff99;font-size:.95rem;}
.ew-faq-item.active .ew-faq-a{max-height:300px;padding-top:12px;}
/* CTA */
.ew-cta{text-align:center;}
.ew-cta-box{max-width:700px;margin:0 auto;}
.ew-cta h2{font-size:2.2rem;margin-bottom:16px;}
/* Footer */
.ew-footer{background:#050505;padding:60px 0 30px;text-align:center;border-top:1px solid #ffffff10;}
.ew-footer p{color:#ffffff66;font-size:.9rem;}
.ew-footer .ew-socials{margin-bottom:20px;}
.ew-footer .ew-socials a{display:inline-block;margin:0 12px;font-size:1.3rem;color:#ffffff99;transition:color .3s;}
.ew-footer .ew-socials a:hover{color:var(--ew-pink);}
/* Reveal */
.ew-reveal{opacity:0;transform:translateY(40px);transition:opacity .6s ease,transform .6s ease;}
.ew-reveal.ew-visible{opacity:1;transform:translateY(0);}
@media(max-width:768px){.ew-section{padding:60px 0;}.ew-carousel-item{min-width:280px;height:200px;}}

/* AICORES safety: ensure reveal elements become visible even without GSAP */
[class*="reveal"]{animation:aicores-reveal-fallback 0.01s linear 2.5s forwards;}
@keyframes aicores-reveal-fallback{to{opacity:1 !important;transform:none !important;}}
