.page-reservations-system h1 { max-width:14.5ch; }
.page-reservations-system .bk-rail::after { animation-name:rv-rail-travel; }
@keyframes rv-rail-travel { 0% { top:100%; } 100% { top:-44%; } }
.rv-hero-board { background:color-mix(in srgb,var(--bk-dark-2) 91%,transparent); border:1px solid color-mix(in srgb,var(--bk-accent) 27%,transparent); border-radius:17px; box-shadow:0 30px 70px color-mix(in srgb,var(--bk-dark) 65%,transparent); padding:25px; }
.rv-mini-floor { background:var(--bk-dark); border:1px solid var(--bk-rail); border-radius:12px; display:grid; gap:9px; grid-template-columns:repeat(3,minmax(0,1fr)); padding:14px; }
.rv-mini-floor > span { align-items:center; background:color-mix(in srgb,var(--bk-inv) 4%,transparent); border:1px solid var(--bk-rail); border-radius:999px; color:var(--bk-dim); display:flex; font-size:10px; height:48px; justify-content:center; position:relative; }
.rv-mini-floor > span::before, .rv-mini-floor > span::after { border:1px solid var(--bk-rail); border-radius:3px; content:""; height:13px; position:absolute; width:5px; }
.rv-mini-floor > span::before { left:-5px; }
.rv-mini-floor > span::after { right:-5px; }
.rv-mini-floor span small { color:var(--bk-muted); font-size:8px; margin-left:5px; }
.rv-mini-floor .is-wide { border-radius:8px; grid-column:span 2; }
.rv-mini-floor .is-busy { background:var(--bk-rail); color:var(--bk-muted); }
.rv-mini-floor .is-new { background:color-mix(in srgb,var(--bk-accent) 19%,transparent); border-color:var(--bk-accent); color:var(--bk-accent); }
.rv-hero-ticket { align-items:center; background:color-mix(in srgb,var(--bk-accent) 10%,transparent); border:1px solid color-mix(in srgb,var(--bk-accent) 25%,transparent); border-radius:10px; display:flex; gap:15px; justify-content:space-between; margin-top:13px; padding:13px; }
.rv-hero-ticket small, .rv-hero-ticket b { display:block; }
.rv-hero-ticket small { color:var(--bk-muted); font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.rv-hero-ticket b { color:var(--bk-inv); font-size:11px; }
.rv-hero-ticket strong { color:var(--bk-accent); font-size:9.5px; }
.rv-hero-meter { align-items:center; display:grid; gap:10px; grid-template-columns:1fr auto; margin:16px 0; }
.rv-hero-meter > span { background:var(--bk-rail); border-radius:999px; height:5px; overflow:hidden; }
.rv-hero-meter > span b { background:var(--bk-accent); display:block; height:100%; width:70%; }
.rv-hero-meter small { color:var(--bk-muted); font-size:8.5px; }
.rv-hero-board > p { align-items:flex-start; color:var(--bk-dim); display:flex; font-size:10.5px; gap:8px; margin:0; }
.rv-hero-board > p span { color:var(--bk-accent); }
.rv-service { margin-bottom:19px; }
.rv-times { grid-template-columns:repeat(4,minmax(0,1fr)); }
.rv-guest-detail { display:grid; gap:8px; grid-template-columns:1fr 1fr; margin-top:16px; }
.rv-guest-detail > span { background:var(--bk-warm); border:1px solid var(--bk-edge); border-radius:8px; padding:10px; }
.rv-guest-detail small, .rv-guest-detail b { display:block; }
.rv-guest-detail small { color:var(--bk-muted); font-size:8px; letter-spacing:.09em; text-transform:uppercase; }
.rv-guest-detail b { color:var(--bk-body); font-size:10px; margin-top:2px; }
.rv-host { min-height:590px; }
.rv-floor { display:grid; gap:10px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:18px 0 10px; min-height:238px; padding-top:18px; position:relative; }
.rv-floor-label { color:var(--bk-muted); font-size:7.5px; left:0; letter-spacing:.14em; position:absolute; text-transform:uppercase; top:0; }
.rv-table, .rv-room { align-items:center; background:color-mix(in srgb,var(--bk-inv) 4%,transparent); border:1px solid var(--bk-rail); color:var(--bk-dim); display:flex; flex-direction:column; font-style:normal; justify-content:center; min-height:59px; position:relative; transition:background .2s,border-color .2s,color .2s,transform .2s; }
.rv-table { border-radius:999px; }
.rv-table::before, .rv-table::after { border:1px solid var(--bk-rail); border-radius:3px; content:""; height:17px; position:absolute; width:6px; }
.rv-table::before { left:-6px; }
.rv-table::after { right:-6px; }
.rv-table b, .rv-room b { font-size:9px; }
.rv-table small, .rv-room small { color:var(--bk-muted); font-size:7.5px; }
.rv-table-wide { border-radius:9px; grid-column:span 2; }
.rv-table-pair { border-radius:9px; }
.rv-room { border-radius:9px; grid-column:span 2; }
.rv-table.is-booked { background:var(--bk-rail); color:var(--bk-muted); }
.rv-table.is-suggested, .rv-room.is-suggested { background:color-mix(in srgb,var(--bk-accent) 12%,transparent); border-color:var(--bk-accent); color:var(--bk-accent); transform:translateY(-2px); }
.rv-table.is-confirmed, .rv-room.is-confirmed { background:var(--bk-accent); border-color:var(--bk-accent); color:var(--bk-dark); }
.rv-table.is-confirmed small, .rv-room.is-confirmed small { color:var(--bk-dark-2); }
.rv-floor-key { display:flex; flex-wrap:wrap; gap:13px; }
.rv-floor-key span { align-items:center; color:var(--bk-muted); display:flex; font-size:7.5px; gap:5px; }
.rv-floor-key i { border:1px solid var(--bk-rail); border-radius:2px; height:8px; width:8px; }
.rv-floor-key span:nth-child(2) i { background:var(--bk-rail); }
.rv-floor-key span:nth-child(3) i { border-color:var(--bk-accent); }
.rv-suggestion { background:color-mix(in srgb,var(--bk-accent) 8%,transparent); border:1px solid color-mix(in srgb,var(--bk-accent) 19%,transparent); border-radius:10px; margin-top:16px; padding:13px; }
.rv-suggestion small, .rv-suggestion b { display:block; }
.rv-suggestion small { color:var(--bk-muted); font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.rv-suggestion b { color:var(--bk-accent); font-size:11px; margin-top:2px; }
.rv-suggestion p { color:var(--bk-dim); font-size:9.5px; line-height:1.45; margin:5px 0 0; }
.rv-owner-record { padding-top:15px; }
.rv-owner-record > p { color:var(--bk-inv); }
.rv-clay-lede { color:var(--bk-clay-body); font-size:15px; line-height:1.65; margin:0; max-width:68ch; }
.rv-rules-head { align-items:end; display:grid; gap:60px; grid-template-columns:1fr 310px; }
.rv-rule-summary { background:var(--bk-card); border:1px solid var(--bk-edge); border-radius:13px; padding:22px; }
.rv-rule-summary b, .rv-rule-summary span { display:block; }
.rv-rule-summary b { color:var(--bk-accent-ink); font-family:var(--awd-font-display); font-size:21px; font-weight:400; }
.rv-rule-summary span { color:var(--bk-body); font-size:10.5px; margin-top:5px; }
.rv-rule-grid { display:grid; gap:12px; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:38px; }
.rv-rule-grid article { border-top:2px solid var(--bk-accent); padding:20px 10px 0 0; }
.rv-rule-grid article > span { color:var(--bk-accent-ink); font-family:var(--awd-font-display); font-size:11px; }
.rv-rule-grid h3 { font-size:17px; margin:17px 0 7px; }
.rv-rule-grid p { color:var(--bk-body); font-size:11px; margin:0; }
.rv-proof-grid { align-items:center; display:grid; gap:65px; grid-template-columns:.85fr 1.15fr; }
.rv-proof-grid > div:first-child > p:not(.kicker) { color:var(--bk-clay-body); font-size:12px; }
.rv-proof-grid .btn { margin-top:18px; }
.rv-test-grid { display:grid; gap:9px; grid-template-columns:1fr 1fr; }
.rv-test-grid article { background:color-mix(in srgb,var(--bk-clay-ink) 7%,transparent); border:1px solid color-mix(in srgb,var(--bk-clay-ink) 14%,transparent); border-radius:11px; display:grid; gap:2px 10px; grid-template-columns:30px 1fr; padding:14px; }
.rv-test-grid article > span { color:var(--bk-clay-kicker); font-family:var(--awd-font-display); font-size:9px; grid-row:1 / 3; }
.rv-test-grid b { color:var(--bk-clay-ink); font-size:11px; }
.rv-test-grid small { color:var(--bk-clay-body); font-size:9.5px; }

@media(max-width:900px) {
	.rv-rules-head, .rv-proof-grid { gap:38px; grid-template-columns:minmax(0,1fr); }
	.rv-rule-summary { max-width:520px; }
	.rv-rule-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:700px) {
	.rv-host { min-height:0; }
	.rv-rule-grid, .rv-test-grid { grid-template-columns:1fr; }
	.rv-rule-grid article { min-height:0; }
}
@media(max-width:420px) {
	.rv-hero-board { padding:19px; }
	.rv-mini-floor, .rv-floor { gap:8px; }
	.rv-hero-ticket { align-items:flex-start; flex-direction:column; }
	.rv-times { grid-template-columns:1fr 1fr; }
	.rv-guest-detail { grid-template-columns:1fr; }
	.rv-floor { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.rv-table-wide, .rv-room { grid-column:span 2; }
}
@media(prefers-reduced-motion:reduce) {
	.page-reservations-system .bk-rail::after { animation:none; }
	.rv-table, .rv-room { transition:none; }
}
