:root{--font-heading:"Montserrat",Arial,sans-serif;--shadow:0 8px 32px rgba(0,0,0,.08);--accent-color:#e74c3c;--accent-bg:#f8f4f0;--primary-color:#8b4513;--font-main:"Open Sans",Arial,sans-serif;--primary-bg:#fff;--radius:16px}body{min-height:100vh;color:#333;margin:0;background:linear-gradient(135deg,#f8f4f0,#e8ddd4);font-family:var(--font-main)}.navbar{padding:15px 40px;justify-content:space-between;color:#fff;position:relative;background-color:rgba(0,0,0,.7);box-sizing:border-box;align-items:center;width:100%;display:flex}.navbar .logo{font-size:1.2em;font-weight:700;font-family:var(--font-heading)}.navbar nav ul{list-style:none;padding:0;gap:0;margin:0;display:flex}.navbar nav a{padding:5px 18px;text-decoration:none;font-weight:600;color:#fff;transition:background .2s;border-radius:5px;font-family:var(--font-heading)}.navbar nav a.active{font-weight:700;color:#fff;background-color:var(--accent-color);box-shadow:0 2px 8px rgba(231,76,60,.15)}.navbar nav a:hover{background-color:hsla(0,0%,100%,.2)}.hamburger{padding:5px;border:none;flex-direction:column;outline:none;background:none;cursor:pointer;display:none}.hamburger span{height:3px;transition:.3s;background-color:#fff;margin:3px 0;border-radius:2px;width:25px}.hamburger.active span:first-child{transform:rotate(-45deg) translate(-5px,6px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(45deg) translate(-5px,-6px)}@media (max-width:768px){.hamburger{display:flex}.navbar nav ul{transform:translateY(-100%);padding:20px 0;right:0;transition:all .3s ease;position:absolute;flex-direction:column;opacity:0;visibility:hidden;gap:0;top:100%;background-color:rgba(0,0,0,.95);box-shadow:0 4px 12px rgba(0,0,0,.3);left:0}.navbar nav ul.active{transform:translateY(0);opacity:1;visibility:visible}.navbar nav a{padding:15px 30px;font-size:1.1em;text-align:center;border-radius:0;display:block}.navbar nav a:hover{background-color:hsla(0,0%,100%,.1)}.navbar nav a.active{color:#fff;background-color:var(--accent-color)}}.main-container{padding:40px 30px 30px;max-width:700px;margin:60px auto 40px;box-shadow:var(--shadow);border-radius:var(--radius);background:var(--primary-bg)}h1,h2,h3{color:var(--primary-color);font-family:var(--font-heading)}.button,.schedule-button{padding:14px 32px;font-size:1.2em;border:none;text-decoration:none;font-weight:700;color:#fff;transition:background .2s,box-shadow .2s;text-align:center;background-color:var(--accent-color);box-shadow:0 0 10px rgba(234,67,53,.5);border-radius:8px;cursor:pointer;font-family:var(--font-heading);display:inline-block}.button:hover,.schedule-button:hover{background-color:#d03a2b;box-shadow:0 0 25px rgba(234,67,53,.9)}.section-divider{height:2.5px;opacity:.7;background-color:var(--accent-color);margin:0 0 30px;width:100vw}.about-section,.contact-section,.gallery-section{padding:40px 30px;position:static;max-width:700px;text-align:center;margin:40px auto 0;box-shadow:var(--shadow);border-radius:var(--radius);background:var(--primary-bg);width:90%}.about-section h3,.contact-section h3{font-size:2em;font-weight:900;margin-bottom:30px;text-transform:uppercase;letter-spacing:2px;font-family:var(--font-heading)}.about-section h3:after,.contact-section h3:after,.gallery-section h3:after{height:3px;content:"";background-color:var(--accent-color);margin:16px auto 0;border-radius:2px;width:100px;display:block}.about-section p,.contact-section p{font-size:1.15em;max-width:800px;margin:0 auto 15px;font-family:var(--font-main)}.button-container{padding:10px 0;box-sizing:border-box;width:100%;margin-top:40px}.button-container,.container{justify-content:center;display:flex}.container{flex-wrap:wrap;gap:40px;align-items:center;margin-top:20px}.contact-link{font-size:1.1em;font-weight:600;color:#333;transition:color .2s;flex-direction:column;gap:8px;align-items:center;font-family:var(--font-heading);display:flex}.contact-link:hover{color:var(--accent-color)}.contact-icon{height:48px;margin-bottom:4px;width:48px}.contact-text{font-size:1em;font-weight:700;font-family:var(--font-heading)}.contact-link[href^="tel:"]{position:relative}.contact-link[href^="tel:"]:after{padding:8px 12px;font-size:.9em;font-weight:600;color:#fff;content:"703-919-8521 (Text Preferred - hard to answer calls while tuning)";bottom:-40px;background-color:rgba(0,0,0,.8);border-radius:6px;white-space:nowrap}.contact-link[href^="tel:"]:after,.contact-link[href^="tel:"]:before{transform:translateX(-50%);pointer-events:none;transition:opacity .3s,visibility .3s;position:absolute;opacity:0;visibility:hidden;left:50%;z-index:1000}.contact-link[href^="tel:"]:before{border:6px solid transparent;content:"";bottom:-20px;border-bottom-color:rgba(0,0,0,.8)}.contact-link[href^="tel:"]:hover:after,.contact-link[href^="tel:"]:hover:before{opacity:1;visibility:visible}.contact-link[href^="mailto:"]{position:relative}.contact-link[href^="mailto:"]:after{padding:8px 12px;font-size:.9em;font-weight:600;color:#fff;content:"marcus@pianocares.com";bottom:-40px;background-color:rgba(0,0,0,.8);border-radius:6px;white-space:nowrap}.contact-link[href^="mailto:"]:after,.contact-link[href^="mailto:"]:before{transform:translateX(-50%);pointer-events:none;transition:opacity .3s,visibility .3s;position:absolute;opacity:0;visibility:hidden;left:50%;z-index:1000}.contact-link[href^="mailto:"]:before{border:6px solid transparent;content:"";bottom:-20px;border-bottom-color:rgba(0,0,0,.8)}.contact-link[href^="mailto:"]:hover:after,.contact-link[href^="mailto:"]:hover:before{opacity:1;visibility:visible}.hero-content{justify-content:center;flex-direction:column;text-align:center;align-items:center;width:100%;display:flex}.gallery-section h3{font-size:2em;font-weight:900;margin-bottom:30px;text-transform:uppercase;letter-spacing:2px;font-family:var(--font-heading)}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;justify-items:center;display:grid}.gallery-photo{transition:transform .2s,box-shadow .2s;max-width:320px;object-fit:cover;aspect-ratio:4/3;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:12px;width:100%}.gallery-photo:hover{transform:scale(1.04) rotate(-1deg);box-shadow:0 6px 24px rgba(139,69,19,.18)}.reviews-section{padding:40px 30px;max-width:700px;text-align:center;margin:40px auto 0;box-shadow:var(--shadow);border-radius:var(--radius);background:var(--primary-bg);width:90%}.reviews-section h2{font-size:1.5em;margin-bottom:24px}.reviews-carousel{justify-content:center;position:relative;gap:10px;align-items:center;display:flex}.reviews-container{overflow:hidden;min-height:140px;position:relative;width:100%}.review-card{padding:20px;right:0;transition:opacity .4s ease,visibility .4s ease;position:absolute;opacity:0;visibility:hidden;text-align:center;top:0;box-shadow:0 2px 8px rgba(0,0,0,.05);border-radius:12px;background:var(--accent-bg);left:0}.review-card.active{position:relative;opacity:1;visibility:visible}.review-stars{margin-bottom:10px}.review-stars .star{font-size:1.1em;margin-right:2px;color:#f5c518}.review-text{font-size:.95em;font-style:italic;color:#333;margin:0 0 10px;line-height:1.5}.review-author{font-size:.9em;font-weight:600;color:var(--primary-color);margin:0;font-family:var(--font-heading)}.review-arrow{height:36px;flex-shrink:0;justify-content:center;font-size:1.2em;border:none;color:var(--accent-color);transition:background .2s,color .2s;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.1);border-radius:50%;background:hsla(0,0%,100%,.85);cursor:pointer;width:36px;display:flex}.review-arrow:hover{color:#fff;background:var(--accent-color)}.review-dots{justify-content:center;gap:8px;margin:16px 0 20px;display:flex}.review-dot{height:10px;border:none;transition:background .2s,transform .2s;border-radius:50%;background:#ddd;cursor:pointer;width:10px}.review-dot.active{transform:scale(1.2);background:var(--accent-color)}.google-review-link{padding:10px 16px;font-size:.9em;border:2px solid var(--primary-color);text-decoration:none;font-weight:600;color:var(--primary-color);transition:background .2s,color .2s;gap:8px;align-items:center;border-radius:8px;font-family:var(--font-heading);display:inline-flex}.google-review-link:hover{color:#fff;background:var(--primary-color)}.google-icon{height:18px;width:18px}@media (max-width:600px){.reviews-section{padding:18px 2vw}.review-card{padding:16px}.review-stars .star{font-size:1em}.review-text{font-size:.9em}.review-arrow{height:30px;font-size:1em;width:30px}}.carousel{position:relative;max-width:480px;flex-direction:column;margin:0 auto 24px;align-items:center;display:flex}.carousel-images{height:0;overflow:hidden;position:relative;box-shadow:0 2px 12px rgba(0,0,0,.1);border-radius:12px;background:#eee;padding-bottom:66.66%;width:100%}.carousel-photo{height:100%;pointer-events:none;transition:opacity .5s;position:absolute;object-fit:cover;opacity:0;top:0;left:0;width:100%;z-index:1}.carousel-photo.active{pointer-events:auto;opacity:1;z-index:2}.carousel-arrow{height:40px;transform:translateY(-50%);justify-content:center;font-size:1.5em;border:none;color:var(--accent-color);transition:background .2s,color .2s;position:absolute;top:50%;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.1);border-radius:50%;background:hsla(0,0%,100%,.85);cursor:pointer;width:40px;display:flex;z-index:10}.carousel-arrow.left{left:10px}.carousel-arrow.right{right:10px}.carousel-arrow:hover{color:#fff;background:var(--accent-color)}.carousel-dots{justify-content:center;gap:12px;margin-top:18px;display:flex}.carousel-dot{height:14px;border:2px solid transparent;transition:background .2s,transform .2s;border-radius:50%;background:#ddd;cursor:pointer;width:14px}.carousel-dot.active{border-color:var(--accent-color);transform:scale(1.2);background:var(--accent-color)}.site-footer{padding:28px 0 18px;color:#fff;text-align:center;background:#222;margin-top:40px}.footer-content{font-size:1.1em;gap:18px;display:flex}.footer-content,.footer-icon{justify-content:center;align-items:center}.footer-icon{transition:transform .2s,box-shadow .2s;margin:0 6px;border-radius:50%;display:inline-flex}.footer-icon:hover{transform:scale(1.15) rotate(-6deg);box-shadow:0 2px 12px rgba(231,76,60,.18);background:hsla(0,0%,100%,.08)}@media (max-width:900px){.about-section,.contact-section,.main-container{padding:30px 5vw;max-width:98vw}.container{gap:20px}}@media (max-width:768px){.navbar{padding:15px 20px}.about-section h3,.contact-section h3,.main-container h1{font-size:1.3em}.section-divider{height:2px}}@media (max-width:600px){.about-section,.contact-section,.main-container{padding:18px 2vw;max-width:98vw}.container{flex-direction:column;gap:16px}.contact-icon{height:36px;width:36px}.contact-text{font-size:11px}.gallery-section{padding:18px 2vw}.gallery-grid{gap:12px}.gallery-photo{max-width:98vw;border-radius:8px}.carousel{max-width:98vw}.carousel-arrow{height:32px;font-size:1.1em;width:32px}.carousel-dots{gap:8px}.footer-content{font-size:1em;flex-direction:column;gap:10px}}