@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;700&family=DM+Sans:wght@300;400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#fff;--bg-secondary:#f5f4f0;--bg-tertiary:#efede8;--text-primary:#1a1a18;--text-secondary:#5a5a56;--text-tertiary:#9a9994;--border-light:#0000001a;--border-mid:#0000002e;--brand-dark:#1a2a1b;--brand-mid:#2c3e2d;--brand-light:#a8c5a0;--brand-pale:#e8f0e8;--radius-md:8px;--radius-lg:12px}html{scroll-behavior:smooth}body{background:var(--bg-tertiary);color:var(--text-primary);font-family:DM Sans,sans-serif;font-size:16px;line-height:1.7}.btn-primary{background:var(--brand-light);color:var(--brand-dark);border-radius:var(--radius-md);cursor:pointer;border:none;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .15s;display:inline-block}.btn-primary:hover{background:#bdd4b5;transform:translateY(-1px)}.btn-outline{color:#fff;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #ffffff4d;padding:12px 24px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:400;transition:all .15s}.btn-outline:hover{background:#ffffff14}.page-banner{background:var(--brand-dark);color:#fff;padding:2.75rem 2rem}.page-banner h2{margin-bottom:6px;font-family:Playfair Display,serif;font-size:32px;font-weight:700}.page-banner p{color:#ffffff94;font-size:13px}.section{padding:3rem 2rem}.section-alt{background:var(--bg-secondary)}.section-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.4rem;font-size:11px}.section-title{color:var(--text-primary);margin-bottom:2rem;font-family:Playfair Display,serif;font-size:28px;font-weight:500}.services-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.service-card{background:var(--bg-primary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;transition:all .15s}.service-card:hover{border-color:var(--border-mid);transform:translateY(-2px)}.service-icon{border-radius:var(--radius-md);background:var(--brand-pale);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;font-size:18px;display:flex}.service-name{color:var(--text-primary);margin-bottom:4px;font-size:14px;font-weight:500}.service-desc{color:var(--text-secondary);font-size:12px;line-height:1.55}.project-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (width<=600px){.project-grid{grid-template-columns:1fr 1fr}}.project-thumb{aspect-ratio:4/3;border-radius:var(--radius-lg);cursor:pointer;background:var(--bg-secondary);border:.5px solid var(--border-light);transition:transform .15s;position:relative;overflow:hidden}.project-thumb:hover{transform:scale(1.02)}.project-thumb img{object-fit:cover;width:100%;height:100%;display:block}.project-fill{width:100%;height:100%;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.project-fill-icon{background:var(--border-light);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.project-label{color:#fff;letter-spacing:.02em;background:#1a2a1bd1;padding:6px 10px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.testimonial-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.testimonial-card{background:var(--bg-primary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem}.stars{color:#c8a44a;letter-spacing:2px;margin-bottom:10px;font-size:12px}.testimonial-text{color:var(--text-secondary);margin-bottom:12px;font-size:13px;font-style:italic;line-height:1.65}.testimonial-author{color:var(--text-primary);font-size:12px;font-weight:500}.testimonial-location{color:var(--text-tertiary);font-size:11px}.form-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}@media (width<=500px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.form-label{color:var(--text-secondary);font-size:12px;font-weight:500}.form-input{border:.5px solid var(--border-mid);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);width:100%;padding:10px 12px;font-family:DM Sans,sans-serif;font-size:13px;transition:border-color .15s}.form-input:focus{border-color:var(--brand-mid);outline:none}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:1.5rem;display:flex}.filter-btn{border:.5px solid var(--border-mid);cursor:pointer;color:var(--text-secondary);background:var(--bg-primary);border-radius:100px;padding:6px 16px;font-family:DM Sans,sans-serif;font-size:12px;transition:all .12s}.filter-btn:hover{border-color:var(--brand-mid);color:var(--brand-mid)}.filter-btn.active{background:var(--brand-mid);color:#fff;border-color:var(--brand-mid)}.faq-list{flex-direction:column;gap:8px;max-width:720px;margin:0 auto;display:flex}.faq-item{background:var(--bg-primary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden}.faq-question{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1rem 1.25rem;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;display:flex}.faq-question:hover{background:var(--bg-secondary)}.faq-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:12px;transition:transform .22s}.faq-answer{color:var(--text-secondary);max-height:0;padding:0 1.25rem;font-size:13px;line-height:1.7;transition:max-height .28s,padding .2s;overflow:hidden}.faq-item.open .faq-answer{max-height:150px;padding-bottom:1rem}.faq-item.open .faq-arrow{transform:rotate(180deg)}.trust-bar{background:var(--bg-primary);border-bottom:.5px solid var(--border-light);flex-wrap:wrap;justify-content:center;gap:2rem;padding:1.25rem 2rem;display:flex}.trust-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.trust-dot{background:var(--brand-light);border-radius:50%;flex-shrink:0;width:7px;height:7px}.stat-row{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:1.5rem;display:grid}.stat-box{background:var(--bg-secondary);border-radius:var(--radius-md);text-align:center;padding:1rem}.stat-num{color:var(--text-primary);font-family:Playfair Display,serif;font-size:26px}.stat-lbl{color:var(--text-tertiary);margin-top:2px;font-size:11px}.schedule-wrap{max-width:620px;margin:0 auto}.calendar-wrap{background:var(--bg-primary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:12px;padding:1.25rem}.cal-month-nav{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.cal-nav-btn{border:.5px solid var(--border-mid);border-radius:var(--radius-md);cursor:pointer;width:30px;height:30px;color:var(--text-secondary);background:0 0;justify-content:center;align-items:center;font-size:16px;transition:all .12s;display:flex}.cal-nav-btn:hover{background:var(--bg-secondary)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-month-label{color:var(--text-primary);font-size:14px;font-weight:500}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.cal-header{text-align:center;color:var(--text-tertiary);padding:4px 0;font-size:11px;font-weight:500}.cal-day{aspect-ratio:1;border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:0 0;border:.5px solid #0000;justify-content:center;align-items:center;font-family:DM Sans,sans-serif;font-size:12px;transition:all .12s;display:flex}.cal-day.available{color:var(--text-primary)}.cal-day.available:hover{background:var(--bg-secondary);border-color:var(--border-light)}.cal-day.selected{background:var(--brand-mid);color:#fff;border-color:var(--brand-mid)}.cal-day.today{border-color:var(--brand-light);color:var(--brand-mid);font-weight:500}.cal-day.past{color:var(--text-tertiary);pointer-events:none;opacity:.4}.cal-day.weekend{color:var(--text-tertiary);pointer-events:none;opacity:.35}.cal-day.empty{pointer-events:none}.timeslot-wrap{background:var(--bg-primary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);margin-bottom:16px;padding:1.25rem}.timeslot-title{color:var(--text-primary);margin-bottom:12px;font-size:13px;font-weight:500}.timeslots{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=440px){.timeslots{grid-template-columns:repeat(3,1fr)}}.timeslot{text-align:center;border:.5px solid var(--border-mid);border-radius:var(--radius-md);cursor:pointer;color:var(--text-secondary);background:0 0;padding:9px 6px;font-family:DM Sans,sans-serif;font-size:12px;transition:all .12s}.timeslot:hover{border-color:var(--brand-mid);color:var(--brand-mid)}.timeslot.selected{background:var(--brand-mid);color:#fff;border-color:var(--brand-mid)}.timeslot.booked{background:var(--bg-secondary);color:var(--text-tertiary);pointer-events:none;font-size:11px;text-decoration:line-through}.confirmation-box{background:var(--brand-pale);border:.5px solid var(--brand-light);border-radius:var(--radius-lg);margin-top:1.25rem;padding:1.25rem}.conf-title{color:var(--brand-dark);margin-bottom:8px;font-size:14px;font-weight:500}.conf-detail{color:var(--brand-mid);font-size:13px;line-height:1.7}.contact-grid{grid-template-columns:1fr 1fr;gap:2.5rem;max-width:860px;margin:0 auto;display:grid}@media (width<=700px){.contact-grid{grid-template-columns:1fr}}.contact-info-block{flex-direction:column;gap:1.25rem;display:flex}.contact-row{align-items:flex-start;gap:12px;display:flex}.contact-icon-wrap{border-radius:var(--radius-md);background:var(--brand-pale);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:15px;display:flex}.contact-info-label{color:var(--text-primary);margin-bottom:2px;font-size:11px;font-weight:500}.contact-info-text{color:var(--text-secondary);font-size:13px;line-height:1.6}.map-placeholder{background:var(--bg-secondary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);height:160px;color:var(--text-tertiary);justify-content:center;align-items:center;margin-top:1rem;font-size:12px;display:flex}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:2.5rem;display:grid}@media (width<=700px){.about-grid{grid-template-columns:1fr}}.about-visual{aspect-ratio:4/3;background:var(--bg-secondary);border:.5px solid var(--border-light);border-radius:var(--radius-lg);color:var(--text-tertiary);justify-content:center;align-items:center;font-size:13px;display:flex}.about-text p{color:var(--text-secondary);margin-bottom:1rem;font-size:14px;line-height:1.8}
