@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Jost:wght@300;400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#2c3b2d;-webkit-font-smoothing:antialiased;background:#faf8f4;font-family:Jost,sans-serif;line-height:1.7}:root{--sage:#7a9e7e;--sage-light:#b5cbb7;--sage-pale:#e8f0e9;--sage-dark:#4f7153;--cream:#faf8f4;--warm-white:#fff;--text-dark:#2c3b2d;--text-mid:#4a5c4b;--text-light:#7a8c7b;--accent:#c9a87c;--radius:8px}nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--sage-light);background:#faf8f4f5;justify-content:space-between;align-items:center;padding:1.2rem 5%;transition:box-shadow .3s;display:flex;position:fixed;top:0;left:0;right:0}nav.scrolled{box-shadow:0 2px 20px #4a5c4b1f}.nav-logo{color:var(--sage-dark);letter-spacing:.02em;font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:500;text-decoration:none}.nav-logo span{color:var(--accent)}.nav-links{gap:2.2rem;list-style:none;display:flex}.nav-links a{color:var(--text-mid);letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:400;text-decoration:none;transition:color .2s}.nav-links a:hover{color:var(--sage-dark)}.nav-cta{border-radius:30px;padding:.55rem 1.3rem;background:var(--sage)!important;color:#fff!important;font-weight:500!important}.nav-cta:hover{background:var(--sage-dark)!important}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:.3rem;display:none}.hamburger span{background:var(--text-dark);border-radius:2px;width:24px;height:2px;display:block}#hero{grid-template-columns:1fr 1fr;min-height:100vh;padding-top:80px;display:grid}.hero-text{flex-direction:column;justify-content:center;padding:6rem 5% 6rem 8%;display:flex}.hero-eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:1.2rem;font-size:.78rem;font-weight:500}.hero-text h1{color:var(--text-dark);margin-bottom:1.5rem;font-family:Cormorant Garamond,serif;font-size:clamp(2.6rem,4.5vw,4rem);font-weight:300;line-height:1.2}.hero-text h1 em{color:var(--sage-dark);font-style:italic}.hero-text p{color:var(--text-mid);max-width:440px;margin-bottom:2.5rem;font-size:1.05rem;font-weight:300}.btn-primary{background:var(--sage);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:30px;padding:.9rem 2.2rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.btn-primary:hover{background:var(--sage-dark);transform:translateY(-2px)}.btn-outline{border:1.5px solid var(--sage);color:var(--sage-dark);letter-spacing:.08em;text-transform:uppercase;border-radius:30px;margin-left:1rem;padding:.85rem 2rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-block}.btn-outline:hover{background:var(--sage-pale);transform:translateY(-2px)}.hero-image{position:relative;overflow:hidden}.hero-image img{object-fit:cover;width:100%;height:100%}.hero-image:after{content:"";background:linear-gradient(120deg, var(--cream) 0%, transparent 30%);position:absolute;inset:0}section{padding:6rem 8%}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:.8rem;font-size:.75rem;font-weight:500}.section-title{color:var(--text-dark);margin-bottom:1.2rem;font-family:Cormorant Garamond,serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.2}.section-subtitle{color:var(--text-mid);max-width:560px;font-size:1rem;font-weight:300;line-height:1.8}#about{background:var(--warm-white);grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.about-image{position:relative}.about-image img{z-index:1;border-radius:4px;width:100%;height:auto;display:block;position:relative}.about-image:before{content:"";border:2px solid var(--sage-light);z-index:0;border-radius:4px;position:absolute;inset:-20px 20px 20px -20px}.about-text p{color:var(--text-mid);margin-bottom:1.2rem;font-size:.98rem;font-weight:300}.credentials{flex-wrap:wrap;gap:.6rem;margin-top:1.8rem;display:flex}.credential-tag{background:var(--sage-pale);color:var(--sage-dark);border-radius:20px;padding:.4rem .9rem;font-size:.8rem;font-weight:500}.linkedin-link{color:var(--sage-dark);align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.linkedin-link:hover{color:var(--sage)}#services{background:var(--cream);text-align:center}#services .section-subtitle{margin:0 auto 3.5rem}.services-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.service-card{background:var(--warm-white);border-radius:var(--radius);border:1px solid var(--sage-light);padding:2.2rem;transition:box-shadow .3s,transform .3s}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #4a5c4b1a}.service-icon{background:var(--sage-pale);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1.2rem;display:flex}.service-icon svg{width:24px;height:24px;stroke:var(--sage-dark);fill:none}.service-card h3{color:var(--text-dark);margin-bottom:.6rem;font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500}.service-card p{color:var(--text-mid);font-size:.88rem;font-weight:300;line-height:1.7}#approach{background:var(--sage-pale);grid-template-columns:1fr 1fr;align-items:center;gap:5rem;display:grid}.approach-text p{color:var(--text-mid);margin-bottom:1.2rem;font-size:.98rem;font-weight:300}.approach-pillars{flex-direction:column;gap:1.2rem;display:flex}.pillar{background:var(--warm-white);border-radius:var(--radius);border-left:3px solid var(--sage);align-items:flex-start;gap:1rem;padding:1.3rem 1.5rem;display:flex}.pillar-num{color:var(--sage-light);min-width:30px;font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:300;line-height:1}.pillar h4{color:var(--text-dark);margin-bottom:.2rem;font-size:.92rem;font-weight:500}.pillar p{color:var(--text-mid);font-size:.85rem;font-weight:300}#fees{background:var(--warm-white);text-align:center}#fees .section-subtitle{margin:0 auto 3rem}.fees-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:900px;margin:0 auto 3rem;display:grid}.fee-card{background:var(--cream);border-radius:var(--radius);border:1px solid var(--sage-light);padding:2rem 1.5rem}.fee-card h3{color:var(--text-dark);margin-bottom:.5rem;font-family:Cormorant Garamond,serif;font-size:1.15rem;font-weight:500}.fee-amount{color:var(--sage-dark);margin-bottom:.3rem;font-size:2rem;font-weight:300}.fee-note{color:var(--text-light);font-size:.82rem}.insurance-note{background:var(--sage-pale);border-radius:var(--radius);max-width:700px;color:var(--text-mid);margin:0 auto;padding:1.5rem 2rem;font-size:.9rem;font-weight:300}.insurance-note strong{color:var(--sage-dark);font-weight:500}#faq{background:var(--cream)}#faq .section-title{margin-bottom:2.5rem}.faq-list{max-width:750px}.faq-item{border-bottom:1px solid var(--sage-light)}.faq-question{text-align:left;width:100%;color:var(--text-dark);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem 0;font-family:Jost,sans-serif;font-size:.98rem;font-weight:400;transition:color .2s;display:flex}.faq-question:hover{color:var(--sage-dark)}.faq-icon{flex-shrink:0;width:20px;height:20px;position:relative}.faq-icon:before,.faq-icon:after{content:"";background:var(--sage);border-radius:2px;transition:transform .3s,opacity .3s;position:absolute}.faq-icon:before{height:2px;top:9px;left:0;right:0}.faq-icon:after{width:2px;top:0;bottom:0;left:9px}.faq-item.open .faq-icon:after{opacity:0;transform:rotate(90deg)}.faq-answer{max-height:0;transition:max-height .4s;overflow:hidden}.faq-answer p{color:var(--text-mid);padding-bottom:1.4rem;font-size:.9rem;font-weight:300;line-height:1.8}.faq-item.open .faq-answer{max-height:300px}#contact{background:var(--sage-dark);color:#fff;grid-template-columns:1fr 1fr;align-items:start;gap:5rem;display:grid}#contact .section-label{color:var(--sage-light)}#contact .section-title{color:#fff}#contact .section-subtitle{color:#ffffffb3}.contact-info{flex-direction:column;gap:1.2rem;margin-top:2rem;display:flex}.contact-item{color:#ffffffd9;align-items:center;gap:.8rem;font-size:.92rem;font-weight:300;display:flex}.contact-item svg{width:18px;height:18px;stroke:var(--sage-light);fill:none;flex-shrink:0}.contact-form{flex-direction:column;gap:1rem;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{letter-spacing:.08em;text-transform:uppercase;color:#fff9;font-size:.78rem;font-weight:500}.form-group input,.form-group select,.form-group textarea{border-radius:var(--radius);color:#fff;background:#ffffff1a;border:1px solid #fff3;outline:none;padding:.8rem 1rem;font-family:Jost,sans-serif;font-size:.9rem;font-weight:300;transition:border-color .2s,background .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#ffffff59}.form-group select option{background:var(--sage-dark)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--sage-light);background:#ffffff26}.form-group textarea{resize:vertical;min-height:100px}.btn-submit{background:var(--accent);color:#fff;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:none;border-radius:30px;align-self:flex-start;padding:.95rem 2.2rem;font-family:Jost,sans-serif;font-size:.85rem;font-weight:500;transition:background .2s,transform .2s}.btn-submit:hover{background:#b8925c;transform:translateY(-2px)}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}footer{background:var(--text-dark);color:#ffffff80;text-align:center;padding:2rem 5%;font-size:.8rem;font-weight:300}footer a{color:#fff9;text-decoration:none}footer a:hover{color:var(--sage-light)}@media (width<=900px){#hero{grid-template-columns:1fr}.hero-image{height:50vw;min-height:260px}.hero-text{padding:4rem 6%}#about,#approach,#contact{grid-template-columns:1fr;gap:3rem}.about-image:before{display:none}.services-grid,.fees-grid{grid-template-columns:1fr 1fr}.nav-links{background:var(--cream);border-bottom:1px solid var(--sage-light);flex-direction:column;gap:1rem;padding:1.5rem 5%;display:none;position:fixed;top:72px;left:0;right:0}.nav-links.open,.hamburger{display:flex}section{padding:4rem 6%}}@media (width<=600px){.services-grid,.fees-grid,.form-row{grid-template-columns:1fr}.btn-outline{text-align:center;margin-top:.8rem;margin-left:0;display:block}.hero-text{padding:3rem 5%}}.book-page{background:var(--cream);justify-content:center;min-height:100vh;padding-top:100px;display:flex}.book-container{width:100%;max-width:680px;padding:3rem 2rem 6rem}.book-subtitle{color:var(--text-mid);margin-bottom:2rem;font-size:.98rem;font-weight:300;line-height:1.8}.back-btn{color:var(--sage-dark);cursor:pointer;background:0 0;border:none;margin-bottom:1.5rem;padding:0;font-family:Jost,sans-serif;font-size:.85rem;font-weight:500;transition:color .2s;display:block}.back-btn:hover{color:var(--sage)}.lizzy-calendar{border:1px solid var(--sage-light)!important;border-radius:var(--radius)!important;background:var(--warm-white)!important;width:100%!important;padding:1.2rem!important;font-family:Jost,sans-serif!important}.lizzy-calendar .react-calendar__tile--active{background:var(--sage)!important;color:#fff!important;border-radius:6px!important}.lizzy-calendar .react-calendar__tile:enabled:hover{background:var(--sage-pale)!important;border-radius:6px!important}.lizzy-calendar .react-calendar__tile:disabled{color:#ccc!important;background:0 0!important}.lizzy-calendar .react-calendar__navigation button:enabled:hover{background:var(--sage-pale)!important;border-radius:6px!important}.slots-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem;display:grid}.slot-btn{background:var(--warm-white);border:1.5px solid var(--sage-light);border-radius:var(--radius);color:var(--text-dark);cursor:pointer;padding:1rem;font-family:Jost,sans-serif;font-size:.92rem;font-weight:400;transition:all .2s}.slot-btn:hover{background:var(--sage);color:#fff;border-color:var(--sage);transform:translateY(-2px)}.book-form{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.form-row-light{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group-light{flex-direction:column;gap:.4rem;display:flex}.form-group-light label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-light);font-size:.78rem;font-weight:500}.form-group-light input,.form-group-light select,.form-group-light textarea{background:var(--warm-white);border:1px solid var(--sage-light);border-radius:var(--radius);color:var(--text-dark);outline:none;padding:.8rem 1rem;font-family:Jost,sans-serif;font-size:.9rem;font-weight:300;transition:border-color .2s}.form-group-light input:focus,.form-group-light select:focus,.form-group-light textarea:focus{border-color:var(--sage)}.form-group-light textarea{resize:vertical;min-height:90px}.book-error{color:#c0392b;margin-top:.2rem;font-size:.85rem}.confirmed{text-align:center;padding:3rem 0}.confirmed-icon{background:var(--sage);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 1.5rem;font-size:1.8rem;display:flex}.admin-page{background:var(--cream);min-height:100vh;padding-top:100px}.admin-login{text-align:center;max-width:420px;margin:0 auto;padding:4rem 2rem}.admin-login-form{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.admin-login-form input{background:var(--warm-white);border:1px solid var(--sage-light);border-radius:var(--radius);text-align:center;outline:none;padding:.9rem 1.2rem;font-family:Jost,sans-serif;font-size:.95rem;transition:border-color .2s}.admin-login-form input:focus{border-color:var(--sage)}.admin-dashboard{padding:2rem 8% 6rem}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-stats{align-items:center;gap:.6rem;margin-top:.5rem;display:flex}.stat-chip{background:var(--sage-pale);color:var(--sage-dark);border-radius:20px;padding:.4rem .9rem;font-size:.8rem;font-weight:500}.stat-chip.cancelled{color:#c0392b;background:#fdecea}.admin-tabs{border-bottom:1px solid var(--sage-light);gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-tabs button{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.7rem 1.2rem;font-family:Jost,sans-serif;font-size:.88rem;font-weight:400;transition:color .2s,border-color .2s}.admin-tabs button.active{color:var(--sage-dark);border-bottom-color:var(--sage);font-weight:500}.bookings-list{flex-direction:column;gap:1rem;display:flex}.booking-card{background:var(--warm-white);border:1px solid var(--sage-light);border-radius:var(--radius);grid-template-columns:80px 1fr auto;align-items:center;gap:1.5rem;padding:1.4rem 1.6rem;transition:box-shadow .2s;display:grid}.booking-card:hover{box-shadow:0 4px 16px #4a5c4b14}.booking-card.cancelled{opacity:.55}.booking-date-block{background:var(--sage-pale);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;padding:.7rem .5rem;display:flex}.booking-month{text-transform:uppercase;color:var(--sage-dark);letter-spacing:.08em;font-size:.72rem;font-weight:500}.booking-day{color:var(--text-dark);font-family:Cormorant Garamond,serif;font-size:1.8rem;font-weight:300;line-height:1}.booking-time{color:var(--text-light);margin-top:.2rem;font-size:.72rem}.booking-info h4{color:var(--text-dark);margin-bottom:.2rem;font-size:1rem;font-weight:500}.booking-info p{color:var(--text-mid);font-size:.85rem;font-weight:300}.booking-service-tag{background:var(--sage-pale);color:var(--sage-dark);border-radius:12px;margin-top:.4rem;padding:.25rem .7rem;font-size:.75rem;font-weight:500;display:inline-block}.booking-message{color:var(--text-light);margin-top:.4rem;font-size:.82rem;font-style:italic}.booking-actions{flex-direction:column;align-items:flex-end;gap:.6rem;display:flex}.status-badge{letter-spacing:.06em;text-transform:uppercase;border-radius:12px;padding:.3rem .7rem;font-size:.75rem;font-weight:500}.status-badge.confirmed{background:var(--sage-pale);color:var(--sage-dark)}.status-badge.cancelled{color:#c0392b;background:#fdecea}.cancel-btn{color:#c0392b;cursor:pointer;background:0 0;border:1px solid #e0b3b0;border-radius:20px;padding:.3rem .8rem;font-family:Jost,sans-serif;font-size:.78rem;transition:all .2s}.cancel-btn:hover{background:#fdecea}@media (width<=600px){.slots-grid{grid-template-columns:repeat(2,1fr)}.form-row-light{grid-template-columns:1fr}.booking-card{grid-template-columns:70px 1fr}.booking-actions{flex-direction:row;grid-column:1/-1}.admin-dashboard{padding:2rem 5% 4rem}}.admin-subtabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.admin-subtabs button{border:1px solid var(--sage-light);color:var(--text-light);cursor:pointer;background:0 0;border-radius:20px;padding:.4rem 1rem;font-family:Jost,sans-serif;font-size:.82rem;transition:all .2s}.admin-subtabs button.active{background:var(--sage);border-color:var(--sage);color:#fff}.avail-section{flex-direction:column;gap:2.5rem;max-width:600px;margin-top:.5rem;display:flex}.avail-block{flex-direction:column;gap:.8rem;display:flex}.avail-title{color:var(--text-dark);font-family:Cormorant Garamond,serif;font-size:1.3rem;font-weight:500}.avail-desc{color:var(--text-light);font-size:.88rem;font-weight:300}.avail-grid{flex-wrap:wrap;gap:.6rem;display:flex}.avail-chip{background:var(--warm-white);border:1.5px solid var(--sage-light);color:var(--text-mid);cursor:pointer;border-radius:20px;padding:.5rem 1.1rem;font-family:Jost,sans-serif;font-size:.85rem;transition:all .2s}.avail-chip.active{background:var(--sage);border-color:var(--sage);color:#fff;font-weight:500}.avail-chip:hover:not(.active){border-color:var(--sage);color:var(--sage-dark)}.lizzy-calendar .react-calendar__month-view__days__day--weekend{color:var(--text-dark)!important}.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}
