:root{--gold-primary:#D4AF37;--gold-light:#F9E58A;--gold-dark:#c4a04d;--black-deep:#050505;--black-soft:#0F0F0F;--text-light:#E0E0E0;--text-dim:#A0A0A0;--red-error:#ff4d4d;--green-ok:#00ff00;--blue-info:#4da6ff;--font-heading:'Cinzel',serif;--font-body:'Lato',sans-serif;--font-accent:'Playfair Display',serif;--transition:0.3s ease;--radius:4px;--radius-lg:16px;--max-width:1200px;--shadow:0 4px 15px rgba(0,0,0,0.5);--shadow-hover:0 15px 35px rgba(212,175,55,0.2)}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}html,body{width:100%;overflow-x:hidden}body{background-color:var(--black-deep);color:var(--text-light);font-family:var(--font-body);font-weight:300;line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video,iframe{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,.nav-link{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:2px;color:var(--gold-primary)}.text-gradient-gold{background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.required{color:var(--red-error)}header{width:100%;background:var(--black-deep);display:flex;flex-direction:column;align-items:center}.banner-frame{width:100%;height:15vh;min-height:120px;max-height:400px;overflow:hidden;border-bottom:2px solid var(--gold-primary);background-color:var(--black-deep)}.banner-frame a{display:block;width:100%;height:100%}.banner-frame img{width:100%;height:100%;object-fit:cover}nav{width:100%;background-color:var(--black-deep);padding:15px 20px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,0.05)}.hamburger-menu{display:flex;flex-direction:column;justify-content:space-between;width:28px;height:20px;cursor:pointer;z-index:1001;background:none;border:none;padding:0}.hamburger-menu span{width:100%;height:3px;background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));border-radius:3px;transition:all var(--transition)}.hamburger-menu.active span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}.hamburger-menu.active span:nth-child(2){opacity:0}.hamburger-menu.active span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}.nav-links{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:rgba(5,5,5,0.98);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:35px;transform:translateX(100%);transition:transform 0.4s ease-in-out;z-index:1000}.nav-links.active{transform:translateX(0)}.nav-links li{opacity:0;transform:translateY(20px);transition:all var(--transition) 0.1s}.nav-links.active li{opacity:1;transform:translateY(0)}.nav-link{text-decoration:none;font-size:1.2rem;color:var(--text-light);position:relative;transition:color var(--transition)}.nav-link:hover,.nav-link.active{background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-link::after{content:'';position:absolute;left:50%;bottom:-5px;width:0;height:1px;background:var(--gold-primary);transition:all var(--transition)}.nav-link:hover::after,.nav-link.active::after{width:100%;left:0}.welcome-section{padding:50px 20px;max-width:900px;margin:0 auto;text-align:center;animation:fadeIn 1s ease forwards}.welcome-title{font-size:1.8rem;margin-bottom:20px;background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-subtitle{font-family:var(--font-accent);font-size:1.1rem;color:var(--text-dim);font-style:italic;margin-bottom:30px}.section-heading{font-family:var(--font-heading);margin-top:20px;font-size:1.4rem;text-transform:uppercase}.divider{width:80px;height:1px;margin:0 auto 30px;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent)}.welcome-text{text-align:center;line-height:1.8;max-width:750px;margin:20px auto 0}.welcome-text p{margin-bottom:18px}.content-container{max-width:var(--max-width);margin:0 auto;padding:0 20px 80px;display:grid;grid-template-columns:1fr;gap:30px}.card-link{text-decoration:none;color:inherit;display:flex;height:100%}.card{background:linear-gradient(145deg,var(--black-soft),#151515);padding:30px 25px;border:1px solid #222;text-align:center;transition:transform 0.4s ease,border-color 0.4s ease;position:relative;display:flex;flex-direction:column;width:100%}.card:hover{transform:translateY(-8px);border-color:var(--gold-primary)}.card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:var(--gold-primary);transform:scaleX(0);transition:transform 0.4s ease}.card:hover::before{transform:scaleX(1)}.card h3,.card h2{margin-bottom:12px;font-size:1.2rem}.card p{font-size:0.95rem;color:var(--text-dim)}.card-image-wrapper{width:100%;aspect-ratio:1 / 1;overflow:hidden;margin-bottom:18px;border-radius:var(--radius);border:1px solid #333}.card-image-wrapper img{width:100%;height:100%;object-fit:contain;transition:transform 0.5s ease}.card:hover .card-image-wrapper img{transform:scale(1.05)}.events-grid{max-width:var(--max-width);margin:0 auto;padding:0 20px 80px;display:grid;grid-template-columns:1fr;gap:25px}.event-card{display:block;position:relative;width:100%;height:400px;background-size:cover;background-position:center top;background-color:#000;border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);border:1px solid rgba(212,175,55,0.2);transition:transform var(--transition),box-shadow var(--transition)}.event-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--gold-primary)}.event-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.9),rgba(0,0,0,0.3),transparent);display:flex;flex-direction:column;justify-content:space-between;padding:25px;opacity:1}.event-date{align-self:flex-start;background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));color:var(--black-deep);padding:4px 14px;border-radius:20px;font-family:var(--font-heading);font-weight:700;font-size:0.8rem;box-shadow:0 2px 5px rgba(0,0,0,0.5)}.event-details{text-align:center}.event-details h2{font-size:1.4rem;color:#fff;margin-bottom:5px;text-shadow:0 2px 5px rgba(0,0,0,0.8);-webkit-text-fill-color:#fff}.event-details p{color:var(--text-dim);font-style:italic;margin-bottom:15px}.btn-action{display:inline-block;padding:10px 28px;border:1px solid var(--gold-primary);color:#fff;text-transform:uppercase;letter-spacing:2px;font-size:0.75rem;font-family:var(--font-heading);border-radius:50px;background:rgba(0,0,0,0.8);transition:all var(--transition);text-decoration:none}.btn-action:hover,.event-card:hover .btn-action{background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));color:var(--black-deep);border-color:transparent}.gallery-grid{max-width:var(--max-width);margin:0 auto;padding:0 20px 80px;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:15px}.gallery-item{position:relative;overflow:hidden;border-radius:12px;border:1px solid rgba(212,175,55,0.1);box-shadow:var(--shadow);transition:transform var(--transition),border-color var(--transition);aspect-ratio:2/3;margin:0}.gallery-item:hover{transform:translateY(-5px);border-color:var(--gold-primary)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}.gallery-item:hover img{transform:scale(1.05)}.links-grid{max-width:var(--max-width);margin:0 auto;padding:0 15px 80px;display:grid;grid-template-columns:1fr;gap:20px}.link-card{display:block;position:relative;width:100%;height:250px;background-size:cover;background-position:center top;border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);border:1px solid rgba(212,175,55,0.2)}.link-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover);border-color:var(--gold-primary)}.link-card.premium{border-color:var(--gold-light)}.link-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.9),rgba(0,0,0,0.2),transparent);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:30px;transition:background var(--transition)}.link-card:hover .link-overlay{background:linear-gradient(to top,rgba(0,0,0,0.95),rgba(0,0,0,0.3),transparent)}.link-icon{font-size:2rem;margin-bottom:8px;filter:drop-shadow(0 2px 5px rgba(0,0,0,0.8))}.link-name{font-family:var(--font-heading);font-size:1.2rem;color:#fff;text-transform:uppercase;letter-spacing:3px;text-shadow:0 2px 10px rgba(0,0,0,0.8);text-align:center}.contact-container{max-width:var(--max-width);margin:0 auto;padding:0 20px 80px;display:flex;flex-direction:column;align-items:center;gap:25px}.contact-card,.contact-social{max-width:600px;width:100%;text-align:left}.contact-intro{margin-bottom:20px;color:var(--text-dim)}.contact-form{display:flex;flex-direction:column;gap:15px}.form-group label{display:block;color:var(--gold-light);margin-bottom:5px;font-family:var(--font-heading);font-size:0.85rem;letter-spacing:1px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;background:#0a0a0a;border:1px solid #333;color:#fff;font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition);border-radius:var(--radius)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold-primary);outline:none;box-shadow:0 0 10px rgba(212,175,55,0.1)}.form-group textarea{resize:vertical;min-height:120px}.btn-submit{cursor:pointer;padding:14px 30px;background:linear-gradient(to right,#cfc09f,#ffecb3,var(--gold-dark));color:var(--black-deep);border:none;font-family:var(--font-heading);font-weight:bold;font-size:1rem;text-transform:uppercase;letter-spacing:2px;transition:all var(--transition);border-radius:var(--radius)}.btn-submit:hover{box-shadow:0 0 20px rgba(212,175,55,0.4);transform:translateY(-2px)}.contact-direct{margin-top:20px;font-size:0.9rem;color:#999;text-align:center}.contact-social{text-align:center}.contact-social .btn-action{margin-top:15px}.legal-container{max-width:800px;margin:0 auto;padding:0 20px 80px;display:flex;flex-direction:column;gap:20px}.legal-card{text-align:left}.legal-card h2{font-size:1.1rem;margin-bottom:12px}.legal-card p,.legal-card li{color:var(--text-dim);line-height:1.8}.legal-card ul{padding-left:20px;margin:10px 0}.legal-card li{list-style:disc;margin-bottom:6px}.legal-card address{font-style:normal;margin:10px 0;padding:12px;background:rgba(212,175,55,0.05);border-left:3px solid var(--gold-primary)}.cookie-table{width:100%;border-collapse:collapse;margin:15px 0;font-size:0.9rem}.cookie-table th,.cookie-table td{padding:10px;border:1px solid #333;text-align:left}.cookie-table th{background:rgba(212,175,55,0.1);color:var(--gold-primary);font-family:var(--font-heading);font-size:0.8rem}.cookie-table code{background:rgba(255,255,255,0.05);padding:2px 6px;border-radius:3px;font-size:0.85rem}.error-section{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:40px 20px}.error-code{font-size:5rem;line-height:1;margin-bottom:10px}.error-message{color:var(--text-dim);font-size:1.1rem;margin-bottom:30px}.flash-message{padding:15px 20px;margin-bottom:20px;text-align:center;border:1px solid;border-radius:var(--radius);font-size:0.95rem}.flash-success{border-color:var(--green-ok);background:rgba(0,255,0,0.08);color:var(--green-ok)}.flash-error{border-color:var(--red-error);background:rgba(255,0,0,0.08);color:var(--red-error)}.flash-info{border-color:var(--blue-info);background:rgba(0,100,255,0.08);color:var(--blue-info)}.empty-message{text-align:center;color:#888;grid-column:1 / -1;padding:40px}footer{background-color:var(--black-deep);border-top:1px solid rgba(255,255,255,0.05);padding:30px 20px;text-align:center;color:#666;font-size:0.9rem;margin-top:auto}.footer-nav{margin:15px 0}.footer-nav a{color:var(--text-dim);transition:color var(--transition)}.footer-nav a:hover{color:var(--gold-primary)}.footer-sep{margin:0 10px;color:#333}.footer-credit{font-size:0.8rem;color:#444}.cookie-banner{position:fixed;bottom:20px;right:20px;max-width:400px;background:rgba(15,15,15,0.95);border:1px solid var(--gold-primary);padding:20px;border-radius:var(--radius);box-shadow:0 5px 20px rgba(0,0,0,0.5);z-index:9990;animation:slideUp 0.5s ease-out}.cookie-content p{font-size:0.9rem;margin-bottom:15px;color:var(--text-light)}.cookie-content a{color:var(--gold-light);text-decoration:underline}.cookie-actions{display:flex;gap:10px}.cookie-btn{flex:1;padding:8px 15px;border:none;border-radius:var(--radius);cursor:pointer;font-family:var(--font-heading);font-size:0.8rem;transition:all var(--transition)}.cookie-btn-accept{background:var(--gold-primary);color:var(--black-deep)}.cookie-btn-accept:hover{background:var(--gold-light)}.cookie-btn-decline{background:transparent;border:1px solid #444;color:#888}.cookie-btn-decline:hover{border-color:#666;color:#fff}@keyframes slideUp{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.age-modal{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:rgba(5,5,5,0.98);z-index:9999;display:flex;justify-content:center;align-items:center;padding:20px;backdrop-filter:blur(5px)}.age-modal[hidden]{display:none !important}.age-modal-content{background:linear-gradient(145deg,var(--black-soft),#151515);padding:40px;border:1px solid var(--gold-primary);border-radius:var(--radius-lg);text-align:center;max-width:500px;width:100%;box-shadow:0 0 50px rgba(0,0,0,0.9);animation:fadeIn 0.8s ease-out;position:relative}.age-modal-logo img{max-width:250px;width:100%;margin:0 auto 20px;display:block;filter:drop-shadow(0 0 10px rgba(212,175,55,0.3))}.age-modal h2{color:var(--gold-primary);margin-bottom:5px;font-size:1.8rem}.age-modal .divider{margin:15px auto 25px}.age-modal p{color:var(--text-light);margin-bottom:10px}.age-warning{color:var(--gold-light);font-style:italic;font-size:0.95rem;margin-bottom:25px !important}.age-form{display:flex;flex-direction:column;gap:20px}.age-modal .form-group{margin-bottom:5px}.age-modal input[type="date"]{background:#0a0a0a;border:1px solid #333;color:#fff;padding:15px;font-size:1.1rem;text-align:center;width:100%;border-radius:var(--radius);font-family:var(--font-body);color-scheme:dark}.age-modal input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}.age-modal input[type="date"]:focus{border-color:var(--gold-primary);outline:none;box-shadow:0 0 15px rgba(212,175,55,0.2)}.age-modal .error-message{color:var(--red-error);margin-top:20px;font-weight:bold;border-color:var(--red-error);background:rgba(255,0,0,0.1);padding:10px;border-radius:var(--radius);animation:shake 0.5s ease-in-out}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.login-wrapper{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.login-card{background:linear-gradient(145deg,var(--black-soft),#151515);padding:45px 35px;border:1px solid rgba(212,175,55,0.3);box-shadow:0 20px 50px rgba(0,0,0,0.8);width:100%;max-width:420px;text-align:center;position:relative}.login-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold-primary),transparent)}.login-title{font-size:1.6rem;margin-bottom:30px;letter-spacing:3px;text-shadow:0 2px 10px rgba(212,175,55,0.2)}.login-form{display:flex;flex-direction:column;gap:20px}.form-input{width:100%;padding:14px;background:rgba(0,0,0,0.4);border:1px solid #333;color:#fff;font-family:var(--font-body);font-size:1rem;transition:all var(--transition)}.form-input:focus{border-color:var(--gold-primary);background:rgba(0,0,0,0.6);outline:none;box-shadow:0 0 15px rgba(212,175,55,0.1)}.btn-login{width:100%;padding:14px;background:transparent;color:var(--gold-primary);border:1px solid var(--gold-primary);font-family:var(--font-heading);font-size:1rem;font-weight:bold;cursor:pointer;transition:all 0.4s ease;text-transform:uppercase;letter-spacing:2px}.btn-login:hover{background:var(--gold-primary);color:var(--black-deep);box-shadow:0 0 20px rgba(212,175,55,0.4)}.back-link{display:block;margin-top:25px;color:var(--text-dim);font-size:0.8rem;letter-spacing:1px;text-transform:uppercase;transition:color var(--transition)}.back-link:hover{color:var(--gold-light)}@media (min-width:768px){.hamburger-menu{display:none}nav{justify-content:center;padding:22px 0}.nav-links{position:static;width:auto;height:auto;background:none;flex-direction:row;gap:45px;transform:none}.nav-links li{opacity:1;transform:none}.nav-link{font-size:0.85rem}header{border-bottom:1px solid rgba(212,175,55,0.2)}.banner-frame{height:215px;max-height:none;border-bottom:none;box-shadow:0 10px 40px -10px rgba(212,175,55,0.1)}.banner-frame img{width:100%;height:100%;object-fit:cover;object-position:center center}.welcome-section{padding:70px 20px}.welcome-title{font-size:2.4rem}.divider{width:100px;margin-bottom:40px}.content-container{grid-template-columns:repeat(2,1fr);gap:35px}.card-image-wrapper{aspect-ratio:4 / 5}.events-grid{grid-template-columns:repeat(2,1fr);gap:28px}.event-card{height:500px;background-size:contain;background-repeat:no-repeat;background-position:center}.event-overlay{opacity:0;transition:opacity var(--transition)}.event-card:hover .event-overlay{opacity:1}.event-details h2{font-size:1.6rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:18px}.links-grid{grid-template-columns:repeat(2,1fr);gap:25px;padding:0 20px 80px}.link-card{height:350px}.link-name{font-size:1.3rem}.contact-container{flex-direction:row;flex-wrap:wrap;justify-content:center}.cookie-content{flex-direction:row;justify-content:space-between;text-align:left}.cookie-content p{flex:1}}@media (min-width:1024px){.welcome-title{font-size:2.8rem}.welcome-subtitle{font-size:1.3rem}.content-container{grid-template-columns:repeat(3,1fr)}.card-image-wrapper{aspect-ratio:3 / 4}.events-grid{grid-template-columns:repeat(2,1fr)}.event-card{height:600px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px}.links-grid{grid-template-columns:repeat(3,1fr);gap:30px}.link-card{height:400px}.link-icon{font-size:2.5rem}.link-name{font-size:1.4rem}}@media (min-width:1200px){.welcome-section{padding:80px 20px}.events-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-columns:repeat(4,1fr)}.links-grid{grid-template-columns:repeat(4,1fr)}}.skeleton-wrapper{position:relative;overflow:hidden}.skeleton-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(110deg,#1a1a1a 30%,#252525 50%,#1a1a1a 70%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite;z-index:1;transition:opacity 0.4s ease}.skeleton-wrapper.loaded .skeleton-placeholder{opacity:0;pointer-events:none}.skeleton-wrapper img{position:relative;z-index:2}@keyframes skeletonShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}