/* Reservation and legal content follow the architectural inner-page system. */
.reservation-page{max-width:1100px;margin:0 auto}
.reservation-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:45px;padding-bottom:44px;border-bottom:1px solid var(--line)}
.reservation-intro h2{max-width:730px;margin:17px 0 0;font:600 clamp(2.7rem,4.5vw,5rem)/1.08 Manrope,Arial,sans-serif;letter-spacing:-.06em}
.reservation-contact{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.reservation-contact p{margin:0 0 8px;color:var(--brass-dark);font-size:.69rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.reservation-contact a{text-decoration:underline;text-underline-offset:4px}
.booking-form-host{min-height:480px;margin-top:35px;padding:35px;background:#fff;border:1px solid var(--line)}
.booking-fallback{margin:18px 0 0;color:#6c6258;font-size:.87rem;line-height:1.65}
.detail-legal{max-width:890px;margin:0 auto;color:#51473d;font-size:1rem;line-height:1.85;overflow-wrap:anywhere}
.detail-legal p,.detail-legal ul,.detail-legal ol{margin:0 0 20px}
.detail-legal li{margin:0 0 10px}
.detail-legal a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.detail-legal table{display:block;max-width:100%;overflow:auto}
.detail-legal h2,.detail-legal h3{margin:40px 0 18px;font:600 1.6rem/1.2 Manrope,Arial,sans-serif;letter-spacing:-.04em}
.detail-legal strong{font-weight:700;color:var(--ink)}
@media(max-width:650px){.reservation-intro{grid-template-columns:1fr;gap:28px;padding-bottom:30px}.reservation-intro h2{font-size:2.8rem}.reservation-contact{align-items:flex-start}.booking-form-host{min-height:380px;padding:18px;margin-top:25px}.detail-legal{font-size:.9rem}}
