:root{--color-aws-orange: #4721d1;--color-aws-orange-dark: #3f20c5;--color-aws-blue: #201371;--color-bg: #000000;--color-bg-secondary: #1b1343;--color-text-primary: #ffffff;--color-text-secondary: #a0aab2;--color-glass: rgba(32, 19, 113, .7);--color-glass-border: rgba(255, 255, 255, .1);--font-primary: "Inter", sans-serif;--font-heading: "Outfit", sans-serif;--transition-normal: .3s ease}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--color-bg);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden;display:flex;flex-direction:column;min-height:100vh}main{flex-grow:1}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:700;line-height:1.2}.gradient-text{background:linear-gradient(135deg,var(--color-aws-orange),#3f20c5);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;text-decoration:none;transition:var(--transition-normal);cursor:pointer;border:none}.btn-primary{background-color:var(--color-aws-orange);color:#fff;box-shadow:0 4px 14px #4721d14d}.btn-primary:hover{background-color:var(--color-aws-orange-dark);transform:translateY(-2px);box-shadow:0 6px 20px #4721d166}.btn-secondary{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-glass-border)}.btn-secondary:hover{background-color:#ffffff0d;transform:translateY(-2px)}.btn-large{padding:1rem 2rem;font-size:1.1rem}.btn-small{padding:.5rem 1rem;font-size:.9rem}.navbar{position:fixed;top:0;left:0;width:100%;padding:1rem 0;z-index:1000;background:var(--color-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--color-glass-border);transition:padding .3s ease,background .3s ease}.navbar.scrolled{padding:.8rem 0;background:#000000e6}.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center}.logo img{height:48px;width:auto}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{color:var(--color-text-primary);text-decoration:none;font-weight:500;font-size:.95rem;transition:color var(--transition-normal)}.nav-links a:hover{color:var(--color-aws-orange)}.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:80px}.hero-background{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,#4721d126,#000 50%);z-index:-1;animation:pulse 15s infinite alternate ease-in-out}@keyframes pulse{0%{transform:scale(1);opacity:.6}to{transform:scale(1.1);opacity:1}}.hero-content{max-width:800px;margin:0 auto;text-align:center;padding:0 2rem;z-index:1}.hero h1{font-size:clamp(3rem,5vw,5rem);margin-bottom:1.5rem}.hero p{font-size:clamp(1.1rem,2vw,1.3rem);color:var(--color-text-secondary);max-width:600px;margin:0 auto 2.5rem}.hero-buttons{display:flex;gap:1.5rem;justify-content:center}.hero-visual{position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;z-index:0}.floating-element{position:absolute;font-size:4rem;filter:drop-shadow(0 0 20px rgba(255,255,255,.2));opacity:.8;animation:float 6s infinite ease-in-out}.el-1{top:20%;left:10%;animation-delay:0s}.el-2{top:60%;right:15%;animation-delay:2s;font-size:3rem}.el-3{top:30%;right:25%;animation-delay:4s;font-size:5rem}@keyframes float{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}to{transform:translateY(0) rotate(0)}}.section{padding:6rem 2rem}.container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;margin-bottom:1rem}.hr-line{width:80px;height:4px;background:var(--color-aws-orange);margin:0 auto;border-radius:2px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-text p{font-size:1.1rem;color:var(--color-text-secondary);margin-bottom:1.5rem}.about-text strong{color:var(--color-text-primary)}.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);padding:2.5rem 1.5rem;border-radius:12px;text-align:center;transition:transform var(--transition-normal)}.stat-card:hover{transform:translateY(-5px);border-color:var(--color-aws-orange)}.stat-card h3{font-size:3rem;color:var(--color-aws-orange);margin-bottom:.5rem}.stat-card p{color:var(--color-text-secondary);font-weight:500}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;min-height:550px;transition:min-height .3s ease}.event-card{background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:12px;overflow:hidden;transition:var(--transition-normal);display:flex;flex-direction:column}.event-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00000080}.event-card.highlight{border:1px solid var(--color-aws-orange);box-shadow:0 0 20px #4721d11a}.event-date{background:var(--color-aws-orange);color:var(--color-bg);padding:1.5rem;text-align:center;display:flex;flex-direction:column}.event-date.past{background:#333;color:#888;padding:1rem}.event-date .month{font-weight:700;font-size:1.2rem}.event-date .day{font-size:2.5rem;font-weight:800;line-height:1;margin:.2rem 0}.event-date .year{font-weight:500}.event-info{padding:2rem;flex-grow:1;display:flex;flex-direction:column}.event-info h3{font-size:1.5rem;margin-bottom:1rem}.event-info p{color:var(--color-text-secondary);margin-bottom:1.5rem;flex-grow:1}.mt-more{align-self:flex-start}.pagination{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:4rem}.pagination button{font-family:var(--font-primary)}.pagination button:disabled{opacity:.5;cursor:not-allowed}.pagination span{font-weight:500;color:var(--color-text-secondary);font-size:1rem}.cta-section{background:linear-gradient(to right,var(--color-bg-secondary),rgba(71,33,209,.05));text-align:center}.cta-container{max-width:800px;margin:0 auto}.cta-container h2{font-size:2.5rem;margin-bottom:1rem}.cta-container p{color:var(--color-text-secondary);font-size:1.2rem;margin-bottom:2.5rem}footer{background:var(--color-bg-secondary);padding:4rem 2rem 2rem;border-top:1px solid var(--color-glass-border)}.footer-content{max-width:1200px;margin:0 auto;text-align:center;margin-bottom:3rem}.footer-logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:800;margin-bottom:1rem}.footer-content p{color:var(--color-text-secondary);max-width:500px;margin:0 auto 2rem}.social-links{display:flex;justify-content:center;gap:1.5rem}.social-links a{color:var(--color-text-primary);text-decoration:none;font-weight:500;font-size:1.5rem;display:inline-block;transition:color var(--transition-normal),transform var(--transition-normal)}.social-links a:hover{color:var(--color-aws-orange);transform:translateY(-2px)}.footer-bottom{text-align:center;color:var(--color-text-secondary);font-size:.9rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05)}.mobile-menu-btn{display:none;flex-direction:column;gap:6px;cursor:pointer}.mobile-menu-btn span{width:30px;height:3px;background:#fff;transition:.3s}.animate-up{opacity:0;transform:translateY(30px);animation:fadeInUp .8s ease forwards}.animate-fade{opacity:0;animation:fadeIn 1.2s ease forwards}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.5,0,0,1),transform .8s cubic-bezier(.5,0,0,1)}.reveal.active{opacity:1;transform:translateY(0)}@media(max-width:768px){.nav-links{display:none}.mobile-menu-btn{display:flex}.about-grid{grid-template-columns:1fr;gap:3rem}.hero-buttons{flex-direction:column}.hero h1{font-size:2.5rem}.section{padding:4rem 1.5rem}}.events-search-container{margin-bottom:3rem;display:flex;justify-content:center;width:100%}.search-wrapper{position:relative;width:100%;max-width:500px}.search-wrapper i{position:absolute;left:1.25rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:1.1rem;pointer-events:none;transition:color .3s ease}.search-wrapper input{width:100%;padding:1rem 1.5rem 1rem 3.5rem;background:var(--color-bg-secondary);border:1px solid var(--color-glass-border);border-radius:12px;color:var(--color-text-primary);font-family:var(--font-primary);font-size:1rem;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #0003}.search-wrapper input:focus{border-color:var(--color-aws-orange);box-shadow:0 0 0 3px rgba(71,33,209,.25),0 8px 30px #0000004d}.search-wrapper input:focus+i{color:var(--color-aws-orange)}.no-events-message{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-secondary);font-size:1.2rem;padding:3rem 1rem;width:100%;min-height:400px}.event-thumbnail-container{position:relative;width:100%;height:200px;overflow:hidden;background:#140f32}.event-thumbnail{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.event-card:hover .event-thumbnail{transform:scale(1.05)}.event-thumbnail-container .event-date{position:absolute;top:1rem;left:1rem;z-index:2;border-radius:8px;padding:.5rem .75rem!important;box-shadow:0 4px 12px #0006}.event-thumbnail-container .event-date .day{font-size:1.5rem!important;margin:0!important}.event-thumbnail-container .event-date .month{font-size:.9rem!important}.event-thumbnail-container .event-date .year{font-size:.8rem!important}.event-thumbnail-container .event-date.past{padding:.4rem .8rem!important}.event-host{display:inline-flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text-secondary);background:rgba(255,255,255,.05);border:1px solid var(--color-glass-border);padding:.25rem .75rem;border-radius:20px;font-weight:500;margin-bottom:1rem;align-self:flex-start}.event-host a{color:#ffffff;text-decoration:none;font-weight:600;transition:color var(--transition-normal)}.event-host a:hover{color:var(--color-aws-orange)}.event-host i{color:var(--color-aws-orange)}.event-date{color:#ffffff!important}.event-date.past{background:var(--color-aws-blue)!important;color:#ffffff!important}

/* Light Mode Variables & Overrides */
body.light-theme {
  --color-bg: #f8fafc;
  --color-bg-secondary: #ffffff;
  --color-text-primary: #0f172a;
  --color-text-secondary: #475569;
  --color-glass: rgba(255, 255, 255, 0.8);
  --color-glass-border: rgba(0, 0, 0, 0.08);
  --color-aws-blue: #f1f5f9;
}
body.light-theme .logo span {
  color: #0f172a !important;
}
body.light-theme .nav-links a {
  color: #334155 !important;
}
body.light-theme .nav-links a:hover {
  color: var(--color-aws-orange) !important;
}
body.light-theme .navbar {
  background: rgba(255, 255, 255, 0.95) !important;
}
body.light-theme .navbar.scrolled {
  background: rgba(255, 255, 255, 0.95) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}
body.light-theme .hero-background {
  background: radial-gradient(circle at center, rgba(71, 33, 209, 0.08), #f8fafc 70%) !important;
}
body.light-theme .floating-element {
  filter: drop-shadow(0 0 20px rgba(71, 33, 209, 0.15)) !important;
  opacity: 0.6;
}
body.light-theme .stat-card {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}
body.light-theme .event-card {
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
}
body.light-theme .event-card:hover {
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}
body.light-theme .event-host {
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.06) !important;
}
body.light-theme .event-host a {
  color: #0f172a !important;
}
body.light-theme .event-host a:hover {
  color: var(--color-aws-orange) !important;
}
body.light-theme .search-wrapper input {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  color: #0f172a !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
}
body.light-theme .search-wrapper input:focus {
  border-color: var(--color-aws-orange) !important;
  box-shadow: 0 0 0 3px rgba(71, 33, 209, 0.15), 0 8px 30px rgba(0, 0, 0, 0.05) !important;
}
body.light-theme .event-thumbnail-container {
  background: #e2e8f0 !important;
}
body.light-theme footer {
  background: #f1f5f9 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}
body.light-theme footer .footer-logo {
  color: #0f172a !important;
}
body.light-theme .footer-bottom {
  border-top: 1px solid rgba(0, 0, 0, 0.06) !important;
}
body.light-theme .modal-overlay {
  background: rgba(255, 255, 255, 0.85) !important;
}
body.light-theme .modal-content {
  background: #ffffff !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.1) !important;
}
body.light-theme .modal-header h2 {
  background: linear-gradient(135deg, #000000 40%, var(--color-aws-orange) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}
body.light-theme .modal-body p {
  color: #475569 !important;
}
body.light-theme .modal-glow {
  background: radial-gradient(circle at center, rgba(71, 33, 209, 0.05) 0%, transparent 60%) !important;
}
body.light-theme .mobile-menu-btn span {
  background: #0f172a !important;
}
body.light-theme .nav-links {
  background: #ffffff !important;
}
body.light-theme .organizer-card {
  background: #ffffff !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
body.light-theme .organizer-avatar {
  background: #f1f5f9 !important;
  border-color: var(--color-aws-orange) !important;
}
body.light-theme .organizer-card p {
  color: #475569 !important;
}
body.light-theme .organizer-card a {
  color: #334155 !important;
  background: rgba(0, 0, 0, 0.04) !important;
  border-color: rgba(0, 0, 0, 0.08) !important;
}
body.light-theme .organizer-card a:hover {
  background: rgba(0, 0, 0, 0.08) !important;
}
body.light-theme .event-date.past {
  background: #e2e8f0 !important;
  color: #475569 !important;
}
body.light-theme .nav-links a.btn-primary:not([style*="background: transparent"]) {
  color: #ffffff !important;
}
