:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f5;--color-bg-tertiary: #e8e8e8;--color-text-primary: #213547;--color-text-secondary: #666;--color-text-muted: #999;--color-accent: #646cff;--color-accent-hover: #535bf2;--color-border: #e0e0e0;--color-shadow: rgba(0, 0, 0, .1);--color-shadow-hover: rgba(0, 0, 0, .15);--color-overlay: rgba(0, 0, 0, .5);--color-card-bg: #ffffff;--color-header-bg: rgba(255, 255, 255, .95);--color-footer-bg: #333;--color-footer-text: #ffffff}[data-theme=dark]{--color-bg-primary: #1a1a1a;--color-bg-secondary: #242424;--color-bg-tertiary: #2d2d2d;--color-text-primary: #ffffff;--color-text-secondary: #b8b8b8;--color-text-muted: #888;--color-accent: #7a82ff;--color-accent-hover: #8f96ff;--color-border: #3d3d3d;--color-shadow: rgba(0, 0, 0, .3);--color-shadow-hover: rgba(0, 0, 0, .4);--color-overlay: rgba(0, 0, 0, .7);--color-card-bg: #242424;--color-header-bg: rgba(26, 26, 26, .95);--color-footer-bg: #1a1a1a;--color-footer-text: #ffffff}:root{color-scheme:light dark;color:var(--color-text-primary);background-color:var(--color-bg-primary)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;min-height:100vh}.license-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.license-modal{background:var(--color-card-bg);border-radius:12px;max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.license-modal-header{padding:2rem 2rem 1rem;border-bottom:2px solid var(--color-accent)}.license-modal-header h2{margin:0;color:var(--color-text-primary);font-size:1.8rem}.license-modal-content{padding:2rem;overflow-y:auto;flex:1}.license-summary{background:var(--color-bg-secondary);padding:1.5rem;border-radius:8px;border-left:4px solid var(--color-accent);margin-bottom:2rem}.license-summary p{margin:0;color:var(--color-text-primary);font-size:1.05rem;line-height:1.6}.license-full-text h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.3rem}.license-text-box{background:var(--color-bg-secondary);padding:2rem;border-radius:8px;max-height:400px;overflow-y:auto;border:1px solid var(--color-border);margin-bottom:1.5rem}.license-text-box h4{color:var(--color-accent);margin-top:0;margin-bottom:1rem;font-size:1.2rem;text-align:center}.license-text-box h5{color:var(--color-text-primary);margin-top:1.5rem;margin-bottom:.75rem;font-size:1.05rem}.license-text-box p{color:var(--color-text-secondary);margin-bottom:.75rem;line-height:1.6}.license-text-box ul{margin-left:1.5rem;margin-bottom:.75rem}.license-text-box li{color:var(--color-text-secondary);margin-bottom:.5rem;line-height:1.6}.license-checkbox{padding:1rem;background:var(--color-bg-secondary);border-radius:8px;border:2px solid var(--color-border)}.license-checkbox label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;color:var(--color-text-primary);font-size:1rem}.license-checkbox input[type=checkbox]{margin-top:.25rem;width:20px;height:20px;cursor:pointer;flex-shrink:0}.license-checkbox input[type=checkbox]:disabled{cursor:not-allowed}.license-checkbox span{flex:1;line-height:1.5}.license-modal-actions{padding:1.5rem 2rem;border-top:1px solid var(--color-border);display:flex;gap:1rem;justify-content:flex-end}.license-modal-actions button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.license-modal-actions button:disabled{opacity:.5;cursor:not-allowed}.btn-decline{background:var(--color-bg-secondary);color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-decline:hover:not(:disabled){background:var(--color-bg-tertiary);border-color:var(--color-text-secondary)}.btn-accept{background:var(--color-accent);color:#fff}.btn-accept:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-2px);box-shadow:0 4px 12px var(--color-shadow-hover)}.license-text-box::-webkit-scrollbar{width:8px}.license-text-box::-webkit-scrollbar-track{background:var(--color-bg-tertiary);border-radius:4px}.license-text-box::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.license-text-box::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}@media(max-width:768px){.license-modal{max-width:95%;max-height:95vh}.license-modal-header{padding:1.5rem 1.5rem 1rem}.license-modal-header h2{font-size:1.5rem}.license-modal-content{padding:1.5rem}.license-text-box{padding:1.5rem;max-height:300px}.license-modal-actions{padding:1rem 1.5rem;flex-direction:column}.license-modal-actions button{width:100%}}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-container{background:var(--color-card-bg);padding:3rem;border-radius:10px;box-shadow:0 10px 30px #0003;width:100%;max-width:400px}.login-container h2{text-align:center;color:var(--color-text-primary);margin-bottom:2rem}.admin-panel{min-height:100vh;background:var(--color-bg-secondary)}.admin-header{background:var(--color-card-bg);padding:1rem 2rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px var(--color-shadow)}.admin-header h1{color:var(--color-accent);margin:0}.logout-btn{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-weight:500}.logout-btn:hover{background:#c82333}.admin-tabs{background:var(--color-card-bg);border-bottom:1px solid var(--color-border);display:flex;gap:0}.admin-tabs button{background:transparent;border:none;padding:1rem 2rem;cursor:pointer;font-size:1rem;font-weight:500;color:var(--color-text-secondary);border-bottom:3px solid transparent;transition:all .3s ease}.admin-tabs button:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.admin-tabs button.active{color:var(--color-accent);border-bottom-color:var(--color-accent);background:var(--color-bg-secondary)}.admin-content{padding:2rem;max-width:1200px;margin:0 auto}.admin-section{background:var(--color-card-bg);border-radius:10px;padding:2rem;box-shadow:0 2px 10px var(--color-shadow)}.admin-section h2{color:var(--color-text-primary);margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--color-accent)}.admin-form{background:var(--color-bg-secondary);padding:2rem;border-radius:8px;margin-bottom:3rem;border-left:4px solid var(--color-accent)}.admin-form h3{margin-top:0;margin-bottom:1.5rem;color:var(--color-text-primary)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text-primary)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:5px;font-size:1rem;transition:border-color .3s ease;background:var(--color-card-bg);color:var(--color-text-primary)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #646cff33}.form-group textarea{min-height:100px;resize:vertical}.admin-form button{background:var(--color-accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:500;transition:background .3s ease}.admin-form button:hover{background:var(--color-accent-hover)}.admin-form button:disabled{background:#ccc;cursor:not-allowed}.items-list{margin-top:2rem}.items-list h3{color:var(--color-text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.item-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 2px 5px var(--color-shadow);transition:box-shadow .3s ease}.item-card:hover{box-shadow:0 4px 15px var(--color-shadow-hover)}.item-card h4{margin:0 0 .5rem;color:var(--color-text-primary)}.item-card p{margin:.25rem 0;color:var(--color-text-secondary);line-height:1.5}.item-card button{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;margin-top:1rem;transition:background .3s ease}.item-card button:hover{background:#c82333}.item-card a{color:var(--color-accent);text-decoration:none}.item-card a:hover{text-decoration:underline}@media(max-width:768px){.admin-header{flex-direction:column;gap:1rem;text-align:center}.admin-tabs{flex-direction:column}.admin-tabs button{padding:1rem;border-bottom:1px solid var(--color-border);border-right:none}.admin-tabs button.active{border-bottom-color:var(--color-border);border-left:3px solid var(--color-accent)}.admin-content{padding:1rem}.admin-form{padding:1.5rem}.login-container{margin:1rem;padding:2rem}}@media(max-width:480px){.admin-header{padding:1rem}.admin-header h1{font-size:1.5rem}.admin-content{padding:.5rem}.admin-section,.admin-form{padding:1rem}}.language-selector{display:flex;align-items:center}.lang-dropdown{background:var(--color-card-bg);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.5rem .75rem;border-radius:5px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;outline:none;min-width:100px}.lang-dropdown:hover{border-color:var(--color-accent);box-shadow:0 2px 8px var(--color-shadow)}.lang-dropdown:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-shadow)}.lang-dropdown option{background:var(--color-card-bg);color:var(--color-text-primary);padding:.5rem}@media(max-width:768px){.lang-dropdown{padding:.4rem .6rem;font-size:.85rem;min-width:85px}}.theme-toggle{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary);padding:.5rem;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.theme-toggle:hover{background:var(--color-accent);border-color:var(--color-accent);transform:scale(1.1)}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.header{background:var(--color-header-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 10px var(--color-shadow)}.nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto}.nav-brand{display:flex;align-items:center;gap:.5rem}.nav-brand h1{color:var(--color-accent);font-size:1.8rem;font-weight:700}.logo{height:50px;width:auto;object-fit:contain}.logo-placeholder{font-size:1.5rem}.nav-menu{display:flex;gap:2rem;align-items:center}.admin-btn{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);padding:.5rem;border-radius:50%;cursor:pointer;font-size:1rem;transition:all .3s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.admin-btn:hover{background:var(--color-accent);color:#fff;transform:scale(1.1)}.nav-link{text-decoration:none;color:var(--color-text-primary);font-weight:500;transition:color .3s ease}.nav-link:hover{color:var(--color-accent)}.nav-toggle{display:none;flex-direction:column;gap:4px;cursor:pointer;z-index:1001}.nav-toggle span{width:25px;height:3px;background:var(--color-text-primary);transition:.3s;display:block}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;background:var(--color-accent);color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:1.5rem;cursor:pointer;box-shadow:0 4px 15px var(--color-shadow);z-index:1000;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.scroll-to-top:hover{background:var(--color-accent-hover);transform:translateY(-5px);box-shadow:0 6px 20px var(--color-shadow-hover)}.hero{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;position:relative;overflow:hidden}.hero-content{max-width:800px;position:relative;z-index:2}.hero-main{position:relative;z-index:3}.hero-tagline{font-size:1.2rem;font-weight:300;margin-bottom:2rem;opacity:.9;font-style:italic}.hero-music-notes{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1}.note{position:absolute;font-size:2rem;color:#ffffff1a;animation:float 6s ease-in-out infinite}.note-1{top:20%;left:10%;animation-delay:0s}.note-2{top:40%;right:15%;animation-delay:1s}.note-3{bottom:30%;left:20%;animation-delay:2s}.note-4{top:60%;left:70%;animation-delay:3s}.note-5{bottom:20%;right:25%;animation-delay:4s}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.1}50%{transform:translateY(-20px) rotate(10deg);opacity:.3}}.hero-scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#fff;opacity:.8;animation:bounce 2s infinite;cursor:pointer;z-index:3}.hero-scroll-indicator span{font-size:.9rem;font-weight:500;text-transform:uppercase;letter-spacing:1px}.hero-scroll-arrow{font-size:2rem;line-height:1}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@media(max-width:768px){.hero-scroll-indicator{bottom:1.5rem}.hero-scroll-indicator span{font-size:.8rem}.hero-scroll-arrow{font-size:1.5rem}}.upcoming-events-preview{padding:5rem 0;background:#f8f9fa}.events-cta{text-align:center;margin-top:3rem}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;animation:fadeInUp 1s ease-out}.hero-subtitle{font-size:1.3rem;margin-bottom:2rem;opacity:.9;animation:fadeInUp 1s ease-out .2s both}.hero-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem;animation:fadeInUp 1s ease-out .4s both}.btn{padding:.8rem 2rem;border:none;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary{background:#fff;color:#646cff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0003}.btn-secondary{background:transparent;color:#fff;border:2px solid white}.btn-secondary:hover{background:#fff;color:#646cff;transform:translateY(-2px)}.connection-status{animation:fadeInUp 1s ease-out .6s both}.status-indicator{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.status-indicator.connected{background:#4caf5033;color:#4caf50}.status-indicator.disconnected{background:#f4433633;color:#f44336}.features,.welcome{padding:5rem 0;background:#f8f9fa}.welcome-content{max-width:800px;margin:0 auto;text-align:center}.welcome-text{font-size:1.1rem;line-height:1.8;color:#555;margin-bottom:2rem}.history-author{text-align:center;font-style:italic;color:#666;font-size:1rem;margin-bottom:1rem;margin-top:-1rem}.history-author-section{text-align:center;margin-bottom:3rem}.author-photo-placeholder{display:flex;justify-content:center;margin-top:1.5rem}.author-photo{max-width:300px;text-align:center}.author-photo img{width:100%;height:auto;border-radius:10px;box-shadow:0 5px 15px #0003}.photo-caption{margin-top:.75rem;font-style:italic;color:#666;font-size:.9rem}.history-button-container{text-align:center;margin-top:2rem}.history-page,.events-page{padding:8rem 0 4rem;background:#f8f9fa;min-height:100vh}.events-year-section{margin-bottom:4rem}.year-title{color:var(--color-accent);font-size:2rem;margin-bottom:2rem;padding-bottom:.5rem;border-bottom:3px solid var(--color-accent)}.event-image{width:100%;max-height:300px;overflow:hidden;border-radius:10px;margin-top:1rem}.event-image img{width:100%;height:auto;object-fit:contain}.event-flyer-link{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.event-flyer-link a{color:var(--color-accent);text-decoration:none;font-weight:600;display:inline-flex;align-items:center;gap:.5rem}.event-flyer-link a:hover{text-decoration:underline}.event-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}.event-modal-content{background:var(--color-card-bg);border-radius:15px;max-width:900px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0000004d}.event-modal-body{padding:3rem}.event-modal-body h2{color:var(--color-accent);margin-bottom:1.5rem;font-size:2rem}.event-modal-info{margin-bottom:1.5rem;padding:1rem;background:var(--color-bg);border-radius:8px}.event-modal-info p{margin:.5rem 0;color:var(--color-text)}.event-modal-description{margin-bottom:2rem;line-height:1.8;color:var(--color-text-secondary)}.event-modal-media{display:flex;flex-direction:column;gap:1.5rem}.event-modal-image{width:100%;border-radius:10px;overflow:hidden}.event-modal-image img{width:100%;height:auto;display:block}.event-modal-flyer{text-align:center}.event-modal-flyer .btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;font-size:1.1rem}@media(max-width:768px){.event-modal-content{width:95%}.event-modal-body{padding:2rem}.event-modal-body h2{font-size:1.5rem}}.gallery-page,.contact-page{padding:8rem 0 4rem;background:#f8f9fa;min-height:100vh}.contact-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media(max-width:768px){.contact-content{grid-template-columns:1fr}}.contact-info{background:var(--color-card-bg);padding:3rem;border-radius:10px;box-shadow:0 5px 15px var(--color-shadow);border:1px solid var(--color-border)}.contact-details h3{color:var(--color-accent);margin-top:2rem;margin-bottom:1rem}.contact-details h3:first-child{margin-top:0}.contact-details p{margin-bottom:1rem;line-height:1.6;color:var(--color-text-secondary)}.contact-details a{color:var(--color-accent);text-decoration:none}.contact-details a:hover{text-decoration:underline}.map-container{margin-top:1rem;margin-bottom:2rem}.contact-form-container{background:var(--color-card-bg);padding:3rem;border-radius:10px;box-shadow:0 5px 15px var(--color-shadow);border:1px solid var(--color-border)}.contact-form-container h2{color:var(--color-accent);margin-bottom:2rem}.contact-form .form-group{margin-bottom:1.5rem}.contact-form label{display:block;margin-bottom:.5rem;color:var(--color-text);font-weight:500}.contact-form input,.contact-form textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg);color:var(--color-text);font-family:inherit;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--color-accent)}.contact-form textarea{resize:vertical;min-height:120px}.form-message{margin-top:1rem;padding:.75rem;border-radius:5px;text-align:center}.form-message.success{background:#d4edda;color:#155724;border:1px solid #c3e6cb}.form-message.error{background:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.back-btn{background:#646cff;color:#fff;border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.9rem;margin-bottom:2rem;transition:background .3s ease}.back-btn:hover{background:#5a5fcf}.committee-page{padding:8rem 0 4rem;background:#f8f9fa;min-height:100vh}.presentation-section{margin-bottom:4rem;background:var(--color-card-bg);padding:3rem;border-radius:10px;box-shadow:0 5px 15px var(--color-shadow);border:1px solid var(--color-border)}.section-subtitle{color:var(--color-accent);font-size:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:3px solid var(--color-accent)}.section-description{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.1rem}.committee-group{margin-bottom:2rem}.group-photo-container{margin:2rem 0;text-align:center}.group-photo{max-width:100%;height:auto;border-radius:10px;box-shadow:0 5px 15px #0000001a}.group-description{margin-top:1.5rem;color:var(--color-text);line-height:1.8}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;margin-top:2rem}.member-card{background:var(--color-bg);border-radius:10px;overflow:hidden;box-shadow:0 3px 10px #0000001a;transition:transform .3s ease,box-shadow .3s ease}.member-card:hover{transform:translateY(-5px);box-shadow:0 5px 20px #00000026}.member-photo{width:100%;height:250px;overflow:hidden}.member-info h3{color:var(--color-text);margin-bottom:.5rem;font-size:1.2rem}.member-description{color:var(--color-text-secondary);font-size:.9rem;line-height:1.6}.privacy-page{padding:8rem 0 4rem;background:#f8f9fa;min-height:100vh}.privacy-content{max-width:800px;margin:0 auto;background:var(--color-card-bg);padding:3rem;border-radius:10px;box-shadow:0 5px 15px var(--color-shadow);border:1px solid var(--color-border)}.privacy-content h2{color:var(--color-accent);margin-top:2rem;margin-bottom:1rem;font-size:1.8rem}.privacy-content h2:first-child{margin-top:0}.privacy-content h3{color:var(--color-text-primary);margin-top:1.5rem;margin-bottom:1rem;font-size:1.3rem}.privacy-content p{margin-bottom:1rem;line-height:1.8;color:var(--color-text-secondary)}.privacy-content ul{margin-left:2rem;margin-bottom:1rem}.privacy-content ul li{margin-bottom:.5rem;line-height:1.6;color:var(--color-text-secondary)}.history-content{max-width:800px;margin:0 auto;line-height:1.8}.history-content p{margin-bottom:1.5rem;color:#555;text-align:justify}.nav-link.active{color:#646cff;font-weight:700}.musicians{padding:5rem 0;background:#fff}.musicians-content{max-width:1000px;margin:0 auto}.musicians-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.musician-category{background:#f8f9fa;padding:2rem;border-radius:10px;text-align:center;border-left:4px solid #646cff;transition:transform .3s ease}.musician-category:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.musician-category h3{color:#333;margin-bottom:1rem;font-size:1.3rem}.musician-category p{color:#666;line-height:1.6}.rehearsals{padding:5rem 0;background:var(--color-bg)}.rehearsals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:3rem;max-width:800px;margin-left:auto;margin-right:auto}.rehearsal-card{background:var(--color-card-bg);padding:3rem 2rem;border-radius:15px;text-align:center;border:2px solid var(--color-border);transition:all .3s ease;box-shadow:0 5px 15px var(--color-shadow)}.rehearsal-card:hover{transform:translateY(-10px);box-shadow:0 15px 35px #00000026;border-color:var(--color-accent)}.rehearsal-icon{font-size:4rem;margin-bottom:1.5rem}.rehearsal-card h3{color:var(--color-accent);margin-bottom:1.5rem;font-size:1.5rem}.rehearsal-details{margin-top:1rem}.rehearsal-day{font-size:1.2rem;color:var(--color-text);font-weight:600;margin-bottom:.5rem}.rehearsal-time{font-size:1.5rem;color:var(--color-accent);font-weight:700}.upcoming-events{padding:5rem 0;background:#fff}.events-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.event-card{display:flex;background:#fff;border-radius:10px;box-shadow:0 5px 15px #0000001a;padding:1.5rem;transition:transform .3s ease;cursor:pointer}.event-card:hover{transform:translateY(-5px)}.expand-indicator{font-size:.8rem;margin-left:.5rem;color:var(--color-accent)}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#646cff;color:#fff;border-radius:8px;padding:1rem;margin-right:1.5rem;min-width:70px;gap:.2rem}.event-date .date-day{font-size:1.8rem;font-weight:700;line-height:1}.event-date .date-month{font-size:1.1rem;font-weight:600;line-height:1}.event-date .date-year{font-size:.9rem;font-weight:500;line-height:1;opacity:.9}.event-details h3{margin-bottom:.5rem;color:#333}.event-details p{color:#666;margin-bottom:1rem;line-height:1.6}.event-location{color:#646cff;font-size:.9rem;font-weight:500}.gallery-preview{padding:5rem 0;background:#f8f9fa}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-top:3rem}.gallery-item{text-align:center;padding:2rem;background:#fff;border-radius:10px;box-shadow:0 3px 10px #0000001a;transition:transform .3s ease}.gallery-item:hover{transform:translateY(-3px)}.gallery-placeholder{font-size:3rem;margin-bottom:1rem}.gallery-item p{color:#333;font-weight:500}.sponsors{padding:5rem 0;background:#f8f9fa}.sponsors-content{text-align:center;max-width:1200px;margin:0 auto}.sponsors-content p{color:#666;line-height:1.6;margin-bottom:3rem}.sponsors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2.5rem;margin-top:2rem;align-items:center;justify-items:center}.sponsor-placeholder{background:#f8f9fa;border:2px dashed #ddd;border-radius:8px;padding:2rem;text-align:center;color:#999;font-size:.9rem}.sponsor-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;transition:transform .3s ease,filter .3s ease;width:100%;height:100%;min-height:120px;background:#fff!important;border-radius:10px;box-shadow:0 2px 8px #0000001a}.sponsor-item:hover{transform:scale(1.05);filter:drop-shadow(0 8px 16px rgba(0,0,0,.15))}.sponsor-logo{max-width:100%;width:auto;height:auto;max-height:180px;object-fit:contain;display:block}.sponsor-name{text-align:center;color:#666;font-size:.85rem;font-weight:400;margin-top:.5rem}.sponsor-name-only{text-align:center;color:#666;font-size:1.1rem;font-weight:600;padding:1rem}.gallery-image{width:100%;height:150px;object-fit:cover;border-radius:8px;margin-bottom:1rem}.loading{text-align:center;padding:2rem;color:#666;font-style:italic}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;color:#333}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.feature-card{background:#fff;padding:2rem;border-radius:10px;text-align:center;box-shadow:0 5px 15px #0000001a;transition:transform .3s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{margin-bottom:1rem;color:#333}.feature-card p{color:#666;line-height:1.6}.services{padding:5rem 0}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:3rem}.service-item{padding:2rem;border-left:4px solid #646cff;background:#f8f9fa;border-radius:5px}.service-item h3{margin-bottom:1rem;color:#333}.service-item p{color:#666;line-height:1.6}.footer{background:#333;color:#fff;padding:3rem 0 1rem;margin-top:auto}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{margin-bottom:1rem;color:#646cff}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#ccc;text-decoration:none;transition:color .3s ease}.footer-section a:hover{color:#646cff}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid #555;color:#ccc}.footer-bottom p{margin-bottom:.5rem}.privacy-link{color:#ccc;text-decoration:none;transition:color .3s ease}.privacy-link:hover{color:#646cff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.nav-menu{display:none;position:fixed;top:70px;left:0;right:0;background:#fff;flex-direction:column;padding:2rem;box-shadow:0 4px 10px #0000001a;z-index:999}.nav-menu.active{display:flex}.nav-menu .nav-link{padding:1rem 0;border-bottom:1px solid #eee;text-align:center;width:100%}.nav-menu .admin-btn{margin-top:1rem}.nav-toggle{display:flex}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.hero-buttons{flex-direction:column;align-items:center}.events-preview{grid-template-columns:1fr}.event-card{flex-direction:column;text-align:center}.event-date{margin-right:0;margin-bottom:1rem;align-self:center}.gallery-grid,.sponsors-grid{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:1fr}.footer-content{grid-template-columns:1fr;text-align:center}.nav{padding:1rem}.container{padding:0 1rem}}@media(max-width:480px){.hero{padding:1rem}.hero-title,.section-title{font-size:2rem}.feature-card,.service-item{padding:1.5rem}.event-card{padding:1rem}.gallery-grid,.sponsors-grid{grid-template-columns:1fr}.nav-brand h1{font-size:1.5rem}}.gallery-years,.gallery-events,.gallery-images{margin-top:2rem}.gallery-years h2,.gallery-events h2,.gallery-images h2{margin-bottom:2rem;color:var(--color-text-primary);font-size:2rem}.year-grid,.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2rem;margin-top:2rem}.year-folder,.event-folder{background:var(--color-card-bg);border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;border:2px solid var(--color-border);color:var(--color-text-primary)}.year-folder:hover,.event-folder:hover{background:var(--color-accent);color:#fff;transform:translateY(-5px);box-shadow:0 8px 20px var(--color-shadow-hover);border-color:var(--color-accent)}.folder-icon{font-size:4rem;margin-bottom:1rem}.folder-label{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.folder-count{font-size:.9rem;opacity:.8;margin-top:.5rem}.back-btn{background:#646cff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;margin-bottom:2rem;transition:background .3s ease}.back-btn:hover{background:#535ac5}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}.gallery-image-item{position:relative;overflow:hidden;border-radius:12px;cursor:pointer;box-shadow:0 4px 10px #0000001a;transition:transform .3s ease;background:transparent}.gallery-image-item:hover{transform:scale(1.02);box-shadow:0 8px 20px #0003}.gallery-thumbnail{width:100%;height:100%;min-height:200px;max-height:400px;display:block;object-fit:cover;vertical-align:bottom}.image-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-content{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;padding:0 6rem}.close-btn{position:absolute;top:1rem;right:1rem;background:#000000b3;color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:1.5rem;cursor:pointer;z-index:10;transition:background .3s ease;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#000000e6}.overlay-image{max-width:100%;max-height:90vh;display:block;object-fit:contain;position:relative}.image-watermark{position:absolute;bottom:1rem;right:1rem;background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;pointer-events:none;z-index:15}.nav-btn{position:absolute;background:#000000b3;color:#fff;border:none;width:50px;height:50px;border-radius:50%;font-size:2.5rem;cursor:pointer;z-index:10;transition:background .3s ease;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.nav-btn:hover{background:#000000e6}.prev-btn{left:1rem;top:50%;transform:translateY(-50%)}.next-btn{right:1rem;top:50%;transform:translateY(-50%)}.nav-btn:disabled{opacity:.3;cursor:not-allowed}.nav-btn:disabled:hover{background:#000000b3}.no-data{text-align:center;padding:3rem;color:#666;font-size:1.1rem;background:#f8f9fa;border-radius:12px;margin:2rem 0}@media(max-width:768px){.year-grid,.event-grid,.images-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.overlay-image{max-width:95vw;max-height:60vh}.folder-icon{font-size:3rem}.folder-label{font-size:1.2rem}}.upcoming-events-preview,.features,.welcome{background:var(--color-bg-secondary)}.btn-primary{background:var(--color-card-bg);color:var(--color-accent)}.btn-primary:hover{box-shadow:0 10px 25px var(--color-shadow-hover)}.event-card{background:var(--color-card-bg);box-shadow:0 4px 15px var(--color-shadow);border:1px solid var(--color-border)}.event-card:hover{box-shadow:0 6px 20px var(--color-shadow-hover)}.event-date{background:var(--color-accent)}.event-details h3{color:var(--color-text-primary)}.event-details p{color:var(--color-text-secondary)}.event-location{color:var(--color-text-muted)}.welcome-text,.history-content p{color:var(--color-text-secondary)}.history-author,.section-title{color:var(--color-text-primary)}.musicians{background:var(--color-bg-primary)}.musician-category{background:var(--color-card-bg);border:1px solid var(--color-border)}.musician-category h3{color:var(--color-accent)}.musician-category p{color:var(--color-text-secondary)}.sponsors{background:var(--color-bg-secondary)}.sponsor-item{background:var(--color-card-bg);border:1px solid var(--color-border)}.year-folder,.event-folder{background:var(--color-card-bg);border:2px solid var(--color-border);color:var(--color-text-primary)}.year-folder:hover,.event-folder:hover{border-color:var(--color-accent);box-shadow:0 4px 15px var(--color-shadow-hover)}.gallery-image-item:hover{box-shadow:0 4px 15px var(--color-shadow-hover)}.image-overlay{background:var(--color-overlay)}.overlay-content{background:var(--color-card-bg)}.close-btn,.nav-btn{background:var(--color-card-bg);color:var(--color-text-primary);border:2px solid var(--color-border)}.close-btn:hover,.nav-btn:hover:not(:disabled){background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.nav-btn:disabled{opacity:.3;background:var(--color-bg-tertiary);color:var(--color-text-muted)}.back-btn{background:var(--color-accent);color:#fff;border:none}.back-btn:hover{background:var(--color-accent-hover)}.history-page,.events-page,.gallery-page,.contact-page,.privacy-page{background:var(--color-bg-primary);min-height:100vh;padding:8rem 0 2rem}.history-content{color:var(--color-text-secondary)}.contact-info h2,.contact-info h3,.privacy-content h2,.privacy-content h3{color:var(--color-text-primary)}.contact-info p,.privacy-content p,.privacy-content li{color:var(--color-text-secondary)}.footer{background:var(--color-footer-bg);color:var(--color-footer-text)}.footer h3,.footer h4,.footer a{color:var(--color-footer-text)}.footer a:hover{color:var(--color-accent)}.loading,.no-data{color:var(--color-text-secondary)}@media(max-width:768px){.nav-menu{background:var(--color-header-bg);border-top:1px solid var(--color-border)}}.committee-page{background:var(--color-bg-primary);min-height:100vh;padding:8rem 0 2rem}.committee-group{margin-bottom:3rem;text-align:center}.group-photo-container{margin:2rem auto;max-width:800px}.group-photo{width:100%;height:auto;border-radius:10px;box-shadow:0 4px 15px var(--color-shadow)}.group-description{margin-top:1.5rem;max-width:700px;margin-left:auto;margin-right:auto}.group-description p{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.8}.committee-members{margin-top:3rem}.committee-members h2{text-align:center;margin-bottom:2rem;color:var(--color-text-primary)}.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-top:2rem}.member-card{background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;box-shadow:0 4px 15px var(--color-shadow);transition:all .3s ease}.member-card:hover{transform:translateY(-5px);box-shadow:0 6px 20px var(--color-shadow-hover)}.member-photo{width:100%;height:280px;overflow:hidden;background:var(--color-bg-tertiary)}.member-photo img{width:100%;height:100%;object-fit:cover}.member-info{padding:1.5rem}.member-info h3{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.3rem}.member-role{color:var(--color-accent);font-weight:600;margin-bottom:.75rem}.member-description{color:var(--color-text-secondary);line-height:1.6;font-size:.95rem}@media(max-width:768px){.members-grid{grid-template-columns:1fr}.member-photo{height:250px}}
