@layer defaults{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f3f2ef;--card:#fff;--fg:#111;--muted:#6b6b6b;--border:#e4e2dc;--soft:#eeede9;--primary:#111;--primary-fg:#fff;--primary-hover:#333;--outline-hover:#1111110f;--ring:#111;--credit-fg:#4a5752;--ring-width:2px;--accent-green:#4caf78;--accent:var(--fg);--danger:#8d2f2f;--danger-border:#e4c4c4;--shadow:none;--highlight:var(--soft);--highlight-accent:var(--fg);--hero-bg:var(--card);--hero-fg:var(--fg);--hero-border:var(--border);--choice-border:var(--primary);--slot-selected-bg:var(--primary);--slot-selected-fg:var(--primary-fg);--on-primary-muted:#ffffffb8;--taken-bg:var(--soft);--taken-fg:var(--muted);--disabled-bg:var(--soft);--disabled-fg:var(--muted);--input-bg:var(--card);--input-border:var(--border);--banner-bg:var(--soft);--banner-fg:var(--muted);--link:var(--fg);--link-offset:4px;--toggle-fg:var(--fg);--nav-demo-border:var(--fg);--lede-color:var(--fg);--pill-pending-bg:var(--soft);--pill-pending-fg:var(--fg);--pill-confirmed-bg:var(--primary);--pill-confirmed-fg:var(--primary-fg);--pill-cancelled-bg:var(--border);--pill-cancelled-fg:var(--fg);--radius-card:16px;--radius-pill:9999px;--radius-hero:16px;--radius-choice:12px;--radius-control:12px;--radius-day:12px;--radius-slot:12px;--shell:1040px;--gutter:20px;--card-pad:24px;--btn-pad:10px 24px;--btn-min-h:44px;--btn-size:16px;--btn-weight:500;--btn-leading:24px;--root-size:16px;--heading-weight:600;--heading-tracking:-.018em;--h1-size:3.4rem;--h1-weight:var(--heading-weight);--h1-tracking:var(--heading-tracking);--h1-leading:1.12;--h1-wrap:wrap;--h2-size:2.25rem;--h2-leading:1.2;--h3-size:1.15rem;--h3-weight:var(--heading-weight);--h3-tracking:var(--heading-tracking);--h3-leading:1.2;--price-weight:400;--price-tracking:normal;--day-num-weight:400;--day-num-tracking:normal;--lockup-height:48px;--lockup-height-small:44px;--body-size:18px;--body-leading:1.55;--lede-size:1.2rem;--eyebrow-size:14px;--eyebrow-weight:500;--eyebrow-tracking:normal;--eyebrow-transform:none;--eyebrow-color:var(--muted);--font-ui:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:var(--font-ui);--header-offset:6.75rem;color:var(--fg);background:var(--bg);font-family:var(--font-ui);font-size:var(--root-size)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-color-scheme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#1b1a17;--card:#26241f;--soft:#24221d;--fg:#f3f1ec;--muted:#a7a399;--border:#38352e;--primary:#f3f1ec;--primary-fg:#111;--primary-hover:#e3e0d8;--outline-hover:#f3f1ec14;--ring:#f3f1ec;--credit-fg:#cdd6d1;--on-primary-muted:#1111119e;--danger:#f0c8c4;--danger-border:#6a4542;--accent-green:#4caf78}}@media (width<=767px){:root{--h1-size:2.05rem;--h1-leading:1.18;--h2-size:1.75rem;--body-size:17px;--lede-size:1.0625rem}}*,:before,:after{box-sizing:border-box}body{min-width:320px;font-size:var(--body-size);line-height:var(--body-leading);margin:0}h1,h2,h3,legend{font-family:var(--font-display);font-weight:var(--heading-weight);letter-spacing:var(--heading-tracking)}h1{font-size:var(--h1-size);font-weight:var(--h1-weight);letter-spacing:var(--h1-tracking);line-height:var(--h1-leading);text-wrap:var(--h1-wrap);margin:0}h2{font-size:var(--h2-size);line-height:var(--h2-leading);margin:0}h3{font-size:var(--h3-size);font-weight:var(--h3-weight);letter-spacing:var(--h3-tracking);line-height:var(--h3-leading);margin:0}p{margin:0}a{color:var(--link);text-underline-offset:var(--link-offset)}button,input,textarea,select{font:inherit;color:inherit}img,svg{max-width:100%;height:auto}.wrap{width:min(var(--shell), calc(100% - (2 * var(--gutter))));margin-inline:auto}.skip{background:var(--card);color:var(--fg);z-index:3;padding:8px 12px;position:absolute;top:-48px;left:12px}.skip:focus{top:12px}:focus-visible{outline:var(--ring-width) solid var(--ring);outline-offset:2px}.demo-banner{background:var(--banner-bg);color:var(--banner-fg)}.demo-banner p{padding:10px 0;font-size:.95rem;line-height:1.45}.site-header{background:var(--bg);border-bottom:1px solid var(--border);z-index:2;position:sticky;top:0}.header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;padding:14px 0;display:flex}.brand{min-height:44px;color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-lockup{height:var(--lockup-height);width:auto;max-width:100%;display:block}.brand-logo{width:auto;height:64px;display:block}@media (width<=640px){.brand-lockup{height:var(--lockup-height-small)}}@media (width>=768px){.brand-logo{height:84px}}.brand strong{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.35rem;display:block}.brand small{color:var(--muted);font-size:.82rem;display:block}.primary-nav{flex-wrap:wrap;gap:6px;display:flex}.primary-nav a{color:var(--fg);border-radius:var(--radius-pill);align-items:center;min-height:44px;padding:8px 12px;text-decoration:none;display:inline-flex}.primary-nav a.active{background:var(--primary);color:var(--primary-fg)}.primary-nav a.nav-demo{border:1px dashed var(--nav-demo-border)}.primary-nav a.nav-demo.active{border-color:#0000}.page{padding-bottom:64px}.eyebrow{color:var(--eyebrow-color);font-size:var(--eyebrow-size);font-weight:var(--eyebrow-weight);letter-spacing:var(--eyebrow-tracking);text-transform:var(--eyebrow-transform);margin:0 0 8px}.lede{font-size:var(--lede-size);max-width:40rem;color:var(--lede-color)}.hero{gap:28px;padding:28px 0 8px;display:grid}.hero-copy{gap:16px;display:grid}.hero-actions,.booking-actions,.booking-actions-main,.booking-actions-delete{flex-wrap:wrap;gap:10px;display:flex}.button,.button-ghost,.button-danger{min-height:var(--btn-min-h);padding:var(--btn-pad);border-radius:var(--radius-pill);font-size:var(--btn-size);font-weight:var(--btn-weight);line-height:var(--btn-leading);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.button{background:var(--primary);color:var(--primary-fg)}.button:hover:not(:disabled){background:var(--primary-hover)}.button-ghost{color:var(--primary);border-color:var(--primary);background:0 0}.button-ghost:hover:not(:disabled){background:var(--outline-hover)}.button-danger{color:var(--danger);border-color:var(--danger-border);background:0 0}.button:disabled{opacity:.6;cursor:not-allowed}.details-toggle{border-radius:var(--radius-pill);border:1px solid var(--border);width:fit-content;min-height:44px;color:var(--toggle-fg);cursor:pointer;background:0 0;justify-self:start;margin-top:2px;padding:6px 12px;font-size:.92rem;font-weight:600;line-height:1.2}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-panel{background:var(--hero-bg);color:var(--hero-fg);border:1px solid var(--hero-border);border-radius:var(--radius-hero);gap:8px;padding:16px 16px 18px;display:grid}.hero-panel p{margin:0 8px;font-size:.92rem}.scene{width:100%;display:block}.section,.page-intro,.calendar,.booking-form,.confirm-layout,.success-card,.reset-panel{margin-top:36px}.page-intro{gap:12px;max-width:42rem;display:grid}.section-head{gap:6px;margin-bottom:16px;display:grid}.section-head p,.meta,.field-hint{color:var(--muted)}.service-grid,.booking-list,.service-admin-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.service-card,.info-card,.booking-card,.service-admin-card,.email-sheet,.success-card,.reset-panel,.service-editor{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-card);padding:var(--card-pad)}.service-card{flex-direction:column;gap:8px;min-height:100%;display:flex}.price{font-family:var(--font-display);font-weight:var(--price-weight);letter-spacing:var(--price-tracking);margin-top:auto;font-size:1.8rem}.text-link{font-weight:600}.info-grid{gap:14px;margin-top:18px;display:grid}.info-card{gap:12px;display:grid}.hours,.booking-facts{gap:10px;margin:0;display:grid}.hours div,.booking-facts div{gap:2px;display:grid}dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem}dd{margin:0}.steps{gap:8px;margin:0;padding-left:1.2rem;display:grid}.visit{border-radius:var(--radius-card);background:var(--soft);gap:8px;margin-top:18px;padding:22px;display:grid}.service-field{border:0;min-width:0;margin:28px 0 0;padding:0}.service-field legend{font-size:var(--h2-size);line-height:var(--h2-leading);margin-bottom:12px}.choice-grid{gap:10px;display:grid}.choice{border:1px solid var(--border);border-radius:var(--radius-choice);background:var(--card);grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:64px;padding:12px;display:grid}.choice:has(input:checked){border-color:var(--choice-border);box-shadow:inset 0 0 0 1px var(--choice-border);background:var(--highlight)}.choice-copy{gap:2px;display:grid}.choice-name{font-weight:600}.choice-meta,.day-sub,.slot-tag,.count{color:var(--muted);font-size:.92rem}.calendar{min-width:0}.legend{color:var(--muted);gap:16px;margin-bottom:10px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.swatch{border:1px solid var(--border);border-radius:4px;width:14px;height:14px;display:inline-block}.swatch.open{background:var(--card)}.swatch.taken{background:var(--taken-bg)}.day-strip-wrap{align-items:stretch;gap:8px;min-width:0;display:flex}.day-nav{border-radius:var(--radius-day);border:1px solid var(--border);background:var(--card);cursor:pointer;flex:0 0 40px;min-height:84px;font-size:1.6rem;line-height:1}.day-nav:disabled{opacity:.35;cursor:default}.day-strip{flex:1;gap:8px;min-width:0;max-width:100%;padding-bottom:8px;scroll-padding-inline:8px;display:flex;overflow-x:auto}.day-strip.fade-left{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px);mask-image:linear-gradient(90deg,#0000,#000 28px)}.day-strip.fade-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.day-strip.fade-left.fade-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#0000,#000 28px calc(100% - 28px),#0000)}.day-strip button{border-radius:var(--radius-day);border:1px solid var(--border);background:var(--card);cursor:pointer;min-height:84px;scroll-margin-top:var(--header-offset);flex:0 0 76px;align-content:center;justify-items:center;gap:2px;display:grid}.day-strip button[aria-selected=true]{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.day-strip button[aria-selected=true] .day-sub{color:var(--on-primary-muted)}.day-strip button:disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:not-allowed}.day-num{font-family:var(--font-display);font-weight:var(--day-num-weight);letter-spacing:var(--day-num-tracking);font-size:1.3rem}.slot-panel{gap:12px;margin-top:12px;display:grid}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px;display:grid}.slot{border-radius:var(--radius-slot);border:1px solid var(--border);background:var(--card);cursor:pointer;align-content:center;justify-items:center;gap:2px;min-height:56px;display:grid}.slot.selected{background:var(--slot-selected-bg);color:var(--slot-selected-fg);border-color:var(--slot-selected-bg)}.slot:disabled,.slot.taken{background:var(--taken-bg);color:var(--taken-fg);cursor:not-allowed}.slot-tag{letter-spacing:.04em;text-transform:uppercase;font-size:.75rem}.booking-form,.stack-form,.confirm-layout{gap:14px;display:grid}.form-grid{align-items:start;gap:14px;display:grid}.field{align-content:start;gap:6px;display:grid}.field label,.reschedule label,.check{font-weight:600}input,textarea,select{border-radius:var(--radius-control);border:1px solid var(--input-border);background:var(--input-bg);width:100%;min-height:48px;scroll-margin-top:var(--header-offset);padding:12px 14px;font-size:16px}.field input:not([type=checkbox]):not([type=radio]),.field select,.reschedule select{height:48px;padding-block:0}textarea{resize:vertical;height:auto;min-height:110px}input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);margin:0;font-size:.95rem}.field-hint{margin:0;font-size:.92rem}.demo-hint{border-radius:var(--radius-control);background:var(--highlight);border-left:4px solid var(--highlight-accent);color:var(--fg);align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:1rem;line-height:1.45;display:flex}.demo-hint-icon{width:22px;height:22px;color:var(--highlight-accent);flex:none;margin-top:1px}.selection{background:var(--highlight);border-radius:var(--radius-control);scroll-margin-top:var(--header-offset);padding:12px 14px}.booking-form,.confirm-layout,.success-card,#email-heading,#lodged-heading,#open-times,#bookings-heading,.booking-actions button,.confirm-inline,.service-field legend{scroll-margin-top:var(--header-offset)}.email-sheet{background:linear-gradient(var(--accent), var(--accent)) top / 100% 8px no-repeat, var(--card);box-shadow:var(--shadow);gap:8px;display:grid}.email-kicker{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font-size:.75rem;font-weight:600}.email-sheet hr{border:0;border-top:1px solid var(--border);width:100%}.code-digits{font-variant-numeric:tabular-nums;letter-spacing:.22em;font-size:2rem;font-weight:650;display:block}.success-card,.reset-panel{gap:12px;display:grid}.admin-grid{gap:28px;margin-top:12px;display:grid}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.filter-row button{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);cursor:pointer;min-height:44px;padding:8px 12px}.filter-row button[aria-pressed=true]{background:var(--primary);color:var(--primary-fg);border-color:var(--primary)}.filter-row button[aria-pressed=true] .count{color:var(--on-primary-muted)}.booking-card,.service-admin-card{gap:12px;display:grid}.booking-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.service-admin-card{align-items:start}.service-admin-list{margin-top:22px}.booking-groups{gap:22px;display:grid}.status-group{gap:10px;display:grid}.status-group-heading{font-size:1.05rem}.pill{border-radius:var(--radius-pill);padding:4px 10px;font-size:.82rem;font-weight:600}.pill-pending{background:var(--pill-pending-bg);color:var(--pill-pending-fg)}.pill-confirmed{background:var(--pill-confirmed-bg);color:var(--pill-confirmed-fg)}.pill-cancelled{background:var(--pill-cancelled-bg);color:var(--pill-cancelled-fg)}.reschedule,.confirm-inline{gap:8px;padding-top:4px;display:grid}.check{align-items:center;gap:8px;min-height:44px;display:flex}.check input{width:1.1rem;height:1.1rem;min-height:0}.site-footer{border-top:1px solid var(--border);background:var(--footer-bg,var(--bg));padding:28px 0 36px}.footer-grid{gap:6px;display:grid}.footer-grid a{color:var(--fg)}.credit-when-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-color-scheme=light]) .credit-when-light{display:none}:root:not([data-color-scheme=light]) .credit-when-dark{display:inline}}@media (width<=640px){:root{--header-offset:10rem}}@media (width>=720px){.form-grid,.choice-grid,.info-grid,.service-grid{grid-template-columns:1fr 1fr}.form-grid .wide{grid-column:1/-1}.day-nav{display:none}.day-strip,.day-strip.fade-left,.day-strip.fade-right,.day-strip.fade-left.fade-right{grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:visible;-webkit-mask-image:none;mask-image:none}.day-strip button{flex:initial;width:100%;min-width:0}.hero{padding-top:48px}}@media (width>=960px){.hero{grid-template-columns:1.25fr .75fr;align-items:center}.service-grid{grid-template-columns:repeat(3,1fr)}.admin-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.8fr);align-items:start}}@media (width<=640px){.booking-actions{flex-direction:column;align-items:flex-start;gap:14px}.booking-actions-delete{border-top:1px solid var(--border);width:100%;padding-top:12px}.primary-nav{flex-wrap:nowrap;width:100%}.primary-nav a{white-space:nowrap;flex:1 1 0;justify-content:center;padding:8px;font-size:.92rem}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}}@layer site;
