*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--navy: #102966;--navy-dark: #0b1d4a;--navy-deeper: #071236;--teal: #09B2A0;--teal-light: #1fd4c0;--teal-glow: rgba(9, 178, 160, .25);--white: #ffffff;--off-white: #f4f7fc;--light-gray: #e8edf6;--mid-gray: #c5cfe0;--text-dark: #0d1b3e;--text-body: #3d4f6f;--text-light: #7a8baa;--border-light: rgba(16, 41, 102, .08);--border-medium: rgba(16, 41, 102, .12);--glass-white: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .5);--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--radius-xl: 32px;--shadow-sm: 0 2px 8px rgba(16, 41, 102, .06);--shadow-md: 0 8px 30px rgba(16, 41, 102, .1);--shadow-lg: 0 16px 50px rgba(16, 41, 102, .14);--transition-fast: .2s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .4s cubic-bezier(.4, 0, .2, 1);--transition-slow: .7s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background:var(--white);color:var(--text-dark);overflow-x:hidden;line-height:1.6}a{text-decoration:none;color:inherit;transition:color var(--transition-fast)}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:0 24px}.text-gradient{background:linear-gradient(135deg,var(--navy) 0%,var(--teal) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:18px 0;transition:all var(--transition-smooth)}.navbar.scrolled{background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);padding:12px 0;box-shadow:var(--shadow-sm)}.nav-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.nav-logo img{height:48px;transition:transform var(--transition-fast),filter var(--transition-smooth)}.navbar:not(.scrolled) .nav-logo img{filter:brightness(0) invert(1)}.navbar.scrolled .nav-logo img{filter:brightness(0) invert(12%) sepia(97%) saturate(2583%) hue-rotate(214deg) brightness(89%) contrast(97%)}.nav-logo:hover img{transform:scale(1.05)}.nav-links{display:flex;align-items:center;gap:4px;list-style:none}.nav-link{padding:8px 14px;font-size:.88rem;font-weight:500;color:var(--text-body);border-radius:var(--radius-sm);transition:all var(--transition-fast);position:relative;white-space:nowrap}.navbar:not(.scrolled) .nav-link{color:#ffffffd9}.navbar:not(.scrolled) .nav-link:hover,.navbar:not(.scrolled) .nav-link.active{color:#fff}.nav-link:hover,.nav-link.active{color:var(--navy)}.nav-link:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%) scaleX(0);width:20px;height:2px;background:var(--teal);border-radius:2px;transition:transform var(--transition-fast)}.nav-link:hover:after,.nav-link.active:after{transform:translate(-50%) scaleX(1)}.nav-cta{background:var(--teal)!important;color:#fff!important;border-radius:var(--radius-sm)!important;font-weight:600!important}.nav-cta:after{display:none!important}.nav-cta:hover{background:var(--teal-light)!important;transform:translateY(-1px);box-shadow:0 4px 20px var(--teal-glow)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;z-index:1001}.hamburger span{width:24px;height:2px;background:var(--white);border-radius:2px;transition:all var(--transition-fast)}.navbar.scrolled .hamburger span{background:var(--navy)}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(160deg,var(--navy-deeper) 0%,var(--navy) 40%,#1a4080 70%,var(--teal) 100%)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.4}.hero-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(9,178,160,.35) 0%,transparent 70%);top:-20%;right:-10%;animation:orbFloat1 12s ease-in-out infinite}.hero-orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);bottom:-10%;left:-5%;animation:orbFloat2 15s ease-in-out infinite}.hero-orb-3{width:300px;height:300px;background:radial-gradient(circle,rgba(9,178,160,.2) 0%,transparent 70%);top:50%;left:30%;animation:orbFloat3 18s ease-in-out infinite}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,30px) scale(1.1)}66%{transform:translate(20px,-20px) scale(.95)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-40px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes orbFloat3{0%,to{transform:translate(0)}50%{transform:translate(-30px,30px)}}.hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 70%)}.hero-content{position:relative;z-index:1;text-align:center;padding:100px 24px 0;max-width:850px}.hero-badge{display:inline-block;padding:8px 24px;border:1px solid rgba(255,255,255,.2);border-radius:100px;font-size:.78rem;font-weight:500;letter-spacing:3px;text-transform:uppercase;color:var(--teal-light);background:#ffffff0f;margin-bottom:28px}.hero-title{font-family:var(--font-heading);font-size:clamp(2.8rem,7vw,5.5rem);font-weight:700;line-height:1.1;margin-bottom:24px;letter-spacing:-1px;color:var(--white)}.hero-title .text-gradient{background:linear-gradient(135deg,var(--teal-light) 0%,#7fe8dd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);color:#ffffffb3;max-width:600px;margin:0 auto 40px;font-style:italic;line-height:1.7}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:60px}.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;font-family:var(--font-body);font-size:.95rem;font-weight:600;border-radius:var(--radius-sm);border:none;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.btn-primary{background:var(--teal);color:#fff;box-shadow:0 4px 20px var(--teal-glow)}.btn-primary:hover{background:var(--teal-light);transform:translateY(-2px);box-shadow:0 8px 30px var(--teal-glow)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#ffffff1a;color:var(--white);border:1px solid rgba(255,255,255,.25)}.section-dark .btn-secondary,.section-accent .btn-secondary{background:var(--white);color:var(--navy);border:1px solid var(--border-light)}.btn-secondary:hover{background:#fff3;border-color:#fff6;transform:translateY(-2px)}.btn-full{width:100%;justify-content:center}.hero-stats{display:flex;align-items:center;justify-content:center;gap:40px}.hero-stat{text-align:center}.hero-stat-number{display:block;font-family:var(--font-heading);font-size:2.4rem;font-weight:700;color:var(--white)}.hero-stat-label{font-size:.8rem;color:#ffffff80;text-transform:uppercase;letter-spacing:2px}.hero-stat-divider{width:1px;height:40px;background:#ffffff26}.hero-scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);z-index:1}.scroll-line{width:1px;height:60px;background:linear-gradient(to bottom,var(--teal),transparent);animation:scrollPulse 2s ease-in-out infinite}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}.animate-in{opacity:0;transform:translateY(30px);animation:fadeInUp .8s ease forwards}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.45s}.delay-4{animation-delay:.6s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:translateY(0)}.section{padding:120px 0;position:relative}.section-dark{background:var(--white)}.section-accent{background:var(--off-white)}.section-header{text-align:center;margin-bottom:72px}.section-tag{display:inline-block;padding:6px 18px;border:1px solid var(--border-medium);border-radius:100px;font-size:.75rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);background:#09b2a00f;margin-bottom:20px}.section-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.2rem);font-weight:700;margin-bottom:16px;color:var(--navy)}.section-subtitle{font-size:1.05rem;color:var(--text-body);max-width:550px;margin:0 auto}.history-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.history-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:36px 28px;text-align:center;transition:all var(--transition-smooth);position:relative;overflow:hidden}.history-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--navy),var(--teal));opacity:0;transition:opacity var(--transition-smooth)}.history-card:hover{transform:translateY(-6px);border-color:var(--border-medium);box-shadow:var(--shadow-lg)}.history-card:hover:before{opacity:1}.history-card-icon{width:64px;height:64px;border-radius:16px;background:#09b2a014;border:1px solid rgba(9,178,160,.15);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--teal)}.history-card h3{font-family:var(--font-heading);font-size:1.25rem;margin-bottom:8px;color:var(--navy)}.history-year{display:block;font-size:.85rem;color:var(--teal);font-weight:600;margin-bottom:12px}.history-card p{font-size:.9rem;color:var(--text-body);line-height:1.6}.vision-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.vision-text{font-size:1.05rem;color:var(--text-body);line-height:1.8;margin-bottom:20px}.goals-heading{font-family:var(--font-heading);font-size:1.8rem;margin-bottom:32px;color:var(--navy)}.goal-item{display:flex;gap:20px;align-items:flex-start;padding:24px;border-radius:var(--radius-md);border:1px solid transparent;transition:all var(--transition-smooth);margin-bottom:12px}.goal-item:hover{background:var(--white);border-color:var(--border-light);box-shadow:var(--shadow-sm)}.goal-number{font-family:var(--font-heading);font-size:2rem;font-weight:700;color:var(--teal);opacity:.5;line-height:1;min-width:50px}.goal-item h4{font-size:1.05rem;font-weight:600;margin-bottom:6px;color:var(--navy)}.goal-item p{font-size:.9rem;color:var(--text-body);line-height:1.6}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.event-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-smooth)}.event-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--border-medium)}.event-card-image{height:180px;position:relative;display:flex;align-items:flex-end;padding:20px}.event-date-badge{position:absolute;top:16px;right:16px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-sm);padding:10px 14px;text-align:center;border:1px solid rgba(255,255,255,.5)}.event-day{display:block;font-size:1.5rem;font-weight:800;line-height:1;color:var(--navy)}.event-month{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:var(--teal);font-weight:600}.event-category{display:inline-block;padding:4px 14px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:100px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:#fff}.event-card-body{padding:24px}.event-title{font-family:var(--font-heading);font-size:1.3rem;margin-bottom:12px;color:var(--navy)}.event-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.event-meta-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-body)}.event-meta-item svg{color:var(--text-light);flex-shrink:0}.event-description{font-size:.9rem;color:var(--text-body);line-height:1.6;margin-bottom:20px}.event-ticket-section{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-top:1px solid var(--border-light);margin-bottom:16px}.event-price{display:flex;align-items:baseline;gap:6px}.price-amount{font-size:1.5rem;font-weight:800;color:var(--navy)}.price-label{font-size:.8rem;color:var(--text-light)}.ticket-controls{display:flex;align-items:center;gap:2px;background:var(--off-white);border:1px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden}.ticket-btn{width:38px;height:38px;background:none;border:none;color:var(--navy);font-size:1.2rem;cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:center;justify-content:center}.ticket-btn:hover{background:#1029660f}.ticket-count{min-width:36px;text-align:center;font-weight:700;font-size:1rem;color:var(--navy)}.buy-ticket-btn{margin-top:4px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:220px;gap:16px}.gallery-item{border-radius:var(--radius-md);overflow:hidden;position:relative;cursor:pointer;transition:all var(--transition-smooth);display:flex;align-items:center;justify-content:center}.gallery-item:hover{transform:scale(1.02);box-shadow:var(--shadow-lg)}.gallery-item-large{grid-row:span 2}.gallery-item-wide{grid-column:span 2}.gallery-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#ffffff80;opacity:.7}.gallery-placeholder span{font-size:.85rem;font-weight:500}.membership-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.membership-info p{font-size:1.05rem;color:var(--text-body);line-height:1.8;margin-bottom:32px}.membership-perks{list-style:none;display:flex;flex-direction:column;gap:16px}.membership-perks li{display:flex;align-items:center;gap:14px;font-size:.95rem;color:var(--text-body)}.membership-perks li svg{flex-shrink:0;color:var(--teal)}.membership-form{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-md)}.membership-form h3{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:32px;color:var(--navy)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-body);margin-bottom:8px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;background:var(--off-white);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-dark);font-family:var(--font-body);font-size:.95rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-group input:focus,.form-group textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-glow);background:var(--white)}.form-group textarea{resize:vertical;min-height:80px}.contact-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.contact-card{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:36px 28px;text-align:center;transition:all var(--transition-smooth)}.contact-card:hover{transform:translateY(-4px);border-color:var(--border-medium);box-shadow:var(--shadow-md)}.contact-icon{width:60px;height:60px;border-radius:16px;background:#09b2a014;border:1px solid rgba(9,178,160,.15);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--teal)}.contact-card h4{font-family:var(--font-heading);font-size:1.15rem;margin-bottom:12px;color:var(--navy)}.contact-card p{font-size:.9rem;color:var(--text-body);line-height:1.7}.contact-card a{color:var(--teal)}.contact-card a:hover{color:var(--navy)}.social-links{display:flex;gap:12px;justify-content:center;margin-top:8px}.social-link{width:42px;height:42px;border-radius:12px;background:var(--off-white);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;color:var(--text-body);transition:all var(--transition-fast)}.social-link:hover{background:var(--navy);border-color:var(--navy);color:#fff;transform:translateY(-2px)}.footer{background:var(--navy-deeper);padding:80px 0 32px;color:#fff}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}.footer-logo{height:48px;margin-bottom:16px;filter:brightness(0) invert(1)}.footer-brand p{font-size:.9rem;color:#fff9;line-height:1.7}.footer-links h4{font-size:.95rem;font-weight:600;margin-bottom:20px;color:#fff}.footer-links a{display:block;font-size:.88rem;color:#ffffff8c;margin-bottom:10px;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--teal-light)}.footer-address{font-size:.88rem;color:#fff6;line-height:1.6;margin-top:4px}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;text-align:center}.footer-bottom p{font-size:.82rem;color:#ffffff59}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#10296680;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;opacity:0;pointer-events:none;transition:opacity var(--transition-smooth)}.modal-overlay.active{opacity:1;pointer-events:auto}.modal{background:var(--white);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:40px;max-width:480px;width:90%;position:relative;transform:scale(.9) translateY(20px);transition:transform var(--transition-smooth);box-shadow:0 25px 80px #10296640}.modal-overlay.active .modal{transform:scale(1) translateY(0)}.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--off-white);border:1px solid var(--border-light);color:var(--text-body);font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.modal-header{display:flex;align-items:center;gap:16px;margin-bottom:28px}.modal-header h3{font-family:var(--font-heading);font-size:1.5rem;color:var(--navy)}.modal-header svg{stroke:var(--teal)}.modal-body .order-summary{background:var(--off-white);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:24px;margin-bottom:24px}.order-summary h4{font-size:1.1rem;margin-bottom:16px;color:var(--navy)}.order-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.92rem;color:var(--text-body)}.order-line.total{border-top:1px solid var(--border-light);margin-top:12px;padding-top:16px;font-size:1.1rem;font-weight:700;color:var(--navy)}.payment-form .form-group input{background:var(--off-white)}#card-element{padding:14px 16px;background:var(--off-white);border:1px solid var(--border-light);border-radius:var(--radius-sm);margin-bottom:20px}#card-errors{color:#e53e3e;font-size:.85rem;margin-bottom:12px}.payment-info{display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--text-light);margin-top:16px;justify-content:center}.payment-info svg{flex-shrink:0;stroke:var(--teal)}.toast{position:fixed;bottom:32px;left:50%;transform:translate(-50%) translateY(100px);background:var(--navy);color:#fff;padding:14px 28px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:500;z-index:3000;box-shadow:0 8px 30px #1029664d;transition:transform var(--transition-smooth)}.toast.visible{transform:translate(-50%) translateY(0)}@media (max-width: 1024px){.history-grid,.events-grid,.contact-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}.nav-link{padding:8px 10px;font-size:.82rem}}@media (max-width: 768px){.hamburger{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:85%;max-width:340px;height:100vh;height:100dvh;background:linear-gradient(195deg,var(--navy) 0%,var(--navy-deeper) 100%);flex-direction:column;align-items:stretch;padding:100px 28px 40px;gap:4px;transition:right .45s cubic-bezier(.32,.72,0,1);border-left:none;box-shadow:-20px 0 60px #00000059;z-index:1000;overflow-y:auto}.nav-links.open{right:0}.nav-links:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 80% 20%,rgba(9,178,160,.12) 0%,transparent 50%),radial-gradient(circle at 20% 80%,rgba(9,178,160,.06) 0%,transparent 50%);pointer-events:none;z-index:0}.nav-links li{position:relative;z-index:1;border-bottom:1px solid rgba(255,255,255,.06);list-style:none}.nav-links li:last-child{border-bottom:none}.nav-links .nav-link{display:block;color:#ffffffd9!important;padding:14px 20px;font-size:.98rem;font-weight:500;letter-spacing:.2px;border-radius:var(--radius-sm);transition:all .25s ease}.nav-links .nav-link:after{display:none}.nav-links .nav-link:hover,.nav-links .nav-link.active{color:#fff!important;background:#ffffff12}.nav-links .nav-link.active{box-shadow:inset 3px 0 0 var(--teal)}.nav-links .nav-cta{display:block;text-align:center;margin-top:20px;padding:14px 24px!important;background:var(--teal)!important;color:#fff!important;border-radius:var(--radius-sm)!important;font-weight:700!important;font-size:.95rem!important;letter-spacing:.3px;box-shadow:0 6px 24px #09b2a04d;border:none;transition:all .25s ease!important}.nav-links .nav-cta:hover{background:var(--teal-light)!important;transform:translateY(-1px);box-shadow:0 8px 30px #09b2a066}.nav-links .nav-logout{color:#ff8a80e6!important;margin-top:12px}.nav-links .nav-logout:hover{color:#ff8a80!important;background:#e74c3c1a}.hamburger.active span{background:#fff!important}.vision-layout,.membership-layout{grid-template-columns:1fr;gap:48px}.history-grid,.events-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:160px}.gallery-item-large{grid-row:span 1}.gallery-item-wide{grid-column:span 1}.contact-grid{grid-template-columns:1fr}.footer{padding:56px 0 28px}.footer-grid{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-brand{grid-column:1 / -1;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:4px}.footer-logo{height:40px;margin-bottom:12px}.footer-brand p{font-size:.84rem;line-height:1.6}.footer-links h4{font-size:.88rem;margin-bottom:14px;color:var(--teal-light);text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.footer-links a{font-size:.84rem;margin-bottom:8px;padding:2px 0}.footer-address{font-size:.82rem;line-height:1.5}.footer-bottom{padding-top:20px;margin-top:8px}.footer-bottom p{font-size:.76rem}.hero-stats{gap:24px}.hero-stat-number{font-size:1.8rem}.form-row{grid-template-columns:1fr}.section{padding:80px 0}}@media (max-width: 480px){.hero-buttons{flex-direction:column;align-items:stretch}.btn{justify-content:center}.hero-stats{flex-direction:column;gap:20px}.hero-stat-divider{width:40px;height:1px}.gallery-grid{grid-template-columns:1fr}}.nav-logo-wrapper{position:relative}@keyframes logoPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.nav-logo.pressing img{animation:logoPulse .6s ease-in-out infinite}.admin-login-trigger{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(-8px);opacity:0;pointer-events:none;display:flex;align-items:center;gap:6px;padding:6px 14px;background:var(--navy);color:var(--white);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.5px;white-space:nowrap;cursor:pointer;transition:opacity .4s ease,transform .4s ease,background .2s ease;z-index:999;box-shadow:0 4px 20px #0000004d;margin-top:6px}.admin-login-trigger.visible{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.admin-login-trigger:hover{background:var(--teal)}.navbar.scrolled .admin-login-trigger{background:var(--navy)}.navbar.scrolled .admin-login-trigger:hover{background:var(--teal)}.login-error{color:#e74c3c;font-size:.85rem;font-weight:500;margin-bottom:12px;min-height:0;transition:all .3s ease}.login-error:empty{margin-bottom:0}.login-modal{max-width:420px}.admin-only{display:none!important}body.admin-mode .admin-only{display:flex!important}.admin-toolbar{margin-top:20px;justify-content:center}.admin-add-event-btn{padding:10px 24px;font-size:.88rem}.nav-logout{color:#e74c3c!important;font-weight:600!important}.nav-logout:after{background:#e74c3c!important}.navbar:not(.scrolled) .nav-logout{color:#ff8a80!important}.event-delete-btn{position:absolute;top:12px;left:12px;width:34px;height:34px;border-radius:50%;background:#e74c3ce6;color:#fff;border:2px solid rgba(255,255,255,.7);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;transition:all .2s ease;z-index:5;opacity:0;transform:scale(.7)}body.admin-mode .event-delete-btn{opacity:1;transform:scale(1)}.event-delete-btn:hover{background:#c0392b;transform:scale(1.1);box-shadow:0 4px 15px #e74c3c66}.event-edit-btn{position:absolute;top:50px;left:12px;width:34px;height:34px;border-radius:50%;background:#09b2a0e6;color:#fff;border:2px solid rgba(255,255,255,.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:5;opacity:0;transform:scale(.7)}body.admin-mode .event-edit-btn{opacity:1;transform:scale(1)}.event-edit-btn:hover{background:var(--teal-light);transform:scale(1.1);box-shadow:0 4px 15px var(--teal-glow)}.event-flyer-btn{position:absolute;top:88px;left:12px;width:34px;height:34px;border-radius:50%;background:#102966d9;color:#fff;border:2px solid rgba(255,255,255,.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:5;opacity:0;transform:scale(.7)}body.admin-mode .event-flyer-btn{opacity:1;transform:scale(1)}.event-flyer-btn:hover{background:var(--navy);transform:scale(1.1);box-shadow:0 4px 15px #10296666}.event-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000001a,#0006);z-index:1;pointer-events:none}.event-card-image .event-date-badge,.event-card-image .event-category,.event-card-image .event-delete-btn,.event-card-image .event-edit-btn,.event-card-image .event-flyer-btn{z-index:5}.event-card-image{position:relative}.image-upload-area{position:relative;border:2px dashed var(--border-medium);border-radius:var(--radius-md);padding:24px;text-align:center;cursor:pointer;transition:all var(--transition-fast);background:var(--off-white);overflow:hidden;min-height:120px;display:flex;align-items:center;justify-content:center}.image-upload-area:hover{border-color:var(--teal);background:#09b2a00a}.image-upload-area.drag-over{border-color:var(--teal);background:#09b2a014;box-shadow:0 0 0 4px var(--teal-glow)}.image-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-light)}.image-upload-placeholder svg{color:var(--mid-gray)}.image-upload-placeholder span{font-size:.88rem;font-weight:500}.image-upload-placeholder small{font-size:.75rem;color:var(--text-light);opacity:.7}.image-upload-preview{display:none;width:100%;max-height:180px;object-fit:cover;border-radius:var(--radius-sm)}.image-upload-remove{display:none;position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#e74c3ce6;color:#fff;border:2px solid white;cursor:pointer;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;line-height:1;transition:all .2s ease;z-index:10}.image-upload-remove:hover{background:#c0392b;transform:scale(1.1)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .25s ease}.confirm-overlay.active{opacity:1;visibility:visible}.confirm-box{background:#fff;border-radius:var(--radius-lg);padding:36px 32px 28px;max-width:380px;width:90%;text-align:center;box-shadow:0 20px 60px #0003;transform:scale(.9) translateY(10px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.confirm-overlay.active .confirm-box{transform:scale(1) translateY(0)}.confirm-icon{width:56px;height:56px;border-radius:50%;background:#e74c3c1a;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.confirm-icon svg{stroke:#e74c3c}.confirm-title{font-family:var(--font-heading);font-size:1.2rem;font-weight:700;color:var(--text-dark);margin-bottom:8px}.confirm-message{font-size:.9rem;color:var(--text-medium);line-height:1.5;margin-bottom:24px}.confirm-actions{display:flex;gap:12px}.confirm-btn{flex:1;padding:12px 20px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.confirm-cancel{background:var(--light-gray);color:var(--text-dark)}.confirm-cancel:hover{background:var(--mid-gray)}.confirm-delete{background:#e74c3c;color:#fff}.confirm-delete:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.add-event-modal{max-width:520px;max-height:85vh}.add-event-modal .modal-body{overflow-y:auto;max-height:60vh;padding-right:8px}.add-event-modal .modal-body::-webkit-scrollbar{width:4px}.add-event-modal .modal-body::-webkit-scrollbar-track{background:transparent}.add-event-modal .modal-body::-webkit-scrollbar-thumb{background:var(--mid-gray);border-radius:4px}select{width:100%;padding:12px 40px 12px 16px;font-family:var(--font-body);font-size:.92rem;font-weight:500;line-height:1.5;border:1.5px solid rgba(16,41,102,.12);border-radius:10px;background-color:#f8fafd;color:var(--text-dark);transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23102966' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;cursor:pointer}select:hover{border-color:#09b2a059;background-color:#f2f6fc}select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3.5px #09b2a01f;background-color:var(--white)}select option{font-family:var(--font-body);font-size:.92rem;padding:8px 12px;background:var(--white);color:var(--text-dark)}select:invalid,select option[value=""]{color:#9aa5b8}@keyframes eventCardIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.event-card.card-new{animation:eventCardIn .5s ease forwards}.event-ticket-vorort{margin-top:16px}.event-ticket-vorort .event-price{margin-bottom:12px}.ticket-vorort-info{display:flex;align-items:flex-start;gap:12px;background:#09b2a00f;border:1px solid rgba(9,178,160,.18);border-radius:var(--radius-sm);padding:14px 16px;color:var(--teal)}.ticket-vorort-info svg{flex-shrink:0;margin-top:2px}.ticket-vorort-info div{display:flex;flex-direction:column;gap:2px}.vorort-label{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--teal)}.vorort-location{font-size:.88rem;font-weight:500;color:var(--text-body)}.ticket-deadline-info{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(9,178,160,.12);font-size:.82rem;font-weight:600;color:var(--teal)}.ticket-deadline-info svg{flex-shrink:0;opacity:.7}.ticket-vorort-fields{background:#09b2a00a;border:1px solid rgba(9,178,160,.12);border-radius:var(--radius-sm);padding:16px;margin-bottom:4px}.vorort-section-label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--teal);margin:14px 0 6px}.vorort-section-label:first-of-type{margin-top:8px}input[type=date],input[type=time]{width:100%;padding:12px 16px;background-color:#f8fafd;border:1.5px solid rgba(16,41,102,.12);border-radius:10px;color:var(--text-dark);font-family:var(--font-body);font-size:.92rem;font-weight:500;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease,background-color .25s ease}input[type=date]:hover,input[type=time]:hover{border-color:#09b2a059;background-color:#f2f6fc}input[type=date]:focus,input[type=time]:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3.5px #09b2a01f;background-color:var(--white)}
