:root{--bg:#000;--text:#efe8dc;--muted:#9a9388;--line:#2a2724;--accent:#c9a66b;--panel:#0d0c0b;--err:#e07a6a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 'Jost',system-ui,sans-serif}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.1;margin:0}
a{color:var(--accent)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
header.top{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;border-bottom:1px solid var(--line)}
.logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.7rem;letter-spacing:.04em}
.hero{padding:12vh 5vw 8vh;max-width:1100px;margin:auto}
.hero h1{font-size:clamp(3rem,9vw,7rem);font-style:italic}
.hero p{max-width:34ch;color:var(--muted);font-size:1.15rem;margin:1.5rem 0 2rem}
.btn{display:inline-block;background:var(--accent);color:#000;border:0;padding:14px 28px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:none;color:var(--text);border:1px solid var(--line);padding:6px 14px;font-size:.9rem}
.btn.ghost:hover{border-color:var(--err);color:var(--err)}
section{max-width:1100px;margin:auto;padding:8vh 5vw}
section h2{font-size:2.6rem;margin-bottom:1.5rem}
.prices{list-style:none;padding:0;max-width:560px}
.prices li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}
.prices span:last-child{color:var(--accent)}
.book{display:grid;gap:2rem;grid-template-columns:1fr 1fr}
@media(max-width:760px){.book{grid-template-columns:1fr}}
label{display:block;color:var(--muted);font-size:.9rem;margin:1rem 0 .3rem}
input,select{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--line);padding:12px;font:inherit;border-radius:0;color-scheme:dark}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:.5rem}
.slot{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:10px 0;font:inherit;cursor:pointer}
.slot:hover:not(:disabled){border-color:var(--accent)}
.slot.sel{background:var(--accent);color:#000;border-color:var(--accent)}
.slot:disabled{color:#4a463f;text-decoration:line-through;cursor:not-allowed}
.msg{margin-top:1rem;min-height:1.5em}.msg.err{color:var(--err)}.msg.ok{color:var(--accent)}
footer{border-top:1px solid var(--line);padding:30px 5vw;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-weight:400}
.wrap{overflow-x:auto}
