:root{--primary-color: #c5a059;--secondary-color: #1a1a1a;--bg-white: #ffffff;--bg-alt: #f8f8f8;--bg-dark: #1a1a1a;--text-main: #333333;--text-light: #666666;--text-on-dark: #e0e0e0;--text-muted-gold: rgba(197, 160, 89, .7);--border-color: #e5e5e5;--shadow-soft: 0 10px 40px rgba(0, 0, 0, .05);--shadow-hover: 0 20px 50px rgba(0, 0, 0, .1);--glass-bg: rgba(255, 255, 255, .95);--glass-dark-bg: rgba(255, 255, 255, .05);--transition: all .4s cubic-bezier(.25, .8, .25, 1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:Inter,sans-serif;line-height:1.7;color:var(--text-main);background-color:var(--bg-white);-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}h1,h2,h3,h4{font-family:Playfair Display,serif;color:var(--secondary-color);line-height:1.2;letter-spacing:-.02em}.container{max-width:1300px;margin:0 auto;padding:0 25px}.btn{display:inline-block;padding:14px 35px;background-color:var(--primary-color);color:#fff;font-weight:600;text-transform:uppercase;letter-spacing:1px;font-size:.9rem;border:1px solid var(--primary-color);cursor:pointer;transition:var(--transition);border-radius:2px}.btn:hover{background-color:transparent;color:var(--primary-color)}header{background-color:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);position:fixed;width:100%;top:0;z-index:1000;border-bottom:1px solid rgba(0,0,0,.05)}.nav-links{display:flex;gap:30px}.nav-links a{font-weight:500;font-size:.95rem;position:relative;padding:5px 0}.nav-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--primary-color);transition:width .3s ease}.nav-links a:hover{color:var(--primary-color)}.nav-links a:hover:after{width:100%}.menu-toggle{display:none;flex-direction:column;gap:6px;cursor:pointer;z-index:1100}@media(max-width:968px){.menu-toggle{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:100%;height:100vh;background-color:var(--bg-white);flex-direction:column;justify-content:center;align-items:center;transition:var(--transition);z-index:1050}.nav-links.active{right:0}.nav-links li{margin:15px 0}.nav-links a{font-size:1.5rem}}.menu-toggle span{display:block;width:25px;height:2px;background-color:var(--secondary-color);transition:var(--transition)}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}#hero{position:relative;min-height:90vh;display:flex;align-items:flex-end;background-size:cover;background-position:center 15%;background-repeat:no-repeat;color:#fff;overflow:hidden;padding-bottom:80px}#hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0003,#0009,#000c);z-index:1}#hero .container{position:relative;z-index:2;width:100%}.hero-content{max-width:800px;margin:0 auto;text-align:center}.hero-content h1{font-size:4rem;margin-bottom:25px;color:#fff;text-shadow:0 4px 20px rgba(0,0,0,.5);line-height:1.1}.hero-content p{font-size:1.4rem;color:#ffffffe6;margin:0 auto 40px;line-height:1.6;max-width:650px;text-shadow:0 2px 10px rgba(0,0,0,.5)}.hero-cta-group{display:flex;flex-direction:column;align-items:center;gap:30px}.social-links-hero{display:flex;gap:20px}.social-links-hero a{color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .3s ease,color .3s ease;text-shadow:0 2px 10px rgba(0,0,0,.3)}.social-links-hero a:hover{color:var(--primary-color);transform:translateY(-3px)}.hero-image{display:none}#about{padding:100px 0;background-color:var(--bg-white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.about-text h2{font-size:3rem;margin-bottom:30px}.about-text p{font-size:1.1rem;color:var(--text-light);margin-bottom:20px}@media(max-width:968px){#hero{min-height:80vh;padding-top:200px;align-items:center;padding-bottom:40px}.hero-content h1{font-size:2.2rem}.hero-content p{font-size:1.1rem}.about-grid{grid-template-columns:1fr}.about-image{order:-1}}#reviews{padding:100px 0;background-color:var(--bg-dark);color:var(--text-on-dark)}#reviews h2{color:var(--primary-color);text-align:center;font-size:3rem;margin-bottom:30px}.google-reviews-link{color:var(--primary-color);font-weight:500;font-size:1.1rem;text-decoration:underline;text-decoration-color:#c5a0594d;text-underline-offset:4px;transition:all .3s ease}.google-reviews-link:hover{color:#fff;text-decoration-color:var(--primary-color)}.reviews-carousel-wrapper{position:relative;width:100%;overflow:hidden;margin-top:40px}.reviews-grid{display:flex;gap:30px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px 0 40px;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.reviews-grid::-webkit-scrollbar{display:none}.review-card{flex:0 0 400px;scroll-snap-align:center;background:var(--glass-dark-bg);padding:30px;border-radius:4px;border:1px solid rgba(255,255,255,.05);transition:var(--transition)}@media(max-width:768px){.review-card{flex:0 0 85%}.reviews-grid{padding-left:5%;padding-right:5%;gap:20px}}.review-card:hover{transform:translateY(-5px);background:#ffffff14;border-color:var(--primary-color)}.stars{color:var(--primary-color);margin-bottom:15px;font-size:.9rem}.review-text{font-style:italic;color:#ccc;margin-bottom:20px;font-weight:300}.review-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:15px}.review-name{font-weight:600;color:#fff;font-size:.95rem}.review-source{font-size:.8rem;color:var(--primary-color);text-transform:uppercase;letter-spacing:1px}.swipe-indicator.mobile-only{display:none}@media(max-width:968px){.swipe-indicator.mobile-only{display:flex}}.swipe-indicator{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:0;color:var(--primary-color);font-size:.9rem;opacity:.8;animation:pulse 2s infinite}@keyframes pulse{0%{transform:translate(0);opacity:.5}50%{transform:translate(5px);opacity:1}to{transform:translate(0);opacity:.5}}.swipe-arrow{font-size:1.2rem}#repertoire{padding:100px 0;background-color:var(--bg-alt)}#repertoire h2{text-align:center;font-size:3rem;margin-bottom:50px}.repertoire-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}@media(max-width:968px){.repertoire-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:20px;padding:20px 5% 40px;scrollbar-width:none;-ms-overflow-style:none}.repertoire-grid::-webkit-scrollbar{display:none}.rep-category{flex:0 0 85%;scroll-snap-align:center}}.rep-category{background:#fff;padding:40px;border-radius:4px;box-shadow:var(--shadow-soft);border-top:3px solid var(--primary-color);transition:var(--transition)}.rep-category:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.rep-category h3{margin-bottom:20px;font-size:1.8rem;color:var(--secondary-color)}.rep-category ul li{padding:6px 0;font-size:.95rem;color:var(--text-light);border-bottom:1px solid var(--bg-alt)}.rep-category ul li:last-child{border-bottom:none}#gallery{padding:100px 0;background-color:var(--bg-white)}#gallery h2{text-align:center;font-size:3rem;margin-bottom:50px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}@media(max-width:768px){.gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:15px;padding:20px 5% 40px;scrollbar-width:none;-ms-overflow-style:none}.gallery-grid::-webkit-scrollbar{display:none}.gallery-item{flex:0 0 85%;scroll-snap-align:center}}.gallery-item{height:350px;overflow:hidden;border-radius:2px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s ease}.gallery-item:hover img{transform:scale(1.05);filter:brightness(.8)}#contact{padding:100px 0;background-color:var(--bg-dark);color:var(--text-on-dark)}#contact h2{text-align:center;font-size:3rem;margin-bottom:60px;color:var(--primary-color)}.contact-wrapper{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.contact-info p{font-size:1.2rem;color:#ccc;margin-bottom:30px;font-weight:300}.contact-list li{margin-bottom:20px;font-size:1.05rem}.contact-list strong{color:var(--primary-color);margin-right:10px}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;color:var(--primary-color);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:15px;background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:2px;color:#fff;font-family:inherit;font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);background-color:#ffffff14}footer{background-color:#111;color:#666;padding:40px 0;font-size:.9rem;border-top:1px solid rgba(255,255,255,.05)}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-socials{display:flex;gap:20px}.footer-socials a{color:#666;font-size:1.2rem;transition:color .3s ease}.footer-socials a:hover{color:var(--primary-color)}@media(max-width:768px){.contact-wrapper{grid-template-columns:1fr;gap:40px}.footer-content{flex-direction:column;gap:20px;text-align:center}}@media(max-width:968px){.repertoire-grid{grid-template-columns:1fr}}.fade-in-section{opacity:0;transform:translateY(30px);transition:opacity .8s ease-out,transform .8s ease-out;will-change:opacity,transform}.fade-in-section.is-visible{opacity:1;transform:none}.status-message{margin-top:20px;padding:12px 15px;border-radius:2px;font-size:.95rem;animation:fadeIn .4s ease-out}.status-message.success{background-color:#c5a0591a;border:1px solid var(--primary-color);color:var(--primary-color)}.status-message.error{background-color:#ff00000d;border:1px solid #ff4d4d;color:#ff4d4d}.btn.disabled{opacity:.6;cursor:not-allowed;pointer-events:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
