@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap");:root{--bg:#0a0a0a;--surface:#111111;--text:#f0f0f0;--text-muted:#888888;--accent:#a3e635;--border:#222222}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}::selection{background:var(--accent);color:var(--bg)}button,input,select,textarea{font-family:inherit;font-size:inherit}.admin-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg)}.admin-login-box{width:100%;max-width:380px;padding:3rem 2rem;text-align:center}.admin-login-box h1{font-size:1.5rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.admin-login-sub{color:var(--text-muted);font-size:.85rem;margin-top:.5rem;margin-bottom:2rem}.admin-login-box form{display:flex;flex-direction:column;gap:1rem}.admin-login-box input{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:.75rem 1rem;color:var(--text);outline:none}.admin-login-box input:focus{border-color:var(--accent)}.admin-login-box button{background:var(--accent);color:var(--bg);border:none;border-radius:2px;padding:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.admin-error{color:#ef4444;font-size:.85rem}.admin-page{min-height:100vh;background:var(--bg);padding:2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin-left:auto;margin-right:auto;margin-bottom:2rem}.admin-header h1{font-size:1.25rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.admin-header-actions{display:flex;gap:1rem;align-items:center}.admin-link,.admin-logout{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;cursor:pointer;background:none;border:none;font-family:inherit}.admin-link:hover,.admin-logout:hover{color:var(--accent)}.admin-upload-zone{max-width:1400px;margin:0 auto 3rem;border:2px dashed var(--border);border-radius:4px;padding:3rem;text-align:center;cursor:pointer;transition:border-color .2s;color:var(--text-muted)}.admin-upload-zone.drag-over{border-color:var(--accent);background:rgba(163,230,53,.05)}.admin-upload-zone svg{margin-bottom:1rem}.admin-upload-hint{font-size:.75rem;margin-top:.5rem}.admin-file-input{display:none}.admin-gallery h2{max-width:1400px;margin:0 auto 1.5rem;font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.admin-grid{max-width:1400px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.admin-item{position:relative;background:var(--surface);border-radius:4px;overflow:hidden}.admin-item-number{position:absolute;top:.5rem;left:.5rem;background:rgba(0,0,0,.7);color:var(--accent);font-size:.75rem;font-weight:700;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:2px;z-index:2}.admin-thumb{width:100%;aspect-ratio:4/3;object-fit:cover}.admin-item-info{padding:1rem}.admin-item-type{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.admin-item-caption{font-size:.85rem;color:var(--text-muted);cursor:pointer;min-height:1.2em}.admin-item-caption:hover{color:var(--text)}.admin-caption-edit{display:flex;gap:.5rem;margin-bottom:.5rem}.admin-caption-edit input{flex:1 1;background:var(--bg);border:1px solid var(--border);border-radius:2px;padding:.4rem .6rem;color:var(--text);font-size:.85rem;outline:none}.admin-caption-edit button{background:var(--accent);color:var(--bg);border:none;border-radius:2px;padding:.4rem .75rem;font-size:.75rem;font-weight:600;cursor:pointer}.admin-item-actions{display:flex;gap:.5rem;margin-top:.75rem}.admin-btn-move{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);padding:.3rem .6rem;border-radius:2px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.admin-btn-move:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.admin-btn-move:disabled{opacity:.3;cursor:not-allowed}.admin-btn-delete{background:none;border:1px solid #ef4444;color:#ef4444;padding:.3rem .6rem;border-radius:2px;font-size:.7rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;margin-left:auto}.admin-btn-delete:hover{background:#ef4444;color:white}.admin-empty{max-width:1400px;margin:3rem auto;text-align:center;color:var(--text-muted)}.admin-loading{justify-content:center;min-height:100vh;color:var(--text-muted)}.admin-loading,.nav{display:flex;align-items:center}.nav{position:fixed;top:0;left:0;right:0;z-index:100;justify-content:space-between;padding:1.5rem 3rem;mix-blend-mode:difference}.nav-hamburger{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:4px;z-index:110}.nav-hamburger-line{display:block;width:24px;height:2px;background:var(--text);transition:transform .3s,opacity .3s}.nav-hamburger-line.open:first-child{transform:translateY(6px) rotate(45deg)}.nav-hamburger-line.open:nth-child(2){opacity:0}.nav-hamburger-line.open:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-logo{font-weight:900;font-size:1.5rem;letter-spacing:.15em;text-transform:uppercase}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;opacity:.8;transition:opacity .2s}.nav-links a:hover{opacity:1}.nav-cta{background:var(--text)!important;color:var(--bg)!important;padding:.5rem 1.2rem;border-radius:2px;opacity:1!important}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-canvas{position:absolute;inset:0;z-index:0}.hero-content{position:relative;z-index:1;text-align:center}.hero-logo{margin-bottom:1.5rem;opacity:0;transform:translateY(20px) scale(.95);animation:fadeUp 1s .1s forwards}.hero-logo img{filter:drop-shadow(0 0 30px rgba(163,230,53,.3))}.hero-main{font-size:clamp(4rem,12vw,10rem);font-weight:900;letter-spacing:.2em;line-height:1;transform:translateY(30px);animation:fadeUp 1s .2s forwards}.hero-main,.hero-sub{display:block;text-transform:uppercase;opacity:0}.hero-sub{font-size:clamp(1rem,3vw,2rem);font-weight:300;letter-spacing:.5em;color:var(--accent);margin-top:.5rem;animation:fadeUp 1s .5s forwards}.hero-tagline{margin-top:2rem;font-size:.9rem;color:var(--text-muted);animation:fadeUp 1s .8s forwards}.hero-scroll,.hero-tagline{letter-spacing:.1em;text-transform:uppercase;opacity:0}.hero-scroll{display:inline-flex;align-items:center;gap:.5rem;margin-top:3rem;font-size:.85rem;animation:fadeUp 1s 1.1s forwards;animation:fadeUp 1s 1.1s forwards,pulse 2s 2s infinite}.hero-scroll:hover{color:var(--accent)}.hero-scroll svg{animation:bounce 2s infinite}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:clamp(2rem,5vw,4rem);font-weight:900}.section-header h2,.section-header p{letter-spacing:.1em;text-transform:uppercase}.section-header p{font-size:.9rem;color:var(--text-muted);margin-top:.5rem}.gallery{padding:8rem 2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:.5rem;gap:.5rem;max-width:1600px;margin:0 auto}.gallery-item{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--surface)}.gallery-item:nth-child(3n+1){grid-row:span 2;aspect-ratio:auto}.gallery-media{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.gallery-item:hover .gallery-media{transform:scale(1.03)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:2rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.8));font-size:.85rem;opacity:0;transition:opacity .3s}.gallery-item:hover .gallery-caption{opacity:1}.gallery-admin-link{text-align:center;margin-top:2rem}.gallery-admin-link a{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--border);padding-bottom:2px}.music{padding:8rem 2rem;background:var(--surface)}.music-grid{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:2rem}.music-embed{border-radius:4px;overflow:hidden}.music-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.music-link-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--border);border-radius:2px;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;transition:border-color .2s,color .2s}.music-link-btn:hover{border-color:var(--accent);color:var(--accent)}.shows{padding:8rem 2rem}.shows-list{max-width:700px;margin:0 auto}.shows-coming{text-align:center;padding:4rem 2rem;border:1px solid var(--border);border-radius:4px}.shows-coming-icon{color:var(--accent);margin-bottom:1.5rem}.shows-coming-text{font-size:1.5rem;font-weight:600}.shows-coming-sub{color:var(--text-muted);margin-top:.5rem}.shows-follow-btn{display:inline-block;margin-top:1.5rem;padding:.75rem 1.5rem;background:var(--accent);color:var(--bg);font-weight:600;font-size:.85rem;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;transition:opacity .2s}.shows-follow-btn:hover{opacity:.85}.about{padding:8rem 2rem;background:var(--surface)}.about-content{max-width:800px;margin:0 auto}.about-lead{font-size:1.25rem;line-height:1.8;margin-bottom:1.5rem}.about-text p{color:var(--text-muted);margin-bottom:1rem;line-height:1.8}.about-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:3rem;justify-content:center}.about-tags span{padding:.5rem 1rem;border:1px solid var(--border);border-radius:2px;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.booking{padding:8rem 2rem}.booking-form{max-width:700px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.form-group label{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted)}.form-group input,.form-group textarea{background:var(--surface);border:1px solid var(--border);border-radius:2px;padding:.75rem 1rem;color:var(--text);outline:none;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.booking-submit{display:block;width:100%;padding:1rem;background:var(--accent);color:var(--bg);border:none;border-radius:2px;font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:opacity .2s}.booking-submit:hover{opacity:.85}.booking-submit:disabled{opacity:.5;cursor:not-allowed}.booking-sent{text-align:center;padding:3rem;border:1px solid var(--border);border-radius:4px}.booking-sent a{color:var(--accent)}.footer{padding:4rem 2rem;border-top:1px solid var(--border)}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:2rem}.footer-brand a{font-weight:900;font-size:1.25rem;letter-spacing:.15em;text-transform:uppercase}.footer-brand p{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.footer-social{display:flex;gap:1.5rem}.footer-social a{font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);transition:color .2s}.footer-social a:hover{color:var(--accent)}.footer-copy{width:100%;text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border)}.footer-copy p{font-size:.75rem;color:var(--text-muted)}@media (max-width:768px){.nav{padding:1rem 1.5rem}.nav-hamburger{display:flex}.nav-links{position:fixed;top:0;right:0;width:280px;height:100vh;flex-direction:column;background:var(--bg);padding:5rem 2rem 2rem;gap:1.5rem;transform:translateX(100%);transition:transform .3s ease;z-index:105;border-left:1px solid var(--border)}.nav-links-open{transform:translateX(0)}.nav-links a{font-size:.9rem}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-item:nth-child(3n+1){grid-row:span 1}.form-row{grid-template-columns:1fr}.footer-inner{flex-direction:column;text-align:center}}@media (max-width:480px){.gallery-grid{grid-template-columns:1fr}}