:root{--accent:#4f46e5;--accent-2:#7c3aed;--accent-fg:#ffffff;--accent-ink:#4f46e5;--hero-fg:#ffffff;--bg:#f5f5f7;--surface:#ffffff;--text:#1d1d1f;--muted:#6e6e73;--border:rgba(0,0,0,0.08);--danger:#e02d23;--radius-lg:20px;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgba(0,0,0,0.04),0 4px 16px rgba(0,0,0,0.05);--shadow-lift:0 2px 4px rgba(0,0,0,0.05),0 12px 32px rgba(0,0,0,0.1);--space:1rem;--accent-soft:color-mix(in srgb,var(--accent) 9%,var(--surface));--accent-ring:color-mix(in srgb,var(--accent) 30%,transparent)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;font-size:17px;-webkit-font-smoothing:antialiased}a{color:var(--accent-ink);text-decoration:none}h1,h2,h3{line-height:1.18;margin:0 0 .5rem;letter-spacing:-.022em;font-weight:700;text-wrap:balance}h1{font-size:1.85rem}h2{font-size:1.3rem}h3{font-size:1.35rem;margin-bottom:.15rem}:focus-visible{outline:3px solid var(--accent-ring);outline-offset:2px;border-radius:6px}.container{max-width:660px;margin:0 auto;padding:1.5rem 1.1rem 3rem}.container-wide{max-width:1040px;margin:0 auto;padding:1.25rem 1rem 2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow)}.muted{color:var(--muted);font-size:.92rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--accent);color:var(--accent-fg);border:none;border-radius:980px;padding:.8rem 1.5rem;font-size:1.02rem;font-weight:600;font-family:inherit;cursor:pointer;text-align:center;min-height:48px;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.btn:hover{filter:brightness(1.06);box-shadow:0 4px 14px var(--accent-ring)}.btn:active{transform:scale(.97)}.btn:disabled{cursor:default;opacity:.7;transform:none}.btn-outline{background:transparent;color:var(--accent-ink);border:1.5px solid color-mix(in srgb,var(--accent-ink) 45%,transparent)}.btn-outline:hover{background:var(--accent-soft);box-shadow:none}.btn-danger{background:var(--danger);color:#fff}.btn-sm{padding:.35rem .85rem;font-size:.85rem;min-height:0}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentcolor;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.field{display:block;margin-bottom:1rem}.field span{display:block;font-size:.85rem;font-weight:600;margin-bottom:.3rem}input,select,textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;background:#fff;color:var(--text);min-height:48px;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{min-height:0}select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236e6e73' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;padding-right:2.2rem}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px var(--accent-ring)}.public-topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding:.6rem 1rem;background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}.public-topbar,.public-topbar-inner{display:flex;align-items:center;gap:.7rem}.public-topbar-inner{max-width:1100px;width:100%;margin:0 auto}.public-topbar .mini-logo{width:34px;height:34px;border-radius:10px;object-fit:cover;flex:none}.public-topbar .mini-monogram{width:34px;height:34px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--accent-fg);background:var(--accent);font-size:1rem}.public-topbar .biz-name{font-weight:700;letter-spacing:-.015em;color:var(--text);font-size:1.02rem}.public-topbar .topbar-cta{margin-left:auto}.font-elegant .biz-name,.font-elegant .svc-name,.font-elegant h1,.font-elegant h2,.font-elegant h3{font-family:Georgia,Times New Roman,Playfair Display,serif;letter-spacing:-.01em;font-weight:600}.font-elegant .hero2-card h1{font-style:italic}.font-bold .biz-name,.font-bold .svc-name,.font-bold h1,.font-bold h2,.font-bold h3{font-family:Arial Black,Segoe UI Black,-apple-system,sans-serif;text-transform:uppercase;letter-spacing:.02em;font-weight:900}.font-bold .hero2-card h1{font-size:clamp(1.7rem,5vw,2.3rem)}.hero2.has-cover{background:color-mix(in srgb,var(--accent) 88%,#000 8%)}.hero2-cover{position:absolute;inset:0;z-index:-2;background-image:var(--cover-image);background-size:cover;background-position:50%}.hero2.has-cover:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(170deg,color-mix(in srgb,var(--accent) 78%,#000 12%) 0,color-mix(in srgb,var(--accent) 45%,#000 30%) 100%);opacity:.82}.hero2.has-cover .hero2-blob{display:none}.hero2{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(168deg,color-mix(in srgb,var(--accent) 94%,#000 6%) 0,color-mix(in srgb,var(--accent) 80%,var(--accent-2) 20%) 55%,color-mix(in srgb,var(--accent-2) 55%,var(--accent) 30%) 100%);padding:clamp(2.5rem,7vw,4.5rem) 1.1rem clamp(3.4rem,8vw,5.5rem)}.hero2-blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;z-index:-1}.hero2-blob.a{width:420px;height:420px;top:-160px;right:-120px;background:color-mix(in srgb,var(--hero-fg) 30%,transparent)}.hero2-blob.b{width:360px;height:360px;bottom:-180px;left:-140px;background:color-mix(in srgb,var(--accent-2) 70%,#000 12%);opacity:.45}.hero2-blob.c{width:220px;height:220px;top:30%;left:55%;background:color-mix(in srgb,var(--hero-fg) 22%,transparent);opacity:.35}.hero2-inner{max-width:1100px;margin:0 auto}.hero2-card{max-width:620px;margin:0 auto;text-align:center;color:var(--hero-fg);background:color-mix(in srgb,var(--hero-fg) 10%,transparent);border:1px solid color-mix(in srgb,var(--hero-fg) 22%,transparent);border-radius:var(--radius-lg);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);box-shadow:0 24px 60px rgba(0,0,0,.18);padding:clamp(1.6rem,4vw,2.5rem) clamp(1.1rem,4vw,2.5rem)}.hero2-logo,.hero2-monogram{width:84px;height:84px;border-radius:22px;object-fit:cover;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:2.1rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--hero-fg) 94%,transparent);box-shadow:0 10px 28px rgba(0,0,0,.25)}.hero2-card h1{margin:0;font-size:clamp(2rem,5.5vw,2.7rem);letter-spacing:-.03em}.hero2-desc{margin:.5rem auto 0;max-width:30rem;opacity:.88;font-size:1.06rem}.hero2-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}.hero2-ctas{margin-top:1.4rem;display:flex;flex-direction:column;align-items:center;gap:.8rem}.btn-hero{font-size:1.1rem;padding:.95rem 2.4rem;background:var(--hero-fg);color:color-mix(in srgb,var(--accent) 80%,#000 12%);box-shadow:0 10px 30px rgba(0,0,0,.2)}.btn-hero:hover{filter:brightness(.97)}.hero2-secondary{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.glass-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.45rem 1.05rem;border-radius:999px;font-size:.9rem;font-weight:600;color:var(--hero-fg);background:color-mix(in srgb,var(--hero-fg) 13%,transparent);border:1px solid color-mix(in srgb,var(--hero-fg) 25%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .15s ease,transform .15s ease}.glass-btn:hover{background:color-mix(in srgb,var(--hero-fg) 22%,transparent)}.glass-btn:active{transform:scale(.97)}.chip{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:500;color:var(--hero-fg);background:color-mix(in srgb,var(--hero-fg) 14%,transparent);border:1px solid color-mix(in srgb,var(--hero-fg) 22%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;padding:.36rem .85rem}.chip svg{opacity:.85}.chip-link{font-weight:600;transition:background .15s ease,transform .15s ease}.chip-link:hover{background:color-mix(in srgb,var(--hero-fg) 24%,transparent);transform:translateY(-1px)}.status-pill{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;border-radius:999px;padding:.3rem .8rem}.status-pill .status-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.hero2 .status-pill{color:var(--hero-fg);background:color-mix(in srgb,var(--hero-fg) 14%,transparent);border:1px solid color-mix(in srgb,var(--hero-fg) 22%,transparent)}.hero2 .status-pill.open .status-dot{background:#4ade80;box-shadow:0 0 8px #4ade80}.hero2 .status-pill.closed .status-dot{background:#fca5a5}.card .status-pill.open{background:#e8f8ee;color:#1d7a3e}.card .status-pill.closed{background:#feeceb;color:#c0271d}.sheet{position:relative;margin-top:-2.4rem;background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -8px 24px rgba(0,0,0,.07);min-height:40vh;z-index:1}.storefront{max-width:1100px;margin:0 auto;padding:1.5rem 1.1rem 3rem}.section{padding:1.6rem 0 .6rem}.section-head{margin-bottom:1.1rem}.section-head.split{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.section-head h2{font-size:clamp(1.35rem,3vw,1.65rem);margin-bottom:.15rem}.section-head .muted{margin:0}.eyebrow{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.3rem}.see-all{display:inline-flex;align-items:center;gap:.2rem;font-weight:600;font-size:.92rem;white-space:nowrap}.svc-grid{display:grid;grid-template-columns:1fr;grid-gap:.9rem;gap:.9rem}@media (min-width:720px){.svc-grid{grid-template-columns:repeat(2,1fr)}.svc-card.featured{grid-column:1/-1}}.svc-card{position:relative;display:flex;flex-direction:column;gap:.45rem;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;color:var(--text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.svc-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-2px);box-shadow:var(--shadow-lift)}.svc-card:active{transform:scale(.99)}.svc-card.featured{background:linear-gradient(140deg,var(--accent-soft),var(--surface) 65%);border-color:color-mix(in srgb,var(--accent) 35%,transparent);overflow:hidden}.svc-flag{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-fg);background:var(--accent);border-radius:999px;padding:.2rem .65rem}.svc-top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem}.svc-name{font-size:1.12rem;letter-spacing:-.015em}.svc-price{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.svc-desc{margin:0;color:var(--muted);font-size:.93rem}.svc-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.35rem}.svc-duration{gap:.35rem;color:var(--muted);font-size:.88rem}.svc-cta,.svc-duration{display:inline-flex;align-items:center}.svc-cta{gap:.15rem;color:var(--accent);font-weight:600;font-size:.92rem}.value-grid{display:grid;grid-template-columns:1fr;grid-gap:.9rem;gap:.9rem}@media (min-width:720px){.value-grid{grid-template-columns:repeat(3,1fr)}}.value-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.2rem;box-shadow:var(--shadow)}.value-card .muted{margin:.25rem 0 0}.value-icon{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--accent);background:var(--accent-soft);margin-bottom:.6rem}.team-row{display:flex;gap:1.1rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.team-row::-webkit-scrollbar{display:none}.team-member{flex:none;display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:110px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem .8rem;box-shadow:var(--shadow)}.avatar-lg{width:58px;height:58px;font-size:1.4rem;margin-bottom:.35rem}.team-member .muted{font-size:.8rem}.duo-grid{display:grid;grid-template-columns:1fr;grid-gap:.9rem;gap:.9rem}@media (min-width:720px){.duo-grid{grid-template-columns:1fr 1fr}}.hours-table td{padding:.45rem .2rem;border-bottom:1px solid var(--border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hours-table td:last-child{text-align:right;color:var(--muted)}.contact-list{display:flex;flex-direction:column;gap:.35rem}.contact-list a{display:flex;align-items:center;gap:.6rem;padding:.5rem .4rem;border-radius:var(--radius-sm);color:var(--text);font-weight:500;transition:background .12s ease,color .12s ease}.contact-list a:hover{background:var(--accent-soft);color:var(--accent)}.contact-list svg{color:var(--accent);flex:none}.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 80%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border)}@media (min-width:720px){.sticky-cta{display:none}}.has-sticky-cta{padding-bottom:5.5rem}@media (min-width:720px){.has-sticky-cta{padding-bottom:3rem}}.book-layout{display:grid;grid-template-columns:1fr;grid-gap:1.1rem;gap:1.1rem;align-items:start}@media (min-width:960px){.book-layout{grid-template-columns:minmax(0,1fr) 320px}}.book-aside{display:none}@media (min-width:960px){.book-aside{display:block;position:-webkit-sticky;position:sticky;top:4.2rem}}.summary-panel .summary-rows>div{align-items:flex-start}.summary-note{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.8rem;font-size:.85rem}.summary-note svg{vertical-align:-2px}.change-link{font-size:.82rem;font-weight:600;white-space:nowrap}.mobile-summary{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}@media (min-width:960px){.mobile-summary{display:none}}.summary-chip{font-size:.8rem;font-weight:600;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:999px;padding:.25rem .7rem}.back-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem;font-weight:600;margin-bottom:.6rem}.date-pill,.option,.slot,.svc-card{position:relative}.plink{display:contents}.plink-overlay{position:absolute;inset:0;z-index:2;display:none;align-items:center;justify-content:center;border-radius:inherit;background:color-mix(in srgb,var(--surface) 62%,transparent)}.plink.pending .plink-overlay{display:flex}.plink-overlay .spinner{width:20px;height:20px;color:var(--accent);border-width:2.5px}.star-rating{display:flex;flex-direction:row-reverse;justify-content:center;gap:.2rem;font-size:2.3rem;margin-bottom:.75rem}.star-rating input{position:absolute;opacity:0;width:1px;height:1px}.star-rating label{cursor:pointer;color:var(--border);transition:color .12s ease,transform .12s ease;padding:0 .15rem}.star-rating label:hover,.star-rating label:hover~span label,.star-rating span:hover~span label{color:#f5a623}.star-rating input:checked~label,.star-rating span:has(input:checked) label,.star-rating span:has(input:checked)~span label{color:#f5a623}.star-rating input:focus-visible+label{outline:3px solid var(--accent-ring);border-radius:6px}.star-rating label:active{transform:scale(1.15)}.review-card blockquote{margin:.4rem 0 0;font-size:.95rem}.review-stars{color:#f5a623;letter-spacing:.1em;font-size:.95rem}.review-stars .off{color:var(--border)}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:2rem 1.25rem;text-align:center}.container-book{max-width:1000px;margin:0 auto;padding:1.25rem 1.1rem 3rem}.stepper{display:flex;align-items:flex-start;list-style:none;margin:0 0 1.6rem;padding:0}.stepper li{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;font-size:.78rem;font-weight:600;color:var(--muted);text-align:center}.stepper li:before{content:"";position:absolute;top:15px;left:-50%;width:100%;height:2.5px;border-radius:2px;background:var(--border)}.stepper li:first-child:before{display:none}.stepper li.active:before,.stepper li.done:before{background:var(--accent)}.stepper .dot{position:relative;z-index:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.85rem;background:var(--surface);border:2px solid var(--border);color:var(--muted);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.stepper li.active .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);transform:scale(1.08);box-shadow:0 3px 10px var(--accent-ring)}.stepper li.active{color:var(--text)}.stepper li.done .dot{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.option-list{display:flex;flex-direction:column;gap:.7rem}.option{display:flex;align-items:center;gap:.9rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:1rem 1.1rem;color:var(--text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.option:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:translateY(-2px);box-shadow:var(--shadow-lift)}.option:active{transform:scale(.99)}.option-body{flex:1 1;min-width:0}.option-body strong{font-size:1.04rem;letter-spacing:-.01em}.option .meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .8rem;margin-top:.25rem;color:var(--muted);font-size:.88rem}.option .meta>span{display:inline-flex;align-items:center;gap:.32rem}.option .desc{margin:.3rem 0 0;color:var(--muted);font-size:.9rem}.option .go{display:flex;align-items:center;gap:.2rem;color:var(--accent);font-weight:600;font-size:.9rem;white-space:nowrap}.option.selected{border-color:var(--accent)}.avatar,.option.selected{background:var(--accent-soft)}.avatar{width:44px;height:44px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;color:var(--accent);border:1.5px solid color-mix(in srgb,var(--accent) 25%,transparent)}.date-strip{display:flex;gap:.55rem;overflow-x:auto;padding:.25rem .1rem .75rem;margin:0 -.1rem .9rem;scrollbar-width:none;scroll-snap-type:x proximity}.date-strip::-webkit-scrollbar{display:none}.date-pill{flex:none;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:.05rem;min-width:64px;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;transition:transform .12s ease,border-color .12s ease,background .12s ease,color .12s ease}.date-pill small{font-size:.72rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.date-pill:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.date-pill.selected{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:0 3px 10px var(--accent-ring)}.date-pill.selected small{color:color-mix(in srgb,var(--accent-fg) 75%,transparent)}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:.6rem;gap:.6rem}.slot{display:flex;align-items:center;justify-content:center;min-height:46px;padding:.55rem .25rem;border:1.5px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--radius-sm);color:var(--accent);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:var(--surface);transition:transform .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}.slot:hover{background:var(--accent);color:var(--accent-fg);transform:translateY(-1px);box-shadow:0 4px 12px var(--accent-ring)}.slot:active{transform:scale(.96)}.slot .slot-seats{display:block;font-size:.62rem;font-weight:600;opacity:.75;margin-top:.1rem}.slot{flex-direction:column}.summary-rows{display:flex;flex-direction:column;gap:.7rem;margin:.4rem 0}.summary-rows>div{display:flex;align-items:center;gap:.7rem}.summary-rows svg{color:var(--accent);flex:none}.success-mark{width:56px;height:56px;margin:0 auto .7rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#1d7a3e;background:#e8f8ee;animation:pop .35s cubic-bezier(.34,1.56,.64,1)}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.9rem;gap:.9rem}.product-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text);box-shadow:var(--shadow);transition:transform .15s ease,box-shadow .15s ease}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}.product-card:active{transform:scale(.99)}.product-card img,.product-placeholder{width:100%;aspect-ratio:1;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:700;color:var(--accent-fg);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 80%,#fff 12%),var(--accent))}.product-body{padding:.8rem .95rem 1rem;display:flex;flex-direction:column;gap:.2rem}.price{color:var(--muted);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-lg{font-size:1.35rem;font-weight:700;margin:0 0 .5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.product-detail img{width:100%;max-height:340px;object-fit:cover;border-radius:var(--radius);margin-bottom:.85rem}.badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:.18rem .55rem;border-radius:999px;background:rgba(0,0,0,.06);color:var(--muted);text-transform:uppercase;vertical-align:middle}.badge-CONFIRMED{background:#e8f8ee;color:#1d7a3e}.badge-CANCELLED{background:#feeceb;color:#c0271d}.badge-COMPLETED{background:#e9f0fe;color:#1d4fc0}.badge-NO_SHOW,.badge-OPEN{background:#fff4e0;color:#9a6a00}.badge-DONE{background:#e8f8ee;color:#1d7a3e}.badge-PENDING_PAYMENT{background:#fff4e0;color:#9a6a00}.badge-EXPIRED{background:#f1f1f3;color:#6b6b76}table{width:100%;border-collapse:collapse;font-size:.92rem}td,th{text-align:left;padding:.55rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}tr:last-child td{border-bottom:none}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);padding:.65rem 1rem}.topbar-inner{max-width:1040px;margin:0 auto;display:flex;align-items:center;gap:1.05rem;flex-wrap:wrap}.topbar a{color:var(--text);font-size:.9rem;font-weight:500;transition:color .12s ease}.topbar a:hover{color:var(--accent)}.brand{font-weight:700;color:var(--accent)!important;letter-spacing:-.02em}.public-footer{text-align:center;padding:1rem 1rem 2.5rem;color:var(--muted);font-size:.88rem}.public-footer .chips{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem 1.2rem;margin-bottom:.4rem}.public-footer .chips span{display:inline-flex;align-items:center;gap:.35rem}.error-box{display:flex;gap:.5rem;align-items:flex-start;background:#feeceb;border:1px solid rgba(192,39,29,.18);color:#c0271d;border-radius:var(--radius-sm)}.error-box,.success-box{padding:.75rem 1rem;margin-bottom:1rem}.success-box{background:#e8f8ee;border:1px solid rgba(29,122,62,.18);color:#1d7a3e;border-radius:var(--radius-sm)}.inline-form{display:inline}.row{display:flex;gap:1rem;flex-wrap:wrap}.row>*{flex:1 1;min-width:220px}code{background:rgba(0,0,0,.05);padding:.12rem .4rem;border-radius:6px;font-size:.86em;font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.085) 37%,rgba(0,0,0,.05) 63%);background-size:400% 100%;animation:shimmer 1.3s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@view-transition{navigation:auto}::view-transition-new(root),::view-transition-old(root){animation-duration:.18s}.has-js .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.has-js .reveal.in{opacity:1;transform:none}.hero2-blob.a{animation:drift-a 16s ease-in-out infinite alternate}.hero2-blob.b{animation:drift-b 20s ease-in-out infinite alternate}.hero2-blob.c{animation:drift-a 24s ease-in-out infinite alternate-reverse}@keyframes drift-a{0%{transform:translate(0) scale(1)}to{transform:translate(-40px,30px) scale(1.12)}}@keyframes drift-b{0%{transform:translate(0) scale(1)}to{transform:translate(50px,-25px) scale(1.08)}}.hero2-grain{position:absolute;inset:0;z-index:-1;opacity:.5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.06'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.btn-hero{position:relative;overflow:hidden}.btn-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-110%)}.btn-hero:hover:after{animation:sheen .9s ease}@keyframes sheen{to{transform:translateX(110%)}}.status-pill .status-dot{position:relative}.status-pill.open .status-dot:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid;opacity:.6;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}@keyframes ping{0%{transform:scale(.6);opacity:.7}80%,to{transform:scale(1.6);opacity:0}}.svc-card.featured:after{content:"";position:absolute;width:160px;height:160px;right:-50px;bottom:-70px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--accent) 22%,transparent),transparent);pointer-events:none}.product-card img{transition:transform .35s ease}.product-card:hover img{transform:scale(1.05)}.slot-group{margin-bottom:1.1rem}.slot-group-label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .55rem}.success-mark svg path{stroke-dasharray:36;stroke-dashoffset:36;animation:draw-check .55s cubic-bezier(.65,0,.45,1) .2s forwards}@keyframes draw-check{to{stroke-dashoffset:0}}.bars{display:flex;flex-direction:column;gap:.45rem}.bar-row{display:grid;grid-template-columns:64px 1fr 44px;align-items:center;grid-gap:.6rem;gap:.6rem;font-size:.85rem}.bar-label{color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.bar-track{background:rgba(0,0,0,.05);border-radius:999px;height:12px;overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));min-width:2px;transition:width .4s ease}.bar-value{text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-shell{display:flex;min-height:100vh;align-items:stretch}.admin-sidebar{width:232px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;padding:1.1rem .85rem;background:var(--surface);border-right:1px solid var(--border)}.sidebar-brand{display:block;padding:.2rem .7rem .6rem;font-size:1.02rem}.sidebar-nav{flex:1 1}.sidebar-group{margin-bottom:.9rem}.sidebar-group-title{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:0 .7rem;margin-bottom:.25rem}.sidebar-item{display:block;padding:.42rem .7rem;border-radius:8px;color:var(--text);font-size:.92rem;font-weight:500;transition:background .12s ease,color .12s ease}.sidebar-item:hover{background:color-mix(in srgb,var(--accent) 7%,transparent)}.sidebar-item.active{background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-weight:650}.sidebar-bottom{display:flex;flex-direction:column;gap:.45rem;padding-top:.7rem;border-top:1px solid var(--border)}.admin-content{flex:1 1;min-width:0}.admin-mobilebar{display:none}@media (max-width:880px){.admin-mobilebar{display:flex;align-items:center;gap:.7rem;position:fixed;top:0;left:0;right:0;z-index:40;padding:.55rem .9rem;background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}.hamburger{border:1px solid var(--border);background:var(--surface);border-radius:8px;font-size:1.05rem;line-height:1;padding:.35rem .55rem;cursor:pointer}.admin-sidebar{position:fixed;left:0;top:0;bottom:0;height:100dvh;z-index:60;transform:translateX(-105%);transition:transform .18s ease;box-shadow:0 10px 40px rgba(0,0,0,.18)}.admin-sidebar.open{transform:none}.admin-overlay{position:fixed;inset:0;z-index:50;background:rgba(15,15,20,.35)}.admin-content{padding-top:3.2rem}}input[type=file]{font-size:.86rem;color:var(--muted)}input[type=file]::-webkit-file-upload-button{font:inherit;font-size:.85rem;font-weight:500;color:var(--accent);background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:8px;padding:.38rem .8rem;margin-right:.7rem;cursor:pointer;-webkit-transition:background .12s ease;transition:background .12s ease}input[type=file]::file-selector-button{font:inherit;font-size:.85rem;font-weight:500;color:var(--accent);background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:8px;padding:.38rem .8rem;margin-right:.7rem;cursor:pointer;transition:background .12s ease}input[type=file]::-webkit-file-upload-button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}input[type=file]::file-selector-button:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.media-field{display:flex;align-items:center;gap:.7rem}.media-field input[type=file]{flex:1 1;min-width:0}.media-thumb{height:46px;width:46px;flex-shrink:0;object-fit:cover;border-radius:10px;border:1px solid var(--border)}.media-thumb-wide{width:76px}.media-thumb-empty{display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--muted);font-weight:600}.cal-wrap{overflow-x:auto}.cal-grid{display:grid;grid-template-columns:52px repeat(7,minmax(118px,1fr));min-width:880px}.cal-day-head,.cal-gutter-head{position:-webkit-sticky;position:sticky;top:0;padding:.35rem .4rem;font-size:.78rem;font-weight:650;text-align:center;border-bottom:1px solid var(--border);background:var(--surface)}.cal-day-head.today{color:var(--accent)}.cal-gutter{position:relative}.cal-hour{position:absolute;right:.45rem;transform:translateY(-50%);font-size:.7rem;color:var(--muted)}.cal-day{position:relative;border-left:1px solid var(--border);background-image:linear-gradient(to bottom,var(--border) 1px,transparent 1px);background-position:0 0}.cal-day.today{background-color:color-mix(in srgb,var(--accent) 4%,transparent)}.cal-block{position:absolute;box-sizing:border-box;padding:0 2px}.cal-block summary{list-style:none;cursor:pointer;height:100%;overflow:hidden;display:block;padding:.18rem .4rem;border-radius:7px;font-size:.74rem;line-height:1.25;border:1px solid}.cal-block summary::-webkit-details-marker{display:none}.cal-seats{display:block;opacity:.8}.cal-block.status-CONFIRMED summary{background:color-mix(in srgb,var(--accent) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text)}.cal-block.status-PENDING_PAYMENT summary{background:#fff4e0;border-color:#e3bc70;color:#6e4d00}.cal-block.status-COMPLETED summary{background:#e9f0fe;border-color:#b6c8f0;color:#1d4fc0}.cal-block.status-NO_SHOW summary{background:#feeceb;border-color:#efb3af;color:#c0271d}.cal-block[open]{z-index:5}.cal-pop{position:absolute;top:100%;left:0;z-index:6;min-width:230px;max-width:290px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 36px rgba(0,0,0,.16);padding:.6rem .7rem;font-size:.85rem}.cal-day:nth-child(n+7) .cal-pop{left:auto;right:0}.cal-pop-list{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:260px;overflow-y:auto}.tab-row{display:flex;gap:.4rem;margin:.4rem 0 1rem;border-bottom:1px solid var(--border)}.tab{padding:.45rem .9rem;border-radius:8px 8px 0 0;font-size:.92rem;font-weight:500;color:var(--text);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--accent);font-weight:650;border-bottom-color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important}html{scroll-behavior:auto}.has-js .reveal{opacity:1;transform:none}.success-mark svg path{stroke-dashoffset:0}::view-transition-new(root),::view-transition-old(root){animation:none}}