/* Isolated study: no stylesheet or selector is shared with the production preview. */
.artist-service-context{font-size:12px;line-height:1.8;color:var(--bronze);margin-top:18px}.artist-service-context+.artist-grid{margin-top:14px}
.date-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px}.date-heading>div>span{font-size:14px}.date-heading small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.date-heading>span{font-size:10px;color:var(--muted);white-space:nowrap}.date-heading+.day-list{position:relative;margin-top:15px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:24px;padding-block:4px}.date-heading+.day-list .day{flex:0 0 64px;scroll-snap-align:start}.day .day-month{display:block;font-size:10px;margin-top:7px;color:var(--muted)}.day.selected .day-month{color:#d1d5c9}.day-list::-webkit-scrollbar{display:none}
:root{--paper:#f3f1ec;--surface:#fbfaf7;--ink:#232723;--muted:#74766e;--line:#dcdcd4;--olive:#656b57;--bronze:#8c7253;--ease:cubic-bezier(.2,.7,.2,1);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#d8d8ce;font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--olive);outline-offset:4px}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550}button,label{touch-action:manipulation}.app-shell{width:min(100%,480px);min-height:100svh;margin-left:auto;margin-right:max(7vw,24px);position:relative;background:var(--paper);box-shadow:0 0 100px #25292318;overflow:clip}#app{min-height:100svh;outline:none;padding-bottom:114px}.glass{background:rgba(251,250,247,.82);border:1px solid rgba(255,255,255,.78);box-shadow:0 8px 28px #2225190b,inset 0 1px 0 #ffffff99;-webkit-backdrop-filter:blur(24px) saturate(1.3);backdrop-filter:blur(24px) saturate(1.3)}.app-header{position:fixed;z-index:30;top:max(14px,env(safe-area-inset-top));width:calc(min(100vw,480px) - 32px);margin-left:16px;height:62px;padding:0 15px;border-radius:23px;display:flex;align-items:center;justify-content:space-between;transition:background .3s,color .3s,box-shadow .3s}.brand{display:flex;align-items:center;gap:10px;padding:0;text-align:left}.brand img{width:39px;height:25px;object-fit:contain}.brand span{font-size:16px;letter-spacing:2px;font-weight:700}.brand small{display:block;font-size:6px;letter-spacing:1.55px;margin-top:4px;font-weight:500;opacity:.6}.preview-badge{font-size:10px;letter-spacing:1px;display:flex;gap:6px;align-items:center;padding:10px 0 10px 8px}.preview-badge i{width:5px;height:5px;border-radius:50%;background:#858d72}.bottom-nav{position:fixed;z-index:35;bottom:max(16px,env(safe-area-inset-bottom));width:calc(min(100vw,480px) - 64px);margin-left:32px;height:68px;border-radius:28px;display:grid;grid-template-columns:repeat(3,1fr);padding:5px}.bottom-nav button{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:23px;color:#81857b;transition:background .25s,color .25s}.bottom-nav button[aria-current="page"]{background:rgba(225,227,217,.84);color:var(--ink)}.bottom-nav span{font-size:12px;font-weight:600}.bottom-nav svg{width:20px;height:20px}.eyebrow{font-size:10px;letter-spacing:2.4px;line-height:1.5;font-weight:600;color:var(--bronze)}.caps{font-size:9px;letter-spacing:1.6px;line-height:1.6}.muted{color:var(--muted)}.arrow{font-size:24px;font-weight:300;line-height:1}.btn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;border-radius:16px;background:var(--ink);color:var(--surface);font-size:15px;font-weight:550;padding:14px 22px;letter-spacing:.5px;transition:transform .18s,background .18s}.btn:active{transform:scale(.985)}.btn:disabled{background:#e1e2da;color:#979c8f}.btn-light{background:var(--surface);color:var(--ink)}.btn-quiet{background:#e6e7de;color:var(--ink)}.btn-outline{border:1px solid var(--line);background:transparent;color:var(--ink)}.wide{width:100%}.text-link{font-size:13px;display:inline-flex;align-items:center;gap:12px;min-height:44px}.num{font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",sans-serif;letter-spacing:-.4px}.page{padding:111px 24px 25px;animation:appear .35s var(--ease)}.page-title{font-size:32px;line-height:1.3;letter-spacing:-1px;margin:12px 0 13px}.intro{font-size:13px;line-height:1.8;color:var(--muted)}.page-topline{display:flex;justify-content:space-between;align-items:center}.back-btn{width:36px;height:36px;background:#e9e8e1;border-radius:50%;font-size:20px}.hairline{height:1px;background:var(--line);display:block}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:22px}.section-heading h2{font-size:27px;letter-spacing:-.8px;margin-top:8px}.section-heading .text-link{font-size:12px}.section{padding:38px 24px}.tiny-note{font-size:11px;color:var(--muted);line-height:1.8}.demo-strip{font-size:10px;color:var(--muted);line-height:1.6;letter-spacing:.3px;display:flex;gap:6px;align-items:start;margin-top:24px}.demo-strip::before{content:"◌";font-size:14px;line-height:1.2}.loading{padding:150px 24px;color:var(--muted);font-size:14px}
/* Editorial home */
.hero{height:min(880px,calc(100svh - 30px));min-height:640px;position:relative;background:#383c33;overflow:hidden;color:#fff}.hero-images,.hero-shade,.hero-image{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:center;opacity:0;transition:opacity .7s ease}.hero-image.active{opacity:1}.hero-shade{background:linear-gradient(180deg,transparent 34%,#0a100b08 44%,#0a100b99 71%,#0a100bea 100%)}.hero-index{position:absolute;left:25px;bottom:282px;display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:2px}.hero-index::after{content:"";height:1px;width:38px;background:#ffffff60}.hero-copy{position:absolute;left:25px;right:25px;bottom:108px}.hero-copy .eyebrow{color:#e0ddcf;letter-spacing:2.8px;font-size:9px}.hero h1{font-size:clamp(40px,10.5vw,49px);font-weight:500;line-height:1.18;letter-spacing:-1.5px;margin:12px 0 12px}.hero-description{font-size:12px;letter-spacing:.5px;color:#ffffffb8;margin-bottom:23px}.hero .btn{display:inline-flex;min-height:50px;min-width:186px;border-radius:15px;justify-content:space-between;font-size:14px}.hero-foot{position:absolute;bottom:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center}.slide-controls{display:flex;align-items:center;gap:7px}.slide-dot{position:relative;width:22px;height:30px;padding:0}.slide-dot::before{content:"";position:absolute;left:0;right:0;top:14px;height:2px;background:#ffffff4d;transition:background .3s}.slide-dot.active::before{background:#fff}.play-pause{width:34px;height:34px;border:1px solid #ffffff50;border-radius:50%;margin-left:4px;font-size:11px;color:#fff}.hero-foot .caps{font-size:8px;opacity:.65}.statement{padding:37px 25px 34px}.statement h2{font-size:26px;font-weight:450;line-height:1.6;letter-spacing:-.6px;margin:13px 0 16px}.statement h2 span{color:var(--olive)}.statement p:last-child{font-size:12px;line-height:1.9;color:var(--muted);max-width:310px}.services-teaser{border-top:1px solid var(--line);padding:0 24px}.teaser-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:22px 0;border-bottom:1px solid var(--line);text-align:left}.teaser-row .tiny{font-size:10px;color:var(--bronze);margin-right:14px;align-self:center}.teaser-label{flex:1}.teaser-label strong{font-weight:500;font-size:18px;letter-spacing:.5px}.teaser-label small{font-size:8px;letter-spacing:2px;color:var(--muted);display:block;margin-top:5px}.teaser-price{font-size:12px;margin-right:18px;color:var(--muted)}.artists-strip{display:grid;grid-template-columns:1fr 1fr;gap:24px 15px}.artist-mini img{width:100%;aspect-ratio:670/570;object-fit:cover;border-radius:10px}.artist-mini .mini-title{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:16px}.artist-mini small{display:block;font-size:9px;color:var(--muted);margin-top:4px;letter-spacing:1px}.artist-mini button{padding:0;text-align:left;width:100%}.artist-mini .arrow{font-size:19px}.store-section{margin:0 14px;border-radius:22px;background:#e7e7df;overflow:hidden}.store-photo{width:100%;aspect-ratio:1.26;object-fit:cover}.store-copy{padding:24px 20px}.store-title{display:flex;align-items:center;justify-content:space-between;margin:9px 0 15px}.store-title h2{font-size:25px}.store-copy p{font-size:12px;color:#707468;line-height:1.9}.store-actions{display:flex;gap:10px;margin-top:22px}.store-actions a{flex:1;font-size:12px;min-height:44px;padding:10px;border-radius:12px}.store-time{display:flex;align-items:center;gap:7px;font-size:11px;margin-top:16px}.store-time i{width:5px;height:5px;background:var(--olive);border-radius:50%}.home-footer{padding:42px 25px 20px;display:flex;align-items:center;justify-content:space-between;color:#929386}.home-footer img{width:75px;opacity:.65}.home-footer p{text-align:right;font-size:8px;line-height:2;letter-spacing:1.6px}
/* Booking */
.progress{display:flex;align-items:center;gap:5px;margin:17px 0 32px}.progress span{height:3px;flex:1;background:#ddded6;border-radius:4px}.progress span.done{background:var(--olive)}.progress small{font-size:10px;color:var(--muted);margin-left:10px}.filters{display:flex;padding:5px;background:#e7e8e0;border:1px solid #ddded5;border-radius:17px;gap:2px;margin:25px 0 12px;position:sticky;top:90px;z-index:10}.filters button{flex:1;padding:11px 3px;font-size:12px;border-radius:12px;color:#74796d;white-space:nowrap}.filters button.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 5px #30342405;font-weight:600}.catalog-label{display:flex;justify-content:space-between;padding:20px 2px 10px;font-size:10px;letter-spacing:1.6px;color:var(--bronze)}.service-list{display:grid;gap:4px}.service-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:95px;padding:18px 12px;border:1px solid transparent;border-bottom-color:var(--line);border-radius:0;text-align:left;width:100%;transition:background .2s,border .2s}.service-row.selected{background:#e6e9dd;border-color:#aeb79b;border-radius:15px}.select-mark{width:17px;height:17px;border:1px solid #c5c9bc;border-radius:50%;display:grid;place-items:center;color:transparent;font-size:10px}.selected .select-mark{background:var(--olive);border-color:var(--olive);color:white}.service-name{font-size:14px;line-height:1.5;font-weight:550}.service-desc{display:block;color:#777d6e;font-size:10px;line-height:1.6;margin-top:5px}.service-price{font-size:16px;white-space:nowrap;font-weight:500}.service-price small{font-size:10px;font-weight:400;margin-left:2px;color:var(--muted)}.catalog-note{font-size:11px;line-height:1.8;color:var(--muted);padding:22px 5px}.has-dock #app{padding-bottom:211px}.booking-dock{position:fixed;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 80px);z-index:32;margin-left:16px;width:calc(min(100vw,480px) - 32px);padding:10px;border-radius:22px;display:flex;align-items:center;gap:12px;background:rgba(251,250,247,.96);border:1px solid #e5e6de;box-shadow:0 6px 30px #2428200c}.dock-summary{flex:1;padding-left:9px;min-width:0}.dock-summary small{display:block;font-size:10px;color:var(--muted);margin-bottom:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dock-summary strong{font-size:18px;font-weight:550}.dock-summary em{font-size:10px;font-style:normal;color:var(--muted);margin-left:4px}.booking-dock .btn{padding:13px 19px;min-width:132px;min-height:49px;border-radius:14px;font-size:13px}.artist-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:25px}.artist-card{padding:6px 6px 18px;border:1px solid transparent;border-radius:17px;background:#faf9f5;text-align:left;overflow:hidden}.artist-card.selected{border-color:#aeb79b;background:#e6e9dd}.artist-card img{width:100%;aspect-ratio:670/570;object-fit:cover;border-radius:11px}.artist-card-title{display:flex;justify-content:space-between;align-items:center;padding:14px 9px 4px;font-size:17px;font-weight:500}.artist-card small{display:block;padding:0 9px;font-size:10px;color:var(--muted)}.day-list{display:flex;gap:8px;overflow:auto;scrollbar-width:none;margin:25px -24px 30px;padding:0 24px}.day{min-width:59px;padding:15px 8px;border-radius:18px;border:1px solid var(--line);background:#f8f7f2}.day span{display:block;font-size:10px;margin-bottom:10px;color:var(--muted)}.day strong{font-size:22px;font-weight:500}.day.selected{background:var(--ink);color:white;border-color:var(--ink)}.day.selected span{color:#d1d5c9}.time-heading{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:15px}.time-heading span{font-size:10px;color:var(--muted)}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.time-slot{padding:15px 4px;border-radius:13px;border:1px solid var(--line);font-size:14px;min-height:48px}.time-slot.selected{border-color:#8c9878;background:#e1e6d7;color:#39442d;font-weight:600}.review-card{margin-top:25px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#faf9f5;padding:22px}.review-artist{display:flex;gap:14px;align-items:center;padding-bottom:20px;margin-bottom:7px;border-bottom:1px solid var(--line)}.review-artist img{width:58px;height:58px;object-fit:cover;border-radius:14px}.review-artist h3{font-size:18px;margin-bottom:5px}.review-artist p{font-size:11px;color:var(--muted)}.detail-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;font-size:13px;line-height:1.6}.detail-row>span:first-child{color:var(--muted);flex-shrink:0}.detail-row>span:last-child{text-align:right}.review-total{margin-top:12px;padding-top:18px;border-top:1px solid var(--line)}.review-total strong{font-size:25px;font-weight:500}.payment-choice{display:flex;gap:10px;margin:20px 0}.payment-choice button{flex:1;padding:16px 8px;border:1px solid var(--line);border-radius:14px;font-size:12px}.payment-choice button.selected{border-color:#9daa88;background:#e6e9dd}.notice-list{margin:17px 0 22px;padding:0;list-style:none}.notice-list li{display:grid;grid-template-columns:23px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}.notice-list .num{font-size:10px;color:var(--bronze);padding-top:3px}.notice-list h3{font-size:14px;margin-bottom:5px}.notice-list p{font-size:12px;line-height:1.75;color:var(--muted)}.consent{display:flex;align-items:center;gap:10px;font-size:12px;margin:0 0 18px;min-height:32px}.consent input{width:18px;height:18px;accent-color:var(--olive);margin:0}.success-symbol{width:64px;height:64px;display:grid;place-items:center;font-size:28px;background:#e4e9da;border-radius:50%;margin-bottom:25px;color:var(--olive)}
/* Membership */
.member-heading{display:flex;align-items:center;justify-content:space-between;margin:26px 0}.member-heading h2{font-size:22px;font-weight:500;margin-bottom:6px}.member-heading p{font-size:11px;color:var(--muted)}.avatar{width:51px;height:51px;border-radius:50%;background:#e3e6da;display:grid;place-items:center;font-size:17px;color:var(--olive)}.member-card{position:relative;overflow:hidden;border-radius:24px;background:#303a30;color:#f7f6ec;padding:26px 24px}.member-card::after{content:"";position:absolute;width:260px;height:260px;right:-108px;top:-91px;border-radius:50%;border:1px solid #ffffff15;box-shadow:0 0 0 30px #ffffff03,0 0 0 60px #ffffff02;pointer-events:none}.member-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:39px}.member-card-top img{filter:invert(1);width:39px}.member-card-top span{font-size:9px;letter-spacing:2px;color:#dce0d0}.balance-label{font-size:11px;letter-spacing:1px;color:#c3cdb7}.balance{font-size:44px;line-height:1.3;letter-spacing:-1.5px;font-weight:450;margin-top:6px}.balance .currency{font-size:21px;margin-right:7px;letter-spacing:0}.balance-decimal{font-size:23px;letter-spacing:-.5px;color:#b6c0aa}.member-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:23px;padding-top:19px;border-top:1px solid #ffffff25}.member-card-foot p{font-size:9px;letter-spacing:.6px;color:#c2cab8}.recharge-cta{background:#edf0e5;color:#303a30;border-radius:13px;display:flex;align-items:center;gap:16px;font-size:15px;padding:12px 18px;font-weight:600}.recharge-cta .arrow{font-size:19px}.member-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:23px 0;background:var(--line);border-block:1px solid var(--line)}.member-metrics button{background:var(--paper);padding:20px 0;text-align:left}.member-metrics button+button{padding-left:25px}.member-metrics strong{font-size:19px;font-weight:500;display:block;margin-top:8px}.member-metrics small{font-size:11px;color:var(--muted)}.list-link{width:100%;text-align:left;padding:20px 1px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:14px}.list-link .label{display:flex;align-items:center;gap:12px}.list-link svg{width:19px;color:var(--olive)}.list-link small{font-size:10px;color:var(--muted);margin-left:auto;margin-right:12px}.member-quote{padding:32px 0;text-align:center}.member-quote p{font-size:17px;font-weight:400;letter-spacing:.5px}.member-quote .caps{font-size:8px;color:var(--bronze);display:block;margin-top:10px}.recharge-list{margin-top:25px;display:grid;gap:9px}.recharge-row{display:flex;align-items:center;gap:12px;padding:19px 15px;border:1px solid var(--line);border-radius:16px;text-align:left;background:#faf9f5}.recharge-row.selected{border-color:#9caa87;background:#e6e9dd}.recharge-row .recharge-amount{flex:1}.recharge-amount strong{font-size:19px;font-weight:550}.recharge-amount small{display:block;font-size:11px;color:var(--bronze);margin-top:7px}.arrival{text-align:right}.arrival small{font-size:9px;letter-spacing:.6px;color:var(--muted);display:block;margin-bottom:6px}.arrival strong{font-size:19px;font-weight:500}.refund-link{display:flex;gap:10px;align-items:center;justify-content:center;margin:20px auto;font-size:12px;color:var(--muted);min-height:44px}.test-payment{margin-top:24px;width:100%;display:flex;justify-content:space-between;font-size:10px;align-items:center;color:var(--muted);border-bottom:1px dashed var(--line);padding:0 0 17px}.test-payment span:last-child{font-size:13px}.refund-status{padding:18px;border-radius:15px;background:#e9ecdf;margin:23px 0}.refund-status h3{font-size:14px;margin-bottom:6px}.refund-status p{font-size:12px;color:var(--muted);line-height:1.8}
/* Accessible sheets: don't autofocus a small input and trigger iPhone zoom. */
dialog{border:1px solid #ffffffb3;background:var(--surface);color:var(--ink);padding:30px 25px max(28px,env(safe-area-inset-bottom));border-radius:27px 27px 0 0;width:min(100%,480px);max-width:480px;max-height:88svh;margin:auto 0 0 auto;right:max(7vw,24px);left:auto;box-shadow:0 -16px 60px #17201619;overscroll-behavior:contain}dialog::backdrop{background:#151a1766;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sheet-grip{width:34px;height:4px;background:#d7d9ce;border-radius:4px;margin:-18px auto 27px}.sheet-close{position:absolute;right:19px;top:19px;font-size:24px;width:34px;height:34px;border-radius:50%;background:#e9eae3;color:#777d6f}.sheet-title{font-size:29px;font-weight:500;letter-spacing:-.5px;margin:13px 0 16px;outline:none}.sheet-sub{font-size:13px;line-height:1.9;color:var(--muted)}.sheet-kicker{margin-top:8px}.sheet-actions{display:flex;gap:10px;margin-top:22px}.sheet-actions .btn{flex:1;font-size:13px}.field{display:block;margin:20px 0}.field>span{font-size:12px;display:block;margin-bottom:10px}.field input,.field textarea{width:100%;min-width:0;padding:15px;font-size:16px;border:1px solid var(--line);border-radius:12px;background:#f4f4ed;color:var(--ink);resize:vertical;line-height:1.6}.field textarea{min-height:90px}.form-error{color:#9c4c3b;font-size:12px;line-height:1.7;margin:8px 0;min-height:0}.small-card{border:1px solid var(--line);padding:18px;border-radius:16px;margin:20px 0;font-size:12px;line-height:1.9;color:var(--muted)}.sheet-success{text-align:left;padding-top:18px}.ledger-row{padding:16px 0;display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);font-size:13px}.ledger-row small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.ledger-row strong{font-size:16px;font-weight:500;white-space:nowrap}.designer-sheet img{aspect-ratio:670/570;object-fit:cover;width:100%;border-radius:16px;margin:22px 0}#toast{position:fixed;z-index:100;left:50%;bottom:115px;transform:translate(-50%,20px);width:max-content;max-width:calc(100vw - 40px);background:#252b25ec;color:#fff;padding:14px 20px;border-radius:15px;font-size:12px;line-height:1.7;box-shadow:0 5px 24px #0002;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
/* Desktop presentation is separate from the mobile application. */
.studio-note{position:fixed;left:7vw;top:9vh;bottom:7vh;width:min(34vw,430px);display:flex;flex-direction:column;justify-content:space-between}.studio-note>img{width:110px;mix-blend-mode:multiply}.studio-note-body .eyebrow{color:#7f806e;font-size:10px}.studio-note h1{font-size:clamp(36px,4.4vw,66px);font-weight:400;letter-spacing:-3px;margin:23px 0}.studio-note-body>p:not(.eyebrow){font-size:18px;line-height:1.9;color:#656b5d}.studio-note .hairline{margin:32px 0;background:#bfc2b4;width:55px}.studio-note-body>p.studio-detail{font-size:12px;line-height:2;color:#7c8172}.studio-foot{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;color:#7d8373}
.hero-index{display:none}.hero-foot{bottom:66px}.notice-footer{position:sticky;bottom:-28px;padding:14px 0 24px;background:var(--surface);border-top:1px solid var(--line);margin-bottom:-24px}
@keyframes appear{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:850px){.studio-note{display:none}.app-shell{margin:0 auto}.app-header,.bottom-nav,.booking-dock{left:50%;transform:translateX(-50%);margin-left:0}dialog{right:50%;transform:translateX(50%);margin: auto 0 0}}
@media(max-width:480px){:root{background:var(--paper)}.app-shell{box-shadow:none}.hero{min-height:610px}.page{padding-inline:22px}.section{padding-inline:22px}.service-row{padding-inline:9px;gap:8px}.service-price{font-size:15px}.service-name{font-size:13px}.app-header{height:59px}.brand span{font-size:15px}.brand img{width:35px}}
@media(max-width:359px){.page{padding-inline:16px}.app-header{padding:0 12px}.brand{gap:7px}.brand span{font-size:13px}.brand small{font-size:5px}.brand img{width:31px}.preview-badge{font-size:9px}.hero-copy,.hero-index{left:20px;right:20px}.hero h1{font-size:38px}.hero-foot .caps{font-size:7px}.bottom-nav{width:calc(100vw - 40px)}.bottom-nav button{gap:6px}.service-row{grid-template-columns:17px minmax(0,1fr) auto;gap:7px;padding-inline:7px}.service-name{font-size:12px}.service-price{font-size:14px}.recharge-row{padding:17px 10px;gap:9px}.recharge-amount strong,.arrival strong{font-size:17px}.booking-dock .btn{min-width:112px;padding-inline:14px}.balance{font-size:39px}.member-card{padding:23px 20px}.sheet-title{font-size:27px}dialog{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){.glass{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}dialog::backdrop{background:#151a17a6;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-contrast:more){:root{--muted:#4e5547;--line:#9da48f}.glass{background:var(--surface)}.tiny-note,.service-desc{color:#4e5547}}

/* Revision 02: retain the original opening → home → booking architecture. */
.is-splash #app{padding-bottom:0}.is-splash .bottom-nav{display:none}
.is-splash .app-header{background:transparent;border-color:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff}
.is-splash .brand:disabled{cursor:default}.is-splash .brand img{filter:invert(1)}
.is-splash .preview-badge i{background:currentColor}.is-splash.splash-light .app-header{color:var(--ink)}.is-splash.splash-light .brand img{filter:none}
.splash-hero{height:100svh;min-height:560px;max-height:none}
.splash-copy{text-align:center;bottom:max(112px,calc(env(safe-area-inset-bottom) + 86px))}
.splash-copy h1{font-size:clamp(32px,9vw,43px);font-weight:600;letter-spacing:8px;margin:18px 0 11px;padding-left:8px;line-height:1.2}
.splash-copy .eyebrow{font-size:8px;letter-spacing:3.2px}.splash-subtitle{font-size:8px;letter-spacing:3px;color:#d8d8cc;margin-bottom:26px}
.splash-copy .hero-description{font-size:12px;letter-spacing:.7px;margin-bottom:26px}
.splash-hero .splash-enter{min-width:152px;padding-inline:28px;border-radius:28px;background:#ffffff15;border:1px solid #ffffff80;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);letter-spacing:5px;gap:24px}
.splash-hero .hero-foot{bottom:max(28px,env(safe-area-inset-bottom))}
.home-hero{height:clamp(610px,83svh,780px);min-height:610px}.home-hero .hero-copy{bottom:43px}.home-hero .hero-description{line-height:1.9;margin:17px 0 23px}.home-hero .hero-shade{background:linear-gradient(180deg,#0a100b00 30%,#0a100b25 46%,#0a100bc4 75%,#0a100bef 100%)}
.statement{padding-top:43px;padding-bottom:43px}.statement-rule{display:block;width:35px;height:1px;background:#a5ac96;margin:21px 0}
.space-story{margin:0 14px;position:relative;overflow:hidden;border-radius:20px}.space-story>img{width:100%;aspect-ratio:1.26;object-fit:cover}.space-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:24px;background:linear-gradient(transparent 60%,#111b11a8);color:#fff}.space-caption .eyebrow{color:#d9ddce;font-size:9px}.space-caption h2{font-size:22px;margin-top:8px;font-weight:450}
.visit-section{padding:40px 25px}.visit-section .section-heading{margin-bottom:27px}.visit-address p{font-size:14px;line-height:1.9;margin-top:9px}.visit-meta{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:25px}.visit-meta p,.visit-meta a{display:block;font-size:13px;margin-top:9px}.visit-meta a{min-height:30px}.visit-section .store-actions{margin-top:19px}.visit-section .store-actions a{min-height:48px}.visit-map{position:relative;display:block;border-radius:15px;overflow:hidden;margin-top:22px}.visit-map img{width:100%;aspect-ratio:1.95;object-fit:cover}.visit-map>span{position:absolute;bottom:9px;right:10px;color:#fff;background:#111811bb;padding:5px 10px;border-radius:7px;font-size:9px;display:flex;align-items:center;gap:7px}.visit-map .arrow{font-size:17px}
.brand-closing{background:#252c24;display:flex;flex-direction:column;gap:18px;padding:35px 24px 39px}.brand-closing img{filter:invert(1);opacity:.9;width:96px}.brand-closing p{text-align:center;font-size:7px;letter-spacing:2px;color:#abb49f}
.member-heading{gap:10px}
.member-heading>div{min-width:0}
.member-heading>div>p{line-height:1.65}
.member-balance-row{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
.member-balance{min-width:0}
.member-balance .balance{font-size:clamp(30px,10vw,44px);white-space:nowrap}
.member-balance .balance .currency{font-size:.47em;margin-right:5px}
.member-login{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:68px;padding:4px 0;color:#f7f6ec;border-radius:14px}
.member-login .avatar{width:46px;height:46px;background:#edf0e515;border:1px solid #edf0e530;color:inherit;font-size:20px;transition:background .18s}
.member-login:hover .avatar{background:#edf0e528}
.member-login:focus-visible{outline:2px solid #edf0e5;outline-offset:4px}
.login-caption{font-size:11px;color:#edf0e5;display:flex;align-items:center;gap:5px;font-weight:550;white-space:nowrap}
.login-caption>span{font-size:16px;line-height:12px}
@media(max-width:359px){.splash-copy h1{font-size:32px;letter-spacing:6px}.home-hero h1{font-size:35px}.visit-section{padding-inline:20px}.visit-meta{gap:10px}.visit-meta p,.visit-meta a{font-size:12px}.member-heading h2{font-size:20px}}
@media(prefers-reduced-transparency:reduce){.splash-hero .splash-enter{background:#242a24;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* Revision 03: condense service-page spacing without changing type or materials. */
.service-picker{padding-top:calc(94px + env(safe-area-inset-top,0px))}
.service-progress{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.service-progress .progress{flex:1;min-width:0;margin:0}
.service-progress .progress small{font-size:9px;margin-left:6px;white-space:nowrap}
.service-progress>.text-link{font-size:11px;min-height:30px;white-space:nowrap;padding:0}
.service-picker .page-title{margin-top:8px;margin-bottom:8px}
.service-picker .filters{margin-top:16px;margin-bottom:6px}
.service-picker .catalog-label{padding-top:10px;padding-bottom:8px}
.wallet-frozen{font-size:12px;line-height:1.7;margin:0 0 12px;color:#e1e7dc}
.wb-simulation{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}.wb-simulation h3{font-size:16px}.wb-simulation>p{font-size:12px;line-height:1.8;color:var(--muted);margin:10px 0}.wb-simulation .wb-form-actions{flex-wrap:wrap}.wb-simulation .btn{flex:1 1 44%;font-size:12px}
