:root{--bg:#0d1117;--surface:#ffffff0f;--text:#f3f4f6;--muted:#aab2bd;--primary:#2f6feb;--available:#1f9d55;--limited:#d08700;--unavailable:#6b7280;--focus:#8ab4ff;--border:#ffffff1f}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{padding:28px 32px 12px}.wordmark{letter-spacing:.18em;text-transform:uppercase;font-size:1.25rem;font-weight:700}.subtitle{color:var(--muted);margin:4px 0 0;font-size:.95rem}main{flex:1;gap:32px;padding:16px 32px 32px;display:grid}.scene iframe{aspect-ratio:4/5;background:#000;border:0;border-radius:12px;width:100%;display:block}.scene-fallback{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:10px;margin:12px 0 0;padding:12px 16px}.scene-caption{color:var(--muted);max-width:60ch;margin:12px 0 0;font-size:.9rem}.scene-caption a,footer a{color:var(--focus)}.booking{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}.booking h2{margin:0 0 16px;font-size:1.3rem}fieldset{border:0;flex-direction:column;gap:8px;margin:0 0 24px;padding:0;display:flex}legend{margin-bottom:8px;padding:0;font-size:1.05rem;font-weight:600}label{color:var(--muted);margin-top:8px;font-size:.9rem}input[type=date],input[type=text],input[type=email],select,textarea{border:1px solid var(--border);min-height:44px;color:var(--text);font:inherit;background:#00000040;border-radius:10px;width:100%;padding:10px 12px}select option{background:var(--bg);color:var(--text)}.helper{color:var(--muted);margin:0;font-size:.85rem}.muted{color:var(--muted)}#preference-options{flex-direction:column;gap:10px;margin-top:8px;display:flex}.option{border:1px solid var(--border);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:row;align-items:flex-start;gap:12px;margin-top:0;padding:12px;display:flex}.option:has(:checked){outline:2px solid var(--primary);border-color:var(--primary)}.option[data-status=unavailable],.option[data-status=unsuitable]{opacity:.55;cursor:not-allowed}.option input[type=radio]{width:auto;min-height:auto;margin-top:4px}.option-body{flex-direction:column;gap:4px;display:flex}.option-body strong{font-size:.95rem}.capacity{color:var(--muted);font-size:.8rem}.description{color:var(--muted);font-size:.85rem}.badge{color:#fff;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:.75rem;font-weight:600}.badge[data-status=available]{background:var(--available)}.badge[data-status=limited],.badge[data-status=enquiry]{background:var(--limited);color:#1a1a1a}.badge[data-status=unavailable],.badge[data-status=unsuitable]{background:var(--unavailable)}button{border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:10px 20px;font-weight:600}button.primary{background:var(--primary);border-color:var(--primary);color:#fff;margin-top:12px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}#confirmation{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}#confirmation h2{margin-top:0}#confirmation dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0 0 16px;display:grid}#confirmation dt{color:var(--muted);font-size:.9rem}#confirmation dd{margin:0}footer{color:var(--muted);padding:16px 32px 32px;font-size:.8rem}@media (width>=1024px){main{grid-template-columns:minmax(0,1fr) 400px;align-items:start}.scene iframe{aspect-ratio:16/10;min-height:560px}.booking{max-height:calc(100vh - 160px);overflow-y:auto}}@media (prefers-reduced-motion:no-preference){#confirmation{animation:.2s ease-out confirmation-in}@keyframes confirmation-in{0%{opacity:0}to{opacity:1}}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
