 .reserve-hero{background:#173d32;color:white;padding:90px clamp(24px,8vw,130px) 80px;background-image:linear-gradient(90deg,#112e29ed,#173a30bb),url("assets/moonlight/12-main-aerial.jpeg");background-size:cover;background-position:center}.reserve-hero h1{font:400 clamp(42px,5vw,66px) Georgia,serif;margin:18px 0}.reserve-hero>p:last-child{max-width:650px;color:#e5ece5;line-height:1.7}.booking-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:35px;max-width:1300px;padding:70px 25px;margin:auto}.booking-panel,.booking-summary{background:white;box-shadow:0 10px 32px #203f3012}.booking-panel{padding:36px}.preview-warning{border:1px solid #dbceb1;background:#f8f3e8;padding:16px 18px;display:grid;gap:5px;color:#5b5643;font-size:13px}.preview-warning strong{font-size:11px;letter-spacing:.14em}.booking-panel fieldset{border:0;padding:0;margin:28px 0}.booking-panel legend{font:400 26px Georgia,serif;margin-bottom:18px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;gap:9px;align-items:center;padding:18px;background:#f5f5f1;border:1px solid #e1dfd7;font-size:13px;cursor:pointer}.choice:has(input:checked){border-color:#275c45;background:#e9f1e9}.booking-panel label:not(.choice):not(.extra-list label){display:block;margin:18px 0 8px;font-size:13px;font-weight:600}.booking-panel input[type=date],.booking-panel select{width:100%;padding:14px 12px;border:1px solid #cdd1c6;background:#fff;font:inherit;color:#20392d;min-width:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.muted,.smallprint{font-size:12px;color:#68776a;line-height:1.7}.extra-list{display:grid;gap:8px}.extra-list label{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #e3e5df;cursor:pointer}.extra-list label span{flex:1;font-size:13px}.extra-list b{white-space:nowrap;color:#1e4637}.extra-list small{font-weight:400;font-size:10px}.reserve-submit,#copy{width:100%;border:0;background:#193d31;color:white;padding:18px 24px;font:600 13px 'DM Sans',Arial,sans-serif;cursor:pointer}.reserve-submit:hover,#copy:hover{background:#2e614a}.booking-summary{align-self:start;position:sticky;top:105px}.summary-photo{height:250px;overflow:hidden}.summary-photo img{width:100%;height:100%;object-fit:cover}.summary-inner{padding:30px}.summary-inner h2{font:400 30px Georgia,serif}.price-line,.price-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:17px 0;border-bottom:1px solid #e5e5de;font-size:13px}.price-total{font-weight:700;font-size:17px;border:0}.price-total strong{font-size:25px}#message-area{border-top:1px solid #e5e5de;margin-top:22px;padding-top:18px}#message-area h3{font:400 20px Georgia,serif}#message{width:100%;resize:vertical;border:1px solid #dddcd3;padding:12px;font:12px/1.6 'DM Sans',Arial,sans-serif;margin:10px 0}#copy-state{font-size:12px;color:#365741}.error{margin:12px 0;padding:12px;background:#fff0ee;border:1px solid #d49d91;color:#802f25;font-size:13px}@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}}@media(max-width:520px){.booking-panel{padding:19px}.choice-grid,.form-grid{grid-template-columns:1fr}.reserve-hero{padding:65px 22px}.booking-layout{padding:25px 12px}}