.reservation-blade{position:relative;z-index:2;margin:0 max(5vw,24px);padding:30px clamp(24px,3vw,44px);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:28px;scroll-margin-top:125px}
.home .reservation-blade{margin-top:-32px;box-shadow:0 14px 45px #082c2510}
.reservation-blade-top{display:flex;align-items:center;gap:26px}
.reservation-blade-copy{flex:1;min-width:0}
.reservation-blade .eyebrow{margin-bottom:8px}
.reservation-blade h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.15;margin-bottom:10px}
.reservation-blade-copy>p:last-child{font-size:.88rem;color:var(--muted)}
.reservation-seal{display:grid;place-items:center;flex:none;width:58px;height:64px;background:color-mix(in srgb,var(--yellow) 24%,transparent);color:var(--ink);border-radius:19px}
.reservation-seal svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.reservation-blade .button{flex:none;min-height:52px;border:0;cursor:pointer}
.reservation-calendar{padding-top:24px;margin-top:26px;border-top:1px solid var(--line)}
.reservation-calendar[hidden]{display:none}
.reservation-engine-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.reservation-engine-heading .small,.reservation-language{color:var(--muted)}
.reservation-engine-heading .text-link{margin:0}
.reservation-frame{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff}
.reservation-frame iframe{display:block;border:0;width:100%;height:800px;color-scheme:light}
.reservations-page .booking-grid{align-items:start;gap:clamp(28px,5vw,80px)}
.reservations-page .booking-image{height:auto;min-height:0;aspect-ratio:4/3;max-height:520px;object-fit:cover}
.reservations-page .booking-panel{align-self:start;padding:30px;border:1px solid var(--line);border-radius:28px;background:var(--surface)}
.reservations-page .booking-panel h2{font-size:clamp(1.7rem,3vw,2.7rem)}
.reservations-page .reservation-blade{margin-top:0;margin-bottom:70px}
@media(max-width:850px){.reservation-blade-top{flex-wrap:wrap;gap:18px}.reservation-blade .button{width:100%}.reservation-seal{width:44px;height:50px;border-radius:14px}.reservation-blade-copy{flex-basis:calc(100% - 68px)}.reservations-page .booking-grid{grid-template-columns:1fr}.reservations-page .booking-image{aspect-ratio:16/9;max-height:320px}}
@media(max-width:480px){.reservation-blade{margin-inline:16px;padding:24px 20px;border-radius:24px}.home .reservation-blade{margin-top:-20px}.reservation-blade-top{gap:14px}.reservation-blade .eyebrow{font-size:.6rem}.reservation-blade h2{font-size:1.7rem}.reservation-blade-copy>p:last-child{font-size:.8rem}.reservation-frame{margin-inline:-10px;border-radius:12px}.reservation-frame iframe{height:900px}.reservation-engine-heading .text-link{font-size:.75rem}}
@media print{.reservation-blade{display:none}}

.reservation-disclosure{max-width:none;margin-top:18px;font-size:.7rem;color:var(--muted)}
