/* One calm request flow, with the original server form underneath. */
.booking-panel.reservation-flow,.home-page .hero .booking-panel.reservation-flow,.form-section .booking-panel.reservation-flow{display:block;max-width:1180px;width:100%;margin:24px auto;padding:0;border:1px solid #d7c49c;border-radius:22px;background:#f8f5ef;color:#172333;box-shadow:0 20px 65px #0003;overflow:visible;scroll-margin-top:120px;text-align:left;text-transform:none;letter-spacing:normal}
.reservation-flow *{box-sizing:border-box}.reservation-flow [hidden]{display:none!important}.reservation-flow .flow-header{padding:30px 34px 0}.reservation-flow .flow-eyebrow{font:600 11px/1.5 var(--sans,sans-serif);letter-spacing:.14em;color:#806027;margin:0 0 10px}.reservation-flow .flow-title{font:400 clamp(28px,3vw,42px)/1.1 var(--serif,serif);color:#162332;margin:0 0 12px}.reservation-flow .flow-intro{font:15px/1.6 var(--sans,sans-serif);color:#536071;max-width:640px;margin:0}.reservation-flow .flow-progress{display:flex;gap:24px;padding:22px 0 16px;margin:0;list-style:none;border-bottom:1px solid #d9d7d0}.reservation-flow .flow-progress li{font:600 13px/1.5 var(--sans,sans-serif);color:#707987;border-bottom:2px solid transparent;padding-bottom:8px}.reservation-flow .flow-progress [aria-current=step]{color:#172333;border-color:#aa7b26}.reservation-flow .flow-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:34px;padding:28px 34px 34px}.reservation-flow .flow-main{min-width:0}.reservation-flow .flow-step{border:0;padding:0;margin:0;min-width:0}.reservation-flow legend{font:600 20px/1.35 var(--sans,sans-serif);color:#172333;padding:0;margin:0 0 20px}.reservation-flow .flow-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reservation-flow .field{display:block;padding:0!important;margin:0!important;border:0!important;min-width:0}.reservation-flow .field>span:first-child{display:block;margin:0 0 7px;font:600 13px/1.5 var(--sans,sans-serif);letter-spacing:0;text-transform:none;color:#263447}.reservation-flow .field-control{display:block!important;padding:0!important;min-width:0}.reservation-flow input:not([type=hidden]),.reservation-flow select,.reservation-flow textarea{width:100%;min-width:0;min-height:52px;padding:13px 14px!important;border:1px solid #bcc3c9!important;border-radius:10px;background:#fff!important;color:#172333!important;font:16px/1.4 var(--sans,sans-serif)!important;letter-spacing:0;text-transform:none;color-scheme:light}.reservation-flow input::placeholder,.reservation-flow textarea::placeholder{color:#6a7480;opacity:1}.reservation-flow textarea{resize:vertical;min-height:94px}.reservation-flow .flow-hint,.reservation-flow .booking-note{font:13px/1.6 var(--sans,sans-serif);color:#526071;margin:12px 0}.reservation-flow .flow-next,.reservation-flow .booking-submit,.reservation-flow button[type=submit]{display:block;width:100%;min-height:54px;margin:22px 0 0;padding:14px 20px;border:1px solid #b58b39;border-radius:10px;background:#dec18a;color:#142130;font:700 15px/1.4 var(--sans,sans-serif);letter-spacing:0;text-transform:none;cursor:pointer;white-space:normal}.reservation-flow button:disabled{opacity:.6;cursor:wait}.reservation-flow .flow-next:hover,.reservation-flow button[type=submit]:hover{background:#e9ce99}.reservation-flow .flow-back{background:transparent;color:#253549;border:0;padding:12px 0;font:600 14px/1.4 var(--sans,sans-serif);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.reservation-flow :focus-visible{outline:3px solid #286a8a;outline-offset:3px}.reservation-flow .flow-options{border:1px solid #d4d4cc;border-radius:10px;margin:18px 0;padding:0 14px}.reservation-flow .flow-options>summary{padding:15px 0;color:#28374b;font:600 14px/1.5 var(--sans,sans-serif);cursor:pointer}.reservation-flow .flow-options[open]{padding-bottom:16px}.reservation-flow .flow-options .request-message{grid-column:1/-1}.reservation-flow .booking-location-info{font-size:12px;color:#526071}.reservation-flow .booking-location-info summary{color:#70521e}.reservation-flow .coverage-groups{color:#263447}.reservation-flow .coverage-groups h3{color:#172333}.reservation-flow .flow-summary{align-self:start;padding:28px;border:1px solid #c6a45d;border-radius:15px;background:#142130;color:#f7f3ea}.reservation-flow .flow-summary .flow-eyebrow{color:#e1c287}.reservation-flow .flow-summary h3{font:400 28px/1.2 var(--serif,serif);color:#fff;margin:0 0 22px}.reservation-flow .flow-summary-list{display:block;margin:0}.reservation-flow .flow-summary-list>div{display:block;padding:14px 0;border-top:1px solid #ffffff26}.reservation-flow .flow-summary-list dt{font:600 11px/1.5 var(--sans,sans-serif);text-transform:uppercase;letter-spacing:.08em;color:#d4bf94}.reservation-flow .flow-summary-list dd{margin:5px 0 0;font:15px/1.5 var(--sans,sans-serif);color:#fff;overflow-wrap:anywhere}.reservation-flow .flow-summary-note{font:12px/1.6 var(--sans,sans-serif);color:#d1d8df;margin:18px 0 0}.reservation-flow .request-captcha{padding:8px 0;min-height:78px}.reservation-flow [role=status]{display:block;padding:0 34px 25px;font:15px/1.6 var(--sans,sans-serif);color:#172333;overflow-wrap:anywhere}.reservation-flow [role=status]:empty{padding:0}.reservation-flow>.flow-success{padding:28px 34px 0;font:400 32px/1.2 var(--serif,serif);color:#172333}.reservation-flow>.text-link{display:inline-block;margin:0 34px 28px;color:#172333}.reservation-flow .location-options{background:#fff;color:#172333;border-color:#a48341}.reservation-flow .location-options [role=option]:hover,.reservation-flow .location-options [aria-selected=true]{background:#e8edf0;color:#172333}.reservation-flow .location-options [role=option]+[role=option]{border-color:#ddd}
@media(max-width:900px){.reservation-flow .flow-body{grid-template-columns:1fr;gap:24px}.reservation-flow .flow-summary{padding:20px}.reservation-flow .flow-summary h3{font-size:24px;margin-bottom:12px}.reservation-flow .flow-summary-list{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.reservation-flow .flow-summary-list dd{font-size:14px}.reservation-flow .flow-summary-note{margin-top:12px}.reservation-flow .flow-header{padding:24px 24px 0}.reservation-flow .flow-body{padding:24px}.reservation-flow [role=status]{padding-left:24px;padding-right:24px}.home-page .hero .booking-panel.reservation-flow{margin-top:22px}.reservation-flow .flow-summary .flow-eyebrow{display:none}}
@media(max-width:600px){.booking-panel.reservation-flow,.home-page .hero .booking-panel.reservation-flow{border-radius:16px}.reservation-flow .flow-header{padding:22px 18px 0}.reservation-flow .flow-body{padding:22px 18px;gap:22px}.reservation-flow .flow-fields{grid-template-columns:1fr;gap:16px}.reservation-flow .flow-title{font-size:30px}.reservation-flow .flow-progress{gap:20px;padding-top:18px}.reservation-flow .flow-progress li{font-size:12px}.reservation-flow legend{font-size:18px;margin-bottom:16px}.reservation-flow .flow-summary-list{grid-template-columns:1fr}.reservation-flow .flow-summary{padding:18px}.reservation-flow .flow-summary h3{font-size:23px}.reservation-flow .flow-hint,.reservation-flow .booking-note{font-size:12px}.reservation-flow [role=status]{padding:0 18px 22px}.reservation-flow>.flow-success{padding:22px 18px 0}.reservation-flow .flow-options{padding-inline:12px}.reservation-flow .flow-options summary{font-size:13px}.reservation-flow .request-captcha{overflow:visible}}
@media(prefers-reduced-motion:reduce){.reservation-flow *{scroll-behavior:auto!important;transition:none!important}}

/* Retire the original icon wrapper chrome; each input owns its border. */
.reservation-flow .field-control{background:transparent!important;border:0!important;border-radius:0;min-height:0;outline:none!important}.reservation-flow .field-control>svg{display:none!important}
