@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Outfit:wght@300;400;500;600&display=swap";:root{--cream: #FAF6F1;--warm-white: #FFFCF8;--charcoal: #2C2825;--warm-gray: #9A918A;--gold: #C9A96E;--gold-light: #E8D5B0;--blush: #EDE4DA;--taupe: #B8A08A;--border: #E8E2DC;--white: #FFFFFF;--red: #C46E6E;--green: #7BA87B}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Outfit,sans-serif;background:var(--cream);color:var(--charcoal);-webkit-font-smoothing:antialiased}.nn-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;transition:all .4s cubic-bezier(.22,1,.36,1)}.nn-nav.scrolled{background:#faf6f1f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 1px 0 var(--border);padding:12px 20px}.nn-logo{height:24px;cursor:pointer;transition:opacity .3s}.nn-logo:hover{opacity:.7}.nn-nav-links{display:none}.nn-mobile-toggle{display:flex;background:none;border:none;cursor:pointer;padding:6px;color:var(--charcoal);align-items:center;justify-content:center}.nn-mobile-nav{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:var(--cream);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.nn-mobile-nav-link{background:none;border:none;cursor:pointer;font-family:Cormorant Garamond,serif;font-size:40px;font-weight:300;font-style:italic;color:var(--charcoal);padding:10px 0;transition:color .2s}.nn-mobile-nav-link:hover{color:var(--gold)}.nn-mobile-nav-divider{width:36px;height:1px;background:var(--border);margin:12px 0}.nn-mobile-nav-book{padding:14px 44px;background:var(--charcoal);color:var(--cream);border:none;cursor:pointer;font-family:Outfit,sans-serif;font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase}.nn-mobile-nav-staff{background:none;border:none;cursor:pointer;font-size:11px;color:var(--warm-gray);letter-spacing:1.5px;text-transform:uppercase;margin-top:8px;font-family:Outfit,sans-serif}.nn-hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 24px 80px;position:relative;overflow:hidden;background:linear-gradient(170deg,var(--cream) 0%,var(--warm-white) 40%,var(--blush) 100%)}.nn-hero:before{content:"";position:absolute;top:-80px;right:-80px;width:360px;height:360px;background:radial-gradient(circle,rgba(201,169,110,.12) 0%,transparent 70%);pointer-events:none}.nn-hero-accent{width:36px;height:1.5px;background:var(--gold);margin:0 auto 22px;opacity:0;animation:fadeIn .8s ease .2s forwards}.nn-hero-logo{max-width:clamp(220px,60vw,480px);height:auto;opacity:0;transform:translateY(24px);animation:fadeUp 1s cubic-bezier(.22,1,.36,1) .3s forwards}.nn-hero-services{display:flex;gap:6px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:20px;opacity:0;transform:translateY(16px);animation:fadeUp .8s ease .6s forwards}.nn-hero-services span{font-size:10px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--warm-gray)}.nn-hero-services .dot{width:3px;height:3px;background:var(--gold);border-radius:50%;display:inline-block}.nn-hero-address{font-size:11px;font-weight:300;letter-spacing:3px;text-transform:uppercase;color:var(--taupe);margin-top:16px;opacity:0;animation:fadeUp .8s ease .8s forwards}.nn-hero-cta{margin-top:40px;display:flex;gap:12px;align-items:center;opacity:0;animation:fadeUp .8s ease 1s forwards;flex-wrap:wrap;justify-content:center}.nn-btn{display:inline-block;padding:15px 40px;font-family:Outfit,sans-serif;font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;border:none;cursor:pointer;transition:all .35s cubic-bezier(.22,1,.36,1);text-decoration:none}.nn-btn-dark{background:var(--charcoal);color:var(--cream)}.nn-btn-dark:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-2px);box-shadow:0 10px 28px #c9a96e40}.nn-btn-gold{background:var(--gold);color:var(--charcoal)}.nn-btn-gold:hover{background:var(--charcoal);color:var(--cream);transform:translateY(-2px)}.nn-btn-outline{background:none;border:1.5px solid var(--border);color:var(--charcoal);display:inline-flex;align-items:center;gap:8px;padding:15px 28px}.nn-btn-outline:hover{border-color:var(--charcoal)}.nn-btn-back{padding:14px 28px;background:none;border:1.5px solid var(--border);font-family:Outfit,sans-serif;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s;color:var(--charcoal)}.nn-btn-back:hover{border-color:var(--charcoal)}.nn-divider{display:flex;align-items:center;justify-content:center;gap:14px;padding:0 24px}.nn-divider-line{flex:1;height:1px;background:var(--border);max-width:160px}.nn-divider-diamond{width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}.nn-section{padding:64px 24px;max-width:1200px;margin:0 auto}.nn-section-label{font-size:10px;font-weight:500;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.nn-section-title{font-family:Cormorant Garamond,serif;font-size:clamp(28px,6vw,46px);font-weight:300;letter-spacing:.5px;color:var(--charcoal);margin-bottom:14px}.nn-section-desc{font-size:14px;line-height:1.75;color:var(--warm-gray);max-width:480px;font-weight:300}.nn-treat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}.nn-treat-card{padding:28px 20px;background:var(--warm-white);border:1px solid var(--border);transition:all .4s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.nn-treat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .4s}.nn-treat-card:hover{transform:translateY(-3px);box-shadow:0 8px 32px #2c282512}.nn-treat-card:hover:before{transform:scaleX(1)}.nn-treat-icon{font-size:12px;color:var(--gold);margin-bottom:12px;letter-spacing:4px}.nn-treat-title{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:400;margin-bottom:6px}.nn-treat-desc{font-size:12px;color:var(--warm-gray);font-weight:300;line-height:1.6;margin-bottom:16px}.nn-treat-pracs{display:flex;flex-direction:column;gap:6px}.nn-treat-prac-btn{display:flex;align-items:center;gap:8px;padding:9px 12px;background:none;border:1.5px solid var(--border);cursor:pointer;transition:all .25s;font-family:Outfit,sans-serif;font-size:12px;font-weight:400;color:var(--charcoal);text-align:left;width:100%}.nn-treat-prac-btn:hover{border-color:var(--gold);background:var(--cream)}.nn-treat-prac-arrow{margin-left:auto;color:var(--gold);font-size:13px;opacity:0;transition:opacity .25s}.nn-treat-prac-btn:hover .nn-treat-prac-arrow{opacity:1}.nn-team-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:40px}.nn-team-card{padding:28px 16px 24px;text-align:center;background:var(--warm-white);border:1px solid var(--border);transition:all .4s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.nn-team-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .4s}.nn-team-card:hover{transform:translateY(-4px);box-shadow:0 10px 32px #2c282517}.nn-team-card:hover:before{transform:scaleX(1)}.nn-team-avatar{width:60px;height:60px;border-radius:50%;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-family:Cormorant Garamond,serif;font-size:20px;font-style:italic;color:#fff;overflow:hidden;background-size:130%;background-position:center 35%}.nn-team-name{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400;margin-bottom:4px}.nn-team-role{font-size:11px;color:var(--warm-gray);font-weight:300;margin-bottom:4px;line-height:1.4}.nn-insta{padding:56px 24px;text-align:center;background:var(--warm-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.nn-insta-title{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:300;font-style:italic;margin-bottom:6px}.nn-insta a{font-size:13px;color:var(--gold);font-weight:500;text-decoration:none}.nn-insta a:hover{text-decoration:underline}.nn-insta p{font-size:13px;color:var(--warm-gray);font-weight:300;margin-top:10px}.nn-booking{background:var(--warm-white);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.nn-booking-drawer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--cream);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);overflow:hidden}.nn-booking-drawer.open{transform:translateY(0)}.nn-booking-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);background:var(--cream);flex-shrink:0}.nn-booking-drawer-title{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400}.nn-booking-drawer-close{background:none;border:none;cursor:pointer;padding:6px;color:var(--warm-gray);font-size:22px;line-height:1;transition:color .2s}.nn-booking-drawer-close:hover{color:var(--charcoal)}.nn-booking-drawer-body{flex:1;overflow-y:auto;padding:24px 20px 40px;-webkit-overflow-scrolling:touch}.nn-booking-drawer-step-indicator{font-size:11px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:var(--warm-gray);margin-bottom:24px}.nn-booking-drawer-step-indicator span{color:var(--gold)}.nn-steps{display:none}.nn-step-line{width:24px;height:1px;background:var(--border);margin:0 2px}.nn-step{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;color:var(--warm-gray);opacity:.35;transition:all .4s}.nn-step.active{opacity:1;color:var(--charcoal)}.nn-step.done{opacity:.6;color:var(--gold)}.nn-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;border:1.5px solid var(--border);transition:all .4s}.nn-step.active .nn-step-num{background:var(--charcoal);border-color:var(--charcoal);color:var(--cream)}.nn-step.done .nn-step-num{background:var(--gold);border-color:var(--gold);color:#fff}.nn-prac-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nn-prac-card{padding:20px 12px;text-align:center;border:1.5px solid var(--border);cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1);background:var(--warm-white)}.nn-prac-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 20px #2c28250f}.nn-prac-card.picked{border-color:var(--charcoal);background:var(--cream)}.nn-svc-item{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1.5px solid var(--border);cursor:pointer;transition:all .25s;margin-bottom:8px;background:var(--warm-white)}.nn-svc-item:hover{border-color:var(--gold)}.nn-svc-item.picked{border-color:var(--charcoal);background:var(--cream)}.nn-svc-group-label{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--warm-gray);margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.nn-cal{width:100%;max-width:380px}.nn-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.nn-cal-head h3{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400}.nn-cal-btn{background:none;border:1px solid var(--border);width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s;color:var(--charcoal)}.nn-cal-btn:hover{border-color:var(--charcoal)}.nn-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px}.nn-cal-weekdays span{text-align:center;font-size:9px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--warm-gray);padding:6px 0}.nn-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.nn-cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;border:none;background:none;cursor:pointer;transition:all .2s;color:var(--charcoal)}.nn-cal-day:hover:not(.off):not(.nil){background:var(--blush)}.nn-cal-day.on{background:var(--charcoal);color:var(--cream)}.nn-cal-day.off{color:var(--border);cursor:default}.nn-cal-day.now{font-weight:600;box-shadow:inset 0 -2px 0 var(--gold)}.nn-cal-day.nil{cursor:default}.nn-times{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.nn-time{padding:12px;text-align:center;font-size:13px;border:1.5px solid var(--border);background:var(--warm-white);cursor:pointer;transition:all .2s;font-family:Outfit,sans-serif}.nn-time:hover{border-color:var(--gold)}.nn-time.on{border-color:var(--charcoal);background:var(--charcoal);color:var(--cream)}.nn-confirm{width:100%;padding:28px 20px;background:var(--cream);border:1px solid var(--border)}.nn-confirm-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px}.nn-confirm-row:last-of-type{border-bottom:none}.nn-confirm-label{color:var(--warm-gray);font-weight:300}.nn-confirm-val{font-weight:500;text-align:right}.nn-input{width:100%;padding:13px 16px;border:1.5px solid var(--border);background:var(--warm-white);font-family:Outfit,sans-serif;font-size:15px;outline:none;transition:border-color .3s;color:var(--charcoal);-webkit-appearance:none;border-radius:0}.nn-input:focus{border-color:var(--gold)}.nn-input::placeholder{color:var(--taupe);font-weight:300}.nn-input-label{font-size:11px;color:var(--warm-gray);font-weight:400;letter-spacing:1px;text-transform:uppercase;display:block;margin-bottom:7px}.nn-booking-nav{display:flex;gap:12px;margin-top:32px;padding-bottom:8px}.nn-contact-grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:36px}.nn-contact-block h4{font-family:Cormorant Garamond,serif;font-size:18px;font-weight:400;margin-bottom:10px}.nn-contact-block p{font-size:13px;line-height:1.8;color:var(--warm-gray);font-weight:300}.nn-footer{padding:40px 24px;text-align:center;background:var(--charcoal);color:#faf6f180;font-size:11px;font-weight:300;letter-spacing:1px}.nn-footer-logo{height:28px;margin:0 auto 10px;display:block}.nn-dash{min-height:100vh;background:var(--cream);padding:20px}.nn-dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:12px}.nn-dash-greeting{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:300}.nn-dash-tabs{display:flex;gap:4px;margin-bottom:24px;flex-wrap:wrap}.nn-dash-tab{padding:10px 18px;font-size:11px;font-weight:500;letter-spacing:1px;text-transform:uppercase;border:1.5px solid var(--border);background:none;cursor:pointer;transition:all .2s;font-family:Outfit,sans-serif;color:var(--charcoal)}.nn-dash-tab.on{background:var(--charcoal);border-color:var(--charcoal);color:var(--cream)}.nn-booking-card{padding:16px 20px;background:var(--warm-white);border:1px solid var(--border);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;transition:all .3s}.nn-booking-card:hover{box-shadow:0 4px 16px #2c28250f}.nn-booking-status{padding:3px 10px;font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-radius:2px}.nn-booking-status.confirmed{background:#7ba87b26;color:var(--green)}.nn-booking-status.cancelled{background:#c46e6e26;color:var(--red)}.nn-booking-status.completed{background:#c9a96e26;color:var(--gold)}.nn-week-grid-outer{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;touch-action:pan-x;border:1px solid var(--border);border-radius:2px}.nn-week-grid-inner{min-width:560px;-webkit-user-select:none;user-select:none}.nn-week-header{display:grid;grid-template-columns:48px repeat(7,1fr);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.nn-week-time-col{position:sticky;left:0;z-index:5;background:var(--cream)}.nn-week-day-col{position:relative;border-left:1px solid var(--border);touch-action:pan-y}.nn-week-booking-block{position:absolute;left:2px;right:2px;background:var(--gold);border-left:3px solid var(--charcoal);border-radius:2px;padding:3px 6px;cursor:pointer;overflow:hidden;z-index:2;transition:filter .15s}.nn-week-booking-block:hover{filter:brightness(.9)}.nn-day-detail{margin-top:16px;padding:20px;background:var(--warm-white);border:1.5px solid var(--border)}.nn-day-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.nn-day-detail-title{font-family:Cormorant Garamond,serif;font-size:20px;font-weight:400}.nn-day-detail-close{background:none;border:none;cursor:pointer;font-size:18px;color:var(--warm-gray);padding:4px 8px;transition:color .2s}.nn-day-detail-close:hover{color:var(--charcoal)}.nn-day-booking-full{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--cream);border:1px solid var(--border);margin-bottom:8px;transition:all .2s;flex-wrap:wrap;gap:10px}.nn-day-booking-full:hover{box-shadow:0 2px 12px #2c28250f}.nn-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(170deg,var(--cream),var(--blush));padding:24px}.nn-login-card{width:100%;max-width:380px;padding:36px 28px;background:var(--warm-white);border:1px solid var(--border)}.nn-login-title{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:300;margin-bottom:6px;text-align:center}.nn-login-sub{font-size:13px;color:var(--warm-gray);text-align:center;margin-bottom:28px;font-weight:300}.nn-login-error{padding:10px 14px;background:#c46e6e1a;color:var(--red);font-size:13px;margin-bottom:14px;border:1px solid rgba(196,110,110,.2)}.nn-demo-banner{background:var(--gold);color:var(--charcoal);text-align:center;padding:8px 20px;font-size:12px;font-weight:500;letter-spacing:.5px;position:fixed;bottom:0;left:0;right:0;z-index:200}.nn-success-icon{width:64px;height:64px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;animation:scaleIn .5s cubic-bezier(.22,1,.36,1)}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.nn-fade{opacity:0;transform:translateY(20px);transition:all .7s cubic-bezier(.22,1,.36,1)}.nn-fade.vis{opacity:1;transform:translateY(0)}@media(min-width:640px){.nn-treat-grid,.nn-team-grid{grid-template-columns:repeat(3,1fr);gap:16px}.nn-contact-grid,.nn-prac-grid{grid-template-columns:repeat(3,1fr)}.nn-section{padding:80px 36px}.nn-confirm{padding:32px}}@media(min-width:1024px){.nn-nav{padding:24px 48px}.nn-nav.scrolled{padding:16px 48px}.nn-logo{height:28px}.nn-nav-links{display:flex;gap:36px;list-style:none;align-items:center}.nn-nav-links li a{text-decoration:none;color:var(--charcoal);font-size:12px;font-weight:400;letter-spacing:1.8px;text-transform:uppercase;cursor:pointer;position:relative;transition:color .3s}.nn-nav-links li a:hover{color:var(--gold)}.nn-nav-links li a:after{content:"";position:absolute;bottom:-5px;left:50%;width:0;height:1.5px;background:var(--gold);transition:all .3s ease;transform:translate(-50%)}.nn-nav-links li a:hover:after{width:100%}.nn-nav-book{padding:10px 26px;background:var(--charcoal);color:var(--cream);font-family:Outfit,sans-serif;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:all .3s ease}.nn-nav-book:hover{background:var(--gold);color:var(--charcoal)}.nn-mobile-toggle{display:none}.nn-section{padding:100px 48px}.nn-treat-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:60px}.nn-team-grid{grid-template-columns:repeat(5,1fr);gap:20px;margin-top:60px}.nn-team-avatar{width:72px;height:72px;margin-bottom:18px}.nn-booking-drawer{display:none!important}.nn-booking-inline{display:block!important}.nn-steps{display:flex;gap:6px;margin:0 0 44px;flex-wrap:wrap}.nn-prac-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.nn-confirm{max-width:500px;padding:40px}.nn-times{grid-template-columns:repeat(3,1fr)}.nn-dash{padding:32px}}
