:root{--bg:#faf9f7;--surface:#fff;--text:#2a2a2a;--text-muted:#6b6b6b;--accent:#d4a574;--border:#e8e4e0;--shadow:0 2px 8px #0000000f;--radius:8px;--spacing:1rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}main{min-height:calc(100vh - 280px)}nav{z-index:100;background-color:var(--surface);border-bottom:1px solid var(--border);padding:0 var(--spacing);box-shadow:var(--shadow);position:sticky;top:0}.navbar{justify-content:space-between;align-items:center;max-width:1200px;height:80px;margin:0 auto;display:flex}.navbar-logo{color:var(--accent);letter-spacing:.5px;font-size:1.5rem;font-weight:600;text-decoration:none}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:var(--text);border-radius:999px;padding:.5rem .75rem;font-size:.95rem;text-decoration:none;transition:color .3s,background-color .3s,border-color .3s}.nav-links a:hover,.nav-links a.active{color:var(--accent);background-color:#d4a5741f}.nav-cta{background-color:var(--accent);color:var(--surface);border-radius:var(--radius);padding:.5rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .3s,background-color .3s}.nav-cta.active{color:var(--surface);background-color:#c38b4a}.nav-cta:hover{opacity:.9}.menu-toggle{cursor:pointer;color:var(--text);background:0 0;border:none;font-size:1.5rem;display:none}@media (width<=768px){.nav-links{background-color:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;gap:0;padding:1rem 0;display:none;position:absolute;top:80px;left:0;right:0}.nav-links.active{display:flex}.nav-links li a{padding:1rem var(--spacing);border-bottom:1px solid var(--border);display:block}.menu-toggle{display:block}.nav-cta{display:none}}.btn{border-radius:var(--radius);cursor:pointer;text-align:center;border:none;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background-color:var(--accent);color:var(--surface)}.btn-primary:hover{opacity:.9;transform:translateY(-2px)}.btn-secondary{color:var(--accent);border:2px solid var(--accent);background-color:#0000}.btn-secondary:hover{background-color:var(--accent);color:var(--surface)}.btn:disabled{opacity:.6;cursor:not-allowed}.container{max-width:1200px;padding:0 var(--spacing);margin:0 auto}.section{padding:4rem var(--spacing)}@media (width<=768px){.section{padding:2.5rem var(--spacing)}}.hero{background-color:var(--surface);padding:6rem var(--spacing);text-align:center;border-bottom:1px solid var(--border)}.hero-content{max-width:600px;margin:0 auto}.hero h1{color:var(--text);margin-bottom:1rem;font-size:3rem;line-height:1.2}.hero p{color:var(--text-muted);margin-bottom:2rem;font-size:1.1rem;line-height:1.7}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}@media (width<=768px){.hero{padding:4rem var(--spacing)}.hero h1{font-size:2rem}.hero p{font-size:1rem}.hero-cta{flex-direction:column;gap:.75rem}.hero-cta .btn{width:100%}}.section-title{text-align:center;margin-bottom:3rem}.section-title h2{color:var(--text);margin-bottom:.75rem;font-size:2rem}.section-title p{color:var(--text-muted);max-width:500px;margin:0 auto;font-size:1.05rem}@media (width<=768px){.section-title h2{font-size:1.5rem}.section-title p{font-size:.95rem}}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.service-card{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:2rem;transition:transform .3s,box-shadow .3s;display:flex}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a}.service-card h3{color:var(--text);margin-bottom:.75rem;font-size:1.25rem}.service-card p{color:var(--text-muted);flex-grow:1;margin-bottom:1.5rem;font-size:.95rem}.service-price{color:var(--accent);margin-bottom:1.5rem;font-size:1.5rem;font-weight:700}.service-card .btn{text-align:center;width:100%}@media (width<=768px){.services-grid{grid-template-columns:1fr;gap:1.5rem}}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.gallery-item{border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;aspect-ratio:1;background-color:var(--border);position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{opacity:0;background-color:#d4a574d9;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-view-text{color:var(--surface);font-size:1.1rem;font-weight:600}.gallery-modal{z-index:200;background-color:#000000e6;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.gallery-modal-content{background-color:var(--surface);border-radius:var(--radius);width:100%;max-width:900px;max-height:90vh;animation:.3s slideUp;position:relative;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-modal-close{background-color:var(--accent);color:var(--surface);cursor:pointer;z-index:201;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.5rem;transition:opacity .3s;display:flex;position:absolute;top:1rem;right:1rem}.gallery-modal-close:hover{opacity:.8}.gallery-modal-images{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:2rem;padding:2rem;display:grid}.gallery-modal-column{flex-direction:column;display:flex}.gallery-modal-column h4{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:1rem;font-size:.95rem;font-weight:600}.gallery-modal-column img{border-radius:var(--radius);object-fit:cover;width:100%;max-height:400px}.gallery-modal-info{padding:2rem}.gallery-modal-info h3{color:var(--text);margin-bottom:1rem;font-size:1.5rem}.gallery-modal-info p{color:var(--text-muted);margin-bottom:.75rem;font-size:.95rem;line-height:1.6}.gallery-modal-description{color:var(--text);font-style:italic;margin-bottom:1rem!important}@media (width<=768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.gallery-modal-images{grid-template-columns:1fr;gap:1.5rem;padding:1rem}.gallery-modal-info{padding:1rem}.gallery-modal-info h3{font-size:1.25rem}}.testimonials{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.testimonial{background-color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-top:3px solid var(--accent);padding:2rem}.testimonial p{color:var(--text-muted);margin-bottom:1.5rem;font-size:.95rem;font-style:italic}.testimonial-author{color:var(--text);font-size:.9rem;font-weight:600}@media (width<=768px){.testimonials{grid-template-columns:1fr}}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text);margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);background-color:var(--surface);padding:.75rem;font-family:inherit;font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent);outline:none}.form-group textarea{resize:vertical;min-height:120px}.booking-form{background-color:var(--surface);border-radius:var(--radius);max-width:500px;box-shadow:var(--shadow);margin:0 auto;padding:2rem}.form-submit{width:100%;margin-top:1rem}.success-message{color:#155724;border-radius:var(--radius);text-align:center;background-color:#d4edda;border:1px solid #c3e6cb;margin-bottom:1.5rem;padding:1rem}.error-message{color:#721c24;border-radius:var(--radius);text-align:center;background-color:#f8d7da;border:1px solid #f5c6cb;margin-bottom:1.5rem;padding:1rem}@media (width<=768px){.booking-form{padding:1.5rem}}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin:3rem 0;display:grid}.contact-item{text-align:center}.contact-icon{color:var(--accent);margin-bottom:1rem;font-size:2rem}.contact-item h3{color:var(--text);margin-bottom:.5rem;font-size:1.1rem}.contact-item p{color:var(--text-muted);font-size:.95rem}.contact-item a{color:var(--accent);text-decoration:none}.contact-item a:hover{text-decoration:underline}.hours-list{text-align:left;margin-top:1rem;display:inline-block}.hours-list li{color:var(--text-muted);padding:.5rem 0;font-size:.95rem;list-style:none}@media (width<=768px){.contact-grid{grid-template-columns:1fr;gap:1.5rem}}footer{background-color:var(--surface);border-top:1px solid var(--border);padding:2rem var(--spacing);text-align:center;color:var(--text-muted);font-size:.9rem}.footer-content{max-width:1200px;margin:0 auto}.footer-brand{color:var(--accent);margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;display:grid}.feature{text-align:center}.feature-icon{color:var(--accent);margin-bottom:1rem;font-size:2.5rem}.feature h3{color:var(--text);margin-bottom:.5rem;font-size:1.1rem}.feature p{color:var(--text-muted);font-size:.95rem;line-height:1.6}@media (width<=768px){.features-grid{grid-template-columns:1fr;gap:1.5rem}}
