.rushmore-booking .modal_cta { background:#f7f7f5; color:#272b2d; border-radius:22px; overflow:hidden; width:min(1100px,calc(100vw - 32px)); margin:auto; }
.rushmore-booking .modal_cta > .grid { display:block; }
.rushmore-booking .modal_cta_c { width:100%; max-height:90dvh; overflow-y:auto; padding:0; position:relative; }
.rushmore-booking .modal_cta_form { width:100%; margin:0; }
.rushmore-booking .form_block { display:grid; grid-template-columns: .9fr 1.1fr; gap:0; min-height:560px; padding:0; }
.rushmore-booking .modal_cta_l { display:flex; grid-area:auto; padding:64px 40px; background:#272c30; color:#fff; width:auto; }
.rushmore-booking .booking-intro { display:flex; flex-direction:column; width:100%; }
.rushmore-booking .booking-eyebrow { font:600 11px/1.5 var(--rushmore-font),sans-serif; letter-spacing:.16em; margin:0 0 42px; color:#bec7cd; }
.rushmore-booking .booking-intro h2 { font:500 clamp(34px,4vw,56px)/1.05 var(--rushmore-font),sans-serif; letter-spacing:-.045em; margin:0 0 24px; }
.rushmore-booking .booking-description { font:400 16px/1.65 var(--rushmore-font),sans-serif; color:#d3d9dd; margin:0 0 48px; }
.rushmore-booking .booking-details { display:grid; gap:10px; margin-top:auto; padding-top:24px; border-top:1px solid #ffffff30; font:400 12px/1.5 var(--rushmore-font),sans-serif; color:#bdc6cc; }
.rushmore-booking .modal_cta_r { grid-area:auto; width:auto; padding:64px 40px 36px; }
.rushmore-booking .modal_cta_form_c { display:block; padding:0; width:100%; }
.rushmore-booking .form_block_t { display:none; }
.rushmore-booking .form_block_list { display:grid; gap:18px; }
.rushmore-booking .form_block_list > .b-mob { display:none; }
.rushmore-booking .input { display:flex; flex-direction:column; gap:8px; border:0; padding:0; }
.rushmore-booking .input_label { position:static; }
.rushmore-booking .input_label label { font:600 12px/1.4 var(--rushmore-font),sans-serif; letter-spacing:.02em; }
.rushmore-booking .input_field { width:100%; height:48px; min-height:48px; border:1px solid #d4d8da; border-radius:8px; background:white; color:#272b2d; padding:12px 14px; font:400 15px/1.5 var(--rushmore-font),sans-serif; margin:0; }
.rushmore-booking .input_field::placeholder { color:#7a8187; opacity:1; }
.rushmore-booking .input_field:focus { outline:2px solid #536f82; outline-offset:2px; }
.rushmore-booking textarea.input_field { height:105px; resize:vertical; }
.rushmore-booking .form_block_b { display:flex; flex-direction:column; align-items:stretch; gap:18px; margin-top:24px; padding:0; }
.rushmore-booking .form_block_legal { width:auto; font:400 12px/1.5 var(--rushmore-font),sans-serif; color:#71787d; }
.rushmore-booking [data-form-btn] { width:100%; min-height:50px; padding:16px 22px; border-radius:999px; background:#272c30; color:white; border:1px solid #272c30; text-align:center; }
.rushmore-booking [data-form-btn] .l1 { font-size:12px; }
.rushmore-booking [data-form-btn] .btn_label,
.rushmore-booking [data-form-btn] .btn_label * { color:#ffffff !important; }
.rushmore-booking [data-form-btn] .btn_bg_fill { background:#394249 !important; }
.rushmore-booking .modal_cta_close { position:absolute; top:16px; right:16px; z-index:10; }
.rushmore-booking .modal_cta_close .btn-ico { width:36px; height:36px; }
@media(max-width:700px) {
 .rushmore-booking .form_block { grid-template-columns:1fr; }
 .rushmore-booking .modal_cta_l { padding:34px 26px; }
 .rushmore-booking .booking-eyebrow { margin-bottom:22px; padding-right:35px; }
 .rushmore-booking .booking-description { margin-bottom:22px; }
 .rushmore-booking .modal_cta_r { padding:28px 26px; }
 .rushmore-booking .modal_cta_close { color:white; }
}
