:root{--cream: #f2efe7;--cream-2: #e9e4d4;--card: #ffffff;--card-glass: rgba(255, 255, 255, .86);--ink: #21261f;--ink-2: #5d6357;--line: #e2dcc9;--green: #1f4a38;--green-deep: #143527;--amber: #e0a43c;--amber-2: #c98f2c;--amber-text: #795710;--coral: #ff5a48;--ok: #2e7d5b;--shadow: 0 18px 50px rgba(30, 36, 30, .16);--shadow-sm: 0 6px 22px rgba(30, 36, 30, .12);--radius: 20px;--map-floor: #f6f2e4;--map-wall: #cdc6ae;--font-body: "Inter Variable", system-ui, sans-serif;--font-display: "Bricolage Grotesque Variable", var(--font-body)}body.night{--cream: #0e141d;--cream-2: #18202c;--card: #161e2a;--card-glass: rgba(20, 27, 38, .82);--ink: #ece8dc;--ink-2: #9aa194;--line: #2a3343;--green: #2e7d5b;--green-deep: #1f5c41;--amber-text: #e7b455;--shadow: 0 18px 50px rgba(0, 0, 0, .5);--shadow-sm: 0 6px 22px rgba(0, 0, 0, .4);--map-floor: #1b2330;--map-wall: #3a4456}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;transition:background 1.2s ease}::selection{background:var(--amber);color:#21261f}button{font-family:inherit;color:inherit;background:none;border:0;cursor:pointer}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}#app,#labels{position:fixed;inset:0}#app,#app canvas{display:block;touch-action:none}#app canvas{cursor:grab}#app canvas:active{cursor:grabbing}#labels{pointer-events:none;z-index:5}#seo-fallback{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}#story{position:fixed;inset:0;z-index:95;pointer-events:none}#story.done{opacity:0;transition:opacity .6s ease;pointer-events:none}.story-skip{position:absolute;pointer-events:auto;right:calc(20px + env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;min-height:44px;padding:11px 20px;border-radius:999px;background:#ffffff9e;border:1px solid rgba(33,38,31,.14);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#21261f;font-family:var(--font-body);font-size:13.5px;font-weight:650;letter-spacing:.01em;box-shadow:0 6px 22px #1e241e1f;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s cubic-bezier(.3,.9,.24,1),background .2s}.story-skip.show{opacity:1;transform:none}.story-skip:hover{background:#ffffffd1}.story-skip:active{transform:translateY(1px) scale(.98)}body.introing .topbar,body.introing .chip,body.introing .view-controls,body.introing .floor-switch,body.introing .hint,body.introing .credit,body.introing #labels{opacity:0!important;pointer-events:none!important}.topbar,.chip,.view-controls,.floor-switch,.credit{transition:opacity .7s ease .15s,transform .2s ease,background .6s ease}.topbar{position:fixed;z-index:40;top:14px;left:50%;transform:translate(-50%);width:min(1160px,calc(100% - 28px));display:flex;align-items:center;gap:18px;padding:9px 10px 9px 16px;background:var(--card-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm);transition:background .6s ease,border-color .6s ease}.brand{display:flex;align-items:center;gap:11px;padding:2px 4px}.brand .logo-mark{width:34px;height:34px;flex:none;transition:transform .5s cubic-bezier(.34,1.6,.44,1)}.brand:hover .logo-mark{transform:rotate(120deg)}.brand-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05}.brand-text strong{font-family:var(--font-display);font-weight:800;font-size:17px;letter-spacing:.05em}.brand-text span{font-size:9.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--amber-text)}.topnav{display:flex;gap:4px;margin-left:auto}.topnav button{padding:9px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink-2);transition:color .2s,background .2s}.topnav button:hover{color:var(--ink);background:var(--cream-2)}.topbar-right{display:flex;align-items:center;gap:8px}.topbar .burger{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:999px;font-size:14px;font-weight:650;letter-spacing:.01em;transition:transform .18s ease,background .2s ease,box-shadow .25s ease,border-color .2s}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:var(--green);color:#f5f1e4;box-shadow:0 8px 20px #1f4a3852}.btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}.btn:disabled{cursor:not-allowed}.btn-primary:disabled{opacity:.45;box-shadow:none}.btn-ghost{border:1.5px solid var(--line);color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--cream-2)}.btn-ghost:disabled{opacity:.4}.btn-block{width:100%;margin-top:14px}.icon-btn{width:38px;height:38px;flex:none;display:grid;place-items:center;border-radius:50%;color:var(--ink);transition:background .2s,transform .2s}.icon-btn:hover{background:var(--cream-2)}.hotspot{pointer-events:auto}.hs-pill{display:flex;align-items:center;gap:9px;padding:7px 8px 7px 14px;background:var(--card-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;box-shadow:0 5px 18px #191e1929;transition:transform .22s cubic-bezier(.34,1.5,.44,1),background .25s,border-color .25s,opacity .3s;white-space:nowrap}.hs-name{font-size:12.5px;font-weight:650;color:var(--ink);transition:color .25s}.hs-plus{width:22px;height:22px;border-radius:50%;background:var(--green);color:#f5f1e4;display:grid;place-items:center;transition:transform .3s cubic-bezier(.34,1.5,.44,1),background .25s}.hotspot:hover .hs-pill{transform:scale(1.07)}.hotspot:hover .hs-plus{background:var(--amber-2)}.hotspot.active .hs-pill{background:var(--green);border-color:var(--green)}.hotspot.active .hs-name{color:#f5f1e4}.hotspot.active .hs-plus{background:#f5f1e433;transform:rotate(45deg)}body.hotspot-focus .hotspot:not(.active) .hs-pill{opacity:.28}body.hotspot-focus .hotspot:not(.active):hover .hs-pill{opacity:1}body.booking-open #labels,body.modal-open #labels{opacity:0;pointer-events:none!important}#labels{transition:opacity .3s ease}.chip{position:fixed;z-index:30;display:inline-flex;align-items:center;gap:9px;padding:10px 16px;background:var(--card-glass);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:600;box-shadow:var(--shadow-sm);transition:transform .2s ease,background .6s}.chip:hover{transform:translateY(-2px)}.status-chip{left:18px;bottom:18px}.status-chip .dot{width:9px;height:9px;border-radius:50%;background:var(--ok)}.status-chip.is-open .dot{animation:pulse 2.2s infinite}.status-chip.is-closed .dot{background:var(--coral)}@keyframes pulse{0%,to{box-shadow:0 0 #2e7d5b73}55%{box-shadow:0 0 0 7px #2e7d5b00}}.view-controls{position:fixed;right:18px;bottom:18px;z-index:30;display:flex;flex-direction:column;gap:8px}.ctl{width:42px;height:42px;background:var(--card-glass);backdrop-filter:blur(12px);border:1px solid var(--line);box-shadow:var(--shadow-sm);position:relative}.ctl:hover{background:var(--card);transform:translateY(-2px)}.ctl:after{content:attr(data-tip);position:absolute;right:52px;top:50%;transform:translateY(-50%) translate(4px);background:var(--ink);color:var(--cream);font-size:11.5px;font-weight:600;white-space:nowrap;padding:6px 10px;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.ctl:hover:after{opacity:1;transform:translateY(-50%) translate(0)}.floor-switch{position:fixed;z-index:32;left:50%;bottom:30px;transform:translate(-50%);display:inline-flex;gap:4px;padding:5px;background:var(--card-glass);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm)}.fs-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;font-size:13px;font-weight:650;color:var(--ink-2);transition:background .2s,color .2s}.fs-btn:hover{color:var(--ink);background:var(--cream-2)}.fs-btn.sel{background:var(--green);color:#f5f1e4}.hint{position:fixed;z-index:30;left:50%;bottom:88px;transform:translate(-50%);padding:9px 18px;background:var(--card-glass);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;font-size:12.5px;color:var(--ink-2);box-shadow:var(--shadow-sm);transition:opacity .7s ease,transform .7s ease}.hint b{color:var(--green)}.hint.hide{opacity:0;transform:translate(-50%) translateY(10px);pointer-events:none}.credit{position:fixed;z-index:25;left:50%;bottom:7px;transform:translate(-50%);display:flex;gap:8px;align-items:center;font-size:11px;color:var(--ink-2);opacity:.85;white-space:nowrap}.credit .heart{color:var(--coral)}.credit a{color:inherit;font-weight:600}.credit .sep{opacity:.5}.drawer{position:fixed;z-index:45;top:78px;right:16px;bottom:16px;width:min(430px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);transform:translate(calc(100% + 40px));transition:transform .55s cubic-bezier(.3,.9,.24,1),background .6s;display:flex;flex-direction:column;overflow:hidden}.drawer.open{transform:none}.drawer-close{position:absolute;top:14px;right:14px;z-index:3;background:var(--card-glass);backdrop-filter:blur(8px);border:1px solid var(--line)}.drawer-nav{position:absolute;top:14px;left:14px;z-index:3;display:flex;align-items:center;gap:6px}.drawer-arrow{background:var(--card-glass);backdrop-filter:blur(8px);border:1px solid var(--line)}.drawer-arrow:hover{background:var(--card);transform:translateY(-1px)}.drawer-arrow:active{transform:scale(.94)}.drawer-count{margin-left:4px;font-size:11.5px;font-weight:750;letter-spacing:.06em;color:#fff;background:#10181273;padding:5px 10px;border-radius:999px;backdrop-filter:blur(8px)}.drawer-scroll.swap{animation:drawerSwap .4s cubic-bezier(.25,.9,.3,1) both}@keyframes drawerSwap{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}.drawer-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin}.drawer-art{aspect-ratio:400 / 220}.drawer-art .art{width:100%;height:100%;display:block}.drawer-content{padding:22px 26px 14px}.kicker{margin:0 0 6px;font-size:11px;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:var(--amber-text)}.drawer-title{margin:0 0 12px;font-family:var(--font-display);font-size:30px;font-weight:800;line-height:1.08}.drawer-p{margin:0 0 12px;font-size:14.2px;line-height:1.68;color:var(--ink-2)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0 6px;padding:0}.fact{background:var(--cream-2);border-radius:14px;padding:11px 13px}.fact dt{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:3px}.fact dd{margin:0;font-size:13.5px;font-weight:650}.timeline{margin:16px 0 8px;border-left:2px solid var(--line);padding-left:16px;display:grid;gap:12px}.tl-row{position:relative}.tl-row:before{content:"";position:absolute;left:-21.5px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 3px var(--card)}.tl-year{font-family:var(--font-display);font-weight:750;font-size:14px;display:block}.tl-text{font-size:13px;color:var(--ink-2);line-height:1.5}.drawer-cta{padding:14px 22px 18px;display:flex;gap:10px;border-top:1px solid var(--line);background:linear-gradient(to top,var(--card) 70%,transparent)}.drawer-cta .btn{flex:1}.overlay{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#1216116b;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);opacity:0;transition:opacity .28s ease;padding:20px}.overlay.show{opacity:1}.modal{width:min(560px,100%);max-height:min(82vh,760px);background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;transform:translateY(18px) scale(.98);transition:transform .32s cubic-bezier(.3,.9,.24,1);overflow:hidden}.overlay.show .modal{transform:none}.modal-wide{width:min(860px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px 26px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-family:var(--font-display);font-size:22px;font-weight:800}.modal-body{padding:22px 26px 26px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.note{font-size:12.5px;color:var(--ink-2);line-height:1.6;margin:14px 0 0}.sub-h{margin:0 0 10px;font-family:var(--font-display);font-size:16px;font-weight:750}.contact-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:28px}.status-line{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:650;padding:8px 14px;border-radius:999px;background:var(--cream-2);margin-bottom:14px}.status-line .dot{width:8px;height:8px;border-radius:50%;background:var(--ok)}.status-line.is-closed .dot{background:var(--coral)}.contact-list{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:10px}.contact-list li{display:flex;align-items:center;gap:10px;font-size:14px}.contact-list svg{color:var(--amber-2);flex:none}.socials{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.social-pill{font-size:12px;font-weight:650;padding:7px 12px;border-radius:999px;border:1.5px solid var(--line);transition:border-color .2s,background .2s}.social-pill span{color:var(--ink-2);font-weight:500;margin-left:4px}.social-pill:hover{border-color:var(--green);background:var(--cream-2)}.mini-map{width:100%;border-radius:14px;display:block}.hours-table{width:100%;border-collapse:collapse;font-size:13.5px}.hours-table td{padding:8px 4px;border-bottom:1px dashed var(--line)}.hours-table td:last-child{text-align:right;font-weight:650;font-variant-numeric:tabular-nums}.hours-table tr.today td{color:var(--green);font-weight:750}.hours-table tr.today td:first-child:after{content:"dziś";margin-left:8px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;background:var(--green);color:#f5f1e4;padding:2px 7px;border-radius:99px}body.night .hours-table tr.today td{color:#6fcfa4}.program-list{display:grid;gap:6px}.program-row{display:flex;align-items:center;gap:14px;padding:11px 14px;border-radius:14px}.program-row.today{background:var(--cream-2)}.program-row.today .pr-day{background:var(--green);color:#f5f1e4}.pr-day{flex:none;width:46px;text-align:center;font-family:var(--font-display);font-size:11px;font-weight:800;letter-spacing:.06em;background:var(--cream-2);border-radius:9px;padding:7px 0}.program-row.today .pr-day{background:var(--green)}.pr-main{display:flex;flex-direction:column;gap:1px;min-width:0}.pr-main strong{font-size:14px}.pr-main span{font-size:12.5px;color:var(--ink-2)}.pr-time{margin-left:auto;font-weight:750;color:var(--amber-text);font-variant-numeric:tabular-nums}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-group h3{margin:0 0 10px;font-family:var(--font-display);font-size:15px;font-weight:800;padding-bottom:8px;border-bottom:2px solid var(--amber)}.price-row{display:flex;align-items:baseline;gap:8px;padding:7px 0;font-size:13px}.price-row span{color:var(--ink-2)}.price-row i{flex:1;border-bottom:1.5px dotted var(--line);transform:translateY(-3px)}.price-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.attr-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.attr-card{text-align:left;border-radius:18px;overflow:hidden;border:1.5px solid var(--line);background:var(--card);transition:transform .22s ease,border-color .2s,box-shadow .25s;display:flex;flex-direction:column}.attr-card:hover{transform:translateY(-3px);border-color:var(--green);box-shadow:var(--shadow-sm)}.attr-art{display:block;aspect-ratio:400 / 160;overflow:hidden}.attr-art .art{width:100%;height:130%;display:block;object-fit:cover}.attr-name{font-weight:750;font-size:15px;padding:12px 16px 2px;font-family:var(--font-display)}.attr-kicker{font-size:11.5px;color:var(--ink-2);padding:0 16px 14px}.mobile-menu{display:grid;gap:6px}.mm-link{text-align:left;font-size:17px;font-weight:650;font-family:var(--font-display);padding:13px 14px;border-radius:14px}.mm-link:hover{background:var(--cream-2)}.bk-overlay{z-index:70}.bk{width:min(880px,100%);height:min(86vh,780px);background:var(--card);border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transform:translateY(18px) scale(.98);transition:transform .32s cubic-bezier(.3,.9,.24,1)}.overlay.show .bk{transform:none}.bk-head{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 10px 28px}.bk-title{display:flex;flex-direction:column}.bk-title strong{font-family:var(--font-display);font-size:22px;font-weight:800}.bk-title span{font-size:12px;color:var(--ink-2)}.bk-steps{display:flex;align-items:center;gap:6px;padding:8px 28px 14px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.bk-step{display:flex;align-items:center;gap:7px;flex:none}.bk-dot{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:var(--cream-2);color:var(--ink-2);font-size:11.5px;font-weight:750;transition:background .3s,color .3s}.bk-step.cur .bk-dot{background:var(--green);color:#f5f1e4}.bk-step.done .bk-dot{background:var(--amber);color:#21261f}.bk-step-name{font-size:12.5px;font-weight:650;color:var(--ink-2)}.bk-step.cur .bk-step-name{color:var(--ink)}.bk-sep{width:22px;height:1.5px;background:var(--line);flex:none}.bk-body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:22px 28px;scrollbar-width:thin}.bk-lead{margin:0 0 16px;font-family:var(--font-display);font-size:19px;font-weight:750}.bk-dim{font-size:13px;color:var(--ink-2);font-weight:500;font-family:var(--font-body)}.bk-foot{display:flex;align-items:center;gap:14px;padding:14px 22px;border-top:1px solid var(--line)}.bk-price{flex:1;display:flex;align-items:baseline;gap:8px;justify-content:center;flex-wrap:wrap}.bk-price-label{font-size:12px;color:var(--ink-2);font-weight:600;text-transform:uppercase;letter-spacing:.08em}.bk-price strong{font-family:var(--font-display);font-size:21px;font-weight:800}.res-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.res-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:16px 18px;border:2px solid var(--line);border-radius:18px;transition:border-color .2s,background .2s,transform .2s}.res-card:hover{transform:translateY(-2px);border-color:var(--amber)}.res-card.sel{border-color:var(--green);background:var(--cream-2)}.res-ico{width:36px;height:36px;margin-bottom:6px}.res-ico svg{width:100%;height:100%}.res-name{font-weight:750;font-size:15.5px;font-family:var(--font-display)}.res-blurb{font-size:12.5px;color:var(--ink-2)}.when-grid{display:grid;gap:20px}.when-row{display:grid;gap:9px}.fld-label{font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}.off-hint{color:var(--amber-text);text-transform:none;letter-spacing:0;font-weight:600}.date-line{display:flex;gap:10px;flex-wrap:wrap;align-items:center}input[type=date]{font:600 14px var(--font-body);color:var(--ink);background:var(--cream-2);border:1.5px solid var(--line);border-radius:12px;padding:10px 13px;color-scheme:light}body.night input[type=date]{color-scheme:dark}input[type=date]:focus{border-color:var(--green)}.quick-dates{display:flex;gap:7px;flex-wrap:wrap}.chip-btn{font-size:12.5px;font-weight:650;padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);transition:all .18s}.chip-btn:hover{border-color:var(--amber)}.chip-btn.sel{background:var(--green);border-color:var(--green);color:#f5f1e4}.seg{display:inline-flex;background:var(--cream-2);border-radius:999px;padding:4px;gap:3px;width:fit-content}.seg-btn{padding:8px 22px;border-radius:999px;font-size:13.5px;font-weight:650;color:var(--ink-2);transition:all .18s}.seg-btn.sel{background:var(--card);color:var(--ink);box-shadow:0 2px 8px #14181424}.slot-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}.slot{display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 6px;border:1.5px solid var(--line);border-radius:13px;transition:all .16s}.slot strong{font-size:14.5px;font-variant-numeric:tabular-nums}.slot span{font-size:10.5px;color:var(--ink-2)}.slot:hover{border-color:var(--amber);transform:translateY(-1px)}.slot.sel{border-color:var(--green);background:var(--cream-2);box-shadow:inset 0 0 0 1px var(--green)}.slot:disabled{opacity:.38;pointer-events:none;text-decoration:line-through}.floor-map{width:100%;max-width:620px;margin:0 auto;display:block}.map-note{font-size:11px;fill:var(--ink-2);font-family:var(--font-body)}.unit{cursor:pointer}.unit:focus{outline:none}.unit:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:6px}.unit .u-frame{fill:#8a5a34}.unit .u-fill{fill:#20604497;transition:fill .2s}.unit.free .u-fill{fill:#1f5c41}.unit.free:hover .u-fill{fill:#2e7d5b}.unit .u-board{fill:#10231b}.unit .u-table{fill:#caa05c}.unit .u-num{fill:#f5efdf;font-family:var(--font-display);font-size:21px;font-weight:800;pointer-events:none}.unit .u-name{fill:#f5efdf;font-size:10.5px;font-weight:600;opacity:.85;pointer-events:none}.unit.busy{cursor:not-allowed}.unit.busy .u-fill{fill:#c9c4b2}.unit.busy .u-frame{fill:#b5ad97}.unit.busy .u-board{fill:#8d887a}.unit.busy .u-table{fill:#b5ad97}.unit.busy .u-num{fill:#5a5648}.unit.sel .u-fill{fill:#2e7d5b;stroke:var(--amber);stroke-width:4}body.night .unit.busy .u-fill{fill:#2d3545}body.night .unit.busy .u-frame,body.night .unit.busy .u-table{fill:#3a4456}.map-legend{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin-top:14px;font-size:12.5px;color:var(--ink-2)}.map-legend span{display:inline-flex;align-items:center;gap:7px}.lg{width:14px;height:14px;border-radius:4px;display:inline-block}.lg-free{background:#1f5c41}.lg-busy{background:#c9c4b2}.lg-sel{background:#2e7d5b;box-shadow:0 0 0 2.5px var(--amber)}.lg-note{font-weight:600;color:var(--amber-text)}input[type=range]{width:100%;max-width:420px;accent-color:var(--green);height:32px}.pkg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pkg-card{display:flex;flex-direction:column;gap:4px;text-align:left;padding:15px 16px;border:2px solid var(--line);border-radius:16px;transition:all .2s}.pkg-card:hover{border-color:var(--amber)}.pkg-card.sel{border-color:var(--green);background:var(--cream-2)}.pkg-card strong{font-size:14px;font-family:var(--font-display);font-weight:750}.pkg-card span{font-size:12px;color:var(--ink-2);line-height:1.45}.pkg-card em{font-style:normal;font-size:12.5px;font-weight:750;color:var(--amber-text);margin-top:2px}.bk-summary-mini{display:flex;flex-direction:column;gap:2px;background:var(--cream-2);border-radius:14px;padding:12px 16px;margin-bottom:18px;font-size:13px}.bk-summary-mini strong{font-size:14.5px}.bk-summary-mini span{color:var(--ink-2)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fld{display:grid;gap:6px}.fld-full{grid-column:1 / -1}.fld>span{font-size:12px;font-weight:700;color:var(--ink-2)}.fld input,.fld textarea{font:500 14px var(--font-body);color:var(--ink);background:var(--cream-2);border:1.5px solid transparent;border-radius:12px;padding:11px 14px;resize:vertical;transition:border-color .2s,background .2s}.fld input:focus,.fld textarea:focus{border-color:var(--green);background:var(--card)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.5;cursor:pointer}.consent input{width:17px;height:17px;margin-top:1px;accent-color:var(--green);flex:none;cursor:pointer}.err{color:var(--coral);font-size:13px;font-weight:600;margin:12px 0 0}.done-wrap{max-width:460px;margin:0 auto;text-align:center;padding:10px 0 6px}.done-check svg{width:64px;height:64px}.done-check circle{fill:none;stroke:var(--ok);stroke-width:3;stroke-dasharray:160;stroke-dashoffset:160;animation:draw .7s .1s ease forwards}.done-check path{fill:none;stroke:var(--ok);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:draw .45s .65s ease forwards}@keyframes draw{to{stroke-dashoffset:0}}.done-wrap h3{font-family:var(--font-display);font-size:24px;font-weight:800;margin:10px 0 18px}.done-code-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px;font-weight:700}.done-code{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:.14em;border:2px dashed var(--amber);border-radius:14px;padding:10px 18px;display:inline-block;margin-bottom:18px}.done-summary{margin:0 0 6px;display:grid;gap:8px;text-align:left}.done-summary>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px dashed var(--line);padding-bottom:8px}.done-summary dt{font-size:12px;color:var(--ink-2);font-weight:650}.done-summary dd{margin:0;font-size:13px;font-weight:650;text-align:right}.done-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}#toast-root{position:fixed;z-index:90;left:50%;bottom:86px;transform:translate(-50%);display:grid;gap:8px;justify-items:center;pointer-events:none}.toast{background:var(--ink);color:var(--cream);font-size:13px;font-weight:600;padding:11px 20px;border-radius:999px;box-shadow:var(--shadow-sm);opacity:0;transform:translateY(10px);transition:opacity .3s,transform .35s cubic-bezier(.3,1.2,.4,1);max-width:min(440px,86vw);text-align:center}body.night .toast{background:#f0ecdf;color:#1a1f1a}.toast.show{opacity:1;transform:none}.toast-ok{background:var(--green);color:#f5f1e4}.toast-warn{background:var(--coral);color:#fff}@media(max-width:980px){.topbar{top:calc(10px + env(safe-area-inset-top));width:calc(100% - 20px);gap:10px;padding:8px 8px 8px 14px}.topnav{display:none}.topbar .burger{display:grid}.btn-book{padding:10px 15px;font-size:13px}.drawer{top:auto;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));width:auto;max-height:46vh;max-height:46dvh;border-radius:22px;transform:translateY(calc(100% + 24px))}.drawer.open{transform:none}.drawer:after{content:"";position:absolute;top:7px;left:50%;width:42px;height:4px;border-radius:99px;transform:translate(-50%);background:var(--line);z-index:4}.drawer-nav,.drawer-close{top:16px}.drawer-content{padding:18px 20px 12px}.drawer-title{font-size:25px}.drawer-art{aspect-ratio:400 / 128}.drawer-art .art{object-fit:cover;height:152%}.drawer-cta{padding:12px 18px calc(16px + env(safe-area-inset-bottom))}body.drawer-open .floor-switch,body.drawer-open .status-chip,body.drawer-open .view-controls,body.drawer-open .credit,body.drawer-open .hint{opacity:0;pointer-events:none}.contact-grid,.pricing-grid,.pkg-grid,.attr-grid{grid-template-columns:1fr}.overlay{padding:0;align-items:flex-end}.modal{width:100%;max-height:90dvh;border-radius:22px 22px 0 0;transform:translateY(100%)}.overlay.show .modal{transform:none}.modal-head{padding-top:calc(16px + env(safe-area-inset-top,0px))}.bk{width:100%;height:100dvh;max-height:none;border-radius:0;transform:translateY(100%)}.overlay.show .bk{transform:none}.bk-head{padding-top:calc(16px + env(safe-area-inset-top))}.bk-foot{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.hint{bottom:calc(78px + env(safe-area-inset-bottom));font-size:12px;padding:8px 15px;max-width:86vw;text-align:center}#toast-root{bottom:calc(132px + env(safe-area-inset-bottom))}.credit{font-size:9.5px;bottom:calc(4px + env(safe-area-inset-bottom))}.status-chip{bottom:calc(80px + env(safe-area-inset-bottom));left:12px;padding:9px 13px;font-size:12px}.view-controls{bottom:calc(80px + env(safe-area-inset-bottom));right:12px}.floor-switch{bottom:calc(20px + env(safe-area-inset-bottom))}.fs-btn{padding:10px 14px;font-size:12.5px;min-height:42px}.form-grid{grid-template-columns:1fr}.res-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.res-grid{grid-template-columns:1fr}.brand-text span{display:none}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}@media(pointer:coarse){.hotspot .hs-pill{padding:9px 9px 9px 15px}.hs-name{font-size:12.5px}.hs-plus{width:24px;height:24px}.icon-btn{width:42px;height:42px}.ctl{width:46px;height:46px}.seg-btn{padding:10px 20px}}@media(max-width:980px)and (orientation:landscape)and (max-height:560px){.drawer{top:calc(8px + env(safe-area-inset-top));left:auto;right:calc(8px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));width:min(360px,54vw);max-height:none;border-radius:18px;transform:translate(calc(100% + 24px))}.drawer.open{transform:none}.drawer:after{display:none}.floor-switch{bottom:calc(8px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
