/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-6xl:1200px;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--tracking-tight:-.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:0px;--radius-md:0px;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-paper:#f2efe9;--color-paper-warm:#eae6df;--color-ink:#1a1a18;--color-ink-soft:#3a3a36;--color-mute:#8a8880;--color-rule:#d8d3cb;--color-accent:#c8432a;--color-cream:#fff;--color-error:#a03320;--font-display:Cormorant Garamond;--font-body:Inter;--container-prose:480px}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);margin:0;line-height:1.15}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}img{max-width:100%;height:auto;display:block}ul,ol{margin:0;padding:0;list-style:none}}@layer components;@layer utilities{.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-full{top:100%}.right-0{right:0}.left-0{left:0}.isolate{isolation:isolate}.order-last{order:9999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.container-reading{max-width:var(--container-prose);margin-inline:auto}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-16{margin-bottom:calc(var(--spacing) * 16)}.ml-0{margin-left:0}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-16{height:calc(var(--spacing) * 16)}.h-64{height:calc(var(--spacing) * 64)}.h-\[2px\]{height:2px}.h-full{height:100%}.w-6{width:calc(var(--spacing) * 6)}.w-16{width:calc(var(--spacing) * 16)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.max-w-prose{max-width:65ch}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[5px\]{gap:5px}.gap-px{gap:1px}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-rule{border-color:var(--color-rule)}.bg-ink{background-color:var(--color-ink)}.bg-paper{background-color:var(--color-paper)}.bg-rule{background-color:var(--color-rule)}.fill-rule{fill:var(--color-rule)}.object-cover{object-fit:cover}.p-8{padding:calc(var(--spacing) * 8)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-24{padding-block:calc(var(--spacing) * 24)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-center{text-align:center}.font-display{font-family:var(--font-display)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-accent{color:var(--color-accent)}.text-ink{color:var(--color-ink)}.text-mute{color:var(--color-mute)}.uppercase{text-transform:uppercase}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.peer-checked\:flex:is(:where(.peer):checked~*){display:flex}@media(hover:hover){.hover\:bg-paper-warm:hover{background-color:var(--color-paper-warm)}.hover\:text-ink:hover{color:var(--color-ink)}}@media(min-width:48rem){.md\:static{position:static}.md\:right-auto{right:auto}.md\:order-first{order:-9999}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[140px_1fr\]{grid-template-columns:140px 1fr}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:border-0{border-style:var(--tw-border-style);border-width:0}.md\:bg-transparent{background-color:#0000}.md\:px-0{padding-inline:0}.md\:py-0{padding-block:0}.md\:pt-2{padding-top:calc(var(--spacing) * 2)}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}}.btn-primary{border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);background:var(--color-ink);color:var(--color-paper);justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--color-accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-ink);border:1px solid var(--color-rule);background:0 0;justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{border-radius:var(--radius-md);padding-inline:calc(var(--spacing) * 6);padding-block:calc(var(--spacing) * 4);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-ink);background:0 0;justify-content:center;align-items:center;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.btn-ghost:hover:not(:disabled){background:var(--color-paper-warm)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}[data-decorative-slot]{position:relative;overflow:hidden}[data-decorative-slot]>img{object-fit:cover;width:100%;height:100%}.editorial-rule{background:var(--color-accent);opacity:.6;border:0;height:1px;margin-block:1.5rem}.site-nav{z-index:50;background:#f2efe9e0;position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-nav{background:color-mix(in srgb,var(--color-paper) 88%,transparent)}}.site-nav{-webkit-backdrop-filter:saturate(1.1)blur(8px);backdrop-filter:saturate(1.1)blur(8px);border-bottom:1px solid var(--color-rule)}.site-footer{border-top:1px solid var(--color-rule);background:var(--color-paper-warm);color:var(--color-mute)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}.nav-progress{background:var(--color-accent,currentColor);transform-origin:0;z-index:1000;pointer-events:none;opacity:0;height:2px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}.nav-progress[data-state=loading]{opacity:1;transition:transform 1.6s cubic-bezier(.2,.8,.2,1),opacity .12s;transform:scaleX(.85)}.nav-progress[data-state=done]{opacity:0;transition:transform .2s,opacity .24s 60ms;transform:scaleX(1)}body[data-navigating=true] .product-grid{opacity:.55;pointer-events:none;transition:opacity .14s}.product-grid{transition:opacity .2s}.site-nav-item.has-submenu{position:relative}.site-nav-submenu{background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-md);opacity:0;visibility:hidden;flex-direction:column;gap:.25rem;min-width:12rem;padding:.75rem;transition:opacity .16s,transform .16s,visibility .16s;display:flex;position:absolute;top:100%;left:0;transform:translateY(4px)}.site-nav-item.has-submenu:hover .site-nav-submenu,.site-nav-item.has-submenu:focus-within .site-nav-submenu{opacity:1;visibility:visible;transform:translateY(0)}.site-nav-sublink{color:var(--color-ink-soft,var(--color-mute));padding-block:.25rem;font-size:.875rem}.site-nav-sublink:hover,.site-nav-sublink[aria-current=page]{color:var(--color-accent)}.category-rail{background:var(--color-paper-warm);border-bottom:1px solid var(--color-rule)}.category-rail-inner{flex-wrap:wrap;gap:.75rem;padding-block:1rem;display:flex}.category-pill{border:1px solid var(--color-rule);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft,var(--color-ink));align-items:center;padding:.25rem 1rem;font-size:.8125rem;transition:border-color .16s,color .16s,background-color .16s;display:inline-flex}.category-pill:hover{border-color:var(--color-accent);color:var(--color-accent)}.category-pill[aria-current=page]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.pagination{margin-block:2rem}.pagination-inner{justify-content:space-between;gap:1rem;display:flex}.pagination-link{color:var(--color-ink)}.pagination-link:hover{color:var(--color-accent)}.pagination-link.is-disabled{opacity:.4;pointer-events:none}.breadcrumbs{color:var(--color-mute);margin-bottom:.75rem;font-size:.8125rem}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;transition:opacity .2s ease}body[data-navigating=true] .service-grid{opacity:.55;pointer-events:none}.service-card{position:relative;display:flex;flex-direction:column;background:var(--color-paper, var(--color-cream));border-radius:var(--radius-xl);overflow:hidden;text-decoration:none;color:inherit;transition:transform .28s ease,box-shadow .28s ease;box-shadow:var(--shadow-card, 0 4px 16px -8px rgba(0, 0, 0, .15))}.service-card:hover{transform:translateY(-4px)}.service-card:hover .service-card-image img{transform:scale(1.04)}.service-card-image{aspect-ratio:3 / 2;overflow:hidden;background:var(--color-paper-warm, var(--color-surface-secondary, var(--color-cream)))}.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.service-card-meta{display:flex;flex-direction:column;gap:.5rem;padding:1rem 1rem 1.5rem;flex:1}.service-card-name{margin:0;font-family:var(--font-display);font-size:1.125rem;line-height:1.25;color:var(--color-ink)}.service-card-tagline{margin:0;font-family:var(--font-body);font-size:.875rem;color:var(--color-ink-soft, var(--color-mute));line-height:1.45}.service-card-price{display:flex;align-items:center;gap:.75rem;margin-top:auto;padding-top:.75rem;font-family:var(--font-body);font-size:.875rem;color:var(--color-mute)}.service-card-price span+span:before{content:"·";padding-right:.75rem;color:var(--color-rule)}.booking-filter-bar{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.booking-filter-chip{padding:.5rem 1rem;border:1px solid var(--color-rule);border-radius:var(--radius-pill, 999px);background:var(--color-paper, var(--color-cream));color:var(--color-ink);font-family:var(--font-body);font-size:.875rem;text-decoration:none;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.booking-filter-chip:hover{border-color:var(--color-ink)}.booking-filter-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.availability-calendar{display:flex;flex-direction:column;gap:1.5rem}.availability-filters{display:flex;flex-wrap:wrap;gap:1rem}.availability-filters>*{flex:1 1 12rem}.availability-staff{display:flex;flex-direction:column;gap:.5rem}.availability-staff-label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft, var(--color-mute))}.availability-staff-select{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.9375rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper, var(--color-cream));color:var(--color-ink);box-sizing:border-box}.availability-staff-select:focus{outline:none;border-color:var(--color-accent)}.availability-week-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-rule)}.availability-week-label{font-family:var(--font-display);font-size:1rem;color:var(--color-ink);flex:1;text-align:center}.availability-nav-btn{padding:.75rem 1rem;background:transparent;border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink);font-family:var(--font-body);font-size:.875rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.availability-nav-btn:hover:not(:disabled){background:var(--color-paper-warm, var(--color-cream));border-color:var(--color-ink)}.availability-nav-btn:disabled{opacity:.35;cursor:not-allowed}.availability-day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem}.availability-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:.75rem 0;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper, var(--color-cream));color:var(--color-ink);font-family:var(--font-body);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.availability-day-name{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-mute)}.availability-day-num{font-size:1rem;font-weight:600}.availability-day--has-slots:hover{border-color:var(--color-accent)}.availability-day--empty{opacity:.4;cursor:not-allowed}.availability-day--selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.availability-day--selected .availability-day-name{color:var(--color-paper)}.availability-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.75rem}.availability-loading,.availability-empty,.availability-error{font-family:var(--font-body);font-size:.9375rem;color:var(--color-ink-soft, var(--color-mute));padding:1.5rem 0;text-align:center}.availability-empty{display:flex;flex-direction:column;align-items:center;gap:1rem}.availability-error{color:var(--color-error, var(--color-accent))}.time-slot{padding:.75rem 1rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper, var(--color-cream));color:var(--color-ink);font-family:var(--font-body);font-size:.875rem;text-align:center;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.time-slot-time{font-weight:500}.time-slot--available{border-color:var(--color-ink)}.time-slot--available:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.time-slot--selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper);font-weight:600}.booking-form{display:flex;flex-direction:column;gap:1.5rem;padding:2rem;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-warm, var(--color-paper, var(--color-cream)))}.booking-form-summary{display:flex;flex-direction:column;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-rule)}.booking-form-summary strong{font-family:var(--font-display);font-size:1.125rem;color:var(--color-ink)}.booking-form-summary span{font-family:var(--font-body);font-size:.9375rem;color:var(--color-ink-soft, var(--color-mute))}.booking-form-change{align-self:flex-start;margin-top:.5rem;background:none;border:none;padding:0;font-family:var(--font-body);font-size:.8125rem;color:var(--color-mute);text-decoration:underline;cursor:pointer}.booking-form-change:hover{color:var(--color-ink)}.booking-field{display:flex;flex-direction:column;gap:.5rem}.booking-label{font-family:var(--font-display);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-ink-soft, var(--color-mute))}.booking-required{color:var(--color-accent)}.booking-input{width:100%;padding:.75rem 1rem;font-family:var(--font-body);font-size:.9375rem;border:1px solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper, var(--color-cream));color:var(--color-ink);transition:border-color .15s ease;box-sizing:border-box}.booking-input:focus{outline:none;border-color:var(--color-accent)}textarea.booking-input{resize:vertical;min-height:6rem}.booking-error{font-family:var(--font-body);font-size:.875rem;color:var(--color-error, var(--color-accent));padding:.75rem 1rem;border:1px solid var(--color-error, var(--color-accent));border-radius:var(--radius-sm)}.booking-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:1rem 2rem;font-family:var(--font-display);font-size:.9375rem;font-weight:500;background:var(--color-accent);color:var(--color-paper);border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;transition:opacity .15s ease}.booking-cta:hover:not(:disabled){opacity:.9}.booking-cta:disabled{opacity:.5;cursor:not-allowed}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
