.hero{margin-top:0;width:100%;padding:100px 0 0;background:var(--accent-color);min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:2rem;max-width:1200px;margin:0 auto}.hero-description{position:absolute;left:0rem;top:35%;transform:translateY(-50%);max-width:320px;z-index:1}.hero-description p{color:#fff;font-family:Newsreader,serif;font-size:1.4rem;line-height:1.6;margin:0 0 2rem;font-weight:400}.hero-cta{background:#fff;color:var(--accent-color);border:1px solid white;border-radius:50px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;padding:12px 24px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:var(--transition);cursor:pointer}.hero-cta:hover{background:var(--secondary-color);border-color:var(--secondary-color);color:var(--accent-color);text-decoration:none}.hero-call-text{color:#fff;font-family:Newsreader,serif;font-size:.9rem;margin:1.5rem 0 1rem;font-weight:400}.phone-link{color:var(--secondary-color);font-weight:700;text-decoration:none;transition:var(--transition)}.phone-link:hover{color:var(--secondary-color)}.hero-image{width:500px;height:500px;position:relative;border-radius:50% 50% 4px 4px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 20%}.hero-fade-in{animation:fadeInUp 1.2s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1440px){.hero{min-height:auto;padding-top:max(140px,calc(env(safe-area-inset-top) + 120px));padding-bottom:3rem}.hero-container{flex-direction:column;padding:2rem 1rem;gap:3rem;position:static}.hero-description{position:static;transform:none;text-align:center;max-width:none;order:2}.hero-image{order:1}}@media (max-width: 768px){.hero{margin-top:0;padding-top:max(120px,calc(env(safe-area-inset-top) + 100px))}.hero-cta{width:calc(100vw - 2rem);box-sizing:border-box}.hero-image{width:calc(100vw - 2rem);height:calc(100vw - 2rem);max-width:500px;max-height:500px;min-height:300px;aspect-ratio:1}}@media (max-width: 430px){.hero-container{gap:1rem}.hero-description p{font-size:1.1rem;max-width:280px;margin-left:auto;margin-right:auto}.hero-description .hero-call-text{font-size:1rem;margin:.25rem auto;max-width:280px}.hero-description .hero-cta{font-size:14px;margin-top:0}}.service-card{background:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;min-width:0;flex:1;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #2900050d}.service-info h3{font-size:1.5rem;font-weight:500;font-family:Newsreader,serif;color:var(--text-color);margin:0}.service-pricing{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.price{font-weight:600;color:var(--accent-color);font-size:1.2rem}.duration{color:var(--text-light);font-size:.9rem}@media (max-width: 768px){.service-card{padding:1rem;flex-direction:row;justify-content:space-between;align-items:center}.service-info h3{font-size:1.2rem}.service-pricing{align-items:flex-end}.price{font-size:1.1rem}}@media (max-width: 480px){.service-card{padding:.75rem}.service-info h3{font-size:1.1rem}.price{font-size:1rem}.duration{font-size:.85rem}}.services{padding:4rem 0 12rem;background:var(--bg-color)}.services-container{max-width:1200px;margin:0 auto;padding:0 1rem}.services h2{text-align:center;font-size:3rem;font-weight:500;font-family:Newsreader,serif;margin-bottom:3rem;color:var(--text-color)}.services h2 i{color:var(--accent-color);margin-right:.5rem;font-size:.8em}.services-list{display:flex;flex-direction:column;gap:1rem;max-width:600px;margin:0 auto}@media (max-width: 768px){.services{padding:3rem 0 4rem}.services-container{padding:0 1rem}.services h2{font-size:2rem;margin-bottom:2rem}.services-list{gap:.75rem}}.book-online-container{display:flex;flex-direction:column;align-items:center;margin-top:3rem}.book-online-text{font-size:1.1rem;color:var(--text-light);margin:0 0 1rem;text-align:center}.book-online-text a{color:var(--accent-color);text-decoration:none}.book-online-text a:hover{color:var(--primary-color);text-decoration:underline}.book-online-btn{background:var(--accent-color);color:#fff;border:1px solid var(--accent-color);border-radius:50px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;padding:12px 24px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:var(--transition);cursor:pointer;white-space:nowrap}.book-online-btn:hover{background:var(--secondary-color);border-color:var(--secondary-color);text-decoration:none}@media (max-width: 768px){.book-online-container{margin-top:2rem}.book-online-text{font-size:1rem}.book-online-btn{font-size:16px;padding:16px 24px;width:calc(100vw - 2rem);box-sizing:border-box;white-space:normal;display:flex;justify-content:center;align-items:center}}.btn-component{border-radius:50px;font-family:Inter,sans-serif;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;justify-content:center;align-items:center;text-align:center;border:none}.btn-glass{background:#ffffff1a;color:var(--accent-color);border:1px solid var(--accent-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-glass:hover{background:var(--secondary-color);color:var(--accent-color);border-color:var(--secondary-color)}.btn-primary{background:var(--primary-color);color:#fff;border:1px solid var(--primary-color)}.btn-primary:hover{background:var(--secondary-color);border-color:var(--secondary-color);color:var(--accent-color)}.btn-medium,.btn-small{font-size:16px;padding:12px 24px}@media (max-width: 768px){.btn-medium{padding:8px 16px;font-size:.9rem}}.mobile-book-section{display:none;padding:0 0 3rem}.mobile-book-wrapper{max-width:1200px;margin:-3rem auto 0;padding:0 1rem}.mobile-book-btn{background:var(--accent-color)!important;color:#fff!important;border:1px solid var(--accent-color)!important;font-weight:500!important;font-size:16px!important;padding:12px 24px!important;box-sizing:border-box!important;display:inline-flex!important;justify-content:center!important;align-items:center!important;border-radius:50px!important;font-family:Inter,sans-serif!important;text-decoration:none!important;text-align:center!important;transition:var(--transition)!important;cursor:pointer!important;min-height:44px!important;white-space:nowrap!important}.mobile-book-btn:hover{background:var(--primary-color)!important;border-color:var(--primary-color)!important;text-decoration:none!important}@media (max-width: 768px){.mobile-book-section{display:none}}.reviews{padding:6rem 0 12rem;background:#fef7f5}.reviews .container{max-width:800px;margin:0 auto;padding:0;display:flex;justify-content:center}.review-carousel{max-width:800px;margin:0 auto;width:100%}.review-container{overflow:hidden;width:100%}.review-track{display:flex;transition:transform .5s ease}.review-item{min-width:100%;width:100%;padding:2rem 1rem;text-align:center;box-sizing:border-box;min-height:200px;display:flex;flex-direction:column;justify-content:center}.stars{font-size:1.5rem;color:var(--primary-color);margin-bottom:1rem}.review-text{font-size:1.4rem;line-height:1.6;margin-bottom:1rem;color:var(--text-color);font-style:italic}.review-author{font-weight:600;color:var(--accent-color)}.review-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2rem}.review-nav{background:transparent;color:var(--primary-color);border:none;padding:12px;font-size:1.5rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;width:44px;height:44px}.review-nav:hover{transform:scale(1.1)}.review-counter{font-weight:600;color:var(--text-color);min-width:60px;text-align:center}.leave-review-container{display:flex;justify-content:center;margin-top:2rem}.leave-review-btn{background:var(--accent-color);color:#fff;border:1px solid var(--accent-color);border-radius:50px;font-family:Inter,sans-serif;font-size:18px;font-weight:500;padding:16px 40px;cursor:pointer;transition:var(--transition);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:44px;white-space:nowrap}.leave-review-btn:hover{background:var(--secondary-color);border-color:var(--secondary-color);color:var(--accent-color);text-decoration:none}@media (max-width: 1440px){.reviews{padding:4rem 0}.reviews h2{font-size:2rem;margin-bottom:2rem}.review-item{padding:1.5rem 1rem}.review-carousel{padding:0 1rem}.review-text{font-size:1.3rem}.leave-review-container{margin-bottom:10px}.leave-review-btn{font-size:16px;padding:16px 24px;width:100%;box-sizing:border-box;white-space:normal}}.map-section{padding:6rem 0;background:var(--bg-color)}.map-container{max-width:1200px;margin:0 auto;padding:0 1rem}.map-section h2{text-align:center;font-size:3rem;font-weight:500;font-family:Newsreader,serif;margin-bottom:3rem;color:var(--text-color)}.map-section h2 i{color:var(--accent-color);margin-right:.5rem;font-size:.8em}.map-wrapper{border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:2rem}.map-wrapper iframe{width:100%;height:400px;border:none}.address-info{text-align:center;background:var(--card-bg);padding:2rem;border-radius:var(--border-radius)}.address-info h3{font-family:Newsreader,serif;font-size:1.5rem;font-weight:500;color:var(--text-color);margin-bottom:1rem}.address-info p{font-size:1.1rem;color:var(--text-light);margin-bottom:1.5rem;line-height:1.6}.directions-btn{background:var(--accent-color);color:#fff;border:1px solid var(--accent-color);border-radius:50px;font-family:Inter,sans-serif;font-size:16px;font-weight:500;padding:12px 24px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:var(--transition);cursor:pointer;white-space:nowrap}.directions-btn:hover{background:var(--secondary-color);border-color:var(--secondary-color);text-decoration:none}@media (max-width: 768px){.map-section{padding:4rem 0}.map-section h2{font-size:2rem;margin-bottom:2rem}.map-wrapper iframe{height:300px}.address-info{padding:1.5rem 0}.address-info h3{font-size:1.3rem}.address-info p{font-size:1rem}.directions-btn{font-size:16px;padding:16px 24px;width:calc(100vw - 2rem);box-sizing:border-box;white-space:normal;margin:0 auto;display:block}}
