.shop-cover{aspect-ratio:16/10;object-fit:cover;background:var(--shop-section);width:100%;height:auto;display:block}.shop-title{padding:0 var(--space-s) var(--space-s);gap:.375rem;display:grid}.shop-logo{border:1px solid var(--shop-line);background:var(--shop-page);object-fit:cover;border-radius:16px;width:4.5rem;height:4.5rem;margin-top:-2.75rem;box-shadow:0 2px 8px #0000000f}.shop-title h1{letter-spacing:-.02em;margin:.25rem 0 0;font-size:clamp(1.75rem,1.6rem + .6vw,2rem);font-weight:800;line-height:1.15}.shop-meta{color:var(--shop-muted);flex-wrap:wrap;gap:.125rem .75rem;margin:0;font-size:.9375rem;display:flex}.shop-meta .is-open{color:#17663a;font-weight:600}.shop-intro{max-width:40rem;margin:.25rem 0 0}.shop-muted{color:var(--shop-muted);margin:0;font-size:.875rem}.shop-section{gap:var(--space-xs);padding:var(--space-m) var(--space-s) 0;display:grid}.shop-section h2{margin:0;font-size:1.25rem;line-height:1.2}.shop-section h3{margin:var(--space-xs) 0 0;font-size:1rem}.shop-section p{margin:0}.shop-offers,.shop-menu,.shop-gallery,.shop-team,.shop-closures,.shop-links{margin:0;padding:0;list-style:none}.shop-offers{gap:var(--space-2xs);display:grid}.shop-offer{background:var(--shop-tint);border-radius:12px;gap:.5rem;padding:.75rem .875rem;display:grid}.shop-offer img{aspect-ratio:16/10;object-fit:cover;border-radius:8px;width:100%;height:auto}.shop-offer h3{color:var(--shop);margin:0;font-size:1rem}.shop-chips{z-index:2;margin-top:var(--space-m);padding:.625rem var(--space-s);border-block:1px solid var(--shop-line);background:var(--shop-page);scrollbar-width:none;gap:.375rem;display:flex;position:sticky;top:0;overflow-x:auto}.shop-category{scroll-margin-top:4.5rem}.shop-item{border-bottom:1px solid var(--shop-line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;min-height:3.5rem;padding:.5rem 0;display:grid}.shop-item-name{font-weight:600}.shop-item-name small{color:var(--shop-muted);font-size:.875rem;font-weight:400;display:block}.shop-price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.shop-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.shop-gallery img,.shop-team img{aspect-ratio:1;object-fit:cover;background:var(--shop-section);border-radius:12px;width:100%;height:auto;display:block}.shop-team{gap:.5rem;display:grid}.shop-team li{align-items:center;gap:.75rem;display:flex}.shop-team img,.shop-avatar{border-radius:50%;flex:none;width:3.5rem;height:3.5rem}.shop-avatar{background:var(--shop-section);color:var(--shop-muted);place-items:center;font-weight:700;display:grid}.shop-team b,.shop-team small{display:block}.shop-team small{color:var(--shop-muted);font-size:.875rem}.shop-hours{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.shop-hours th,.shop-hours td{border-bottom:1px solid var(--shop-line);text-align:left;vertical-align:top;padding:.5rem 0}.shop-hours th{font-weight:400}.shop-hours td{text-align:right}.shop-closures{color:var(--shop-muted);gap:.25rem;display:grid}.shop-links{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.shop-links a{align-items:center;min-height:2.75rem;font-weight:600;display:inline-flex}.shop-cta-bar{z-index:3;margin-top:var(--space-l);padding:.75rem var(--space-s) max(1rem, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--shop-page) 70%, #fff0);justify-items:center;display:grid;position:sticky;bottom:0}.shop .shop-cta{background:var(--shop);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:100%;max-width:24rem;min-height:3.25rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex;box-shadow:0 6px 18px #00000029}@media (min-width:768px){.shop-cover{border-radius:0 0 12px 12px}.shop-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.shop-team{grid-template-columns:repeat(2,minmax(0,1fr))}}.preview-bar{padding:.5rem var(--space-s);background:var(--ink);color:var(--paper);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:0;font-size:.875rem;display:flex}.preview-bar .btn{color:var(--paper)}.preview-bar.is-docked{z-index:60;padding-bottom:max(.5rem, env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:0;right:0}body:has(.preview-bar.is-docked){padding-bottom:5rem}body:has(.preview-bar.is-docked) .site-pinned{bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.site [data-section].has-edit{position:relative}.preview-edit{top:.75rem;right:max(.75rem, env(safe-area-inset-right,0px));z-index:5;color:#fff;background:#7a2e5c;border-radius:999px;align-items:center;min-height:2.75rem;padding:0 1rem;font:600 .875rem/1 system-ui,PingFang SC,Microsoft YaHei,sans-serif;text-decoration:none;display:inline-flex;position:absolute;box-shadow:0 .5rem 1.25rem #28140a40}.site .preview-edit{color:#fff}.site [data-section].has-edit:hover{outline-offset:-2px;outline:2px dashed #7a2e5c}.preview-edit:focus-visible{outline-offset:2px;outline:3px solid #fff}.booking-field-art{z-index:-1;width:100%;height:100%;position:fixed;inset:0}.booking-sheet{background:var(--shop-page)}@media (max-width:767px){.shop .booking-head{background:color-mix(in srgb, var(--shop-page) 55%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}}@media (min-width:768px){.shop.booking .booking-sheet,.shop.booking .booking-head,.shop.booking .booking-foot,.shop.booking .booking-aside{background:color-mix(in srgb, var(--shop-page) 84%, transparent)}.shop.booking .booking-sheet{-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15)}.shop .booking-sheet{max-width:42rem;min-height:calc(100dvh - 2 * var(--space-l));border-radius:20px;margin-inline:auto;overflow:clip;box-shadow:0 1.5rem 3rem #28140a29}}.booking-form{margin:0}.booking-aside{display:none}@media (min-width:960px){.booking-frame{gap:var(--space-m);grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);align-items:start;max-width:66rem;margin-inline:auto;display:grid}.shop .booking-frame .booking-sheet{max-width:none;margin:0}.booking-aside{top:var(--space-l);padding:var(--space-m);background:var(--shop-page);border-radius:20px;gap:.75rem;display:grid;position:sticky;box-shadow:0 1.5rem 3rem #28140a29}}.booking-showcase{display:none}@media (min-width:1200px){.booking-split{gap:var(--space-m);grid-template-columns:minmax(0,1fr) clamp(22rem,34vw,32rem);align-items:start;max-width:92rem;margin-inline:auto;display:grid}.booking-split .booking-frame{grid-template-columns:minmax(0,1fr);max-width:none}.booking-split .booking-aside{order:-1;position:static}.shop .booking-split .booking-sheet{max-width:none}.booking-showcase{top:var(--space-l);height:calc(100dvh - 2 * var(--space-l));background:color-mix(in srgb, var(--shop-page) 72%, transparent);border:1px solid #ffffffa6;border-radius:28px;min-height:32rem;display:block;position:sticky;overflow:hidden;box-shadow:0 1.5rem 3rem #28140a29}}.showcase-rotation{height:100%;position:relative}.showcase-frame{opacity:0;visibility:hidden;background:var(--shop-page);position:absolute;inset:0}.showcase-frame.is-current{z-index:1;opacity:1;visibility:visible}.showcase-frame.is-previous{visibility:visible;opacity:1}@media (prefers-reduced-motion:no-preference){.showcase-frame.is-entering{animation:.9s cubic-bezier(.23,1,.32,1) both showcase-in}}.showcase-slide{grid-template-rows:minmax(0,1fr) auto;height:100%;display:grid}.showcase-art,.showcase-mosaic{min-height:0;position:relative;overflow:hidden}.showcase-art-word{color:#2a1f24b8;text-align:center;place-items:center;padding:1rem;font-family:Georgia,Times New Roman,Songti SC,serif;font-size:2.5rem;font-style:italic;display:grid;position:absolute;inset:0}:lang(zh) .showcase-art-word{font-style:normal}.showcase-art>:is(img,svg){object-fit:cover;width:100%;height:100%;display:block}.showcase-mosaic{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:.5rem;list-style:none;display:grid}.showcase-mosaic li:first-child{grid-row:span 2}.showcase-mosaic img{object-fit:cover;border-radius:16px;width:100%;height:100%;display:block}.showcase-words{padding:var(--space-m) var(--space-m) calc(var(--space-m) + 3rem);gap:.375rem;display:grid}.showcase-words p{margin:0}.showcase-tag{color:var(--shop-muted,#6d605a);letter-spacing:.04em;font-size:.875rem;font-weight:600}.showcase-title{font-family:Georgia,Times New Roman,Songti SC,serif;font-size:1.75rem;font-style:italic;line-height:1.15}.showcase-title:lang(zh),:lang(zh)>.showcase-title{font-style:normal}.showcase-control{right:var(--space-m);bottom:var(--space-m);z-index:2;border:1px solid color-mix(in srgb, currentColor 18%, transparent);background:var(--shop-page);min-height:44px;color:inherit;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;padding:0 .875rem;display:inline-flex;position:absolute}.showcase-control:focus-visible{outline:2px solid var(--shop);outline-offset:2px}.booking-aside-title{font-size:var(--step-1,1.25rem);margin:0}.booking-aside-lines{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.booking-aside-lines li{justify-content:space-between;gap:1rem;display:flex}.booking-aside-lines small{color:var(--shop-muted,#6d605a);display:block}.booking-aside-total{border-top:1px solid color-mix(in srgb, currentColor 15%, transparent);justify-content:space-between;margin:0;padding-top:.75rem;display:flex}.booking-aside-meta{margin:0}.booking-sheet{flex-direction:column;min-height:100dvh;display:flex}.booking-head{z-index:2;padding:.5rem var(--space-s) .75rem;border-bottom:1px solid var(--shop-line);background:var(--shop-page);gap:.625rem;display:grid;position:sticky;top:0}.booking-nav{justify-content:space-between;display:flex}.shop .booking-link{min-height:2.75rem;color:var(--shop);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-weight:600;text-decoration:none;display:inline-flex}.booking-steps{grid-template-columns:repeat(5,1fr);gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.booking-steps li{background:var(--shop-line);border-radius:999px;height:.25rem}.booking-steps li.is-done{background:var(--shop)}.booking-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;display:flex}.booking-title h1{margin:0;font-size:1.375rem;line-height:1.2}.booking-title p{color:var(--shop-muted);margin:0;font-size:.9375rem}.booking-body{gap:var(--space-xs);padding:var(--space-s);flex:1;align-content:start;display:grid}.booking-foot{padding:.75rem var(--space-s) max(1rem, env(safe-area-inset-bottom));border-top:1px solid var(--shop-line);background:var(--shop-page);justify-items:center;display:grid;position:sticky;bottom:0}.shop button.shop-cta{font:inherit;cursor:pointer;box-shadow:none;border:0;font-weight:700}.booking-error{color:#8a1c12;background:#fdecea;border-radius:10px;margin:0;padding:.625rem .75rem}.booking-group{border:0;margin:0;padding:0;display:grid}.booking-group legend{padding:var(--space-xs) 0 .25rem;font-weight:700}.booking-choice{border-bottom:1px solid var(--shop-line);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.5rem;display:grid}.booking-choice input{width:1.375rem;height:1.375rem;accent-color:var(--shop);margin:0}.booking-choice-name{font-weight:600}.booking-choice-name small{color:var(--shop-muted);font-size:.875rem;font-weight:400;display:block}.booking-people,.booking-times,.booking-next{margin:0;padding:0;list-style:none}.booking-people{gap:.5rem;display:grid}.shop .booking-person{border:1px solid var(--shop-line);min-height:3.75rem;color:var(--shop-ink);border-radius:12px;align-items:center;gap:.75rem;padding:.625rem .75rem;text-decoration:none;display:flex}.booking-person img,.booking-person .shop-avatar{object-fit:cover;border-radius:50%;flex:none;width:2.75rem;height:2.75rem}.booking-person b,.booking-person small{display:block}.booking-person small{color:var(--shop-muted);font-size:.875rem}.booking-days{align-items:stretch;gap:.25rem;display:flex}.shop .booking-day,.shop .booking-day-step{min-width:0;min-height:3.75rem;color:var(--shop-muted);text-align:center;border-radius:10px;flex:1;place-items:center;padding:.25rem 0 .75rem;font-size:.8125rem;text-decoration:none;display:grid}.shop .booking-day-step{color:var(--shop-ink);flex:0 0 2rem;font-size:1.25rem}.booking-day b{color:var(--shop-ink);font-size:1rem;display:block}.shop .booking-day[aria-current=date]{background:var(--shop);color:#fff}.booking-day[aria-current=date] b{color:#fff}.booking-day.is-closed b{color:#9aa0a6;font-weight:400}.booking-times{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.shop .booking-time{border:1px solid var(--shop-line);min-height:3rem;color:var(--shop-ink);font-variant-numeric:tabular-nums;border-radius:10px;place-items:center;font-size:1rem;font-weight:700;text-decoration:none;display:grid}.booking-subhead{margin:var(--space-xs) 0 0;font-size:1rem}.booking-next{gap:.5rem;display:grid}.shop .booking-next-day{border:1px solid var(--shop-line);border-radius:10px;align-items:center;min-height:3rem;padding:0 .875rem;font-weight:600;text-decoration:none;display:flex}.booking-field{border:0;gap:.25rem;margin:0;padding:0;display:grid}.booking-field>span,.booking-field legend{color:var(--shop-muted);font-size:.875rem}.booking-field input:not([type=radio]),.booking-field textarea{box-sizing:border-box;background:var(--shop-page);width:100%;min-height:3rem;color:var(--shop-ink);font:inherit;border:1px solid #c9ced6;border-radius:10px;padding:.625rem .75rem;font-size:1rem}.booking-field small{color:var(--shop-muted);font-size:.8125rem}.booking-field input:focus-visible,.booking-field textarea:focus-visible,.booking-choice input:focus-visible,.booking-consent input:focus-visible{outline:2px solid var(--shop-ink);outline-offset:2px}.booking-gender{flex-wrap:wrap;gap:.25rem 1.5rem;display:flex}.booking-gender legend{width:100%;padding-bottom:.25rem}.booking-gender label,.booking-consent{cursor:pointer;align-items:center;gap:.5rem;min-height:2.75rem;display:flex}.booking-gender input,.booking-consent input{width:1.25rem;height:1.25rem;accent-color:var(--shop);flex:none;margin:0}.booking-privacy{color:var(--shop-muted);font-size:.875rem}.booking-privacy summary{min-height:2.75rem;color:var(--shop);cursor:pointer;align-items:center;font-weight:600;display:flex}.booking-privacy p{margin:0 0 .5rem}.booking-day{position:relative}.booking-day-mark{background:var(--shop);border-radius:50%;width:.375rem;height:.375rem;position:absolute;bottom:.375rem;left:50%;transform:translate(-50%)}.booking-day[aria-current=date] .booking-day-mark{background:#fff}.booking-summary{padding:var(--space-s);background:linear-gradient(135deg, color-mix(in srgb, var(--shop-tint) 65%, #ffe3ea), color-mix(in srgb, var(--shop) 10%, #fff1e4));border-radius:16px;gap:.25rem;display:grid}.booking-summary b{font-size:1.0625rem}.visit-mark{background:#e3f4ea;border-radius:50%;place-items:center;width:3.5rem;height:3.5rem;display:grid}.visit-mark:after{content:"";border:3px solid #17663a;border-width:0 3px 3px 0;width:.875rem;height:1.5rem;transform:rotate(45deg)translate(-2px,-2px)}.visit-mark.is-pending{background:#fdf3dc}.visit-mark.is-pending:after{border:3px solid #8a5a00;border-radius:50%;width:1.25rem;height:1.25rem;transform:none}.shop button.booking-time{background:var(--shop-page);width:100%;font:inherit;cursor:pointer;font-weight:700}.shop .visit-button{border:1px solid var(--shop-line);background:var(--shop-page);min-height:3.25rem;color:var(--shop-ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0 1rem;font-weight:700;text-decoration:none;display:flex}.shop .visit-button.is-danger{color:#b42318}.shop .visit-button.is-primary{border-color:var(--shop);background:var(--shop);color:var(--shop-on,#fff)}.visit-confirm{background:#fdecea;border-radius:12px;gap:.5rem;padding:.875rem;display:grid}.visit-confirm p{color:#8a1c12}.visit-notice{color:#17663a;background:#e3f4ea;border-radius:10px;padding:.625rem .75rem;font-weight:600}.site-inner{box-sizing:border-box;width:100%;max-width:var(--site-measure);padding-inline:max(1rem, env(safe-area-inset-left,0px));margin:0 auto}.site-bar{z-index:20;background:var(--site-bg);border-bottom:1px solid var(--site-line);position:sticky;top:0}.site-bar-row{align-items:center;gap:1rem;min-height:3.5rem;display:flex}.site .site-brand{min-width:0;color:var(--site-ink);font-family:var(--site-display);font-weight:var(--site-display-weight);font-size:var(--step-1);align-items:center;gap:.5rem;margin-right:auto;text-decoration:none;display:inline-flex}.site-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site-brand img{object-fit:cover;border-radius:50%;width:2rem;height:2rem}.site-nav{gap:1.25rem;display:none}.site .site-nav a,.site .site-menu-sheet a{color:var(--site-ink);text-decoration:none}@media (hover:hover) and (pointer:fine){.site .site-nav a:hover{text-underline-offset:.25em;text-decoration:underline}}.site-menu-sheet summary{border:1px solid var(--site-line);border-radius:var(--site-button-radius);cursor:pointer;align-items:center;min-height:44px;padding-inline:.75rem;list-style:none;display:inline-flex}.site-menu-sheet summary::-webkit-details-marker{display:none}.site-menu-sheet nav{padding:.5rem max(1rem, env(safe-area-inset-left,0px)) 1rem;background:var(--site-bg);border-bottom:1px solid var(--site-line);display:grid;position:absolute;inset:100% 0 auto;box-shadow:0 12px 24px #00000014}.site-menu-sheet nav a{border-bottom:1px solid var(--site-line);align-items:center;min-height:48px;display:flex}.site-menu-sheet .when-open,.site-menu-sheet[open] .when-closed{display:none}.site-menu-sheet[open] .when-open{display:inline}.site-bar:has(.site-menu-sheet[open]){background:var(--site-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.site-menu-sheet[open] nav{padding:var(--space-l) max(1rem, env(safe-area-inset-left,0px)) var(--space-xl);box-shadow:none;border-bottom:0;align-content:start;gap:.25rem;position:fixed;inset:calc(3.5rem + 1px) 0 0;overflow-y:auto}.site-menu-sheet[open] nav>a{min-height:3.5rem;font-family:var(--site-display);font-size:var(--step-3);font-weight:var(--site-display-weight);letter-spacing:var(--site-display-tracking);border-bottom:0}.site-menu-sheet[open] nav .site-sheet-languages{margin-top:var(--space-m)}@media (prefers-reduced-motion:no-preference){.site-menu-sheet[open] nav{animation:.32s cubic-bezier(.16,.84,.32,1) site-curtain}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.site .site-nav a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s cubic-bezier(.16,.84,.32,1)}.site .site-nav a:hover{background-size:100% 1px;text-decoration:none}}.site-bar-action{display:none}.site-languages{gap:.25rem;display:none}.site .site-languages a,.site .site-sheet-languages a{border-radius:var(--site-button-radius);min-height:44px;color:var(--site-muted);font-size:var(--step--1);align-items:center;padding-inline:.5rem;text-decoration:none;display:inline-flex}.site .site-languages a[aria-current],.site .site-sheet-languages a[aria-current]{color:var(--site-ink);text-underline-offset:.3em;font-weight:600;text-decoration:underline}.site-menu-sheet nav .site-sheet-languages{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.site-menu-sheet nav .site-sheet-languages a{border-bottom:0}@media (min-width:900px){.site-languages{display:flex}}.site .site-book{border-radius:var(--site-button-radius);background:var(--accent);color:#fff;white-space:nowrap;justify-content:center;align-items:center;min-height:44px;padding-inline:1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.site[data-style=notte] .site-book{box-shadow:0 0 0 1px #f3eee673}.site-pinned{z-index:20;padding:.75rem max(1rem, env(safe-area-inset-left,0px)) calc(.75rem + env(safe-area-inset-bottom,0px));background:linear-gradient(to top, var(--site-bg) 70%, transparent);display:flex;position:fixed;inset:auto 0 0}.site-pinned .site-book{flex:1}@media (min-width:900px){.site-nav{display:flex}.site-menu-sheet{display:none}.site-bar-action{display:block}.site-pinned{display:none}}.site-home{display:grid}.site-cover{object-fit:cover;background:var(--site-alt);width:100%;height:min(52vh,28rem);min-height:16rem;display:block}@media (min-width:900px){.site-cover{height:min(72vh,46rem)}}.site-home.is-text .site-home-band{padding-block:var(--space-2xl) var(--space-l)}.site-home-band{padding-block:var(--space-m) var(--space-l);gap:.5rem;display:grid}.site-name{font-size:var(--step-5)}.site-line{max-width:40rem;font-size:var(--step-1)}.site-meta{color:var(--site-muted);flex-wrap:wrap;gap:.25rem 1rem;display:flex}.site-meta .is-open{color:var(--site-ink);font-weight:600}.site-rotation{position:relative;overflow:hidden}.site-rotation img{object-fit:cover;opacity:0;width:100%;height:100%;position:absolute;inset:0}.site-rotation img:first-child{opacity:1}.site-rotation img.is-previous{z-index:1;opacity:1}.site-rotation img.is-current{z-index:2;opacity:1}@media (prefers-reduced-motion:no-preference){.site-rotation img.is-entering{animation:1.6s linear both site-photo-in}}.site .site-rotation-control{right:max(1rem, env(safe-area-inset-right,0px));z-index:3;color:#fff;min-width:44px;min-height:44px;font:inherit;font-size:var(--step--1);font-variant-numeric:tabular-nums;cursor:pointer;background:#1414149e;border:0;border-radius:999px;align-items:center;gap:.5rem;padding-inline:.875rem;display:inline-flex;position:absolute;bottom:1rem}.site-rotation-icon{width:.625rem;height:.75rem}.site-rotation-icon.is-playing{border-inline:3px solid}.site-rotation-icon.is-paused{border-block:6px solid #0000;border-left:10px solid;width:0;height:0}.site-split{display:grid}.site-split .site-split-text{order:2}@media (min-width:900px){.site-split{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:center;min-height:min(72vh,46rem)}.site-split .site-split-text{padding-inline:max(1rem, calc((100vw - var(--site-measure)) / 2 + 1rem)) var(--space-l);order:0}.site-split .site-cover{height:100%;min-height:min(72vh,46rem)}}.site-home.is-gallery .site-home-band{padding-bottom:var(--space-s)}.site-mosaic{margin:0 auto var(--space-l);grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding-block:0;list-style:none;display:grid}.site-mosaic li:first-child{grid-column:span 2}.site-mosaic img{aspect-ratio:1;border-radius:var(--site-photo-radius);object-fit:cover;width:100%;height:100%;display:block}.site-mosaic li:first-child img{aspect-ratio:16/10}@media (min-width:900px){.site-mosaic{grid-template-columns:2fr 1fr 1fr;grid-auto-rows:minmax(0,14rem)}.site-mosaic li:first-child{grid-area:span 2}.site-mosaic li:first-child img,.site-mosaic img{aspect-ratio:auto}.site-mosaic:has(>li:nth-child(3):last-child){grid-template-columns:2fr 1fr}.site-mosaic>li:nth-child(4):last-child{grid-column:span 2}}.site-bar{background:color-mix(in srgb, var(--site-bg) 80%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.2);backdrop-filter:blur(14px)saturate(1.2);border-bottom-color:#ffffff80}.site-home.is-field{isolation:isolate;margin-top:calc(-3.5rem - 1px);padding-top:calc(3.5rem + 1px);position:relative;overflow:hidden}.site-field-art{z-index:-2;width:100%;height:100%;position:absolute;inset:0}.site-field-ripples{z-index:-2;opacity:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.site-field-ripples.is-ready{opacity:1}.site-home.is-field:before{content:"";z-index:-1;background:linear-gradient(to bottom, color-mix(in srgb, var(--field-base) 80%, transparent) 0 42%, transparent 72%);position:absolute;inset:0}.site-field-row{gap:var(--space-l);padding-block:var(--space-xl);display:grid}.site-field-words{align-content:center;gap:.75rem;display:grid}.site-home.is-field .site-name{font-size:clamp(2.5rem,1.6rem + 3.6vw,4.75rem);line-height:1.05}.site-home.is-field .site-meta{color:var(--site-ink)}.site-field-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.site .site-field-more{border-radius:var(--site-button-radius);min-height:44px;color:var(--site-ink);border:1.5px solid;align-items:center;padding:0 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}@media (min-width:900px){.site-home.is-field:before{background:linear-gradient(to right, color-mix(in srgb, var(--field-base) 82%, transparent) 0 34%, transparent 60%)}.site-field-row{padding-block:var(--space-2xl) var(--space-l)}}@media (prefers-reduced-motion:no-preference){.site-reveal :is(.site-section .site-title,.site-section .site-intro,.site-service-card,.site-people>li,.site-offer,.site-photos>li){transition:opacity .6s cubic-bezier(.16, .84, .32, 1) var(--reveal-delay,0s), transform .6s cubic-bezier(.16, .84, .32, 1) var(--reveal-delay,0s)}.site-reveal :is(.site-section .site-title,.site-section .site-intro,.site-service-card,.site-people>li,.site-offer,.site-photos>li):not(.is-in){opacity:0;transform:translateY(16px)}}.site-home-action{margin-top:.5rem;display:none}@media (min-width:900px){.site-home-action{display:block}}.site-section{background:var(--site-alt);padding-block:clamp(.5rem,1.5vw,1rem);scroll-margin-top:4rem}.site-section:last-of-type{padding-bottom:var(--space-l-xl)}.site-surface{gap:var(--space-s);border:1px solid var(--site-line);border-radius:calc(var(--site-radius) * 1.75);background:var(--site-bg);padding:clamp(1.25rem,3vw,2.5rem);display:grid}.site-section .site-inner{gap:var(--space-s);display:grid}.site-title{font-size:var(--step-3)}.site-intro,.site-muted{color:var(--site-muted)}.site-intro{max-width:42rem}.site-story .site-inner{align-items:center}.site-story-text{gap:var(--space-xs);max-width:40rem;display:grid}.site-story-photos{gap:.75rem;display:grid}.site-story-photos img{aspect-ratio:4/3}@media (min-width:900px){.site-story .site-inner{gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.site-story.is-left .site-story-photos{order:-1}.site-story.is-none .site-inner{grid-template-columns:minmax(0,1fr)}}.site-chips{flex-wrap:wrap;gap:.5rem;display:flex}.site .site-chip{border:1px solid var(--site-line);min-height:44px;color:var(--site-ink);border-radius:999px;align-items:center;padding-inline:1rem;text-decoration:none;display:inline-flex}.site-menu{gap:var(--space-m);display:grid}@media (min-width:900px){.site-services.is-columns .site-menu{gap:var(--space-m) var(--space-xl);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.site-category{gap:.25rem;scroll-margin-top:4rem;display:grid}.site-category h3{font-size:var(--step-1)}.site-item{grid-template-columns:minmax(0,max-content) minmax(1rem,1fr) auto;align-items:center;gap:.5rem;min-height:3.25rem;display:grid}.site-leader{border-bottom:2px dotted color-mix(in srgb, var(--site-muted) 55%, transparent);align-self:center;height:0;transform:translateY(.35em)}.site-item-name{display:grid}.site-item-name small{color:var(--site-muted);font-size:var(--step--1)}.site-offer-mark{border:1px solid var(--site-link);color:var(--site-link);border-radius:999px;justify-self:start;padding:0 .4rem;font-size:.75rem;font-weight:600;line-height:1.4}.site-price{font-variant-numeric:tabular-nums;white-space:nowrap}.site-people{gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));display:grid}.site-person{align-content:start;gap:.75rem;display:grid}.site-person-head{align-items:center;gap:.875rem;display:flex}.site-person-head .site-avatar{aspect-ratio:1;width:4.5rem;font-size:var(--step-2);border-radius:50%;flex:none}.site-person-name{display:grid}.site-person-name b{font-family:var(--site-display);font-size:var(--step-1);font-style:var(--site-display-style);font-weight:var(--site-display-weight)}.site-people img{aspect-ratio:4/5}.site-people small{color:var(--site-muted)}.site-person-bio{color:var(--site-ink);line-height:1.6}.site-person-bio.is-placeholder{color:var(--site-muted);font-style:italic}.site-avatar{aspect-ratio:4/5;border-radius:calc(var(--site-photo-radius) + 6px);background:var(--accent-tint);color:var(--site-ink);font-family:var(--site-display);font-size:var(--step-4);place-items:center;display:grid;position:relative;overflow:hidden}.site-avatar>svg{width:100%;height:100%;position:absolute;inset:0}.site-avatar>b{font-weight:var(--site-display-weight);position:relative}.site-season-row{gap:var(--space-m);align-items:center;display:grid}.site-season-art{aspect-ratio:16/10;border-radius:calc(var(--site-photo-radius) + 10px);position:relative;overflow:hidden}.site-season-art>svg,.site-season-art>img{object-fit:cover;width:100%;height:100%;display:block}.site-season-text{gap:.75rem;max-width:32rem;display:grid}.site-season .site-title{font-size:var(--step-4)}@media (min-width:900px){.site-season-row{gap:var(--space-xl);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}.site-service-cards{gap:var(--space-m);display:grid}@media (min-width:700px){.site-service-cards{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));align-items:start}}.site-service-card{border:1px solid var(--site-line);border-radius:calc(var(--site-photo-radius) + 8px);background:var(--site-card,var(--site-bg));scroll-margin-top:4rem;display:grid;overflow:hidden}.site[data-style=vivace] .site-section .site-service-card{--site-card:var(--site-bg)}.site-service-art{aspect-ratio:16/7;position:relative}.site-art-card{width:100%;height:100%;display:block;position:relative}.site-art-card>svg{width:100%;height:100%;display:block}.site-art-word{color:color-mix(in srgb, var(--site-ink) 78%, transparent);font-family:var(--site-display);font-size:clamp(1.25rem,.9rem + 1.2vw,1.75rem);font-style:var(--site-display-style);text-align:center;text-wrap:balance;place-items:center;padding:.75rem;line-height:1.1;display:grid;position:absolute;inset:0}.site.is-dressed .site-art-word{font-family:var(--font-site-signature), var(--site-display);font-size:clamp(1.75rem,1.2rem + 1.8vw,2.5rem);font-style:normal}.site-art-word.is-large{font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}.site.is-dressed .site-art-word.is-large{font-size:clamp(2.75rem,2rem + 3vw,4.25rem)}.site:lang(zh) .site-art-word{font-family:var(--site-display);font-style:normal}.site-service-art>svg,.site-service-art>img{object-fit:cover;width:100%;height:100%;display:block}.site-service-body{padding:var(--space-xs) var(--space-s) var(--space-s);gap:.25rem;display:grid}.site-service-body h3{font-size:var(--step-1)}.site-service-body ul{margin:0;padding:0;list-style:none}.site-service-body .site-item:last-child{border-bottom:0}.site-more summary{border-top:1px solid var(--site-line);min-height:44px;color:var(--site-link);cursor:pointer;align-items:center;gap:.5rem;font-weight:600;list-style:none;display:flex}.site-more summary::-webkit-details-marker{display:none}.site-more summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;transform:translateY(-2px)rotate(45deg)}.site-more[open] summary:after{transform:translateY(2px)rotate(-135deg)}.site-more .site-more-open,.site-more[open] .site-more-closed{display:none}.site-more[open] .site-more-open{display:inline}.site-placeholder-line{font-style:italic}.site-offer-list{gap:var(--space-s);grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));display:grid}.site-offer{padding:var(--space-xs);border:1px solid var(--site-line);border-radius:var(--site-radius);align-content:start;gap:.5rem;display:grid}.site-offer>div{gap:.25rem;display:grid}.site-offer img{aspect-ratio:16/10}.site-placeholder figure>svg{aspect-ratio:1;border-radius:var(--site-photo-radius);opacity:.75;width:100%;display:block}.site-placeholder figcaption{font-style:italic}.site-gallery.is-row .site-photos li{scroll-snap-align:start;flex:0 0 min(80%,22rem)}.site-hours-grid{gap:var(--space-m);display:grid}@media (min-width:900px){.site-hours-grid{grid-template-columns:minmax(0,28rem) minmax(0,1fr);align-items:start}}.site-hours table{border-collapse:collapse;width:100%}.site-hours th,.site-hours td{border-bottom:1px solid var(--site-line);text-align:start;padding:.625rem 0;font-weight:400}.site-hours td{text-align:end;font-variant-numeric:tabular-nums}.site-hours tr.is-today th,.site-hours tr.is-today td{font-weight:600}.site-hours h3{font-size:var(--step-1);margin-bottom:.5rem}.site-closures{color:var(--site-muted);gap:.25rem;display:grid}.site-links{flex-wrap:wrap;gap:.5rem 1.25rem;display:flex}.site-links a,.site .site-link{align-items:center;min-height:44px;font-weight:600;display:inline-flex}.site-footer{padding-block:var(--space-l) calc(var(--space-2xl) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--site-line);color:var(--site-muted)}.site-footer .site-inner{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.site-footer b{color:var(--site-ink)}.site-footer .site-footer-link{min-height:44px;color:inherit;text-underline-offset:.2em;align-items:center;text-decoration:underline;display:inline-flex}.site-footer .site-inner{align-items:center}.shop .visit-phone{color:inherit;white-space:nowrap;font-weight:700}.privacy-page p{max-width:40rem;line-height:1.6}@media (min-width:900px){.site-footer{padding-bottom:var(--space-l)}}.site-backdrop{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.site-section{background:0 0}.site-surface{border-color:var(--site-glass-line);background:var(--site-glass);box-shadow:var(--site-glass-shadow)}.site.is-dressed .site-home .site-name{font-family:var(--font-site-signature), var(--site-display);letter-spacing:0;font-size:clamp(3.25rem,2.2rem + 4.6vw,6rem);font-style:normal;font-weight:400;line-height:1}.site:lang(zh) .site-home .site-name{font-family:var(--site-display);font-size:clamp(2.5rem,1.6rem + 3.6vw,4.75rem)}.site-footer{border-top-color:var(--site-glass-line);background:var(--site-glass)}.site-footer .site-footer-name{font-family:var(--site-display);font-size:1.5rem;font-style:var(--site-display-style);font-weight:400;line-height:1.2}.site.is-dressed .site-footer .site-footer-name{font-family:var(--font-site-signature), var(--site-display);font-size:2.25rem;font-style:normal}.site-footer .site-footer-socials{margin-left:auto}.site-menu-book{padding-top:var(--space-s);justify-content:center;display:flex}.site-carousel{min-width:0;padding-bottom:var(--space-l);position:relative}.site-carousel-window{padding-block:.5rem 2.5rem;overflow:hidden}.site-carousel-window:has(.is-looping){-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.site-carousel-track{display:flex}.site-carousel-track.is-looping{will-change:transform;width:max-content;animation:90s linear infinite site-carousel-drift}.site-carousel.is-paused .site-carousel-track,.site-carousel-track.is-resting{animation-play-state:paused}.site-carousel-row{gap:var(--space-s);padding:0 var(--space-s) 0 0;margin:0;list-style:none;display:flex}.site-carousel-track:not(.is-looping) .site-carousel-row{flex-wrap:wrap;justify-content:center;width:100%;padding:0 1rem}.site-carousel-row>li{aspect-ratio:4/5;border-radius:calc(var(--site-photo-radius) + 10px);flex:none;width:clamp(10rem,20vw,16rem);overflow:hidden;box-shadow:0 1rem 2.5rem -.75rem #28140a4d}.site-carousel-row>li:nth-child(2n){transform:translateY(1.75rem)}.site-carousel-row>li>:is(img,svg){object-fit:cover;width:100%;height:100%;display:block}.site .site-carousel-control{right:max(1rem, env(safe-area-inset-right,0px));border:1px solid var(--site-glass-line);background:var(--site-glass);width:44px;height:44px;color:var(--site-ink);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.25rem}.site .site-carousel-control:focus-visible{outline:2px solid var(--site-link);outline-offset:2px}.site-season.is-spring{--season-colour:#7fae6a}.site-season.is-summer{--season-colour:#e0962f}.site-season.is-autumn{--season-colour:#b85c2c}.site-season.is-winter{--season-colour:#6283ad}.site-season .site-surface{border-color:color-mix(in srgb, var(--season-colour) 45%, transparent)}.site-season-tag{background:color-mix(in srgb, var(--season-colour) 16%, var(--site-bg));color:var(--site-ink);font-size:var(--step--1);letter-spacing:.04em;border-radius:999px;justify-self:start;align-items:center;gap:.5rem;padding:.25rem .875rem;font-weight:600;display:inline-flex}.site-season-dot{background:var(--season-colour);border-radius:50%;width:.625rem;height:.625rem}.site .site-socials{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.site .site-socials a{border:1px solid var(--site-glass-line);background:var(--site-glass);width:44px;height:44px;color:var(--site-ink);border-radius:50%;place-items:center;display:grid}.site .site-socials a:focus-visible{outline:2px solid var(--site-link);outline-offset:2px}.booking-none{margin:var(--space-s) 0 0;color:var(--shop-ink,inherit);font-weight:600}.booking-wait{margin-top:var(--space-s);padding-top:var(--space-s);border-top:1px solid color-mix(in srgb, currentColor 15%, transparent);gap:.75rem;display:grid}.booking-wait-when{border:0;flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;display:flex}.booking-wait-when legend{margin-bottom:.25rem;font-weight:600}.booking-wait-when label{align-items:center;gap:.375rem;min-height:44px;display:inline-flex}.booking-wait-privacy{font-size:var(--step--1);margin:0}.booking-wait-done{margin:var(--space-s) 0 0;font-weight:600}.preview-bar .preview-data{flex-basis:100%;font-size:.8125rem}.preview-languages{gap:.25rem;display:flex}.preview-bar .preview-languages [aria-current]{text-underline-offset:.25em;text-decoration:underline}.site [data-section].is-editing{outline-offset:-3px;outline:3px solid #7a2e5c}.site-season-row{align-items:start}.site-showcase-title{color:var(--site-muted);font-family:inherit;font-size:var(--step--1);letter-spacing:.04em;margin:.5rem 0 0;font-weight:600}.site-showcase-services,.site-showcase-colours,.site-showcase-offers{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.site-showcase-services li{border-radius:calc(var(--site-photo-radius) + 4px);background:color-mix(in srgb, var(--site-ink) 5%, var(--site-bg));grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.625rem .75rem;display:grid}.site .site-showcase-book{border-radius:var(--site-button-radius);background:var(--accent);color:#fff;align-items:center;min-height:44px;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.site-showcase-colours{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}.site-showcase-colours li{color:var(--site-muted);font-size:var(--step--1);text-align:center;justify-items:center;gap:.375rem;display:grid}.site-swatch{border-radius:50%;width:2.5rem;height:2.5rem;display:block;box-shadow:inset 0 0 0 1px #0000001a,0 2px 6px -2px #0000004d}.site-showcase-offers li{border:1px dashed var(--site-line);border-radius:calc(var(--site-photo-radius) + 4px);padding:.625rem .75rem}@keyframes showcase-in{0%{opacity:0}}@keyframes site-curtain{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes site-photo-in{0%{opacity:0}to{opacity:1}}@keyframes site-carousel-drift{to{transform:translate(-50%)}}
