.hero{text-align:center;background:linear-gradient(#7c9a6b1a 0%,#fcfaf6 100%);padding:40px 20px;position:relative;overflow:hidden}.hero-title{color:var(--color-text);margin-bottom:12px;font-size:2.1rem;font-weight:700}.hero-subtitle{font-family:var(--font-sans);color:var(--color-text);border-top:1px solid #b8860b66;border-bottom:1px solid #b8860b66;max-width:90%;margin:96px auto 42px;padding:16px 0;font-size:.95rem;font-weight:500;line-height:1.6;display:inline-block;position:relative}.category-tabs{scrollbar-width:none;gap:8px;padding:4px 20px 16px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tab{white-space:nowrap;border:1px solid var(--color-border-solid);border-radius:var(--border-radius-lg);color:var(--color-text-light);cursor:pointer;transition:var(--transition-smooth);background-color:#fff;padding:8px 16px;font-size:.8rem;font-weight:500}.category-tab.active{background-color:var(--color-surface-solid,#fff);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 4px 12px #b8860b26}.service-list{padding:0 20px}.service-card{border-radius:var(--border-radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:var(--transition-smooth);background-color:#fff;flex-direction:column;margin-bottom:16px;padding:16px;display:flex;position:relative;overflow:hidden}.service-card:active{box-shadow:var(--shadow-md);transform:translateY(-2px)}.service-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.service-name{font-family:var(--font-sans);color:var(--color-text);font-size:1.05rem;font-weight:600}.service-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:.5rem;font-weight:700}.badge-best-seller{color:var(--color-accent);background-color:#b8860b1f}.badge-best-choice{color:var(--color-primary-dark);background-color:#7c9a6b1f}.badge-must-try{color:var(--color-danger);background-color:#c750501a}.service-description{color:var(--color-text-light);flex-grow:1;margin-bottom:14px;font-size:.85rem;line-height:1.4}.service-description ul{margin-top:8px;margin-bottom:8px;padding-left:0;list-style:none}.service-meta-label{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-light);font-size:.75rem;font-weight:600}@media (width>=768px){.service-meta-label{font-size:.85rem}}.service-description li{line-height:1.5;font-size:inherit;color:inherit;margin-bottom:8px;padding-left:1.3em;position:relative}.service-description li:last-child{margin-bottom:0}.service-description li:before{content:"—";color:var(--color-accent);position:absolute;top:0;left:0}.service-description p{line-height:1.5;font-size:inherit;color:inherit;margin-bottom:8px}.service-description p:last-child{margin-bottom:0}.short-gold-line{background-color:var(--color-accent);border:none;width:45px;height:1px;margin:12px auto;display:block}.service-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:16px;display:flex}.service-meta{flex-direction:column;flex:auto;align-items:flex-start;gap:6px;min-width:0;display:flex}.service-meta-line{background-color:var(--color-border);width:100%;height:1px}.service-meta-row{justify-content:space-between;align-items:center;width:100%;padding:4px 0;display:flex}.service-duration{font-family:var(--font-sans,"Montserrat", sans-serif);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-light);align-items:center;gap:4px;font-size:.75rem;display:flex}.service-price{color:var(--color-accent);font-size:1.15rem;font-weight:500}.btn-book-sm{border-radius:var(--border-radius-sm);width:auto;padding:8px 16px;font-size:.8rem}.contact-item{border-bottom:1px solid var(--color-border-solid);align-items:flex-start;gap:16px;padding:16px 0;display:flex}.contact-icon{background-color:var(--color-primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.contact-icon svg{width:20px;height:20px;stroke:var(--color-primary-dark);fill:none}.contact-details h4{font-family:var(--font-sans);margin-bottom:4px;font-size:.95rem;font-weight:600}.contact-details p,.contact-details a{color:var(--color-text-light);font-size:.85rem}.contact-details a{color:var(--color-primary-dark);font-weight:500;text-decoration:underline}.btn-copy{background-color:var(--color-primary-light);cursor:pointer;color:var(--color-primary-dark);transition:var(--transition-smooth);border-radius:var(--border-radius-sm);border:none;flex-shrink:0;justify-content:center;align-items:center;padding:6px;display:inline-flex}.btn-copy:hover{background-color:var(--color-primary);color:#fff}.btn-copy:active{transform:scale(.9)}.btn-copy.copied{color:var(--color-success);background-color:#5d9b5d26}.calendar-slider{scrollbar-width:none;gap:8px;padding:8px 4px 16px;display:flex;overflow-x:auto}.calendar-slider::-webkit-scrollbar{display:none}.calendar-day-btn{border:1px solid var(--color-border-solid);border-radius:var(--border-radius-sm);cursor:pointer;min-width:60px;transition:var(--transition-smooth);background-color:#fff;flex-direction:column;align-items:center;padding:10px 6px;display:flex}.calendar-day-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 8px #7c9a6b33}.calendar-day-name{text-transform:uppercase;color:var(--color-text-light);font-size:.75rem;font-weight:500}.calendar-day-btn.active .calendar-day-name{color:#fffc}.calendar-day-number{margin-top:2px;font-size:1.1rem;font-weight:700}.slots-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}@media (width>=768px){.slots-grid{grid-template-columns:repeat(4,1fr);gap:16px}}.slot-btn{border:1.5px solid var(--color-success);border-radius:var(--border-radius-sm);color:var(--color-success);cursor:pointer;text-align:center;transition:var(--transition-smooth);background-color:#fff;padding:12px 4px 8px;font-size:.9rem;font-weight:600;position:relative}.slot-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 8px #7c9a6b33}.slot-discount-badge{color:var(--color-accent);font-size:.75rem;font-weight:700;line-height:1;position:absolute;top:1px;right:3px}.slot-btn.active .slot-discount-badge{color:#fff;text-shadow:0 1px 2px #00000026}.slot-btn.disabled{border-color:var(--color-border-solid);color:var(--color-text-light);opacity:.55;cursor:not-allowed;background-color:#f5f5f5;text-decoration:line-through}.preference-section{border-radius:var(--border-radius-md);border:1px solid var(--color-border-solid);background:#fff;margin-bottom:16px;padding:16px}.preference-title{color:var(--color-text);margin-bottom:12px;font-size:.95rem;font-weight:700}.option-pill-group{flex-direction:column;gap:8px;display:flex}.option-pill-group.grid-2{grid-template-columns:repeat(2,1fr);display:grid}.option-pill-label{background-color:var(--color-bg);border:1px solid var(--color-border-solid);border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-smooth);align-items:center;padding:10px 12px;font-size:.85rem;display:flex}.option-pill-label input{margin-right:10px}.option-pill-label:has(input:checked){background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-dark);font-weight:500}.pref-duration-chips{flex-wrap:wrap;gap:10px;display:inline-flex}.duration-chip{background:var(--color-primary-light);color:var(--color-primary-dark);cursor:pointer;opacity:.5;border:none;border-radius:12px;padding:2px 8px;font-size:.9rem;font-weight:500;transition:all .2s}.duration-chip.active{opacity:1}.messenger-segmented-control{background:#0000000d;border-radius:24px;gap:4px;margin-top:8px;padding:4px;display:flex}.messenger-pill-label{text-align:center;cursor:pointer;flex:1;margin:0}.messenger-pill-span{color:var(--color-text-light);background:0 0;border:none;border-radius:20px;padding:10px;font-size:.9rem;font-weight:600;transition:all .2s;display:block}.messenger-pill-span.active.whatsapp{background:var(--color-primary);color:#fff;box-shadow:0 2px 6px #7c9a6b40}.messenger-pill-span.active.zalo{color:#fff;background:#0068ff;box-shadow:0 2px 6px #0068ff40}.reviews-carousel-container{width:100%;margin-top:8px;position:relative}.carousel-nav-btn{z-index:10;border:1px solid var(--color-border-solid);width:48px;height:48px;box-shadow:var(--shadow-md);cursor:pointer;color:var(--color-text);background:#fff;border-radius:50%;justify-content:center;align-items:center;transition:all .3s cubic-bezier(.25,1,.5,1);display:none;position:absolute;top:50%;transform:translateY(-50%)}.carousel-nav-btn:hover{background:var(--color-surface-solid);color:var(--color-primary);transform:translateY(-50%)scale(1.05);box-shadow:0 8px 24px #7c9a6b33}.carousel-nav-btn.prev{left:-24px}.carousel-nav-btn.next{right:-24px}.reviews-carousel{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;display:flex;overflow-x:auto}.reviews-carousel::-webkit-scrollbar{display:none}.reviews-carousel{-ms-overflow-style:none;scrollbar-width:none}.review-slide{scroll-snap-align:start;box-sizing:border-box;flex:0 0 100%}.review-card{border:1px solid var(--color-border-solid);border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;background:#fff;flex-direction:column;justify-content:space-between;max-width:328px;height:440px;margin:0 auto;padding:24px;display:flex;position:relative}.review-stars{color:#fbbf24;flex-shrink:0;margin-bottom:12px;font-size:1.1rem}.review-text-wrap{flex-direction:column;flex-grow:1;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.review-text{color:var(--color-text);-webkit-line-clamp:9;-webkit-box-orient:vertical;margin-bottom:0;font-size:.9rem;font-style:italic;line-height:1.5;transition:max-height .3s;display:-webkit-box;overflow:hidden}.review-card.has-media .review-text{-webkit-line-clamp:4}.review-card.expanded .review-text{max-height:290px;padding-right:4px;display:block;overflow-y:auto}.review-card.expanded .review-images-gallery,.review-card.expanded .review-video-gallery{display:none!important}.review-text::-webkit-scrollbar{width:4px}.review-text::-webkit-scrollbar-track{background:#00000005}.review-text::-webkit-scrollbar-thumb{background:var(--color-primary-light);border-radius:2px}.read-more-btn{color:var(--color-primary);cursor:pointer;text-align:left;background:0 0;border:none;flex-shrink:0;align-self:flex-start;padding:4px 0 0;font-size:.8rem;font-weight:600;transition:color .2s;display:none}.read-more-btn:hover{color:var(--color-primary-dark);text-decoration:underline}.review-author{color:var(--color-text-light);text-align:right;flex-shrink:0;margin-top:8px;font-size:.8rem;font-weight:700}.load-more-card{text-align:center;cursor:pointer;background:var(--color-surface);-webkit-backdrop-filter:blur(var(--blur-glass));transition:var(--transition-smooth);flex-direction:column;justify-content:center;align-items:center;display:flex;box-shadow:0 8px 32px #7c9a6b14;border:1px solid #fff6!important}.load-more-card:hover{box-shadow:var(--shadow-md);background:#fffffff2;transform:translateY(-4px);border-color:var(--color-primary)!important}.load-more-icon{color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:12px;font-size:1.8rem;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex}.load-more-card:hover .load-more-icon{transform:translate(6px)}.load-more-text{font-family:var(--font-sans);letter-spacing:.5px;color:var(--color-primary-dark);font-size:.95rem;font-weight:600}.instagram-embed-wrapper{border-radius:var(--border-radius-md);border:1px solid var(--color-border-solid);width:100%;max-width:328px;box-shadow:var(--shadow-sm);background:#fff;margin:0 auto;position:relative;overflow:hidden}.instagram-iframe{border:none;width:100%;height:440px;display:block}.carousel-dots{justify-content:center;align-items:center;width:72px;height:12px;margin:16px auto 0;transition:width .3s;display:flex;position:relative;overflow:hidden}.carousel-dots-inner{align-items:center;gap:8px;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;left:0}.dot{background-color:var(--color-border-solid);cursor:pointer;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:transform .3s cubic-bezier(.4,0,.2,1),background-color .3s,opacity .3s;transform:scale(1)}.dot.active{background-color:var(--color-primary-dark)}.dot.dot-medium{transform:scale(.6)}.dot.dot-small{transform:scale(.3)}.dot.dot-hidden{opacity:0;pointer-events:none;transform:scale(0)}.review-images-gallery{scrollbar-width:none;gap:8px;margin-top:12px;margin-bottom:12px;display:flex;overflow-x:auto}.review-images-gallery::-webkit-scrollbar{display:none}.review-gallery-img{object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-solid);cursor:pointer;width:162px;height:162px;transition:var(--transition-smooth)}.review-gallery-img:hover{transform:scale(1.05)}.review-video-gallery{scrollbar-width:none;gap:8px;margin-top:12px;margin-bottom:12px;display:flex;overflow-x:auto}.review-video-gallery::-webkit-scrollbar{display:none}.review-gallery-video{object-fit:cover;border-radius:var(--border-radius-sm);border:1px solid var(--color-border-solid);cursor:pointer;background-color:#000;width:252px;height:162px}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-bg) 25%, var(--color-primary-light) 50%, var(--color-bg) 75%);border-radius:var(--border-radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-card{border-radius:var(--border-radius-md);border:1px solid var(--color-border);height:130px;margin-bottom:16px}.skeleton-card-body{flex-direction:column;gap:10px;padding:16px;display:flex}.skeleton-line{border-radius:4px;height:14px}.skeleton-line-sm{width:40%}.skeleton-line-md{width:70%}.skeleton-line-lg{width:100%}.section-fade{transition:opacity .15s}.section-fade.section-fade-updating{opacity:.6}.faq-section{max-width:800px;margin:0 auto}.faq-list{flex-direction:column;gap:12px;margin-top:30px;display:flex}.faq-item{border:1px solid var(--color-border-solid);border-radius:var(--border-radius-md);background:var(--color-surface);transition:var(--transition-smooth);box-shadow:var(--shadow-sm);overflow:hidden}.faq-item[open]{box-shadow:var(--shadow-md)}.faq-question{color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:1rem;font-weight:600;font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:after{content:"+";color:var(--color-primary);flex-shrink:0;font-size:1.4rem;font-weight:400;transition:transform .3s}.faq-item[open] .faq-question:after{transform:rotate(45deg)}.faq-answer{color:var(--color-text-light);margin:0;padding:0 20px 16px;font-size:.9rem;line-height:1.6}.section-header-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.section-header-row h2{color:var(--color-text);margin:0;font-size:1.5rem;line-height:1.2}@media (width>=1024px){.hero{text-align:center;background:radial-gradient(circle at 50% 0,#fffc 0%,#7c9a6b26 100%);border-bottom:1px solid #b8860b26;flex-direction:column;align-items:center;padding:80px 20px;display:flex}.hero-title{color:var(--color-text);margin-bottom:16px;font-size:3rem;font-weight:400}.hero-subtitle{max-width:none;margin:72px auto 54px;padding:20px 0;font-size:1.1rem;font-weight:500;line-height:1.6}.hero .btn-accent{border-radius:30px;width:auto;padding:10px 28px;font-size:.95rem;box-shadow:0 8px 24px #b8860b40}.section-header-row{flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-bottom:32px;display:flex}.section-header-row h2{text-align:center;font-weight:400;font-size:2rem!important}.category-tabs{justify-content:center;gap:12px;padding:40px 20px}.category-tab{-webkit-backdrop-filter:blur(8px);background:#fff9;border:1px solid #7c9a6b33;border-radius:40px;padding:8px 24px;font-size:.95rem;box-shadow:0 4px 8px #00000005}.category-tab.active{background:var(--color-surface-solid);border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 6px 16px #b8860b26}.service-list{grid-template-columns:repeat(3,1fr);gap:24px;padding:0 32px 80px;display:grid}.service-card{-webkit-backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #fffc;border-radius:16px;height:100%;padding:24px;transition:all .4s cubic-bezier(.25,1,.5,1);box-shadow:0 8px 24px #0000000a}.service-card:hover{background:#fffffff2;transform:translateY(-6px);box-shadow:0 16px 40px #7c9a6b1f}.service-name{font-size:1.25rem;font-weight:600}.service-description{margin-bottom:16px;font-size:.95rem;line-height:1.5}.service-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:20px;display:flex}.service-meta{align-items:flex-start}.service-price{font-size:1.2rem}.btn-book-sm{border-radius:20px;padding:8px 20px;font-size:.85rem}#popular-services-container{grid-template-columns:repeat(2,1fr);gap:24px;padding:0 32px 80px;display:grid}.review-slide{flex:0 0 calc(33.333% - 11px)}.carousel-nav-btn{display:flex}.faq-list{max-width:800px;margin:0 auto}}.testimonials-section{color:#fff;text-align:center;background-image:url(/images/testimonials-bg.webp);background-position:50%;background-size:cover;background-attachment:fixed;padding:100px 20px;position:relative;overflow:hidden}.testimonials-overlay{z-index:1;background:#000000a6;position:absolute;inset:0}.testimonials-container{z-index:2;max-width:800px;margin:0 auto;padding-bottom:60px;position:relative}.testimonials-heading{color:#fff;margin-bottom:40px;font-family:Playfair Display,serif;font-size:2.5rem;font-style:italic;font-weight:300}.testimonials-slider{height:350px;min-height:200px;margin-bottom:0;padding-bottom:0;transition:height .4s;display:block;position:relative}.testimonial-slide{opacity:0;visibility:hidden;width:100%;transition:opacity .3s,visibility .3s,transform .3s;position:absolute;top:0;left:0;transform:translateY(15px)}.testimonial-slide.active{opacity:1;visibility:visible;z-index:2;transition:opacity .5s .3s,visibility .5s .3s,transform .5s .3s;transform:translateY(0)}.testimonial-title{color:#fff;margin-bottom:16px;font-family:Playfair Display,serif;font-size:30px;font-style:italic;font-weight:300}.home-testimonials__stars{background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%23ccc\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"/></svg>") 0 0/20px 20px repeat-x;width:100px;height:20px;margin-bottom:24px;display:inline-block;position:relative}.stars-full{background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"%23fff\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"/></svg>") 0 0/20px 20px repeat-x;height:100%;position:absolute;top:0;left:0}.testimonial-text{font-family:var(--font-sans);max-width:90%;margin-bottom:24px;margin-left:auto;margin-right:auto;font-size:14px;font-style:italic;font-weight:300;line-height:1.6}.testimonial-author{font-family:var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:#fffc;font-size:16px;font-weight:500}.testimonial-nav{color:#ffffff80;cursor:pointer;z-index:3;background:0 0;border:none;padding:10px;font-size:2rem;transition:color .3s;display:inline-block;position:absolute;bottom:0}.testimonial-nav:hover{color:#fff}.testimonial-nav.prev{left:50%;transform:translate(-80px)}.testimonial-nav.next{right:50%;transform:translate(80px)}@media (width<=768px){.testimonial-title{color:#fff;margin-bottom:16px;font-family:Playfair Display,serif;font-size:30px;font-style:italic;font-weight:300}.testimonial-text{width:100%;font-size:14px}.testimonials-heading{font-size:2rem}.testimonials-section{padding:60px 15px}}.instagram-grid{flex-wrap:wrap;justify-content:center;gap:20px;max-width:800px;margin:0 auto;display:flex}.instagram-grid .instagram-embed-wrapper{flex:300px;max-width:400px}.desktop-only{display:flex!important}.mobile-only{display:none!important}@media (width<=768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}.instagram-grid{justify-content:center;gap:20px;max-width:1000px;margin:0 auto;display:flex}.instagram-grid .instagram-embed-wrapper{border-radius:var(--border-radius-md);max-width:320px;height:500px;box-shadow:var(--shadow-md);flex:1;position:relative;overflow:hidden}.instagram-grid .instagram-iframe{border:none;width:100%;height:100%;position:absolute;top:0;left:0}.nurture-section{overflow:hidden}.nurture-text{text-align:left;margin-bottom:40px}.nurture-text p{font-family:var(--font-sans);letter-spacing:.02em;color:var(--color-text);margin:0;font-size:.95rem;font-style:normal;font-weight:400;line-height:1.6}.nurture-visuals{justify-content:flex-end;padding-bottom:20px;display:flex;position:relative}.nurture-bg-flower{opacity:.08;z-index:0;pointer-events:none;width:150px;position:absolute;top:50%;left:-20px;transform:translateY(-50%)}.nurture-image-wrapper{z-index:1;border-radius:var(--border-radius-md);width:200px;height:350px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.nurture-slide{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity 1s ease-in-out;position:absolute;top:0;left:0}.nurture-slide.active{opacity:1}@media (width>=768px){.nurture-container{align-items:center;gap:60px;display:flex}.nurture-text{text-align:left;flex:1;margin-bottom:0;padding:0}.nurture-text p{font-size:1.1rem;line-height:1.6}.nurture-visuals{flex:1;justify-content:center}.nurture-image-wrapper{width:320px;height:500px;box-shadow:var(--shadow-lg)}.nurture-bg-flower{opacity:.05;width:350px;left:20px}}
