:root{--bg-primary:#09070b;--bg-secondary:#16101a;--surface:rgba(27,17,33,0.8);--surface-strong:#211328;--text-primary:#f8f4fa;--text-muted:#cdbfd5;--accent-primary:#ff3fae;--accent-secondary:#ff8fca;--accent-soft:rgba(255,63,174,0.15);--border:rgba(255,163,214,0.24);--glow:0 0 0 1px rgba(255,143,202,0.28),0 18px 40px rgba(0,0,0,0.36);--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text-primary);font-family:var(--font-body),"Segoe UI",sans-serif;background:radial-gradient(circle at 15% 12%,rgba(255,63,174,.25),transparent 38%),radial-gradient(circle at 84% 5%,rgba(255,143,202,.2),transparent 33%),linear-gradient(180deg,#07050a,#0f0913 50%,#08060b)}a{color:inherit}.container{width:min(1120px,92vw);margin:0 auto}.section{padding:clamp(2.75rem,6vw,4rem) 0}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(9,7,11,.7)}.top-nav{min-height:4.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.header-brand-group{align-items:center}.header-brand-group,.top-nav ul{display:flex;gap:.9rem;flex-wrap:wrap}.top-nav ul{list-style:none;margin:0;padding:0}.top-nav a{text-decoration:none;color:var(--text-muted);transition:color .18s ease}.top-nav a:focus-visible,.top-nav a:hover{color:var(--accent-secondary)}.brand{font-family:var(--font-heading),Georgia,serif;font-size:1.2rem;letter-spacing:.03em;color:var(--text-primary)}.header-booking-cta{border:1px solid var(--border);background:linear-gradient(120deg,var(--accent-primary),#ff56b9);color:#1a0712!important;padding:.65rem 1rem;border-radius:999px;text-decoration:none;font-weight:700;box-shadow:0 8px 22px rgba(255,63,174,.36)}.header-booking-cta:focus-visible,.header-booking-cta:hover{color:#1a0712!important;filter:brightness(1.06)}.hero{padding-top:5rem;padding-bottom:clamp(2.25rem,5vw,3rem)}.brand,.hero-title,.section-header h2,h3{font-family:var(--font-heading),Georgia,serif}.hero-title{font-size:clamp(2.1rem,5.2vw,4.2rem);line-height:1.08;max-width:12ch;margin:0 0 1.2rem}.hero-description{color:var(--text-muted);font-size:clamp(1rem,2vw,1.22rem);max-width:62ch;margin-bottom:2rem}.hero-cta{display:flex;flex-wrap:wrap;gap:.95rem}.cta-button{border:1px solid var(--border);background:linear-gradient(120deg,var(--accent-primary),#ff56b9);color:#1a0712;padding:.78rem 1.15rem;border-radius:999px;text-decoration:none;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;box-shadow:0 8px 22px rgba(255,63,174,.36)}.contact-actions .cta-button:last-child,.hero-cta .cta-button:last-child{background:transparent;color:var(--text-primary);box-shadow:none}.cta-button:focus-visible,.cta-button:hover{transform:translateY(-1px);filter:brightness(1.06)}.cta-button:focus-visible,.top-nav a:focus-visible,summary:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}.section-header{margin-bottom:1.2rem}.section-header.centered{text-align:center}.section-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;color:var(--accent-secondary);margin-bottom:.6rem}.section-header h2{margin:0;font-size:clamp(1.7rem,3.5vw,2.7rem)}.section-description{color:var(--text-muted);max-width:68ch}.about-card,.benefit-item,.contact-grid,.faq-item,.gallery-card,.service-card,.testimonial-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg,rgba(34,20,42,.84),rgba(16,11,21,.84));box-shadow:var(--glow)}.about-card{padding:1.5rem;color:var(--text-muted)}.benefits-grid,.gallery-grid,.service-grid,.testimonials-grid{display:grid;grid-gap:1rem;gap:1rem}.service-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.service-card{padding:1.2rem;position:relative;isolation:isolate;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.service-card:after{content:"";position:absolute;inset:-1px;border-radius:inherit;border:1px solid transparent;opacity:0;transform:scale(.985);transition:opacity .16s ease,transform .16s ease,border-color .16s ease;pointer-events:none}.services-section-actions{margin-bottom:1.2rem}.service-card-link{text-decoration:none;color:inherit;display:block}.service-card-link:active .service-card,.service-card-link:focus-visible .service-card{transform:translateY(1px);border-color:rgba(255,143,202,.58);box-shadow:0 0 0 1px rgba(255,143,202,.22),0 10px 24px rgba(0,0,0,.3)}.service-card-link:active .service-card:after,.service-card-link:focus-visible .service-card:after{opacity:1;transform:scale(1);border-color:rgba(255,143,202,.92)}.benefit-item h3,.contact-grid h3,.service-card h3{margin-top:0}.benefit-item p,.contact-grid p,.faq-item p,.service-card p{color:var(--text-muted)}.service-read-more{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-secondary);font-weight:700;font-size:.88rem;margin-top:.25rem}.service-meta{display:flex;justify-content:space-between;gap:.8rem;margin-top:.9rem;color:var(--accent-secondary);font-weight:600}.benefits-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.benefit-item{padding:1.2rem}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.gallery-card{margin:0;overflow:hidden}.gallery-card img{width:100%;height:auto;display:block}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.testimonial-card{padding:1.2rem}.testimonial-card .quote{margin-top:0;color:var(--text-primary)}.testimonial-card .author{margin-bottom:.2rem;color:var(--accent-secondary);font-weight:700}.testimonial-card .treatment{margin-top:0;color:var(--text-muted);font-size:.94rem}.faq-list{display:grid;grid-gap:.9rem;gap:.9rem}.faq-item{padding:1rem 1.2rem}.faq-item summary{cursor:pointer;color:var(--text-primary);font-weight:600}.faq-item p{margin-bottom:.2rem}.contact-section{padding-bottom:clamp(3rem,6vw,4rem)}.contact-grid{padding:1.2rem;display:grid;grid-gap:1.4rem;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.contact-grid a{color:var(--accent-secondary)}.contact-actions{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.8rem}.site-footer{border-top:1px solid rgba(255,255,255,.08);text-align:center;color:var(--text-muted);padding:1.2rem 1rem 2rem}.reveal{opacity:0;transform:translateY(14px);animation:fadeUp .65s ease forwards}.admin-shell{width:min(1120px,92vw);margin:0 auto;padding:4rem 0 6rem;display:grid;grid-gap:1.25rem;gap:1.25rem}.admin-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);grid-gap:1rem;gap:1rem}.admin-products-layout{display:grid;grid-template-columns:minmax(300px,430px) minmax(0,1fr);grid-gap:1rem;gap:1rem}.admin-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg,rgba(34,20,42,.9),rgba(16,11,21,.95));box-shadow:var(--glow);padding:1.25rem}.admin-header-card{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.admin-auth-card{width:min(480px,100%);margin:3rem auto 0}.admin-card h1,.admin-card h2{margin-top:0}.admin-copy{color:var(--text-muted)}.admin-link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.admin-tabs{display:flex;gap:.75rem;flex-wrap:wrap}.admin-tab-link{text-decoration:none;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.7rem 1rem;color:var(--text-muted);background:rgba(255,255,255,.03)}.admin-tab-link.is-active{color:#1a0712;background:linear-gradient(120deg,var(--accent-primary),#ff56b9);border-color:transparent}.admin-form{display:grid;grid-gap:.85rem;gap:.85rem}.admin-form-inline{display:flex;gap:1rem;flex-wrap:wrap}.admin-checkbox-row{display:flex!important;align-items:center;gap:.6rem}.admin-checkbox-row input{width:1rem;height:1rem}.admin-form label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--text-muted);font-size:.95rem}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid rgba(255,255,255,.18);border-radius:10px;background:rgba(10,8,14,.8);color:var(--text-primary);padding:.75rem}.admin-form input:focus-visible,.admin-form select:focus-visible,.admin-form textarea:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:2px}.admin-danger-button,.admin-primary-button,.admin-secondary-button{border-radius:999px;padding:.72rem 1rem;font-weight:700;cursor:pointer}.admin-primary-button{border:1px solid var(--border);background:linear-gradient(120deg,var(--accent-primary),#ff56b9);color:#1a0712}.admin-secondary-button{border:1px solid rgba(255,255,255,.2);background:transparent;color:var(--text-primary)}.admin-danger-button{border:1px solid rgba(255,113,145,.32);background:rgba(118,24,52,.35);color:#ffd7e1}.admin-message{border-radius:12px;padding:.85rem 1rem}.admin-error{border:1px solid rgba(255,108,108,.5);background:rgba(88,21,36,.35);color:#ffb9c6}.admin-notice{border:1px solid rgba(131,232,185,.45);background:rgba(17,66,45,.4);color:#ccffe3}.admin-bookings{display:grid;grid-gap:.85rem;gap:.85rem}.admin-booking-row{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.95rem;display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;background:rgba(255,255,255,.03)}.admin-booking-row p{margin:.25rem 0 0;color:var(--text-muted)}.admin-products-list{display:grid;grid-gap:1rem;gap:1rem}.admin-products-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.admin-product-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem;display:grid;grid-gap:.85rem;gap:.85rem;background:rgba(255,255,255,.03)}.admin-product-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.admin-product-card-header h3{margin:0}.admin-product-actions{display:flex;gap:.75rem;flex-wrap:wrap}.admin-product-list-row{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1rem;display:flex;justify-content:space-between;gap:.75rem;align-items:center;background:rgba(255,255,255,.03);transition:border-color .18s ease,transform .18s ease}.admin-product-list-row.is-active,.admin-product-list-row:hover{border-color:var(--accent-secondary);transform:translateY(-1px)}.admin-product-list-link{min-width:0;flex:1 1;display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(90px,1fr));grid-gap:.75rem;gap:.75rem;align-items:center;text-decoration:none}.admin-modal-backdrop{position:fixed;inset:0;z-index:40;background:rgba(7,5,10,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:1rem}.admin-modal{width:min(620px,100%);max-height:calc(100dvh - 2rem);overflow-y:auto;border:1px solid var(--border);border-radius:20px;background:linear-gradient(160deg,rgba(34,20,42,.96),rgba(16,11,21,.98));box-shadow:var(--glow);padding:1.25rem;overscroll-behavior:contain}.admin-confirm-modal{width:min(420px,100%)}.admin-image-fields{display:grid;grid-gap:.85rem;gap:.85rem}.admin-image-field-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:.9rem;display:grid;grid-gap:.75rem;gap:.75rem;background:rgba(255,255,255,.03)}.admin-image-preview{display:grid;grid-gap:.7rem;gap:.7rem}.admin-image-preview img{width:100%;max-width:220px;aspect-ratio:1/1;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12)}.service-detail-card{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg,rgba(34,20,42,.84),rgba(16,11,21,.84));box-shadow:var(--glow);padding:1.25rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:1.25rem;gap:1.25rem}.service-detail-copy,.service-detail-gallery{display:grid;grid-gap:1rem;gap:1rem}.service-detail-main-image,.service-thumb{background:rgba(255,255,255,.03);border-radius:14px;overflow:hidden}.service-detail-main-image{aspect-ratio:1/1}.service-detail-main-image img,.service-thumb img{width:100%;height:100%;object-fit:cover;display:block}.service-detail-actions,.service-detail-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.service-detail-meta span{border-radius:999px;padding:.45rem .8rem;background:rgba(255,255,255,.05);color:var(--text-muted)}.service-booking-backdrop{position:fixed;inset:0;z-index:35;background:rgba(7,5,10,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:1rem}.service-booking-modal{width:min(1180px,100%);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--border);border-radius:20px;background:linear-gradient(160deg,rgba(34,20,42,.96),rgba(16,11,21,.98));box-shadow:var(--glow);padding:1.25rem}.products-page-title{margin-top:0;margin-bottom:.75rem;font-size:clamp(2rem,4.5vw,3.25rem)}.products-page-description{margin-bottom:1.8rem}.products-toolbar{display:flex;justify-content:flex-start;gap:1rem;align-items:center;margin-bottom:1.4rem}.products-toolbar-copy{display:grid;grid-gap:.2rem;gap:.2rem;color:var(--text-muted)}.cart-trigger,.products-toolbar-copy strong{color:var(--text-primary)}.cart-trigger{position:fixed;right:1.25rem;bottom:1.25rem;z-index:25;border:1px solid var(--border);background:rgba(255,63,174,.12);border-radius:999px;padding:.7rem 1rem;display:inline-flex;gap:.6rem;align-items:center;cursor:pointer;font-weight:700;box-shadow:var(--glow)}.cart-trigger span{min-width:1.7rem;min-height:1.7rem;display:grid;place-items:center;border-radius:999px;background:var(--accent-primary);color:#1a0712}.cart-modal-backdrop{position:fixed;inset:0;background:rgba(7,5,10,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:1rem;z-index:30}.cart-modal{width:min(560px,100%);border:1px solid var(--border);border-radius:20px;background:linear-gradient(160deg,rgba(34,20,42,.96),rgba(16,11,21,.98));box-shadow:var(--glow);padding:1.25rem;display:grid;grid-gap:1rem;gap:1rem}.cart-modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.cart-modal-header h2{margin:0}.cart-close-button{border:0;background:transparent;color:var(--text-primary);font-size:1.8rem;line-height:1;cursor:pointer}.cart-empty-copy{margin:0;color:var(--text-muted)}.cart-items{display:grid;grid-gap:.75rem;gap:.75rem}.cart-item-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem;border-radius:14px;background:rgba(255,255,255,.04)}.cart-item-copy p{margin:.25rem 0 0;color:var(--text-muted)}.cart-total-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.08)}.cart-actions{display:flex;gap:.75rem;flex-wrap:wrap}.products-grid,.products-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.product-card,.product-detail-card,.product-preview-card,.products-empty-state{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(160deg,rgba(34,20,42,.84),rgba(16,11,21,.84));box-shadow:var(--glow)}.product-card,.product-preview-card{overflow:hidden;display:grid;grid-template-rows:auto 1fr}.product-card-link{color:inherit;text-decoration:none}.product-card-copy,.product-preview-copy{padding-inline:1rem}.product-card-copy{padding-bottom:.6rem}.product-preview-copy{padding-block:1rem;display:grid;grid-gap:.65rem;gap:.65rem;align-content:start;min-height:8.2rem}.product-preview-copy h3{margin:0;min-height:2.8rem}.product-preview-link{text-decoration:none;color:inherit;display:block}.product-preview-card h3{margin-bottom:.3rem}.product-preview-description{margin:0;color:var(--text-muted);min-height:2.8rem;line-height:1.45}.product-card-copy h2,.product-card-copy p{margin-top:0}.product-card-copy p{color:var(--text-muted)}.product-card-media,.product-detail-main-image{aspect-ratio:1/1;background:rgba(255,255,255,.03);display:grid;place-items:center;overflow:hidden}.product-card-media img,.product-detail-main-image img,.product-thumb-button img{width:100%;height:100%;object-fit:cover;display:block}.product-card-placeholder{color:var(--text-muted);padding:1rem;text-align:center}.product-card-actions,.product-card-meta{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:0 1rem 1rem}.product-card-actions{align-items:stretch}.product-card-actions .admin-primary-button{flex:1 1}.product-price-stack{display:grid;grid-gap:.2rem;gap:.2rem}.product-price-current{color:#a9f1be;font-weight:700}.product-price-original{color:#ff8a9b;text-decoration:underline;-webkit-text-decoration-color:#ff5568;text-decoration-color:#ff5568;text-underline-offset:.16em}.product-quantity-label{display:inline-flex;align-items:center;color:var(--text-muted);font-size:.94rem}.product-stock-badge{border-radius:999px;padding:.35rem .75rem;background:rgba(131,232,185,.16);border:1px solid rgba(131,232,185,.3);color:#ccffe3;font-size:.85rem}.product-stock-badge.sold-out{background:rgba(255,121,140,.16);border-color:rgba(255,121,140,.3);color:#ffd4dd}.products-back-link{margin-bottom:1.5rem}.booking-back-link,.products-back-link{display:inline-block;color:var(--accent-secondary);text-decoration:none}.booking-back-link{margin-bottom:1rem;font-weight:600}.product-detail-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:1.25rem;gap:1.25rem;padding:1.25rem}.product-detail-copy,.product-detail-gallery{display:grid;grid-gap:1rem;gap:1rem}.product-detail-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));grid-gap:.75rem;gap:.75rem}.product-thumb-button{border:1px solid rgba(255,255,255,.12);padding:0;border-radius:12px;overflow:hidden;cursor:pointer;background:rgba(255,255,255,.04);aspect-ratio:1/1}.product-thumb-button.is-active{border-color:var(--accent-secondary)}.product-detail-copy h1,.product-detail-description,.product-detail-price{margin:0}.product-detail-price{font-size:1.6rem}.product-detail-price-wrap{font-size:1.12rem}.product-detail-description{color:var(--text-muted);line-height:1.7;white-space:pre-line}.product-detail-description ol,.product-detail-description p,.product-detail-description ul{margin:0 0 .9rem}.product-detail-description ol,.product-detail-description ul{padding-left:1.2rem}.product-detail-description li+li{margin-top:.35rem}.product-detail-description ol:last-child,.product-detail-description p:last-child,.product-detail-description ul:last-child{margin-bottom:0}.products-empty-state{padding:1.4rem}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media (max-width:820px){.top-nav{padding:.75rem 0;align-items:flex-start;flex-direction:column}.header-brand-group{width:100%;justify-content:space-between}.hero{padding-top:3.8rem}.section{padding:2.5rem 0}.admin-grid,.admin-products-layout,.product-detail-card,.service-detail-card{grid-template-columns:1fr}.admin-booking-row,.admin-header-card,.admin-product-card-header,.admin-products-header,.cart-item-row,.products-toolbar{flex-direction:column}.admin-product-list-row{flex-direction:column;align-items:stretch}.admin-product-list-link{grid-template-columns:1fr}.cart-trigger{right:1rem;bottom:1rem}}