.contact-main { padding-top: 94px; }
.locations { padding: 110px 0 125px; background: var(--paper); }
.locations-heading { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12%; align-items: end; margin-bottom: 70px; }
.locations-heading h2 { margin: 0; color: var(--navy); font-family: Cinzel,serif; font-size: clamp(36px,4.5vw,56px); font-weight: 500; line-height: 1.22; }
.locations-heading h2 em { color: var(--rose); font-style: normal; }
.locations-heading > p { margin: 0 0 5px; color: #55545f; font-size: 17px; line-height: 1.8; }
.location-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.location-card { overflow: hidden; background: var(--paper); border: 1px solid var(--line); }
.location-map { width: 100%; height: 330px; display: block; border: 0; }
.location-details { padding: 38px 40px 42px; }
.location-details h3 { margin: 0 0 18px; color: var(--navy); font-family: Cinzel,serif; font-size: 30px; font-weight: 500; }
.location-details address { margin: 0 0 24px; color: #55545f; font-style: normal; line-height: 1.8; }
.location-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.location-actions a,.booking-actions a { padding: 11px 16px; color: var(--navy); border: 1px solid rgba(3,3,62,.25); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: .2s; }
.location-actions a:hover,.booking-actions a:hover { background: rgba(3,3,62,.05); border-color: var(--navy); }
.booking { padding: 125px 0; background: var(--cream); }
.booking-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12%; align-items: center; }
.booking h2 { margin: 0; color: var(--navy); font-family: Cinzel,serif; font-size: clamp(36px,4.5vw,56px); font-weight: 500; line-height: 1.22; }
.booking h2 em { color: var(--rose); font-style: normal; }
.booking-copy p { margin: 0 0 28px; color: #55545f; font-size: 17px; line-height: 1.8; }
.booking-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.booking-actions a { padding: 13px 19px; color: #fff; background: var(--navy); border-color: var(--navy); }
.booking-actions a:hover { color: #fff; background: #171752; }
@media(max-width:950px){.locations-heading,.booking-grid{grid-template-columns:1fr;gap:42px}.location-grid{grid-template-columns:1fr}.location-map{height:360px}}
@media(max-width:600px){.locations,.booking{padding:85px 0}.location-map{height:280px}.location-details{padding:30px 26px 34px}.location-actions,.booking-actions{flex-direction:column}.location-actions a,.booking-actions a{text-align:center}}
