.res-page{background:var(--bg-deep);min-height:100vh;padding:2rem 2rem 6rem;position:relative}.res-toolbar{justify-content:space-between;align-items:center;margin-bottom:3rem;display:flex}.res-back{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;font-size:.6rem;text-decoration:none;transition:color .2s;display:inline-flex}.res-back:hover{color:var(--gold)}.res-container{max-width:900px;margin:0 auto}.res-header{text-align:center;margin-bottom:3rem}.res-eyebrow{letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem;font-size:.55rem}.res-title{font-family:var(--font-display);color:var(--text-cream);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;line-height:1.1}.res-title em{color:var(--gold);font-style:italic}.res-rule{background:linear-gradient(to right, transparent, var(--gold), transparent);width:50px;height:1px;margin:1.5rem auto 0}.step-indicator{justify-content:center;align-items:center;gap:0;margin-bottom:3rem;display:flex}.step-item{align-items:center;gap:0;display:flex}.step-circle{border:1px solid var(--border-gold);width:32px;height:32px;color:var(--text-faint);background:var(--bg-card);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:500;transition:all .3s;display:flex}.step-circle.active{border-color:var(--gold);color:var(--gold);background:#c9a84c14}.step-circle.done{border-color:var(--gold);color:var(--gold);background:#c9a84c1f}.step-label{letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);white-space:nowrap;margin-left:8px;font-size:.55rem;transition:color .3s}.step-label.active{color:var(--gold)}.step-label.done{color:var(--text-muted)}.step-line{background:var(--border-gold);width:60px;height:1px;margin:0 12px;transition:background .3s}.step-line.done{background:var(--gold-dim)}.res-body{animation:.4s both fadeStepIn}@keyframes fadeStepIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.step-content{flex-direction:column;gap:2rem;display:flex}.step-heading{text-align:center}.step-label{letter-spacing:.35em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:.5rem;font-size:.5rem}.step-title{font-family:var(--font-display);color:var(--text-cream);margin-bottom:.5rem;font-size:clamp(1.4rem,3vw,2rem);font-weight:300}.step-desc{font-family:var(--font-display);color:var(--text-faint);font-size:1rem;font-style:italic}.step-main{overscroll-behavior:contain;flex-direction:column;gap:1.5rem;display:flex}.map-wrapper{--map-floor:#14100c;--map-wall:#6a5738;--map-wall-soft:#6a573866;--map-door:#d8b450;--map-label:#9a7d3e;--map-chair:#e4d09e80;--mf-fill:#2d6b4238;--mf-stroke:#45925f;--mp-fill:#c56a2c38;--mp-stroke:#c56a2c;--mo-fill:#96404038;--mo-stroke:#9a4a4a;--ms-fill:#c9a84c42;--ms-stroke:#c9a84c;--mlock-stroke:#7f97cf;--map-num:#f5edd8eb;--map-num-dim:#f5edd84d;--map-cap:#f5edd880;--map-bubble-bg:#1c1610;--map-bubble-text:#f5edd8eb;background:0 0;border:none;flex-direction:column;gap:1rem;padding:0;display:flex}html.light .map-wrapper{--map-floor:#f1ead9;--map-wall:#a98a4e;--map-wall-soft:#a98a4e73;--map-door:#a9781f;--map-label:#7d6026;--map-chair:#785c2880;--mf-fill:#4a8a5c3d;--mf-stroke:#3c7a4e;--mp-fill:#b6641f3d;--mp-stroke:#a05418;--mo-fill:#a34a4a38;--mo-stroke:#973636;--ms-fill:#8a622042;--ms-stroke:#86611e;--mlock-stroke:#4e69a4;--map-num:#1c1408e6;--map-num-dim:#1c140859;--map-cap:#1c14088c;--map-bubble-bg:#f7f1e4;--map-bubble-text:#1c1408e6}.room-svg{width:100%;max-width:420px;margin:0 auto;display:block}.room-svg g{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.map-floor{fill:var(--map-floor);stroke:var(--map-wall)}.map-wall-inner{fill:none;stroke:var(--map-wall-soft)}.map-door,.map-door-arc{stroke:var(--map-door)}.map-label{fill:var(--map-label)}.map-chair{fill:var(--map-chair)}.map-tbl{transition:fill .15s,stroke .15s}.map-tbl.free{fill:var(--mf-fill);stroke:var(--mf-stroke)}.map-tbl.partial{fill:var(--mp-fill);stroke:var(--mp-stroke)}.map-tbl.occupied{fill:var(--mo-fill);stroke:var(--mo-stroke)}.map-tbl.selected{fill:var(--ms-fill);stroke:var(--ms-stroke)}.map-tbl.locked{fill:var(--gold-faint);stroke:var(--gold);stroke-dasharray:1.1 .8}.map-sel-ring{fill:none;stroke:var(--ms-stroke)}.map-lock rect{fill:var(--gold);stroke:var(--gold)}.map-lock path{stroke:var(--gold)}.map-num{fill:var(--map-num)}.map-num.dim{fill:var(--map-num-dim)}.map-num.sel{fill:var(--ms-stroke)}.map-cap{fill:var(--map-cap)}.map-cap.dim{fill:var(--map-num-dim)}.map-bubble-box,.map-bubble-tip{fill:var(--map-bubble-bg);stroke:var(--mp-stroke)}.map-bubble-title{fill:var(--mp-stroke)}.map-bubble-body{fill:var(--map-bubble-text)}.map-legend{border-top:1px solid var(--border-gold);justify-content:center;gap:1.5rem;padding-top:.75rem;display:flex}.leg-item{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);align-items:center;gap:6px;font-size:.6rem;display:flex}.leg-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.leg-dot.d-free{background:var(--mf-stroke)}.leg-dot.d-partial{background:var(--mp-stroke)}.leg-dot.d-occupied{background:var(--mo-stroke)}.leg-dot.d-selected{background:var(--ms-stroke)}.member-prompt{border:1px solid var(--gold);background:var(--gold-faint);text-align:center;margin-top:1rem;padding:1rem 1.25rem}.member-prompt-text{color:var(--text-cream);margin-bottom:.85rem;font-size:.85rem;line-height:1.6}.member-prompt-btn{background:var(--gold);color:var(--bg-deep);letter-spacing:.22em;text-transform:uppercase;padding:.7rem 1.5rem;font-size:.6rem;font-weight:500;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.member-prompt-btn:hover{background:var(--gold-light);transform:translateY(-1px)}.member-reserve{border:1px solid var(--border-gold);background:var(--bg-card);flex-direction:column;gap:.3rem;padding:1rem 1.25rem;display:flex}.member-reserve-key{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.55rem}.member-reserve-val{font-family:var(--font-display,"Cormorant Garamond", serif);color:var(--text-cream);font-size:1.15rem}.member-reserve-phone{color:var(--text-faint);font-size:.95rem}.selection-confirm{border:1px solid var(--border-gold-strong);background:#c9a84c0a;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;animation:.3s both fadeStepIn;display:flex}.sel-table{font-family:var(--font-display);color:var(--text-cream);font-size:1.1rem;font-weight:400}.sel-cap{letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);margin-top:2px;font-size:.6rem}.btn-next{letter-spacing:.25em;text-transform:uppercase;font-size:.6rem;font-family:var(--font-sans);color:var(--bg-deep);background:var(--gold);cursor:pointer;border:none;align-items:center;gap:8px;padding:.9rem 2rem;font-weight:500;transition:background .3s,opacity .3s,transform .2s;display:inline-flex}.btn-next:hover:not(:disabled){background:var(--gold-light);transform:translateY(-1px)}.btn-next:disabled{opacity:.35;cursor:not-allowed}.btn-back-step{letter-spacing:.2em;text-transform:uppercase;font-size:.55rem;font-family:var(--font-sans);color:var(--text-faint);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;transition:color .2s;display:inline-flex}.btn-back-step:hover{color:var(--text-muted)}.step-actions{justify-content:space-between;align-items:center;padding-top:.5rem;display:flex}.datetime-wrapper{flex-direction:column;gap:2rem;display:flex}.dt-group{flex-direction:column;gap:.75rem;display:flex}.dt-label{letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-size:.62rem;font-weight:500}.dt-input{background:var(--bg-card2);border:1px solid var(--border-gold-strong);color:var(--text-cream);font-family:var(--font-sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;outline:none;width:100%;max-width:300px;padding:.85rem 1rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.dt-input:hover{border-color:var(--gold)}.dt-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-faint)}html.light .dt-input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;max-width:600px;display:grid}.slot-btn{background:var(--bg-card);border:1px solid var(--border-gold);color:var(--text-muted);font-family:var(--font-sans);letter-spacing:.1em;cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:.75rem .5rem;font-size:.75rem;transition:all .2s;display:flex;position:relative}.slot-btn:hover:not(:disabled):not(.selected){border-color:var(--gold-dim);color:var(--text-cream);background:var(--bg-card2)}.slot-btn.selected{border-color:var(--gold);color:var(--gold);background:#c9a84c14}.slot-btn.unavailable{opacity:.35;cursor:not-allowed}.slot-full{letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint);font-size:.45rem}.blk-from{font-size:.8rem;line-height:1}.blk-to{color:var(--text-faint);letter-spacing:.05em;font-size:.55rem}.slot-btn.selected .blk-to{color:var(--gold-dim)}.slot-btn.is-start{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-faint)}.hold-cap-note{max-width:600px;color:var(--text-faint);margin-top:.5rem;font-size:.8rem;line-height:1.55}.dt-closed{background:#d98a8a1a;border:1px solid #d98a8a66;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.dt-closed-badge{letter-spacing:.14em;text-transform:uppercase;color:#d98a8a;white-space:nowrap;border:1px solid #d98a8a80;border-radius:999px;padding:.2rem .6rem;font-size:.62rem}.dt-closed-text{color:var(--text-muted);font-size:.9rem}.dt-closed-text strong{color:var(--text);font-weight:500}.slots-grid.is-disabled{pointer-events:none}.step-actions-end{justify-content:flex-end}.confirm-wrapper{flex-direction:column;gap:1.5rem;max-width:480px;display:flex}.summary-card{border:1px solid var(--border-gold);background:var(--bg-card);padding:1.25rem 1.5rem}.summary-label{letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-size:.5rem}.summary-grid{flex-direction:column;gap:.6rem;display:flex}.summary-item{border-bottom:1px solid var(--border-gold);justify-content:space-between;align-items:baseline;padding-bottom:.6rem;display:flex}.summary-item:last-child{border-bottom:none;padding-bottom:0}.summary-key{letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint);font-size:.55rem}.summary-val{font-family:var(--font-display);color:var(--text-cream);font-size:.95rem}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-label{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-size:.58rem;font-weight:500}.form-optional{color:var(--text-faint);letter-spacing:.1em;text-transform:none;font-weight:400}.form-row{gap:1rem;display:flex}.form-row .form-group{flex:1}.form-input{background:var(--bg-card);border:1px solid var(--border-gold);color:var(--text-cream);font-family:var(--font-sans);outline:none;width:100%;padding:.85rem 1rem;font-size:.85rem;transition:border-color .2s}.form-input::placeholder{color:var(--text-faint)}.form-input:focus{border-color:var(--gold)}.form-input.error{border-color:#6b2d2d}.form-error{color:#c97a7a;letter-spacing:.05em;font-size:.6rem}.form-note{font-family:var(--font-display);color:var(--text-faint);font-size:.9rem;font-style:italic;line-height:1.6}.btn-submit{letter-spacing:.25em;text-transform:uppercase;font-size:.6rem;font-family:var(--font-sans);color:var(--bg-deep);background:var(--gold);cursor:pointer;border:none;width:100%;padding:1rem 2rem;font-weight:500;transition:background .3s,transform .2s}.btn-submit:hover{background:var(--gold-light);transform:translateY(-1px)}.success-wrapper{text-align:center;flex-direction:column;align-items:center;gap:1.25rem;padding:4rem 2rem;display:flex}.success-icon{color:var(--gold)}.success-title{font-family:var(--font-display);color:var(--text-cream);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:300}.success-sub{font-family:var(--font-display);color:var(--text-muted);max-width:400px;font-size:1.05rem;font-style:italic;line-height:1.7}.success-details{border:1px solid var(--border-gold);background:var(--bg-card);flex-direction:column;gap:.6rem;width:100%;max-width:380px;margin-top:.5rem;padding:1.5rem 2rem;display:flex}.btn-secondary-dark{letter-spacing:.2em;text-transform:uppercase;font-size:.6rem;font-family:var(--font-sans);color:var(--gold);border:1px solid var(--border-gold-strong);cursor:pointer;background:0 0;margin-top:.5rem;padding:.9rem 2rem;transition:background .2s,border-color .2s}.btn-secondary-dark:hover{border-color:var(--gold);background:#c9a84c0f}.success-actions{flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:320px;margin-top:.75rem;display:flex}.btn-home{justify-content:center;align-items:center;width:100%;text-decoration:none;display:inline-flex}@media (max-width:768px){.res-page{padding:1.5rem 1.5rem 4rem}.res-back{margin-bottom:2rem}.res-title{font-size:clamp(1.8rem,8vw,2.5rem)}.step-indicator{gap:0}.step-label{display:none}.step-line{width:32px;margin:0 6px}.step-circle{width:28px;height:28px;font-size:.65rem}.map-wrapper{padding:.5rem}.room-svg{max-width:100%}.map-legend{flex-wrap:wrap;justify-content:center;gap:1rem}.selection-confirm{flex-direction:column;align-items:flex-start;gap:1rem}.btn-next{justify-content:center;width:100%}.dt-input{max-width:100%}.slots-grid{grid-template-columns:repeat(3,1fr)}.step-actions{flex-direction:column-reverse;gap:1rem}.step-actions .btn-next{justify-content:center;width:100%}.confirm-wrapper{max-width:100%}.btn-submit{font-size:.6rem}.form-row{flex-direction:column;gap:1.5rem}.success-wrapper{padding:2rem 0}.success-details{max-width:100%}.reserve-actions{flex-direction:column}}@media (max-width:480px){.slots-grid{grid-template-columns:repeat(2,1fr)}.step-line{width:20px}}.map-chair-el{fill:var(--map-chair,#e2d8c429);stroke:#e2d8c438;stroke-width:.15px}.map-legend{flex-wrap:wrap;row-gap:.6rem}.map-plant-pot{fill:#4660442e;stroke:#78966e59}.map-plant-core{fill:#6084586b}.map-strip line{stroke:#e6bf72;opacity:.3}.map-glow{opacity:.18}.map-glow.free{fill:var(--mf-stroke)}.map-glow.partial{fill:var(--mp-stroke)}.map-glow.occupied{fill:var(--mo-stroke);opacity:.1}.map-glow.locked{fill:var(--gold);opacity:.14}.map-glow.selected{fill:var(--ms-stroke);opacity:.3}.map-photo{width:100%;max-width:520px;margin:0 auto;position:relative}.map-photo-img{border-radius:6px;width:100%;height:auto;display:block}.map-marker{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;font-family:inherit;line-height:0;position:absolute;transform:translate(-50%,-50%)}.map-marker-ring{border:1.5px solid var(--mf-stroke);background:#0a080580;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative}.map-marker:hover .map-marker-ring{transform:scale(1.07)}.map-marker-num{font-family:var(--font-display), serif;color:var(--text-cream);font-size:1.05rem;line-height:1}.map-marker-cap{letter-spacing:.05em;color:#f5edd8d1;text-shadow:0 1px 3px #000000e6;white-space:nowrap;font-size:.6rem;line-height:1.2;position:absolute;top:calc(100% + 5px);left:50%;transform:translate(-50%)}.map-marker.is-rect .map-marker-ring{border-radius:12px;width:100%;height:100%}.map-marker.is-free .map-marker-ring{border-color:var(--mf-stroke);box-shadow:0 0 14px #45925f66}.map-marker.is-partial .map-marker-ring{border-color:var(--mp-stroke);box-shadow:0 0 14px #c56a2c66}.map-marker.is-occupied .map-marker-ring{border-color:var(--mo-stroke);box-shadow:none;opacity:.7}.map-marker.is-occupied{cursor:not-allowed}.map-marker.is-occupied .map-marker-cap{opacity:.6}.map-marker.is-selected .map-marker-ring{border-color:var(--ms-stroke);border-width:2px;transform:scale(1.09);box-shadow:0 0 20px #c9a84ca6}.map-marker.is-locked .map-marker-ring{border-color:var(--mlock-stroke);border-style:dashed;box-shadow:0 0 14px #7f97cf52}.map-marker-lock{background:var(--mlock-stroke);color:#14161f;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:-6px;right:-9px}.map-marker-lock svg{width:12px;height:12px}.map-callout{background:var(--map-bubble-bg);border:1px solid var(--mp-stroke);text-align:center;z-index:5;pointer-events:none;border-radius:6px;min-width:158px;padding:.5rem .65rem;position:absolute;transform:translate(-50%,calc(-100% - 38px))}.map-callout-title{letter-spacing:.1em;text-transform:uppercase;color:var(--mp-stroke);margin-bottom:.2rem;font-size:.58rem}.map-callout-body{color:var(--map-bubble-text);font-size:.7rem}.leg-dot.d-locked{background:var(--mlock-stroke)}@media (min-width:1024px){.map-photo{max-width:560px}.map-marker-ring{width:50px;height:50px}.map-marker-num{font-size:1.1rem}}.res-page{padding:0 2rem 6rem}.res-page .cg-header{background:var(--bg-deep);border-bottom-color:var(--border-gold);margin-bottom:2.75rem}@media (max-width:640px){.res-page{padding:0 1.25rem 4rem}.res-page .cg-header{margin-bottom:1.75rem}.map-marker-ring{width:46px;height:46px}.map-marker-num{font-size:1.05rem}.map-marker-cap{font-size:.62rem}}
