.modal-shell{box-sizing:border-box;width:min(760px,calc(100vw - 40px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--ink,#111);border-radius:0;background:#fff;color:var(--ink,#111);font-family:var(--sans,Arial,sans-serif);overflow:auto;overscroll-behavior:contain;box-shadow:14px 14px 0 #d8181d33}.modal-shell::backdrop{background:#111b;backdrop-filter:blur(5px)}.modal-shell[open]{animation:modal-enter .24s ease-out}.modal-shell [hidden]{display:none!important}.modal-shell *{box-sizing:border-box}.modal-topline,.modal-bottomline{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 28px;border-bottom:1px solid var(--ink,#111);font-size:10px;font-weight:700;letter-spacing:.1em}.modal-topline{position:sticky;top:0;background:#fff;z-index:2;min-height:60px}.modal-bottomline{border-top:1px solid var(--ink,#111);border-bottom:0;padding-top:18px;padding-bottom:18px;margin-top:32px}.modal-close{border:0;background:transparent;color:inherit;display:grid;place-items:center;min-width:40px;height:40px;font-family:Arial,sans-serif;font-size:35px;font-weight:400;cursor:pointer;line-height:1}.modal-close:hover{color:var(--red,#d8181d);transform:rotate(90deg)}.modal-close{transition:transform .2s,color .2s}.booking-intro{padding:32px 36px 20px}.modal-eyebrow{display:block;color:var(--red,#d8181d);font:700 11px/1.5 var(--sans,Arial,sans-serif);letter-spacing:.13em;margin-bottom:14px}.modal-shell h2{font:700 clamp(38px,5vw,60px)/.94 var(--display,'Times New Roman',serif);letter-spacing:-.04em;margin:0 0 20px;text-transform:uppercase}.booking-intro p{max-width:530px;font-size:14px;line-height:1.6;color:#595959;margin:0}.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0 36px 28px;padding:0;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.booking-progress li{display:flex;gap:9px;padding:15px 0;font-size:12px;color:#777}.booking-progress li span{font-size:10px;padding-top:1px}.booking-progress li[aria-current=step]{color:var(--red,#d8181d);font-weight:700;box-shadow:inset 0 -3px var(--red,#d8181d)}.booking-step,.booking-completed{padding:0 36px}.booking-step-heading{font:700 25px/1.1 var(--display,'Times New Roman',serif);margin:0 0 24px;letter-spacing:-.02em}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:23px 20px}.booking-field{display:block;font-size:12px;font-weight:700;line-height:1.6}.booking-field>span{color:var(--red,#d8181d)}.booking-wide{grid-column:1/-1}.booking-field input,.booking-field select,.booking-field textarea{display:block;width:100%;min-width:0;border:1px solid #c9c9c9;border-radius:0;background:#fafafa;color:#111;margin-top:8px;padding:13px 12px;font:400 15px/1.5 var(--sans,Arial,sans-serif);min-height:49px;box-shadow:none}.booking-field textarea{resize:vertical;max-height:260px;min-height:110px}.booking-field input::placeholder,.booking-field textarea::placeholder{color:#888;opacity:1}.booking-field small{display:block;font:400 11px/1.6 var(--sans,Arial,sans-serif);color:#666;margin-top:6px}.booking-required{font-size:11px;color:#666;margin:18px 0 0}.booking-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:30px}.booking-actions-end{justify-content:flex-end}.modal-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 20px;min-height:49px;border:1px solid var(--red,#d8181d);border-radius:0;background:var(--red,#d8181d);color:white;font:700 13px/1.25 var(--sans,Arial,sans-serif);cursor:pointer;text-decoration:none;transition:background .18s,color .18s,transform .18s}.modal-button:hover{background:#111;border-color:#111;transform:translateY(-2px)}.modal-button-quiet{border-color:#ccc;color:#111;background:#fff}.modal-button-quiet:hover{background:#111;color:#fff}.modal-shell button:focus-visible,.modal-shell input:focus-visible,.modal-shell select:focus-visible,.modal-shell textarea:focus-visible{outline:3px solid var(--red,#d8181d);outline-offset:4px}.booking-step-heading:focus,.booking-completed h3:focus{outline:0}.booking-review-intro{font-size:13px;color:#666;line-height:1.6;margin:0 0 20px}.booking-summary{display:grid;grid-template-columns:125px 1fr;margin:0;border-top:1px solid #ddd}.booking-summary dt,.booking-summary dd{padding:13px 0;margin:0;border-bottom:1px solid #ddd;font-size:13px;line-height:1.6}.booking-summary dt{font-size:11px;color:#777;padding-right:15px}.booking-summary dd{overflow-wrap:anywhere;white-space:pre-wrap;font-weight:500}.booking-demo-note{padding:16px;background:#f5f2ed;border-left:3px solid var(--red,#d8181d);font-size:12px;line-height:1.65;margin:22px 0}.booking-completed{padding-top:8px}.booking-completed h3{font:700 clamp(35px,5vw,54px)/.96 var(--display,'Times New Roman',serif);letter-spacing:-.04em;text-transform:uppercase;margin:16px 0}.booking-complete-mark{display:grid;place-items:center;background:var(--red,#d8181d);color:white;width:42px;height:42px;font-size:26px}.booking-confirmation{font-size:14px;line-height:1.6;font-weight:700;margin:20px 0 25px}.booking-complete-actions{justify-content:flex-start}.modal-editorial-content{padding:36px}.modal-editorial h2{font-size:clamp(38px,5vw,56px)}.modal-lead{font-size:18px;line-height:1.6;max-width:570px}.modal-service-list{list-style:none;padding:0;margin:27px 0;border-top:1px solid #ccc;counter-reset:care}.modal-service-list li{position:relative;border-bottom:1px solid #ccc;font-size:14px;line-height:1.7;padding:18px 0 18px 38px;counter-increment:care}.modal-service-list li::before{content:'0' counter(care);position:absolute;left:0;top:20px;color:var(--red,#d8181d);font-size:11px;font-weight:700}.modal-smallprint{font-size:11px;line-height:1.7;color:#777;margin:0 0 25px}.modal-editorial .modal-bottomline{margin-top:0}.modal-note-body p{font-size:16px;line-height:1.85;margin:22px 0}.modal-note-body p:first-child{font-size:20px;line-height:1.65}.modal-note-body p+p{padding-top:20px;border-top:1px solid #ddd}@keyframes modal-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:560px){.modal-shell{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);box-shadow:5px 5px 0 #d8181d33}.modal-topline,.modal-bottomline{padding:10px 18px;font-size:9px}.booking-intro{padding:26px 23px 20px}.booking-progress{margin:0 23px 25px}.booking-progress li{font-size:11px;gap:6px}.booking-step,.booking-completed{padding-left:23px;padding-right:23px}.booking-fields{grid-template-columns:1fr;gap:18px}.booking-wide{grid-column:auto}.booking-actions{gap:10px}.modal-button{padding:14px 15px;font-size:12px;gap:14px}.booking-summary{grid-template-columns:92px 1fr}.booking-summary dt,.booking-summary dd{font-size:12px}.booking-summary dt{font-size:10px}.modal-editorial-content{padding:28px 23px}.modal-note-body p{font-size:14px}.modal-note-body p:first-child{font-size:18px}.booking-complete-actions .modal-button:first-child{width:100%}.modal-bottomline{margin-top:25px}.modal-bottomline span:last-child{white-space:nowrap}}@media(prefers-reduced-motion:reduce){.modal-shell[open]{animation:none}.modal-close,.modal-button{transition:none}.modal-button:hover,.modal-close:hover{transform:none}}
