@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--color-ivory:#fdfcf8;--color-gold:#d4af37;--color-gold-muted:#b8952e;--color-charcoal:#333;--color-black:#1a1a1a;--color-white:#fff;--font-serif:"Playfair Display", serif;--font-sans:"Montserrat", sans-serif;--space-xs:.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;font-family:var(--font-sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-charcoal);background-color:var(--color-ivory);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-ivory);min-width:320px;min-height:100vh;color:var(--color-charcoal);margin:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--color-black);text-transform:uppercase;letter-spacing:.1em;font-weight:700}a{color:var(--color-gold);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500;transition:color .3s}a:hover{color:var(--color-gold-muted)}button{border:1px solid var(--color-gold);font-size:1em;font-weight:500;font-family:var(--font-sans);color:var(--color-gold);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background-color:#0000;border-radius:0;padding:.6em 1.2em;transition:all .3s}button:hover{background-color:var(--color-gold);color:var(--color-ivory)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.container{max-width:1200px;padding:0 var(--space-md);margin:0 auto}.section-title{margin-bottom:var(--space-lg);font-size:2.5rem;position:relative}.centered{text-align:center!important}@media (width<=768px){.section-title{margin-bottom:var(--space-md);font-size:2rem}}.hero{background-color:var(--color-ivory);align-items:center;min-height:90vh;padding-top:80px;display:flex;position:relative;overflow:hidden}.hero-content{align-items:center;gap:var(--space-lg);grid-template-columns:1.2fr .8fr;width:100%;display:grid}.hero-text h1{color:var(--color-black);margin-bottom:.5rem;font-size:4.5rem}.hero-text h2{color:var(--color-gold);margin-bottom:var(--space-md);font-size:1.5rem;font-family:var(--font-sans);letter-spacing:.3em}.hero-description{max-width:500px;margin-bottom:var(--space-lg);font-size:1.25rem;font-family:var(--font-serif);color:var(--color-charcoal);font-style:italic}.hero-decoration{justify-content:center;align-items:center;display:flex}.treble-clef-img{object-fit:contain;filter:drop-shadow(2px 2px 8px #0000000d);width:100%;max-height:85vh}@media (width<=768px){.hero-content{text-align:center;grid-template-columns:1fr}.hero-text h1{font-size:3rem}.hero-description{margin-left:auto;margin-right:auto}.hero-decoration{display:none}}.about{background-color:var(--color-white)}.about-grid{gap:var(--space-xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-image-container{border:2px solid var(--color-gold);justify-content:center;align-items:center;width:fit-content;margin:0 auto;padding:15px;display:flex;position:relative}.about-portrait{aspect-ratio:4/5;object-fit:cover;width:100%;max-width:400px;height:auto;display:block}.image-accent-border{display:none}.placeholder-text{font-family:var(--font-serif);color:var(--color-gold);text-transform:uppercase;letter-spacing:.2em}.section-title{margin-bottom:var(--space-sm)}.expertise-tag{color:var(--color-gold);margin-bottom:var(--space-md);font-size:1.1rem;font-family:var(--font-sans);letter-spacing:.1em}.about-text{color:var(--color-charcoal);margin-bottom:var(--space-lg);font-size:1.1rem;line-height:1.8}.experience-stats{gap:var(--space-lg);display:flex}.stat-item{flex-direction:column;display:flex}.stat-number{font-family:var(--font-serif);color:var(--color-black);font-size:2.5rem;font-weight:700}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-gold);font-size:.9rem}@media (width<=768px){.about-grid{gap:var(--space-lg);grid-template-columns:1fr}.about-image-container{max-width:400px;margin:0 auto}}.pricing{background-color:var(--color-ivory)}.pricing-container{max-width:900px;margin:0 auto;margin-top:var(--space-lg)}.main-pricing{background-color:var(--color-white);padding:var(--space-lg);border:1px solid var(--color-gold);text-align:center;box-shadow:0 10px 30px #0000000d}.main-pricing h3{margin-bottom:var(--space-xs);color:var(--color-black);font-size:2rem}@media (width<=600px){.main-pricing{padding:var(--space-md) var(--space-sm)}.main-pricing h3{word-wrap:break-word;font-size:1.5rem}}.pricing-details{text-align:left;margin:var(--space-lg) 0}.pricing-item{margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid #d4af3733}.pricing-item h4{color:var(--color-gold);margin-bottom:.5rem;font-size:1.1rem}.pricing-grid-fees{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.fee-item{background-color:var(--color-ivory);padding:var(--space-md);border-left:3px solid var(--color-gold);flex-direction:column;display:flex}.fee-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--color-charcoal);font-size:.85rem;font-weight:600}.fee-value{font-family:var(--font-serif);color:var(--color-black);margin:.25rem 0;font-size:1.5rem;font-weight:700}.fee-desc{color:var(--color-charcoal);opacity:.8;font-size:.95rem;line-height:1.4}.pricing-btn{max-width:300px;margin:0 auto;display:block}@media (width<=600px){.pricing-grid-fees{grid-template-columns:1fr}}.reviews{background-color:var(--color-white);overflow:hidden}.reviews-carousel-container{align-items:center;gap:var(--space-md);margin-top:var(--space-lg);display:flex;position:relative}.reviews-viewport{flex-grow:1;overflow:hidden}.reviews-list{gap:var(--space-md);grid-template-columns:repeat(3,1fr);transition:all .5s ease-in-out;display:grid}.review-card{background-color:var(--color-ivory);padding:var(--space-md);text-align:center;border:1px solid #d4af371a;flex-direction:column;justify-content:center;min-height:250px;display:flex}.quote-mark{font-family:var(--font-serif);color:var(--color-gold);opacity:.3;margin-bottom:-1rem;font-size:4rem;line-height:1}.review-text{font-family:var(--font-serif);color:var(--color-black);margin-bottom:var(--space-md);font-size:1.1rem;font-style:italic;font-weight:600;line-height:1.6}.review-author{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;color:var(--color-gold);font-size:.85rem}.carousel-btn{color:var(--color-gold);cursor:pointer;padding:0 var(--space-sm);background:0 0;border:none;font-size:3rem;line-height:1;transition:transform .2s}.carousel-btn:hover{color:var(--color-gold-muted);background:0 0;transform:scale(1.2)}.carousel-dots{margin-top:var(--space-lg);justify-content:center;gap:.5rem;display:flex}.dot{cursor:pointer;background-color:#d4af3733;border-radius:50%;width:8px;height:8px;transition:all .3s}.dot.active{background-color:var(--color-gold);transform:scale(1.3)}.leave-review-container{margin-top:var(--space-xl);justify-content:center;width:100%;display:flex}.leave-review-btn{color:var(--color-gold);border:1px solid var(--color-gold);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;background-color:#0000;padding:.8rem 2rem;font-size:.9rem;transition:all .3s}.leave-review-btn:hover{background-color:var(--color-gold);color:var(--color-white)}.review-modal-overlay{z-index:1000;padding:var(--space-md);background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.review-modal{background-color:var(--color-white);padding:var(--space-xl);width:100%;max-width:500px;position:relative;box-shadow:0 10px 30px #0003}.review-modal h3{font-family:var(--font-serif);color:var(--color-charcoal);margin-bottom:var(--space-lg);font-size:1.8rem}.close-modal{color:var(--color-gold);cursor:pointer;background:0 0;border:none;font-size:2rem;position:absolute;top:1rem;right:1.5rem}.review-modal .form-group{margin-bottom:var(--space-md);text-align:left}.review-modal label{font-family:var(--font-sans);text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem;font-size:.85rem;display:block}.review-modal input,.review-modal textarea{width:100%;font-family:var(--font-sans);color:#000;background-color:#fff;border:1px solid #0000001a;padding:.8rem}.submit-review-btn{background-color:var(--color-gold);width:100%;color:var(--color-white);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;margin-top:var(--space-md);border:none;padding:1rem}.submit-review-btn:disabled{background-color:var(--color-gold-muted);cursor:not-allowed}.status-message.success{color:#2e7d32;font-family:var(--font-sans);font-weight:500}@media (width<=1024px){.reviews-list{grid-template-columns:repeat(2,1fr)}.review-card:last-child{display:none}}@media (width<=600px){.reviews-list{grid-template-columns:1fr}.review-card:nth-child(n+2){display:none}.carousel-btn{font-size:2rem}}.repertoire{background-color:var(--color-white)}.repertoire-intro{font-family:var(--font-serif);margin-bottom:var(--space-lg);color:var(--color-charcoal);font-size:1.1rem;font-style:italic}.repertoire-accordion{max-width:900px;margin:0 auto}.accordion-item{background-color:var(--color-ivory);border:1px solid #d4af3733;margin-bottom:.5rem}.accordion-item.active{border-color:var(--color-gold)}.accordion-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.5rem;display:flex}.accordion-header:hover{background-color:#d4af370d}.accordion-header h3{color:var(--color-black);text-transform:uppercase;letter-spacing:.1em;font-size:1.1rem;font-family:var(--font-serif);margin:0}.accordion-icon{color:var(--color-gold);font-size:1.5rem;line-height:1}.accordion-content{background-color:var(--color-white);max-height:0;transition:max-height .4s ease-out,padding .3s;overflow:hidden}.accordion-item.active .accordion-content{border-top:1px solid #d4af371a;max-height:800px;padding:0 1.5rem 1.5rem}.song-list{margin-top:1rem;list-style:none}.song-item{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;padding:.6rem 0;display:flex}.song-item:last-child{border-bottom:none}.song-title{color:var(--color-charcoal);padding-right:1rem;font-size:1rem}.play-btn{border:1px solid var(--color-gold);width:32px;min-width:32px;height:32px;color:var(--color-gold);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .3s;display:flex}.play-btn svg{width:18px;height:18px;margin-left:2px}.play-btn.playing svg{margin-left:0}.play-btn:hover{background-color:var(--color-gold);color:var(--color-white)}.play-btn.playing{background-color:var(--color-gold);color:var(--color-white);animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #d4af3766}70%{box-shadow:0 0 0 10px #d4af3700}to{box-shadow:0 0 #d4af3700}}.repertoire-footer{margin-top:var(--space-xl);padding:var(--space-md);border:1px dashed var(--color-gold)}.custom-music-note{max-width:700px;margin:0 auto;font-size:1.1rem}@media (width<=768px){.repertoire-grid{gap:var(--space-lg);grid-template-columns:1fr}}.booking{background-color:var(--color-black);color:var(--color-ivory)}.booking-card{background-color:var(--color-charcoal);max-width:800px;padding:var(--space-lg);border:1px solid var(--color-gold);margin:0 auto;position:relative}.booking-header{text-align:center;margin-bottom:var(--space-lg)}.booking-header .section-title{color:var(--color-gold)}.booking-header p{font-family:var(--font-serif);opacity:.8;font-style:italic}.booking-form{gap:var(--space-md);flex-direction:column;display:flex}.form-row{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-gold);font-size:.8rem}.date-input{width:100%}.event-type-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-top:.5rem;display:grid}.event-type-option{color:var(--color-ivory);cursor:pointer;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.05em;text-align:center;background-color:#ffffff0d;border:1px solid #d4af374d;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.85rem;transition:all .3s;display:flex}.event-type-option:hover{border-color:var(--color-gold);background-color:#d4af371a}.event-type-option.selected{background-color:var(--color-gold);color:var(--color-black);border-color:var(--color-gold)}.hidden-radio{display:none}.other-input{width:100%;margin-top:1rem}.form-group input,.form-group select,.form-group textarea{color:var(--color-ivory);font-family:var(--font-sans);background-color:#ffffff0d;border:1px solid #d4af374d;padding:.75rem;transition:border-color .3s}.form-group select.select-with-arrow{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23D4AF37' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-group select option{background-color:var(--color-charcoal);color:var(--color-ivory)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-gold);outline:none}.submit-btn{width:100%;margin-top:var(--space-md);padding:1rem}.submit-btn:disabled{opacity:.5;cursor:not-allowed;border-color:#d4af3780}.status-message{text-align:center;padding:var(--space-md);margin-bottom:var(--space-md)}.status-message.success h3{color:var(--color-gold);margin-bottom:.5rem}.status-message.error{color:#ff4d4d;margin-top:1rem;font-size:.9rem}.contact-info-footer{margin-top:var(--space-lg);text-align:center;justify-content:center;gap:var(--space-lg);padding-top:var(--space-md);font-family:var(--font-sans);letter-spacing:.05em;border-top:1px solid #d4af3733;font-size:.9rem;display:flex}@media (width<=600px){.form-row{grid-template-columns:1fr}.booking-card{padding:var(--space-md)}.booking-header h2{font-size:2rem}.contact-info-footer{flex-direction:column;gap:.5rem}}.app-container{overflow-x:hidden}.main-nav{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;background-color:#fdfcf8f2;border-bottom:1px solid #d4af371a;align-items:center;width:100%;height:80px;display:flex;position:fixed;top:0;left:0}.nav-content{justify-content:space-between;align-items:center;width:100%;display:flex}.nav-logo{font-family:var(--font-serif);color:var(--color-gold);border:1px solid var(--color-gold);cursor:pointer;padding:.25rem .75rem;font-size:1.5rem;font-weight:700}.nav-links{align-items:center;gap:var(--space-lg);list-style:none;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.1em;color:var(--color-charcoal);font-size:.85rem}.nav-btn{padding:.5rem 1rem;font-size:.75rem}.main-footer{background-color:var(--color-black);color:#fdfcf899;padding:var(--space-md) 0;border-top:1px solid #d4af371a}.footer-content{justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.footer-links{gap:var(--space-md);display:flex}.footer-links a{color:#fdfcf899}.centered{text-align:center;margin-left:auto;margin-right:auto}.section-title.centered{text-align:center}@media (width<=600px){.nav-logo{padding:.2rem .5rem;font-size:1.2rem}.nav-links{gap:.6rem;margin-left:.5rem}.nav-links a{letter-spacing:.05em;font-size:.65rem}.nav-btn{display:none}.footer-content{gap:var(--space-sm);text-align:center;flex-direction:column}}section{padding:var(--space-lg) 0}@media (width<=768px){section{padding:var(--space-md) 0}}
