@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Serif+Display:ital@0;1&display=swap');
:root{--ink:#263b33;--muted:#67776c;--sage:#dce8dc;--sage-deep:#496e59;--forest:#375945;--sand:#e8dac5;--cream:#f8f6ef;--white:#fffdf8;--line:#dce3d9;--red:#9a4939;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}
*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--cream)}button,input,select{font:inherit}button{cursor:pointer}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 max(4vw,24px);border-bottom:1px solid #e6e9df}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font:400 1.55rem 'DM Serif Display',serif;text-decoration:none}.brand em,h1 em{color:var(--sage-deep);font-weight:400}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #abc0ab;border-radius:50%;color:var(--sage-deep);font:1.45rem Georgia}.site-header nav{display:flex;align-items:center;gap:28px}.site-header nav a{color:#40594b;text-decoration:none;font-size:.9rem;font-weight:700;padding:9px 0}.site-header nav a.active{border-bottom:1px solid var(--forest)}.salon-name{border-left:1px solid var(--line);padding-left:28px;color:var(--muted);font-size:.82rem}main{max-width:1340px;margin:auto;min-height:calc(100vh - 180px);padding:0 28px 90px}.page-head{display:flex;align-items:end;justify-content:space-between;gap:35px;padding:54px 0 38px}.page-head>div:first-child{max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.72rem!important;font-weight:700;color:#7d886d!important}.page-head h1{font:400 clamp(3rem,5.4vw,5.7rem)/1.02 'DM Serif Display',serif;letter-spacing:-.035em;margin:12px 0 17px}.page-head>div>p:last-child{color:var(--muted);line-height:1.7;max-width:600px}.step-pill{display:flex;align-items:center;gap:9px;padding:13px 18px;border:1px solid var(--line);border-radius:99px;background:var(--white);font-size:.77rem;white-space:nowrap}.step-pill b{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--forest);color:#fff}.step-pill i{width:30px;border-top:1px solid var(--line)}.pos-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(330px,.6fr);gap:24px;align-items:start}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:18px}.section-title h2,.booking-panel h2,.panel h2{font:400 2rem 'DM Serif Display',serif;margin:0}.section-title span{font-size:.78rem;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.service-card{display:grid;grid-template-columns:38px 1fr auto 40px;align-items:center;gap:13px;min-height:108px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--white);text-align:left;color:var(--ink);transition:.2s}.service-card:hover,.service-card.selected{background:#ecf1e7;border-color:#9eb39e;transform:translateY(-2px);box-shadow:0 15px 35px #38533d10}.service-no{font:italic 1.25rem 'DM Serif Display',serif;color:#91a58f}.service-copy strong,.service-copy small{display:block}.service-copy strong{font:400 1.25rem 'DM Serif Display',serif}.service-copy small{color:var(--muted);font-size:.78rem;margin-top:6px}.service-price{font-weight:700}.round-pick{display:grid;place-items:center;width:38px;height:38px;border:1px solid #9cb49e;border-radius:50%;font-size:1.15rem}.service-card.selected .round-pick{background:var(--forest);color:#fff}.booking-panel,.panel{border:1px solid var(--line);background:var(--white);border-radius:18px;padding:28px}.booking-panel{position:sticky;top:20px}.booking-panel h2{margin:5px 0 20px}.chosen{display:flex;justify-content:space-between;align-items:center;background:#e8eee4;border-radius:11px;padding:14px 16px;margin-bottom:20px}.chosen span{font-size:.73rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.chosen strong{font:400 1.1rem 'DM Serif Display',serif}.chosen.empty{display:block;color:var(--muted);font-size:.86rem}label,fieldset{display:grid;gap:7px;font-size:.82rem;font-weight:700;margin:14px 0}input,select{width:100%;border:1px solid #cddbcc;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink)}input:focus,select:focus{outline:2px solid #9bb59d;outline-offset:1px}fieldset{border:0;padding:0}legend{margin-bottom:8px}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.time-option{margin:0}.time-option input{position:absolute;opacity:0}.time-option span{display:block;text-align:center;border:1px solid var(--line);padding:9px 3px;border-radius:8px}.time-option input:checked+span{background:var(--forest);color:#fff}.total{display:flex;justify-content:space-between;align-items:end;margin:22px 0 15px;padding-top:18px;border-top:1px solid var(--line)}.total span{font-size:.83rem;color:var(--muted)}.total strong{font:400 1.65rem 'DM Serif Display',serif}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:1px solid var(--forest);border-radius:99px;padding:1rem 1.5rem;background:var(--forest);color:#fff;text-decoration:none;font-size:.88rem;font-weight:700}.button:hover{background:#294937;transform:translateY(-2px)}.full{width:100%}.form-error{min-height:20px;color:var(--red);font-size:.78rem;text-align:center}.admin-head .button{margin-bottom:10px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat{border:1px solid var(--line);border-radius:16px;background:var(--white);padding:25px}.stat.featured{background:var(--sage)}.stat span,.stat small{display:block;color:var(--muted);font-size:.8rem}.stat strong{display:block;font:400 2.7rem 'DM Serif Display',serif;margin:16px 0 9px}.admin-grid{display:grid;grid-template-columns:1.5fr .6fr;gap:20px;margin-top:20px}.appointment{display:grid;grid-template-columns:70px 1fr auto auto;align-items:center;gap:15px;padding:17px 0;border-top:1px solid var(--line)}.appointment time{font:italic 1.25rem 'DM Serif Display',serif}.appointment strong,.appointment small{display:block}.appointment small{color:var(--muted);margin-top:4px}.appointment>b{font-weight:600}.badge{padding:7px 10px;border-radius:99px;font-size:.73rem}.badge.paid{background:#e3eee2;color:#315a3e}.badge.pending{background:#f1eadf;color:#765528}.empty-state{text-align:center;padding:45px 20px;color:var(--muted)}.empty-state>span{font-size:2rem;color:#9eb39e}.empty-state h3{font:400 1.5rem 'DM Serif Display',serif;color:var(--ink);margin:12px}.payment-overview{background:#e8eee4}.payment-overview>p:not(.eyebrow){color:var(--muted);line-height:1.65;font-size:.87rem}.payment-ring{width:150px;height:150px;border-radius:50%;margin:28px auto;background:conic-gradient(var(--forest) 0 72%,var(--sand) 72%);display:grid;place-items:center}.payment-ring:after{content:'';position:absolute;width:100px;height:100px;border-radius:50%;background:#e8eee4}.payment-ring span{position:relative;z-index:1;text-align:center;font-size:.8rem}.payment-ring b{font:400 1.5rem 'DM Serif Display',serif}.api-note{display:flex;justify-content:space-between;border-top:1px solid #cbd8ca;padding-top:16px;font-size:.76rem}.api-note span{color:var(--sage-deep)}dialog{width:min(440px,calc(100vw - 28px));border:1px solid var(--line);border-radius:20px;background:var(--white);color:var(--ink);padding:34px;text-align:center;box-shadow:0 28px 90px #15291955}dialog::backdrop{background:#14271d99}.dialog-close{position:absolute;right:16px;top:12px;border:0;background:none;color:var(--muted);font-size:2rem}.dialog-copy{color:var(--muted);font-size:.86rem}dialog h2{font:400 2.6rem 'DM Serif Display',serif;margin:7px 0 10px}#qrcode{display:grid;grid-template-columns:repeat(29,1fr);width:210px;height:210px;margin:22px auto;border:12px solid white;box-shadow:0 0 0 1px var(--line);background:#fff}#qrcode i.on{background:var(--ink)}.qr-amount{font:400 1.7rem 'DM Serif Display',serif}.payment-state{margin-top:17px;padding:12px;border-radius:10px;background:#f1eadf;font-size:.82rem}.payment-state i{display:inline-block;width:12px;height:12px;border:2px solid #957642;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.payment-state.success{background:#e3eee2;color:#315a3e}@keyframes spin{to{transform:rotate(360deg)}}footer{display:flex;justify-content:space-between;max-width:1340px;margin:auto;padding:35px 28px 50px;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}
@media(max-width:900px){.pos-layout,.admin-grid{grid-template-columns:1fr}.booking-panel{position:static}.stats-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.site-header{height:auto;min-height:78px;align-items:flex-start;flex-direction:column;padding:16px 20px;gap:13px}.site-header nav{width:100%;gap:18px;overflow:auto}.salon-name{display:none}main{padding:0 16px 60px}.page-head{display:block;padding:38px 0 28px}.page-head h1{font-size:clamp(3rem,14vw,4.7rem)}.step-pill{width:max-content;margin-top:25px}.service-grid{grid-template-columns:1fr}.service-card{min-height:96px}.stats-grid{grid-template-columns:1fr 1fr}.stat:first-child{grid-column:1/-1}.admin-head .button{margin-top:20px}.appointment{grid-template-columns:55px 1fr auto}.appointment .badge{grid-column:2}.appointment>b{grid-column:3;grid-row:1}.time-grid{grid-template-columns:1fr 1fr}footer{padding:30px 18px 40px}}
#qrcode{display:block;grid-template-columns:none;overflow:hidden}#qrcode canvas{display:block;width:186px!important;height:186px!important}#qrcode img{display:none;width:186px!important;height:186px!important}
.notice{margin:22px 0 0;padding:14px 18px;border-radius:10px;background:#e3eee2;color:#315a3e}.slot-help{grid-column:1/-1;color:var(--muted);font-size:.78rem;font-weight:400}.package-title{margin-top:55px}.package-strip,.saved-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.package-strip article,.saved-packages article{background:#e8eee4;border:1px solid var(--line);border-radius:15px;padding:20px}.package-strip h3,.saved-packages h3{font:400 1.35rem 'DM Serif Display',serif;margin:11px 0 22px}.management{padding-top:85px}.management-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px}.management-head h2{font:400 clamp(2.5rem,4vw,4.3rem) 'DM Serif Display',serif;margin:8px 0 0}.management-head>p{max-width:480px;color:var(--muted);line-height:1.7}.management-grid,.package-builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.management .panel form{display:grid;gap:3px}.management .panel .button{justify-self:start;margin-top:8px}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-grid label{display:flex;align-items:center;gap:8px;margin:0;border:1px solid var(--line);border-radius:9px;padding:10px}.check-grid input{width:auto}.compact-list{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.compact-list span{padding:7px 10px;border-radius:99px;background:#edf3e9;font-size:.76rem}.slot-list{margin-top:22px;border-top:1px solid var(--line)}.slot-list>div{display:grid;grid-template-columns:105px 1fr auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.78rem}.slot-list span{color:var(--muted)}.slot-list i{font-style:normal}.builder-source{display:grid;gap:8px}.builder-service{display:grid;grid-template-columns:1fr auto 30px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:13px;text-align:left;color:var(--ink)}.builder-service small{color:var(--muted)}.builder-service b{display:grid;place-items:center;border:1px solid #9cb49e;border-radius:50%;width:29px;height:29px}.package-drop{min-height:210px;border:1px dashed #9cb49e;border-radius:13px;background:#f4f7f1;display:grid;align-content:center;gap:8px;padding:13px;margin:15px 0}.package-drop.drag-over{background:#dce8dc;border-style:solid}.package-drop p{text-align:center;color:var(--muted)}.package-drop p b,.package-drop p span{display:block}.package-drop p span{font-size:.76rem;margin-top:7px}.package-drop.has-items{align-content:start}.package-drop button{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:9px;background:#dce8dc;padding:12px;color:var(--ink);text-align:left}.saved-packages{margin-top:18px}.saved-packages article:nth-child(2n){background:#f1eadf}
@media(max-width:800px){.management-head{display:block}.management-head>p{margin-top:15px}.management-grid,.package-builder-grid{grid-template-columns:1fr}.package-strip,.saved-packages{grid-template-columns:1fr 1fr}.builder-service{touch-action:manipulation}}
@media(max-width:520px){.package-strip,.saved-packages{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.slot-list>div{grid-template-columns:1fr auto}.slot-list span{grid-column:1}.slot-list i{grid-column:2;grid-row:1/3}}
.back{display:inline-block;margin-bottom:18px;color:var(--forest);text-decoration:none;font-size:.85rem;font-weight:700}.calendar-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;padding:42px 0 30px}.calendar-heading h1{font:400 clamp(3rem,5vw,5rem) 'DM Serif Display',serif;margin:10px 0}.calendar-heading>div>p:last-child{color:var(--muted);max-width:650px;line-height:1.6}.calendar-shell{border:1px solid var(--line);border-radius:18px;background:var(--white);overflow:hidden;box-shadow:0 22px 50px #314d3910}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--line)}.calendar-navigation{display:flex;align-items:center;gap:8px}.calendar-navigation button,.calendar-view-switch button{border:1px solid var(--line);background:var(--white);color:var(--forest);height:38px;border-radius:8px;padding:0 13px;font-weight:700}.calendar-navigation button:first-child,.calendar-navigation button:nth-child(3){font-size:1.5rem}.calendar-navigation h2{font:400 1.8rem 'DM Serif Display',serif;margin:0 0 0 16px;text-transform:capitalize}.calendar-view-switch{display:flex;gap:4px;padding:4px;background:#eaf0e7;border-radius:10px}.calendar-view-switch button{border:0;background:transparent}.calendar-view-switch button[aria-pressed=true]{background:var(--white);box-shadow:0 2px 8px #31573b18}.calendar-legend{display:flex;align-items:center;gap:22px;padding:12px 24px;color:var(--muted);font-size:.78rem;border-bottom:1px solid var(--line)}.calendar-legend span{display:flex;align-items:center;gap:7px}.calendar-legend small{margin-left:auto}.legend-dot{width:9px;height:9px;border-radius:50%;background:#7da37d}.legend-dot.booked{background:#c89652}.legend-dot.closed{background:#9aa59a}.calendar-message{margin:0;padding:10px 24px;background:#edf4ec}.calendar-message.error{background:#f8e9e3;color:#9a4939}.calendar-scroll{overflow:auto}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:910px}.weekday{padding:13px 14px;background:#f5f7f1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.72rem;font-weight:700;text-transform:uppercase;color:#758678}.month-cell{min-height:142px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.month-cell.outside{background:#f7f8f4}.month-cell.is-today{background:#f0f5ed}.day-head{display:flex;justify-content:space-between}.day-number,.day-add{border:0;background:none;width:30px;height:30px;border-radius:50%;color:var(--ink);font-weight:700}.month-cell.is-today .day-number{background:var(--forest);color:white}.day-add{color:#6f9776;font-size:1.15rem}.calendar-event{display:flex;align-items:center;gap:7px;width:100%;overflow:hidden;text-align:left;border:0;border-left:3px solid #7da37d;border-radius:5px;background:#e5f0e4;color:#2f5940;padding:5px 7px;margin:4px 0;font-size:.72rem;white-space:nowrap}.calendar-event span{overflow:hidden;text-overflow:ellipsis}.calendar-event.booked{border-color:#c89652;background:#fbedd8;color:#765528}.calendar-event.closed{border-color:#9aa59a;background:#ecefec;color:#6b766b}.more-events{border:0;background:none;color:var(--forest);font-weight:700;font-size:.72rem}.day-grid{position:relative;min-width:620px}.hour-row{display:grid;grid-template-columns:82px 1fr;height:72px;border-bottom:1px solid var(--line)}.hour-label{text-align:right;padding:6px 15px 0 0;color:#8b9b8b;font-size:.75rem}.hour-slot{border:0;border-left:1px solid var(--line);background:linear-gradient(to bottom,transparent 49%,#eff2eb 50%,transparent 51%)}.hour-slot:hover{background:#f1f7ed}.day-events{pointer-events:none;position:absolute;left:82px;right:20px;top:0}.day-events .calendar-event{pointer-events:auto;position:absolute;left:15px;width:calc(100% - 30px);padding:10px 16px;font-size:.86rem;white-space:normal}.session-dialog{width:min(550px,calc(100vw - 28px));text-align:left}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font:400 2.4rem 'DM Serif Display',serif;margin:7px 0 20px}.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.dialog-error{padding:11px;background:#f8e9e3;color:#954636;border-radius:8px}.dialog-help{font-size:.81rem;color:var(--muted)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.button.secondary{background:#e5eee5;color:var(--forest);border-color:#c7d8c8}.delete-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.delete-row{display:flex!important;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.delete-row button{border:0;background:#f7e4db;color:#944a39;border-radius:99px;padding:7px 11px;font-weight:700;font-size:.75rem}
@media(max-width:800px){.calendar-heading,.calendar-toolbar{align-items:flex-start;flex-direction:column}.calendar-navigation{flex-wrap:wrap}.calendar-navigation h2{flex-basis:100%;margin:10px 0 0}.calendar-legend{flex-wrap:wrap}.calendar-legend small{margin-left:0}.dialog-fields,.delete-grid{grid-template-columns:1fr}}
.edit-row{display:grid!important;grid-template-columns:minmax(150px,1fr) 90px 110px auto;gap:7px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.edit-row input{margin:0}.edit-row button{border:0;background:var(--forest);color:#fff;border-radius:99px;padding:10px 12px;font-weight:700}.staff-editor{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.staff-editor .panel form{display:grid}
@media(max-width:800px){.staff-editor{grid-template-columns:1fr}.edit-row{grid-template-columns:1fr 80px 95px}.edit-row button{grid-column:1/-1}}
.first-slot-nav{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:7px}.first-slot-nav>button{width:38px;height:38px;border:1px solid #9cb49e;border-radius:50%;background:#fff;color:var(--forest);font-size:1.55rem;line-height:1}.first-slot-nav>button:hover:not(:disabled){background:var(--forest);color:#fff}.first-slot-nav>button:disabled{opacity:.28;cursor:not-allowed}.first-slot-card{display:block;margin:0}.first-slot-card input{position:absolute;opacity:0}.first-slot-card>span{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #9cb49e;border-radius:12px;background:#e8eee4;padding:15px 16px}.first-slot-card b{font:400 1.1rem 'DM Serif Display',serif;text-transform:capitalize}.first-slot-card small{font-weight:700;color:var(--forest);white-space:nowrap}.other-slot{border:0;background:none;color:var(--forest);font-weight:700;padding:10px 0 2px;text-decoration:underline;text-underline-offset:4px}.booking-calendar{width:min(560px,calc(100vw - 24px));text-align:left}.booking-calendar h2{font:400 2.5rem 'DM Serif Display',serif;margin:7px 0 8px}.booking-month{font:400 1.35rem 'DM Serif Display',serif;text-transform:capitalize;margin:24px 0 12px}.booking-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.booking-days>span{text-align:center;color:var(--muted);font-size:.7rem;font-weight:700;padding-bottom:5px}.booking-days>i{display:block}.booking-days button{aspect-ratio:1;border:0;border-radius:9px;background:#edf3e9;color:var(--forest);font-weight:700}.booking-days button:disabled{background:transparent;color:#aab2aa}.booking-days button.active{background:var(--forest);color:#fff}.booking-day-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.booking-day-slots button{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:11px;color:var(--ink)}.booking-day-slots button:hover{background:#e8eee4}.booking-day-slots span{font-size:.72rem;color:var(--muted)}
@media(max-width:520px){.first-slot-card>span{align-items:flex-start;flex-direction:column}.booking-calendar{padding:24px 18px}.booking-day-slots{grid-template-columns:1fr 1fr}}
.landing-body{background:var(--cream)}.landing-nav{height:88px;max-width:1440px;margin:auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between}.landing-nav nav{display:flex;align-items:center;gap:30px}.landing-nav nav>a:not(.button){color:var(--forest);text-decoration:none;font-size:.86rem;font-weight:700}.button.small{padding:.72rem 1.15rem}.landing-main{max-width:1440px;padding:0 24px 85px}.salon-hero{position:relative;isolation:isolate;min-height:700px;border-radius:24px;overflow:hidden;display:flex;align-items:center}.salon-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.salon-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(241,235,221,.96) 0%,rgba(241,235,221,.88) 30%,rgba(241,235,221,.3) 53%,transparent 75%)}.salon-hero-copy{width:min(620px,56%);padding:70px clamp(38px,6vw,88px)}.salon-hero-copy h1{font:400 clamp(4rem,7vw,7.5rem)/.91 'DM Serif Display',serif;letter-spacing:-.045em;margin:20px 0 28px}.salon-hero-copy h1 em,.landing-intro em,.location-copy em,.landing-cta em{color:var(--sage-deep);font-weight:400}.salon-hero-copy>p:not(.eyebrow){max-width:450px;color:#536359;line-height:1.75}.salon-hero-copy>div{display:flex;align-items:center;gap:25px;margin-top:30px}.hero-link{color:var(--forest);font-weight:700;font-size:.85rem;text-decoration:none;border-bottom:1px solid #839986;padding-bottom:5px}.salon-hero>aside{position:absolute;right:28px;bottom:28px;width:270px;background:rgba(255,253,248,.9);backdrop-filter:blur(12px);border:1px solid #ffffff80;border-radius:15px;padding:20px}.salon-hero>aside span,.salon-hero>aside small{display:block;color:var(--muted);font-size:.75rem}.salon-hero>aside strong{display:block;font:400 1.25rem 'DM Serif Display',serif;margin:7px 0}.landing-intro{display:grid;grid-template-columns:.5fr 1.3fr .8fr;gap:45px;align-items:start;padding:115px 50px;border-bottom:1px solid var(--line)}.landing-intro h2,.landing-heading h2,.location-copy h2,.landing-cta h2{font:400 clamp(3rem,5vw,5.2rem)/1 'DM Serif Display',serif;letter-spacing:-.03em;margin:0}.landing-intro>p:last-child,.landing-heading>p{color:var(--muted);line-height:1.75;margin:8px 0}.landing-section{padding:105px 50px}.landing-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}.landing-heading>p{max-width:390px}.price-list{border-top:1px solid #afc0b0}.price-list>a{display:grid;grid-template-columns:60px 1fr auto 42px;gap:20px;align-items:center;padding:24px 10px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:.2s}.price-list>a:hover{background:#edf3e9;padding-left:20px}.price-list>a>span{font:italic 1.25rem 'DM Serif Display',serif;color:#91a58f}.price-list h3{font:400 1.5rem 'DM Serif Display',serif;margin:0}.price-list small{color:var(--muted)}.price-list strong{font:400 1.35rem 'DM Serif Display',serif}.price-list i{display:grid;place-items:center;width:38px;height:38px;border:1px solid #9cb49e;border-radius:50%;font-style:normal}.package-section{background:#e8eee4;border-radius:22px}.landing-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-packages article{min-height:340px;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:16px;display:flex;flex-direction:column}.landing-packages article:nth-child(2n){background:#f1eadf}.package-number{font:italic 1.4rem 'DM Serif Display',serif;color:#91a58f}.landing-packages h3{font:400 2rem 'DM Serif Display',serif;margin:35px 0 10px}.landing-packages strong{font:400 1.5rem 'DM Serif Display',serif;margin-top:auto;padding-top:25px;border-top:1px solid var(--line)}.landing-packages a{display:flex;justify-content:space-between;color:var(--forest);font-weight:700;text-decoration:none;margin-top:15px}.location-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center}.location-copy>p:not(.eyebrow){color:var(--muted);line-height:1.7;margin:25px 0}.location-copy .button{margin:10px 0 20px}.phone-link{display:block;color:var(--forest);font-weight:700}.map-shell{position:relative;height:570px;border-radius:20px;overflow:hidden;background:var(--sage)}.map-shell iframe{border:0;width:100%;height:100%;filter:saturate(.7) contrast(.95)}.map-shell>span{position:absolute;right:8px;bottom:5px;background:#fffddf;padding:3px 6px;font-size:.65rem}.landing-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:75px 80px;border-radius:22px;background:var(--forest);color:#fff}.landing-cta .eyebrow{color:#c6d8c7!important}.landing-cta em{color:#d7e4ce}.button-light{background:var(--white);color:var(--forest);border-color:var(--white)}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:1440px;margin:auto;padding:45px 32px;color:var(--muted);font-size:.8rem}.landing-footer a{color:var(--muted)}
@media(max-width:850px){.landing-nav nav>a:not(.button){display:none}.salon-hero{min-height:720px;align-items:flex-start}.salon-hero-shade{background:linear-gradient(180deg,rgba(241,235,221,.97) 0%,rgba(241,235,221,.87) 48%,rgba(241,235,221,.12) 75%)}.salon-hero-copy{width:100%;padding:55px 35px}.salon-hero>aside{left:24px;right:24px;width:auto}.landing-intro{grid-template-columns:1fr;padding:80px 20px}.landing-intro .eyebrow{margin-bottom:-20px}.landing-heading{display:block}.landing-heading>p{margin-top:18px}.landing-packages{grid-template-columns:1fr 1fr}.location-section{grid-template-columns:1fr}.map-shell{height:430px}.landing-cta{padding:55px 40px}.landing-section{padding:80px 20px}}
@media(max-width:560px){.landing-nav{height:78px;padding:0 18px}.landing-nav .button{font-size:.75rem;padding:.7rem 1rem}.landing-main{padding:0 12px 55px}.salon-hero{min-height:690px;border-radius:17px}.salon-hero-copy{padding:45px 24px}.salon-hero-copy h1{font-size:clamp(3.4rem,17vw,5rem)}.salon-hero-copy>div{align-items:flex-start;flex-direction:column}.salon-hero>aside{left:14px;right:14px;bottom:14px}.landing-packages{grid-template-columns:1fr}.price-list>a{grid-template-columns:40px 1fr auto;gap:10px;padding:20px 4px}.price-list i{display:none}.landing-cta{display:block;padding:45px 25px}.landing-cta .button{margin-top:28px}.landing-footer{align-items:flex-start;flex-direction:column;padding:35px 20px}.location-section{padding-left:8px;padding-right:8px}.map-shell{height:360px}}
#salon-map{width:100%;height:100%;filter:saturate(.72) contrast(.96)}.map-shell .leaflet-control-attribution{font-size:.65rem}.map-shell .leaflet-popup-content-wrapper{border-radius:10px;font-family:'DM Sans',sans-serif;color:var(--ink)}
.head-actions{display:flex;gap:9px}.directory-tools{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:20px}.directory-tools>div{display:flex;align-items:baseline;gap:14px}.directory-tools h2{margin:0}.directory-tools span{color:var(--muted);font-size:.78rem}.directory-tools label{margin:0;width:min(330px,100%)}.client-table{border-top:1px solid var(--line)}.client-row{display:grid;grid-template-columns:minmax(220px,1.4fr) .55fr .7fr .9fr .9fr 25px;align-items:center;gap:15px;padding:17px 8px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.client-row:not(.client-labels):hover{background:#edf3e9}.client-row b,.client-row small{display:block}.client-row small{color:var(--muted);font-size:.76rem;margin-top:4px}.client-row i{text-align:right;font-style:normal;font-size:1.2rem}.client-labels{padding-top:10px;padding-bottom:10px;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.client-profile-head{padding-bottom:22px}.client-profile-head h1{font-size:clamp(3rem,5vw,5rem)}.client-profile-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr);gap:20px;align-items:start}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}textarea{width:100%;resize:vertical;border:1px solid #cddbcc;border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit}.consent{display:flex;align-items:center;gap:9px;padding:13px;border-radius:10px;background:#edf3e9}.consent input{width:auto}.client-summary{background:#e8eee4;position:sticky;top:20px}.client-summary h2{margin:9px 0 20px}.client-summary>a{display:block;color:var(--forest);margin:9px 0}.mini-stat{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #cbd8ca;margin-top:25px;padding-top:20px}.mini-stat strong{font:400 2rem 'DM Serif Display',serif}.profile-history{padding-top:65px}.history-table>div{display:grid;grid-template-columns:150px 1fr auto 90px;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.history-table>div:last-child{border-bottom:0}.history-table span b,.history-table span small{display:block}.history-table small{color:var(--muted);margin-top:4px}.notification-history>div{grid-template-columns:150px 1fr auto}.notification-history b{text-transform:capitalize}
@media(max-width:900px){.site-header nav{gap:14px}.salon-name{display:none}.client-row{grid-template-columns:1fr auto auto}.client-row>*:nth-child(4),.client-row>*:nth-child(5){display:none}.client-labels span:nth-child(2),.client-labels span:nth-child(3){display:block}.client-profile-grid{grid-template-columns:1fr}.client-summary{position:static}}
@media(max-width:620px){.site-header{height:auto;padding:15px 18px;align-items:flex-start}.site-header nav{flex-wrap:wrap;justify-content:flex-end}.site-header nav a{font-size:.75rem}.head-actions,.directory-tools{align-items:stretch;flex-direction:column}.client-row{grid-template-columns:1fr auto}.client-row>*:nth-child(2),.client-row>*:nth-child(3){display:none}.client-labels{display:none}.profile-fields{grid-template-columns:1fr}.history-table>div,.notification-history>div{grid-template-columns:1fr auto}.history-table time{grid-column:1/-1;color:var(--muted);font-size:.78rem}.history-table>div>strong{grid-column:2}}
