:root{--nav-height:80px;--transition:.3s cubic-bezier(.4, 0, .2, 1)}.nav{z-index:1000;height:var(--nav-height);transition:background var(--transition), box-shadow var(--transition);justify-content:space-between;align-items:center;padding:0 clamp(1.5rem,4vw,3rem);display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{background:var(--primary);box-shadow:0 2px 20px #3d1a244d}.nav-logo{font-family:var(--font-heading);color:var(--white);letter-spacing:.02em;font-size:1.6rem;font-weight:600}.nav-links{align-items:center;gap:2rem;list-style:none;display:flex}.nav-links a{color:#ffffffd9;letter-spacing:.04em;transition:color var(--transition);font-size:.9rem;font-weight:400}.nav-links a:hover{color:var(--accent)}.nav-cta{background:var(--accent);color:var(--primary);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;border-radius:2px;align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-size:.85rem;font-weight:600;display:inline-flex}.nav-cta:hover{background:#b8a389;transform:translateY(-1px)}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span{background:var(--white);width:24px;height:2px;transition:transform var(--transition), opacity var(--transition);display:block}.hamburger.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.mobile-drawer{display:none}@media (max-width:900px){.nav-links,.nav>.nav-cta{display:none}.hamburger{display:flex}.mobile-drawer{top:var(--nav-height);background:var(--primary);opacity:0;visibility:hidden;z-index:999;padding:1.5rem 2rem 2rem;transition:opacity .25s,transform .25s,visibility .25s;display:block;position:fixed;left:0;right:0;transform:translateY(-8px);box-shadow:0 8px 30px #0000004d}.mobile-drawer.open{opacity:1;visibility:visible;transform:translateY(0)}.mobile-drawer a{color:#ffffffe6;transition:color var(--transition);border-bottom:1px solid #ffffff1a;padding:.75rem 0;font-size:1.05rem;display:block}.mobile-drawer a:hover{color:var(--accent)}.mobile-drawer .drawer-cta{background:var(--accent);color:var(--primary);text-align:center;letter-spacing:.06em;text-transform:uppercase;border-bottom:none;border-radius:2px;margin-top:1rem;padding:.85rem;font-size:.9rem;font-weight:600;display:block}.mobile-drawer .drawer-cta:hover{color:var(--primary)}}.hero{justify-content:center;align-items:center;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-overlay{z-index:1;background:linear-gradient(#3d1a24b3 0%,#2a1119d9 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;max-width:800px;padding:0 2rem;position:relative}.hero-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);opacity:0;margin-bottom:1.5rem;font-size:.8rem;font-weight:500;animation:.8s .3s forwards fadeUp;display:inline-block;transform:translateY(20px)}.hero-headline{font-family:var(--font-heading);color:var(--white);margin-bottom:1.2rem;font-size:clamp(2.8rem,6vw,5rem);font-weight:500;line-height:1.1}.hero-headline .word{opacity:0;margin-right:.25em;animation:.6s forwards fadeUp;display:inline-block;transform:translateY(30px)}.hero-sub{color:#ffffffbf;opacity:0;max-width:550px;margin:0 auto 2.5rem;font-size:clamp(1rem,2vw,1.15rem);font-weight:300;animation:.8s .9s forwards fadeUp;transform:translateY(20px)}.hero-ctas{opacity:0;flex-wrap:wrap;justify-content:center;gap:1rem;animation:.8s 1.1s forwards fadeUp;display:flex;transform:translateY(20px)}.btn-primary{background:var(--accent);color:var(--primary);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;border-radius:2px;padding:.9rem 2.2rem;font-size:.85rem;font-weight:600}.btn-primary:hover{background:#b8a389;transform:translateY(-2px)}.btn-outline{color:var(--white);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color var(--transition), color var(--transition), transform var(--transition);background:0 0;border:1px solid #ffffff59;border-radius:2px;padding:.9rem 2.2rem;font-size:.85rem;font-weight:500}.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.trust-bar{background:var(--accent);flex-wrap:wrap;justify-content:center;gap:1.5rem 3rem;padding:1.2rem 2rem;display:flex}.trust-item{color:var(--primary);letter-spacing:.02em;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.trust-item svg{width:18px;height:18px;fill:var(--primary);flex-shrink:0}.section{padding:6rem clamp(1.5rem,5vw,4rem)}.section-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-block}.section-heading{font-family:var(--font-heading);color:var(--primary);margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:500;line-height:1.15}.section-sub{color:var(--text-light);max-width:560px;font-size:1.05rem;font-weight:300}.services{max-width:1200px;margin:0 auto}.services-header{text-align:center;margin-bottom:3.5rem}.services-header .section-sub{margin:.5rem auto 0}.services-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2.5rem;display:grid}.service-card{background:var(--white);transition:transform var(--transition), box-shadow var(--transition);border:1px solid #3d1a2414;border-radius:4px;padding:2rem}.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #3d1a241a}.service-icon{background:#c9b49a26;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.25rem;display:flex}.service-icon svg{width:22px;height:22px;fill:var(--primary)}.service-card h3{font-family:var(--font-heading);color:var(--primary);margin-bottom:.5rem;font-size:1.35rem;font-weight:600}.service-card p{color:var(--text-light);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.service-meta{border-top:1px solid #3d1a240f;justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.service-price{color:var(--primary);font-size:1.05rem;font-weight:600}.service-duration{color:var(--text-light);font-size:.8rem}.services-cta{text-align:center}.services-cta a{color:var(--primary);letter-spacing:.04em;border-bottom:2px solid var(--accent);transition:color var(--transition);align-items:center;gap:.5rem;padding-bottom:2px;font-size:.9rem;font-weight:600;display:inline-flex}.services-cta a:hover{color:var(--accent)}.services-cta svg{fill:currentColor;width:16px;height:16px}.about{background:var(--dark);color:var(--white)}.about-inner{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.about .section-tag{color:var(--accent)}.about .section-heading{color:var(--white)}.about-text{color:#ffffffbf;margin-top:1rem;font-size:1.05rem;font-weight:300;line-height:1.75}.stats{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.stat{text-align:center;background:#ffffff0d;border:1px solid #ffffff14;border-radius:4px;padding:2rem 1rem}.stat-number{font-family:var(--font-heading);color:var(--accent);margin-bottom:.5rem;font-size:clamp(2.5rem,4vw,3.2rem);font-weight:500;line-height:1}.stat-label{color:#ffffff80;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}@media (max-width:768px){.about-inner{grid-template-columns:1fr;gap:2.5rem}}.reviews{max-width:1200px;margin:0 auto}.reviews-header{text-align:center;margin-bottom:1rem}.reviews-header .section-sub{margin:.5rem auto 0}.rating-bar{justify-content:center;align-items:center;gap:.75rem;margin-bottom:3rem;display:flex}.rating-bar .stars{gap:2px;display:flex}.rating-bar .stars svg{width:20px;height:20px;fill:var(--accent)}.rating-bar .rating-text{color:var(--text-light);font-size:1rem;font-weight:400}.rating-bar .rating-number{font-family:var(--font-heading);color:var(--primary);font-size:1.6rem;font-weight:600}.reviews-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.review-card{background:var(--white);border:1px solid #3d1a2414;border-radius:4px;padding:2rem}.review-top{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.review-avatar{background:var(--primary);width:44px;height:44px;color:var(--accent);font-family:var(--font-heading);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;display:flex}.review-name{color:var(--primary);font-size:.95rem;font-weight:600}.review-stars{gap:2px;margin-top:2px;display:flex}.review-stars svg{width:14px;height:14px;fill:var(--accent)}.review-text{color:var(--text);font-size:.95rem;font-style:italic;line-height:1.65}.location{background:#c9b49a1a}.location-inner{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;max-width:1200px;margin:0 auto;display:grid}.location-map{aspect-ratio:4/3;background:linear-gradient(135deg, var(--primary) 0%, #5a2d3a 100%);width:100%;color:var(--accent);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.location-map:before{content:"";background:repeating-linear-gradient(0deg,#0000,#0000 30px,#ffffff08 30px 31px),repeating-linear-gradient(90deg,#0000,#0000 30px,#ffffff08 30px 31px);position:absolute;inset:0}.location-map svg{width:48px;height:48px;fill:var(--accent);z-index:1;margin-bottom:1rem;position:relative}.location-map span{font-family:var(--font-heading);z-index:1;font-size:1.2rem;font-weight:500;position:relative}.location-details h3{font-family:var(--font-heading);color:var(--primary);margin-bottom:1.5rem;font-size:1.6rem;font-weight:500}.location-info{margin-bottom:2rem;list-style:none}.location-info li{border-bottom:1px solid #3d1a2414;align-items:flex-start;gap:.75rem;padding:.75rem 0;font-size:.95rem;display:flex}.location-info svg{width:18px;height:18px;fill:var(--accent);flex-shrink:0;margin-top:2px}.hours-grid{margin-top:.25rem}.hours-row{justify-content:space-between;gap:2rem;padding:.2rem 0;font-size:.9rem;display:flex}.hours-day{color:var(--text-light);min-width:100px}.hours-time{color:var(--primary);font-weight:500}.area-badges{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;display:flex}.area-badge{color:var(--primary);background:#3d1a240f;border-radius:100px;padding:.4rem 1rem;font-size:.8rem;font-weight:500}@media (max-width:768px){.location-inner{grid-template-columns:1fr;gap:2rem}}.contact{max-width:1200px;margin:0 auto}.contact-inner{grid-template-columns:1fr 1fr;align-items:start;gap:4rem;display:grid}.contact-info{padding-top:.5rem}.contact-phone{font-family:var(--font-heading);color:var(--primary);margin:1.5rem 0;font-size:clamp(1.8rem,3vw,2.4rem);font-weight:500}.contact-phone a{border-bottom:2px solid var(--accent)}.contact-details{margin-bottom:2rem;list-style:none}.contact-details li{align-items:center;gap:.75rem;padding:.6rem 0;font-size:.95rem;display:flex}.contact-details svg{width:18px;height:18px;fill:var(--accent);flex-shrink:0}.social-links{gap:1rem;display:flex}.social-link{width:42px;height:42px;transition:background var(--transition), transform var(--transition);background:#3d1a240f;border-radius:50%;justify-content:center;align-items:center;display:flex}.social-link:hover{background:var(--primary);transform:translateY(-2px)}.social-link svg{width:18px;height:18px;fill:var(--primary);transition:fill var(--transition)}.social-link:hover svg{fill:var(--white)}.contact-form{background:var(--white);border:1px solid #3d1a2414;border-radius:4px;padding:2.5rem}.contact-form h3{font-family:var(--font-heading);color:var(--primary);margin-bottom:1.5rem;font-size:1.5rem;font-weight:500}.form-group{margin-bottom:1.25rem}.form-group label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light);margin-bottom:.4rem;font-size:.8rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{width:100%;font-family:var(--font-body);color:var(--text);background:var(--light);transition:border-color var(--transition);border:1px solid #3d1a2426;border-radius:2px;outline:none;padding:.75rem 1rem;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{resize:vertical;min-height:100px}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-submit{background:var(--primary);width:100%;color:var(--white);font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background var(--transition), transform var(--transition);border:none;border-radius:2px;margin-top:.5rem;padding:.9rem;font-size:.85rem;font-weight:600}.form-submit:hover{background:#4e2330;transform:translateY(-1px)}@media (max-width:768px){.contact-inner{grid-template-columns:1fr;gap:2.5rem}.form-row{grid-template-columns:1fr}}.footer{background:var(--dark);color:#fff9;padding:4rem clamp(1.5rem,5vw,4rem) 2rem}.footer-inner{grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1200px;margin:0 auto 3rem;display:grid}.footer-brand .nav-logo{margin-bottom:1rem;font-size:1.4rem;display:block}.footer-brand p{max-width:280px;font-size:.9rem;line-height:1.6}.footer-col h4{font-family:var(--font-heading);color:var(--white);margin-bottom:1.25rem;font-size:1.1rem;font-weight:500}.footer-col ul{list-style:none}.footer-col li{margin-bottom:.6rem}.footer-col a{transition:color var(--transition);font-size:.9rem}.footer-col a:hover{color:var(--accent)}.footer-social{gap:.75rem;margin-top:1rem;display:flex}.footer-social a{width:36px;height:36px;transition:background var(--transition);background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;display:flex}.footer-social a:hover{background:var(--accent)}.footer-social svg{width:16px;height:16px;fill:var(--white)}.footer-bottom{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding-top:2rem;font-size:.8rem;display:flex}@media (max-width:768px){.footer-inner{grid-template-columns:1fr 1fr}}@media (max-width:480px){.footer-inner{grid-template-columns:1fr;gap:2rem}}
