@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Playfair+Display:wght@600;700&display=swap";:root{color:#2d2824;background:#f7f3ed;font-family:DM Sans,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 80% 15%,#f2e8d3 0,transparent 32%),#f7f3ed}@supports not (background: color-mix(in srgb,red 10%,blue)){body{background:#f7f3ed}}.page-shell{position:relative;display:grid;align-content:center;min-height:100vh;max-width:760px;padding:12vw 8vw;margin:0 auto}.page-shell-flow{align-content:start}.locale-switcher{display:flex;gap:.4rem}.locale-switcher.floating{position:absolute;top:1.5rem;right:1.5rem}.locale-switcher button{border:1px solid #d9d1c7;background:transparent;color:#655e57;border-radius:4px;padding:.3rem .6rem;font-size:.75rem;font-weight:700;cursor:pointer}.locale-switcher button.active{background:#7c621f;border-color:#7c621f;color:#fff}.brand-mark{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem}.brand-icon{width:1.2rem;height:1.2rem;flex-shrink:0}.eyebrow{margin:0;color:#7c621f;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1{max-width:680px;margin:0;font-family:Playfair Display,serif;font-size:5rem;line-height:.98;font-weight:700}@media(max-width:640px){h1{font-size:3.25rem}}.intro{max-width:480px;margin:2rem 0;color:#655e57;font-size:1.15rem;line-height:1.6}button{width:fit-content;border:0;border-radius:4px;padding:.95rem 1.35rem;color:#fffdf8;background:#7c621f;font:inherit;font-weight:700;cursor:pointer}button:hover{background:#6b5419}button:disabled{opacity:.5;cursor:default}.ics-download-button{display:inline-block;width:fit-content;margin:.75rem 0;border-radius:4px;padding:.95rem 1.35rem;color:#fffdf8;background:#7c621f;font-weight:700;text-decoration:none}.ics-download-button:hover{background:#6b5419}.booking-step{max-width:520px;margin-top:2rem;padding-top:2rem;border-top:1px solid #d9d1c7}.step-label{margin:0 0 .6rem;color:#7c621f;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}h2{margin:0 0 1rem;font-family:Playfair Display,serif;font-size:2rem}.treatment-list{display:grid;gap:.65rem}.treatment-list-item{display:grid;gap:.35rem}.treatment-description{margin:0;padding:0 .2rem;color:#655e57;font-size:.82rem;line-height:1.45}.treatment-option{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #d9d1c7;border-radius:4px;padding:1rem;color:#2d2824;background:#fffdf8;font-weight:700;text-align:left;cursor:pointer}.treatment-option:hover{background:#f2e8d3}.treatment-option.selected{border-color:#7c621f;background:#f2e8d3}.treatment-option-end{display:flex;align-items:center;gap:.6rem;flex-shrink:0}.treatment-expand-toggle{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;padding:0;border:1px solid #7c621f;border-radius:50%;background:transparent;color:#7c621f;font-size:1rem;font-weight:700;line-height:1;cursor:pointer}.treatment-expand-toggle:hover{background:#7c621f;color:#fffdf8}.selection-summary{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:1rem 8vw;padding-bottom:max(1rem,env(safe-area-inset-bottom));border-top:1px solid #d9d1c7;background:#f7f3ed;box-shadow:0 -6px 16px #2d28241a}.selection-summary .selected-date{margin:0}.booking-step.has-sticky-bar{padding-bottom:6.5rem}.calendar{margin-top:1.5rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.calendar-header h3{margin:0;font-size:1.15rem;text-transform:capitalize}.month-nav{padding:.4rem .85rem;font-size:1.2rem;line-height:1}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.weekday-row{color:#7b736b;font-size:.72rem;font-weight:700;text-align:center;text-transform:uppercase}.calendar-grid{margin-top:.35rem}.calendar-day{min-height:2.65rem;border:1px solid #d9d1c7;border-radius:4px;padding:.4rem;color:#2d2824;background:#fffdf8;font:inherit;cursor:pointer}.calendar-day:disabled{border-color:transparent;color:#b6afa7;background:transparent;cursor:default}.calendar-day:not(:disabled):hover,.calendar-day.selected{color:#fffdf8;background:#7c621f}.time-list{margin-top:1.25rem}.scroll-anchor-spacer{min-height:45vh}.selected-date{margin:0 0 .65rem;color:#655e57;font-size:.9rem}.confirmation-copy{max-width:400px;color:#655e57;line-height:1.6}.step-actions{margin-top:1rem}.back-button{border:0;padding:.6rem 0;color:#7c621f;background:transparent;font:inherit;font-weight:700}.back-button:hover{color:#6b5419;background:transparent}.honeypot-field{position:absolute;width:1px;height:1px;overflow:hidden;left:-9999px}.details-form{display:grid;gap:1rem;margin-top:1.25rem}.details-form label{display:grid;gap:.4rem;color:#655e57;font-size:.9rem;font-weight:700}.details-form input{border:1px solid #d9d1c7;border-radius:4px;padding:.85rem;color:#2d2824;background:#fffdf8;font:inherit;font-size:1rem;line-height:1.3;-webkit-appearance:none;appearance:none}.form-error{margin:0;color:#a33f34;font-size:.9rem}.admin-shell{align-content:start;max-width:1080px;padding:4vw 4vw 6vw}.admin-topbar{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.admin-topbar h2{margin:.2rem 0 0}.admin-account{display:flex;flex-direction:column;align-items:flex-end;gap:.4rem}.admin-account .selected-date{margin:0}.admin-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.admin-tab{background:transparent;color:#7c621f;border:1px solid #d9d1c7}.admin-tab:hover{background:#f2e8d3}.admin-tab.active{color:#fffdf8;background:#7c621f;border-color:#7c621f}.admin-panel{max-width:none;border-top:none}.admin-inline-form.no-divider{border-top:none}.admin-table-wrap{overflow-x:auto;margin-top:1rem}.admin-table{width:100%;border-collapse:collapse;font-size:.9rem}.admin-table th,.admin-table td{padding:.6rem .75rem;border-bottom:1px solid #e6e0d7;text-align:left;white-space:nowrap}.admin-table th{color:#7b736b;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.admin-table td.wrap{white-space:normal}.admin-table-row-clickable{cursor:pointer}.admin-table-row-clickable:hover{background:#f2e8d3}.admin-table-row-clickable.selected{background:#e4d5ab}.admin-table select,.admin-table input{border:1px solid #d9d1c7;border-radius:4px;padding:.4rem .5rem;font:inherit;font-size:1rem;line-height:1.3;color:#2d2824;background-color:#fffdf8}.action-cell{display:flex;flex-wrap:wrap;gap:.4rem;white-space:normal}.reschedule-controls{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.admin-inline-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #d9d1c7}.admin-inline-form.stacked{flex-direction:column;align-items:stretch}.admin-inline-form label{display:grid;gap:.3rem;color:#655e57;font-size:.85rem;font-weight:700}.admin-inline-form label.checkbox-inline{display:flex;flex-direction:row;align-items:center;gap:.5rem;font-weight:400}.admin-inline-form input,.admin-inline-form select,.admin-inline-form textarea{border:1px solid #d9d1c7;border-radius:4px;padding:.6rem .7rem;font:inherit;font-size:1rem;line-height:1.3;color:#2d2824;background-color:#fffdf8}.admin-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}.admin-filters label{display:grid;gap:.3rem;color:#655e57;font-size:.85rem;font-weight:700}.admin-filters input,.admin-filters select{border:1px solid #d9d1c7;border-radius:4px;padding:.55rem .65rem;font:inherit;font-size:1rem;line-height:1.3}.admin-table select,.admin-inline-form select,.admin-filters select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23655e57' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:.7rem;padding-right:1.6rem}.admin-table input,.admin-inline-form input,.admin-filters input{-webkit-appearance:none;appearance:none}.pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase}.color-swatch{display:inline-block;width:1rem;height:1rem;border-radius:999px;border:1px solid rgba(45,40,36,.15)}.pill-confirmed{background:#f2e8d3;color:#6b5419}.pill-cancelled{background:#f6e3e0;color:#a33f34}.pill-completed{background:#e8e5df;color:#655e57}.unread-note-dot{display:inline-block;width:.45rem;height:.45rem;margin-left:.3rem;border-radius:999px;background:#a33f34;vertical-align:middle}.unread-note-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:999px;background:#a33f34;color:#fffdf8;font-size:.65rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.manual-booking-badge{display:inline-block;margin-left:.4rem;padding:.1rem .4rem;border-radius:999px;background:#e6e0d7;color:#655e57;font-size:.65rem;font-weight:700;text-transform:uppercase;vertical-align:middle}.admin-small-button{padding:.4rem .7rem;font-size:.8rem}.admin-danger-button{background:#a33f34}.admin-danger-button:hover{background:#86332a}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.5rem;margin:.75rem 0}.checkbox-grid label{display:flex;align-items:center;gap:.5rem;font-weight:400;font-size:.9rem;color:#2d2824}.admin-schedule{display:grid;gap:1.75rem;margin-top:1.75rem;padding-top:1.75rem;border-top:1px solid #d9d1c7}.admin-subsection h3{margin:0 0 .75rem;font-family:Playfair Display,serif;font-size:1.25rem}.admin-copy-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.admin-copy-value{overflow-x:auto;flex:1;padding:.5rem .65rem;border:1px solid #d9d1c7;border-radius:4px;background:#fffdf8;font-family:monospace;font-size:.85rem;white-space:nowrap}.admin-schedule-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.75rem}.admin-view-toggle{display:flex;gap:.4rem}.calendar-week-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.calendar-week-nav .step-label{margin:0;white-space:nowrap}.calendar-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.75rem 0}.calendar-legend-item{display:flex;align-items:center;gap:.4rem;color:#655e57;font-size:.8rem}.week-calendar{margin-top:1rem}.week-calendar-daynames,.week-calendar-body{display:flex}.week-calendar-corner,.week-calendar-labels{flex:0 0 46px}.week-calendar-dayname{flex:1;min-width:100px;padding:.4rem 0;border-bottom:1px solid #d9d1c7;color:#7c621f;font-size:.78rem;font-weight:700;text-align:center;text-transform:capitalize}.week-calendar-allday-row{display:flex}.week-calendar-allday-corner{flex:0 0 46px}.week-calendar-allday-cell{flex:1;min-width:100px;padding:2px 4px;border-bottom:1px solid #d9d1c7}.week-calendar-closed-banner{display:block;overflow:hidden;border-radius:3px;padding:2px 4px;background:#f6e3e0;color:#a33f34;font-size:.68rem;font-weight:700;text-align:center;white-space:nowrap;text-overflow:ellipsis}.week-calendar-body{align-items:flex-start;overflow-x:auto}.week-calendar-labels{position:relative}.week-calendar-hour-label{position:absolute;right:6px;transform:translateY(-50%);color:#7b736b;font-size:.68rem}.week-calendar-days{display:flex;flex:1;min-width:700px}.week-calendar-day-column{position:relative;flex:1;min-width:100px;border-left:1px solid #e6e0d7;background-image:repeating-linear-gradient(to bottom,#e6e0d7 0,#e6e0d7 1px,transparent 1px,transparent 48px)}.week-calendar-event{position:absolute;left:2px;right:2px;display:flex;flex-direction:column;gap:1px;overflow:hidden;border:1px solid transparent;border-left:4px solid var(--treatment-color, #7c621f);border-radius:3px;padding:2px 4px;background:#efe7d6;background:color-mix(in srgb,var(--treatment-color, #7c621f) 18%,#fffdf8);color:#2d2824;font:inherit;font-size:.68rem;line-height:1.15;text-align:left;cursor:pointer}.week-calendar-event:hover{background:#e6dbc2;background:color-mix(in srgb,var(--treatment-color, #7c621f) 30%,#fffdf8)}.week-calendar-event.selected{outline:2px solid #6b5419;outline-offset:1px}.week-calendar-event.status-cancelled{border-color:#a33f34;background:#f6e3e0;color:#a33f34;text-decoration:line-through}.week-calendar-event.status-completed{border-color:#b6afa7;background:#e8e5df;color:#655e57}.week-calendar-event-time{font-weight:700}.week-calendar-event-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-selected-booking{margin-top:1rem;padding-top:1rem;border-top:1px solid #d9d1c7}.calendar-selected-booking-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-notes{margin-top:1rem}.booking-note{margin:.4rem 0 0;padding:.65rem .85rem;border:1px solid #d9d1c7;border-radius:4px;background:#fffdf8;color:#2d2824;font-size:.85rem}.booking-note-meta{display:block;margin-bottom:.25rem;color:#655e57;font-size:.75rem}.booking-note-outbound{margin-left:1.5rem;background:#f2e8d3;border-color:#e4d5ab}.delivery-status{font-weight:700}.delivery-status-sent{color:#4a7c59}.delivery-status-failed{color:#a33f34}.delivery-status-pending{color:#655e57;font-weight:400}.booking-note-inbound{margin-right:1.5rem}.booking-message-compose{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.booking-message-compose textarea{border:1px solid #d9d1c7;border-radius:4px;padding:.55rem .65rem;font:inherit;font-size:1rem;resize:vertical}.booking-message-compose button{align-self:flex-start}.template-preview{margin:.4rem 0 0;padding:.65rem .85rem;border:1px solid #d9d1c7;border-radius:4px;background:#fffdf8;color:#655e57;font-size:.85rem;white-space:pre-wrap}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:5vw;background:#2d28248c}.modal-panel{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:560px;max-height:85vh;padding:1.75rem;border-radius:6px;background:#f7f3ed}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.modal-header h2{margin:0}.modal-close{width:fit-content;padding:.2rem .6rem;border:0;border-radius:4px;background:transparent;color:#655e57;font-size:1.4rem;line-height:1}.modal-close:hover{background:#f2e8d3}.modal-body{overflow-y:auto}.terms-content{margin:0;color:#2d2824;font-size:.92rem;line-height:1.6;white-space:pre-wrap}.terms-checkbox-row{display:flex;align-items:flex-start;gap:.5rem;margin:1rem 0;font-size:.9rem}.terms-checkbox-row input{margin-top:.2rem}.terms-link{background:none;border:0;padding:0;color:#7c621f;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}
