:root{--accent:#e4002b;--accent-hover:#c40024;--cream:#f5f1ea;--ink:#111;--text:#292929;--muted:#5c574f;--line:#ddd6cc;--gold:#c9a227;--display:"Roboto Condensed",sans-serif;--font:Roboto,sans-serif}
*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--text);background:var(--cream);line-height:1.6}
.wrap{max-width:1080px;margin:0 auto;padding:56px 20px}h1,h2,h3{font-family:var(--display);color:var(--ink);line-height:1.05;margin:0 0 16px}
h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:900}h1 span{color:var(--accent)}h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.draft{background:var(--gold);color:#000;text-align:center;font-weight:700;padding:8px;font-size:.9rem}
.hero .grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.kicker{color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.lead{font-size:1.15rem;max-width:560px}
figure{margin:0;text-align:center}img{max-width:100%;height:auto;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.15)}
.hand{font-family:Caveat,cursive;font-size:1.8rem;color:var(--accent)}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:14px 26px;border-radius:8px;font-weight:700;text-decoration:none;margin-top:8px}.btn:hover{background:var(--accent-hover)}
.btn.ghost{background:transparent;border:2px solid #fff}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;border-top:4px solid var(--accent)}
.scope{max-width:820px}.dark{background:#000;color:#ddd}.dark h2,.dark h3{color:#fff}.sub{max-width:640px}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:24px}
.price{border:1px solid #333;border-radius:14px;padding:26px;background:#111}.price.feat{border:2px solid var(--accent)}
.tag{color:var(--gold);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.amt{font-family:var(--display);font-size:2.6rem;color:#fff;margin:0}.note{color:#999;font-size:.9rem;margin-top:24px}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin:10px 0}summary{font-weight:700;cursor:pointer}
.foot{font-size:.85rem;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:820px){.hero .grid,.prices{grid-template-columns:1fr}figure{order:-1}figure img{max-width:280px}.wrap{padding:40px 18px}}
.book{max-width:640px}.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin:16px 0}
.slots{display:grid;gap:10px}.slot{display:flex;gap:10px;align-items:center;border:2px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;font-weight:700}
.slot:has(input:checked){border-color:var(--accent);background:#fff5f6}.slot input{accent-color:var(--accent)}
.field{display:block;margin:10px 0}.field input{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}
.opts{display:grid;gap:10px}.opt{display:flex;justify-content:space-between;border:2px solid var(--line);border-radius:10px;padding:14px;cursor:pointer}
.opt:has(input:checked){border-color:var(--accent)}.err{color:var(--accent);font-weight:700}.ok{color:#0a7d32;font-weight:700}
.book .btn{border:0;font:inherit;font-weight:700;cursor:pointer}.book .btn[disabled]{opacity:.5;cursor:not-allowed}.muted{color:var(--muted);font-size:.9rem}

.date-heading{font-family:var(--display);font-size:1.35rem;color:var(--ink);margin:4px 0 14px;font-weight:700}
.date-heading .tag-today{color:var(--accent);margin-right:8px;text-transform:uppercase;letter-spacing:.06em}

.booked{padding-left:1.15rem;margin:8px 0}.booked li{margin:6px 0}.linkish{background:none;border:0;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:0}

.date-nav{display:flex;align-items:center;gap:10px;margin:4px 0 14px}
.date-nav .date-heading{flex:1;text-align:center;margin:0;min-width:0}
.date-arrow{flex:0 0 auto;width:44px;height:44px;border:2px solid var(--line);background:#fff;border-radius:10px;font-size:1.35rem;line-height:1;cursor:pointer;color:var(--ink);padding:0}
.date-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.date-arrow:disabled{opacity:.35;cursor:not-allowed}
.date-arrow:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:820px){.date-arrow{width:48px;height:48px}.date-nav .date-heading{font-size:1.15rem}}
