:root{--max:480px;--tap:44px;--r:14px;--ease:cubic-bezier(0.22,0.61,0.36,1);--ease-out:cubic-bezier(0.23,1,0.32,1);--font-display:"Fraunces",Georgia,serif;--font-body:"Public Sans",system-ui,sans-serif;--display-weight:500;--base:#f6f1ea;--surface:#fffdfa;--putty:#e7ded2;--ink:#2b2622;--muted:#73685c;--accent:#9e5b45;--accent-soft:#c8a29a;--accent-ink:#fffdfa;--line:#e0d6c8;--shadow:0 18px 50px -28px rgba(80,55,40,0.55);--hero-radius:0 0 0 64px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:radial-gradient(120% 80% at 100% 0,color-mix(in oklab,var(--accent-soft) 14%,transparent),transparent 60%),var(--base);color:var(--ink);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;align-items:center;padding:24px 0 120px}.app{width:100%;max-width:var(--max);padding:0 14px}.hero{background:var(--surface);border:1px solid var(--line);border-radius:18px var(--r) var(--r) var(--r);overflow:hidden;box-shadow:var(--shadow)}.hero-band{position:relative;height:132px;background:linear-gradient(135deg,color-mix(in oklab,var(--accent) 88%,#000 0%),var(--accent-soft));border-radius:0 0 var(--hero-radius);display:flex;align-items:flex-end;padding:16px 20px}.hero-band:after{content:"";position:absolute;inset:0;background:radial-gradient(140% 120% at 85% 10%,rgba(255,255,255,.28),transparent 55%);mix-blend-mode:soft-light}.hero-band .salon{color:var(--accent-ink);position:relative}.hero-band .badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:999px;margin-bottom:8px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-band h1{font-family:var(--font-display);font-weight:var(--display-weight);font-size:27px;line-height:1.05;letter-spacing:-.01em}.hero-meta{display:flex;gap:14px;padding:13px 20px;font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap}.hero-meta b{color:var(--ink);font-weight:600}.stars{color:var(--accent);letter-spacing:1px}.steps{display:flex;gap:6px;padding:14px 20px 4px}.steps .dot{flex:1 1;height:4px;border-radius:4px;background:var(--putty);transition:background .4s var(--ease)}.steps .dot.done{background:var(--accent-soft)}.steps .dot.now{background:var(--accent)}.step-label{padding:4px 20px 0;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.body{padding:18px 20px 8px}.panel{display:none}.panel.active{display:block;animation:rise .28s var(--ease-out) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.panel.active .card,.panel.active .day,.panel.active .slot{animation:rise .3s var(--ease-out) both}.panel.active .card:first-child,.panel.active .slot:first-child{animation-delay:40ms}.panel.active .card:nth-child(2),.panel.active .slot:nth-child(2){animation-delay:85ms}.panel.active .card:nth-child(3),.panel.active .slot:nth-child(3){animation-delay:.13s}.panel.active .card:nth-child(4),.panel.active .slot:nth-child(4){animation-delay:175ms}.panel.active .slot:nth-child(5){animation-delay:.22s}.eyebrow{font-family:var(--font-display);font-weight:var(--display-weight);font-size:20px;letter-spacing:-.01em;margin-bottom:3px}.sub{font-size:13px;color:var(--muted);margin-bottom:16px}.card{width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:15px 16px;margin-bottom:10px;cursor:pointer;display:flex;align-items:center;gap:14px;transition:border-color .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);font-family:inherit;color:inherit;min-height:var(--tap)}@media (hover:hover) and (pointer:fine){.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent-soft)}}.card:active{transform:scale(.985)}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.card .grow{flex:1 1;min-width:0}.card .name{font-weight:600;font-size:15px}.card .meta{font-size:12.5px;color:var(--muted);margin-top:1px}.card .price{font-weight:600;font-size:15px;white-space:nowrap}.card .price .dur{display:block;font-size:11px;font-weight:400;color:var(--muted);text-align:right}.card .check{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);flex-shrink:0;display:grid;place-items:center;transition:all .2s var(--ease)}.card[aria-pressed=true] .check{background:var(--accent);border-color:var(--accent)}.card[aria-pressed=true] .check:after{content:"✓";color:var(--accent-ink);font-size:13px;font-weight:700}.av{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:600;font-size:15px;color:var(--accent-ink);background:linear-gradient(135deg,var(--accent),var(--accent-soft));font-family:var(--font-display)}.av-cluster{display:flex;flex-shrink:0}.av-cluster .av{width:32px;height:32px;font-size:12px;margin-left:-10px;border:2px solid var(--surface)}.av-cluster .av:first-child{margin-left:0}.card.any{background:color-mix(in oklab,var(--accent-soft) 12%,var(--surface));border-color:var(--accent-soft)}.datestrip{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.datestrip::-webkit-scrollbar{display:none}.day{scroll-snap-align:start;flex-shrink:0;min-width:56px;min-height:var(--tap);border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:9px 4px;text-align:center;cursor:pointer;font-family:inherit;color:inherit;transition:all .18s var(--ease)}@media (hover:hover) and (pointer:fine){.day:hover{border-color:var(--accent-soft)}}.day:active{transform:scale(.96)}.day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.day .dow{font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.day .num{font-family:var(--font-display);font-weight:600;font-size:19px;margin-top:2px}.day .mon{font-size:10px;color:var(--muted)}.day[aria-selected=true]{background:var(--ink);border-color:var(--ink)}.day[aria-selected=true] .dow,.day[aria-selected=true] .mon,.day[aria-selected=true] .num{color:var(--base)}.slotgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;min-height:56px}.slot{min-height:var(--tap);border:1px solid var(--line);border-radius:11px;background:var(--surface);font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;transition:all .16s var(--ease);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (hover:hover) and (pointer:fine){.slot:hover{border-color:var(--accent-soft);transform:translateY(-1px)}}.slot:active{transform:scale(.96)}.slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.slot[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.slot[aria-pressed=true]:before{content:"✓ "}.slot-group-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 8px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}.field label .opt{font-weight:400;color:var(--muted)}.field input,.field textarea{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:11px;background:var(--surface);padding:11px 13px;font-family:var(--font-body);font-size:15px;color:var(--ink);transition:border-color .2s var(--ease)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.field .hint{font-size:12px;color:var(--muted);margin-top:4px}.field .err{font-size:12.5px;margin-top:4px}.disclosure,.field .err{color:var(--accent);font-weight:600}.disclosure{background:none;border:0;font-family:inherit;font-size:13px;cursor:pointer;padding:4px 0}.summary{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:4px 16px;margin-bottom:16px}.srow{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}.srow:last-child{border-bottom:0}.srow .k{color:var(--muted)}.srow .v{font-weight:600;text-align:right}.policy{font-size:12.5px;color:var(--muted);text-align:center;margin:10px 0 4px}.policy a{color:var(--accent)}.success{text-align:center;padding:14px 0 6px}.tick{width:64px;height:64px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--accent),var(--accent-soft));display:grid;place-items:center;color:var(--accent-ink);font-size:30px;animation:pop .55s var(--ease) both}@keyframes pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.success h2{font-family:var(--font-display);font-weight:var(--display-weight);font-size:24px;margin-bottom:6px}.success p{color:var(--muted);font-size:14px;margin-bottom:18px}.ghost-actions{display:flex;gap:8px}.ghost-actions button{flex:1 1;min-height:var(--tap);border:1px solid var(--line);border-radius:11px;background:var(--surface);font-family:inherit;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .2s}@media (hover:hover) and (pointer:fine){.ghost-actions button:hover{border-color:var(--accent-soft)}}.ghost-actions button:active{transform:scale(.97)}.loading{font-size:13px;padding:24px 0}.empty,.loading{text-align:center;color:var(--muted)}.empty{font-size:13.5px;padding:20px 0}.cta-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:center;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--base) 65%,transparent)}.cta-inner{width:100%;max-width:var(--max);gap:10px}.cta,.cta-inner{display:flex;align-items:center}.cta{flex:1 1;min-height:52px;border:0;border-radius:13px;cursor:pointer;background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);font-size:16px;font-weight:600;letter-spacing:.01em;justify-content:center;gap:8px;box-shadow:0 10px 30px -12px color-mix(in oklab,var(--accent) 70%,transparent);transition:transform .15s var(--ease),filter .2s}@media (hover:hover) and (pointer:fine){.cta:hover{transform:translateY(-1px);filter:brightness(1.04)}}.cta:active{transform:scale(.985)}.cta:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.cta-back{min-width:52px;min-height:52px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;font-size:20px;color:var(--ink)}.cta-back:active{transform:scale(.95)}.cta-price{font-size:13px;color:var(--muted);padding-right:4px;white-space:nowrap}.cta-price b{display:block;color:var(--ink);font-size:16px;font-weight:600}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}