.booking-flow,.booking-prices,.booking-intro{--booking-red:var(--brand-red,var(--red,#b21c22));--booking-ink:#161616;--booking-line:#dedede;color:var(--booking-ink);letter-spacing:0}
.booking-flow{padding:28px 0;background:#f5f5f5;border-block:1px solid var(--booking-line)}
.booking-flow .booking-eyebrow,.booking-prices .booking-eyebrow{font-size:.75rem;font-weight:800;color:var(--booking-red);margin:0 0 10px;letter-spacing:0;text-transform:uppercase}
.booking-flow h2,.booking-prices h2{font-size:1.6rem;line-height:1.25;letter-spacing:0;text-transform:none;margin:0 0 18px;max-width:100%}
.booking-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;list-style:none;margin:0;padding:0;counter-reset:booking}
.booking-flow li{min-width:0;border-top:3px solid var(--booking-red);padding-top:14px;counter-increment:booking}
.booking-flow h3{font-size:1rem;line-height:1.45;letter-spacing:0;text-transform:none;max-width:100%;margin:0 0 6px}
.booking-flow h3::before{content:counter(booking,decimal-leading-zero) ' / ';color:var(--booking-red);font-size:.8rem}
.booking-flow li p{font-size:.9rem;line-height:1.6;color:#4b4b4b;margin:0;max-width:66ch}
.booking-flow .booking-note,.booking-note{font-size:.86rem;line-height:1.6;color:#4b4b4b;max-width:90ch;margin:18px 0 0;letter-spacing:0}
.booking-prices{padding:36px 0}
.booking-prices .booking-lead{font-size:1rem;line-height:1.6;max-width:76ch;margin:0 0 24px;color:#4b4b4b}
.booking-price-list{border-top:3px solid var(--booking-red)}
.booking-price-row[id]{scroll-margin-top:140px}
.booking-price-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 180px;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--booking-line);min-width:0}
.booking-price-row h3{font-size:1.05rem;line-height:1.4;letter-spacing:0;text-transform:none;margin:0 0 7px;max-width:100%}
.booking-price-row p{font-size:.9rem;line-height:1.6;margin:0;color:#4b4b4b;max-width:65ch}
.booking-price-rate{font-size:1.65rem;font-weight:800;line-height:1.25;color:var(--booking-ink);white-space:nowrap}
.booking-price-rate small{display:block;white-space:normal;font-size:.78rem;font-weight:400;line-height:1.5;color:#4b4b4b;margin-top:5px}
.booking-action{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:12px 16px;background:var(--booking-red);border:1px solid var(--booking-red);color:#fff;text-decoration:none;font-size:.88rem;font-weight:800;line-height:1.4;letter-spacing:0;max-width:100%}
.booking-action:hover{background:#161616;border-color:#161616;color:#fff}
.booking-action:focus-visible{outline:3px solid #161616;outline-offset:4px}
.booking-more{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.booking-more a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem;font-weight:700;color:var(--booking-red)}
.booking-intro{padding:38px 0;background:#161616;color:white;border-bottom:4px solid var(--booking-red)}
.booking-intro h1{font-size:2.4rem;line-height:1.2;letter-spacing:0;color:#fff;max-width:26ch}
.booking-intro p{font-size:1rem;line-height:1.6;color:#e3e3e3;max-width:75ch;margin-top:18px}
.booking-intro .breadcrumbs,.booking-intro .breadcrumbs a{color:white}
.booking-contact-link{display:inline-flex;min-height:44px;align-items:center;color:var(--booking-red,var(--red,#b21c22));font-weight:700}
@media(max-width:800px){.booking-price-row{grid-template-columns:minmax(0,1fr) 125px;gap:14px 24px}.booking-price-row>.booking-action{grid-column:1/-1;justify-self:start}.booking-flow ol{gap:18px}}
@media(max-width:600px){.booking-flow ol{grid-template-columns:minmax(0,1fr);gap:18px}.booking-price-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px 0}.booking-price-rate{font-size:1.45rem}.booking-price-rate small{display:inline;margin-left:8px}.booking-price-row>.booking-action{grid-column:auto;justify-self:start}.booking-flow h2,.booking-prices h2{font-size:1.4rem}.booking-intro h1{font-size:1.9rem}.booking-more{display:grid;gap:8px}.booking-flow,.booking-prices{padding:28px 0}}
