:root{--cream:#fdf5f2;--blush:#e8d5cc;--rose:#c49a8f;--wood:#8b5e52;--dark:#2c2018;--serif:"Cormorant Garamond", serif;--sans:"Jost", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);color:var(--dark);background-color:#f5ede8;background-image:repeating-linear-gradient(118deg,#0000 0 120px,#c49a8f1a 120px 122px),repeating-linear-gradient(62deg,#0000 0 90px,#c49a8f12 90px 92px),radial-gradient(70% 50% at 15% 25%,#dcc3b64d 0%,#0000 65%),radial-gradient(60% 40% at 85% 75%,#c49a8f2e 0%,#0000 60%);overflow-x:hidden}#loader{z-index:9999;background:var(--cream);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;transition:opacity 1s;display:flex;position:fixed;inset:0}#loader.gone{opacity:0;pointer-events:none}.ld-name{font-family:var(--serif);letter-spacing:.35em;color:#c4a49a;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:300;animation:.9s .15s both ldFadeIn}@keyframes ldFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ld-bar{background:linear-gradient(to right, transparent, var(--rose), transparent);width:0;height:1px;animation:1s cubic-bezier(.4,0,.2,1) .7s both ldBar}@keyframes ldBar{0%{width:0}to{width:min(260px,50vw)}}nav{z-index:160;justify-content:space-between;align-items:center;padding:1.4rem 3rem;transition:background .3s,box-shadow .3s,padding .3s;display:flex;position:fixed;top:0;left:0;right:0}nav.sticky{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fdf5f2eb;padding:1rem 3rem;box-shadow:0 2px 20px #2c20180f}.nav-logo{font-family:var(--serif);letter-spacing:.22em;color:#fff;font-size:1.35rem;font-weight:300;text-decoration:none;transition:color .3s}nav.sticky .nav-logo{color:var(--wood)}.nav-links{align-items:center;gap:2.2rem;list-style:none;display:flex}.nav-links a,.nav-book{letter-spacing:.22em;text-transform:uppercase;color:#ffffffd9;cursor:pointer;font-size:.68rem;font-family:var(--sans);background:0 0;border:none;text-decoration:none;transition:color .3s}nav.sticky .nav-links a,nav.sticky .nav-book{color:var(--dark)}.nav-links a:hover,.nav-book:hover{color:var(--rose)!important}.nav-book{border-radius:50px;padding:.55rem 1.4rem;border:1.5px solid #ffffff8c!important}nav.sticky .nav-book{border-color:var(--rose)!important;color:var(--rose)!important}.lang-switch{align-items:center;gap:.35rem;display:flex}.lang-switch span{color:#ffffff59;font-size:.65rem}nav.sticky .lang-switch span{color:#2c201840}.lang-switch button{cursor:pointer;font-family:var(--sans);letter-spacing:.2em;color:#ffffff8c;background:0 0;border:none;padding:0;font-size:.62rem;transition:color .2s}nav.sticky .lang-switch button{color:#2c201873}.lang-switch button.active{color:#fff;font-weight:500}nav.sticky .lang-switch button.active{color:var(--rose)}.lang-switch button:hover{color:var(--rose)!important}.nav-right-mobile{align-items:center;gap:.8rem;display:none}.burger{cursor:pointer;z-index:200;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.burger span{background:#fff;width:22px;height:1.5px;transition:all .3s;display:block}nav.sticky .burger span{background:var(--dark)}.burger.on span:first-child{transform:translateY(6.5px)rotate(45deg)}.burger.on span:nth-child(2){opacity:0}.burger.on span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mob-menu{z-index:150;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#f5ede8f7;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:opacity .35s;display:flex;position:fixed;inset:0}.mob-menu.on{opacity:1;pointer-events:all}.mob-menu a{font-family:var(--serif);color:var(--dark);letter-spacing:.08em;font-size:2rem;font-weight:300;text-decoration:none;transition:color .2s}.mob-menu a:hover{color:var(--rose)}.hero{justify-content:center;align-items:center;height:100vh;min-height:620px;display:flex;position:relative;overflow:hidden}.hero-bg{filter:grayscale(.4);background:url(https://images.unsplash.com/photo-1560066984-138dadb4c035?w=1600&q=80) 50% 40%/cover no-repeat;position:absolute;inset:0}.hero-overlay{background:linear-gradient(160deg,#2c201894 0%,#c49a8f40 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;color:#fff;padding:0 1.5rem;animation:.9s both fadeUp;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{letter-spacing:.32em;text-transform:uppercase;opacity:.8;margin-bottom:1.2rem;font-size:.68rem}.hero-title{font-family:var(--serif);letter-spacing:.06em;margin-bottom:.1rem;font-size:clamp(3.5rem,10vw,10rem);font-weight:300;line-height:1}.hero-subtitle{font-family:var(--serif);letter-spacing:.16em;opacity:.82;margin-bottom:3rem;font-size:clamp(1rem,2.5vw,1.7rem);font-style:italic;font-weight:300}.hero-cta{flex-wrap:wrap;justify-content:center;gap:1rem;display:inline-flex}.btn{letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-family:var(--sans);cursor:pointer;border:none;border-radius:50px;padding:.8rem 2.2rem;font-weight:400;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--rose);color:#fff}.btn-primary:hover{background:var(--wood);transform:translateY(-2px)}.btn-outline{color:#fff;background:0 0;border:1.5px solid #ffffffb3!important}.btn-outline:hover{background:#ffffff1f;transform:translateY(-2px)}.hero-scroll{color:#ffffff8c;letter-spacing:.22em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.4rem;font-size:.6rem;animation:2.2s ease-in-out infinite bounce;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-scroll:after{content:"";background:linear-gradient(#ffffff8c,#0000);width:1px;height:38px}@keyframes bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(6px)}}.about-section,.services-section,.team-section,.reviews-section,.contact-section{position:relative}.about-section:before,.services-section:before,.team-section:before,.reviews-section:before,.contact-section:before{content:"";background:linear-gradient(90deg,#0000,#c49a8f59,#0000);height:1px;display:block;position:absolute;top:0;left:10%;right:10%}.section-inner{max-width:1200px;margin:0 auto;padding:0 2rem}.section-tag{letter-spacing:.32em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem;font-size:.62rem}.section-title{font-family:var(--serif);margin-bottom:3rem;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:300;line-height:1.15}.section-title em{color:var(--rose);font-style:italic}.about-section{padding:8rem 2rem}.about-inner{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;max-width:1200px;margin:0 auto;display:grid}.about-text p{color:#2c2018b8;margin-bottom:1.2rem;font-size:.92rem;line-height:1.8}.about-title{font-family:var(--serif);margin-bottom:1rem;font-size:clamp(2.4rem,4vw,3.8rem);font-weight:300;line-height:1.1}.about-title em{color:var(--rose);font-style:italic}.about-divider{background:var(--rose);width:40px;height:1.5px;margin:1.5rem 0 2rem}.about-stats{gap:2rem;margin-top:2.5rem;display:flex}.stat{flex-direction:column;gap:.2rem;display:flex}.stat-n{font-family:var(--serif);color:var(--rose);font-size:2rem;font-weight:300}.stat-l{letter-spacing:.22em;text-transform:uppercase;color:#2c201880;font-size:.6rem}.about-photo-wrap{border-radius:18px;position:relative;overflow:hidden;box-shadow:0 30px 80px #2c20181f}.about-photo{aspect-ratio:4/5;object-fit:cover;width:100%;display:block}.services-section{background:linear-gradient(135deg,#e8d5cc2e 0%,#0000 60%);padding:8rem 2rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;display:grid}.service-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf8d1;border:1px solid #c49a8f2e;border-radius:16px;padding:2rem;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #2c20181c}.sc-title{font-family:var(--serif);color:var(--wood);margin-bottom:.6rem;font-size:1.3rem;font-weight:300}.sc-desc{color:#2c2018a6;font-size:.84rem;line-height:1.7}.gallery-section{padding:8rem 0;position:relative;overflow:hidden}.gallery-canvas{width:100%;height:100%;position:absolute;inset:0}.gallery-inner{z-index:1;position:relative}.gallery-inner .section-tag,.gallery-inner .section-title{padding:0 2rem}.slider-outer{margin-top:3rem;overflow:hidden}.slider-track{gap:1.5rem;width:max-content;animation:55s linear infinite slideLeft;display:flex}@keyframes slideLeft{0%{transform:translate(0)}to{transform:translate(-50%)}}.slide-item{border-radius:18px;flex-shrink:0;width:280px;height:280px;overflow:hidden;box-shadow:0 12px 40px #2c20182e}.slide-item img{object-fit:cover;width:100%;height:100%}.team-section{padding:8rem 2rem}.team-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;display:grid}.team-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1px solid #c49a8f26;border-radius:20px;transition:transform .3s,box-shadow .3s;overflow:hidden}.team-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px #2c20181f}.team-photo-wrap{height:320px;overflow:hidden}.team-photo{object-fit:cover;width:100%;height:100%;transition:transform .5s}.team-card:hover .team-photo{transform:scale(1.04)}.team-info{padding:1.8rem}.team-name{font-family:var(--serif);color:var(--wood);margin-bottom:.2rem;font-size:1.6rem;font-weight:300}.team-role{letter-spacing:.22em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem;font-size:.62rem}.team-bio{color:#2c2018a6;font-size:.84rem;line-height:1.75}.reviews-section{background:linear-gradient(135deg,#e8d5cc2e 0%,#0000 60%);padding:8rem 2rem}.reviews-badge{justify-content:center;align-items:center;gap:1.2rem;margin-bottom:4rem;display:flex}.reviews-stars-big{color:var(--rose);letter-spacing:.1em;font-size:1.8rem}.reviews-score{font-family:var(--serif);color:var(--wood);font-size:2.2rem;font-weight:300;line-height:1}.reviews-score span{opacity:.5;font-size:1.1rem}.reviews-count{letter-spacing:.2em;text-transform:uppercase;color:#2c201873;margin-top:.2rem;font-size:.62rem}.reviews-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.review-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf8e0;border:1px solid #c49a8f2e;border-radius:20px;flex-direction:column;gap:1.2rem;padding:2.5rem 2.2rem;display:flex}.review-stars{color:var(--rose);letter-spacing:.1em;font-size:1rem}.review-text{font-family:var(--serif);color:#2c2018d1;flex:1;font-size:1.15rem;font-weight:300;line-height:1.8}.review-divider{background:#c49a8f66;width:32px;height:1px}.review-name{letter-spacing:.22em;text-transform:uppercase;color:var(--rose);font-size:.62rem}.contact-section{padding:8rem 2rem}.contact-grid{grid-template-columns:1fr 1.4fr;align-items:start;gap:3rem;display:grid}.contact-card{background:#e8d5cc38;border:1px solid #c49a8f38;border-radius:20px;flex-direction:column;gap:2rem;padding:2.4rem 2.2rem;display:flex}.contact-block h4{letter-spacing:.28em;text-transform:uppercase;color:var(--rose);margin-bottom:.7rem;font-size:.6rem}.contact-block p,.contact-block a{color:#2c2018b8;font-size:.9rem;line-height:1.75;text-decoration:none}.contact-block a:hover{color:var(--rose)}.hours-list{flex-direction:column;gap:.3rem;display:flex}.hours-row{border-radius:8px;justify-content:space-between;align-items:center;padding:.45rem .6rem;transition:background .2s;display:flex}.hours-row:hover{background:#c49a8f1a}.hours-day{color:#2c2018b8;font-size:.82rem}.hours-time{color:var(--wood);font-size:.82rem;font-weight:400}.hours-closed .hours-day,.hours-closed .hours-time{color:#2c201852}.contact-map{aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #2c20181f}.contact-map iframe{border:0;width:100%;height:100%;display:block}.bm-overlay{z-index:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2c201873;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.bm-box{background:#fdf8f5;border-radius:24px;width:100%;max-width:540px;max-height:90vh;padding:3rem 2.5rem;position:relative;overflow-y:auto;box-shadow:0 40px 100px #2c201833}.bm-close{cursor:pointer;color:#2c201866;background:0 0;border:none;font-size:1rem;transition:color .2s;position:absolute;top:1.2rem;right:1.4rem}.bm-close:hover{color:var(--rose)}.bm-tag{letter-spacing:.3em;text-transform:uppercase;color:var(--rose);margin-bottom:1rem;font-size:.6rem}.bm-title{font-family:var(--serif);color:var(--dark);margin-bottom:2rem;font-size:2rem;font-weight:300;line-height:1.2}.bm-title em{color:var(--rose);font-style:italic}.bm-fields{flex-direction:column;gap:1rem;display:flex}.bm-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.bm-field{flex-direction:column;gap:.4rem;display:flex}.bm-full{grid-column:1/-1}.bm-field label{letter-spacing:.2em;text-transform:uppercase;color:#2c20188c;font-size:.62rem}.bm-field input,.bm-field select{font-family:var(--sans);color:var(--dark);background:#fffc;border:1.5px solid #c49a8f59;border-radius:10px;outline:none;padding:.7rem 1rem;font-size:.86rem;transition:border-color .2s}.bm-field input:focus,.bm-field select:focus{border-color:var(--rose)}.bm-slots{flex-wrap:wrap;gap:.5rem;margin-top:.3rem;display:flex}.bm-slot{cursor:pointer;color:var(--dark);font-size:.78rem;font-family:var(--sans);background:#fff;border:1.5px solid #c49a8f59;border-radius:8px;padding:.4rem .9rem;transition:all .2s}.bm-slot:hover{border-color:var(--rose)}.bm-slot.active{background:var(--rose);border-color:var(--rose);color:#fff}.bm-closed{color:#2c201880;font-size:.82rem;font-style:italic}.bm-error{color:#c0392b;font-size:.8rem}.bm-btn{background:var(--rose);color:#fff;justify-content:center;width:100%;margin-top:.5rem;font-size:.72rem}.bm-btn:hover{background:var(--wood)}.bm-btn:disabled{opacity:.6;cursor:not-allowed}.bm-success{text-align:center;padding:1rem 0}.bm-success-icon{color:var(--rose);margin-bottom:1rem;font-size:2.5rem}.bm-text{color:#2c2018b8;font-size:.9rem;line-height:1.7}.footer{background:var(--dark);text-align:center;padding:4rem 2rem}.footer-logo{font-family:var(--serif);letter-spacing:.18em;color:var(--blush);margin-bottom:.5rem;font-size:1.8rem;font-weight:300}.footer-logo span{color:var(--rose);margin-left:.4rem;font-size:1rem;font-style:italic}.footer-address{color:#ffffff73;letter-spacing:.08em;margin-bottom:.3rem;font-size:.78rem}.footer-address a{color:var(--rose);text-decoration:none}.footer-hours{color:#ffffff4d;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2rem;font-size:.72rem}.footer-copy{color:#fff3;letter-spacing:.1em;font-size:.65rem}.staff-link{z-index:90;letter-spacing:.22em;text-transform:uppercase;color:#2c20184d;font-size:.58rem;text-decoration:none;transition:color .2s;position:fixed;bottom:1.5rem;right:1.5rem}.staff-link:hover{color:var(--rose)}.staff-page{background:var(--cream);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.staff-box{background:#fff;border-radius:20px;width:100%;max-width:420px;padding:3rem 2.5rem;box-shadow:0 20px 60px #2c201814}.staff-logo{font-family:var(--serif);letter-spacing:.3em;color:var(--wood);text-align:center;margin-bottom:.3rem;font-size:2rem;font-weight:300}.staff-sub{letter-spacing:.25em;text-transform:uppercase;color:var(--rose);text-align:center;margin-bottom:2rem;font-size:.62rem}.staff-field{margin-bottom:1rem}.staff-field label{letter-spacing:.2em;text-transform:uppercase;color:#2c201880;margin-bottom:.4rem;font-size:.62rem;display:block}.staff-field input{width:100%;font-family:var(--sans);border:1.5px solid #c49a8f4d;border-radius:10px;outline:none;padding:.7rem 1rem;font-size:.9rem;transition:border-color .2s}.staff-field input:focus{border-color:var(--rose)}.staff-error{color:#c0392b;margin-bottom:.5rem;font-size:.8rem}.dash-page{background:var(--cream);min-height:100vh}.dash-nav{background:#fff;border-bottom:1px solid #c49a8f26;justify-content:space-between;align-items:center;padding:1.2rem 2rem;display:flex}.dash-logo{font-family:var(--serif);letter-spacing:.2em;color:var(--wood);font-size:1.3rem;font-weight:300}.dash-logout{color:#2c201880;letter-spacing:.25em;text-transform:uppercase;cursor:pointer;font-size:.6rem;font-family:var(--sans);background:0 0;border:1px solid #c49a8f59;border-radius:6px;padding:.4rem 1rem;transition:all .2s}.dash-logout:hover{border-color:var(--rose);color:var(--rose)}.dash-body{max-width:900px;margin:0 auto;padding:3rem 2rem}.dash-heading{font-family:var(--serif);color:var(--dark);margin-bottom:2rem;font-size:2.2rem;font-weight:300}.dash-heading em{color:var(--rose);font-style:italic}.dash-counts{grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem;display:grid}.dash-count{text-align:center;background:#fff;border:1px solid #c49a8f26;border-radius:12px;padding:1.2rem}.dash-count .n{font-family:var(--serif);color:var(--rose);font-size:2rem}.dash-count .l{letter-spacing:.2em;text-transform:uppercase;color:#2c201880;margin-top:.2rem;font-size:.6rem}.dash-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.dash-tab{font-family:var(--sans);letter-spacing:.12em;cursor:pointer;color:#2c201899;background:0 0;border:1.5px solid #c49a8f40;border-radius:20px;padding:.45rem 1.2rem;font-size:.7rem;transition:all .2s}.dash-tab.active{background:var(--rose);border-color:var(--rose);color:#fff}.dash-empty{color:#2c201866;text-align:center;padding:3rem;font-size:.9rem}.booking-card{background:#fff;border:1px solid #c49a8f26;border-radius:14px;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;padding:1.4rem 1.6rem;display:flex}.booking-name{font-family:var(--serif);color:var(--dark);margin-bottom:.3rem;font-size:1.1rem}.booking-meta{color:#2c201880;font-size:.78rem;line-height:1.6}.booking-service{letter-spacing:.15em;text-transform:uppercase;color:var(--rose);border:1px solid #c49a8f4d;border-radius:20px;margin-top:.4rem;padding:.2rem .7rem;font-size:.65rem;display:inline-block}.booking-actions{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.badge{letter-spacing:.18em;text-transform:uppercase;border-radius:20px;padding:.25rem .7rem;font-size:.6rem}.badge.pending{color:#b8860b;background:#ffc10726}.badge.approved{color:#1a7f37;background:#2ea0431f}.badge.rejected{color:#cf222e;background:#cf222e1a}.btn-approve{color:#1a7f37;cursor:pointer;font-size:.65rem;font-family:var(--sans);background:#2ea0431f;border:none;border-radius:6px;padding:.3rem .8rem}.btn-reject{color:#cf222e;cursor:pointer;font-size:.65rem;font-family:var(--sans);background:#cf222e14;border:none;border-radius:6px;padding:.3rem .8rem}@media (max-width:900px){nav{padding:1.2rem 1.5rem}nav.sticky{padding:.9rem 1.5rem}.nav-links{display:none}.nav-right-mobile,.burger{display:flex}.about-inner{grid-template-columns:1fr;gap:3rem}.contact-grid,.team-grid,.reviews-grid{grid-template-columns:1fr}.dash-counts{grid-template-columns:repeat(2,1fr)}.booking-card{flex-direction:column}.booking-actions{align-items:flex-start}.bm-row{grid-template-columns:1fr}}@media (max-width:600px){.about-section,.services-section,.gallery-section,.team-section,.reviews-section,.contact-section{padding:5rem 1.2rem}.bm-box,.staff-box{padding:2rem 1.5rem}}
