.booking-page{background:var(--paper);color:var(--ink)}
.booking-page .site-header{color:var(--cream)}
.booking-page .site-header.scrolled{background:rgba(17,16,14,.94)}
.booking-hero{padding:150px 0 110px;background:var(--paper)}
.booking-hero-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:90px;align-items:start}
.crumbs{display:flex;gap:9px;align-items:center;margin-bottom:70px;font-size:8px;letter-spacing:.16em;text-transform:uppercase;color:#8b8173}.crumbs a:hover{color:#171512}
.booking-hero h1{font:500 clamp(64px,8vw,112px)/.84 Georgia,"Times New Roman",serif;letter-spacing:-.05em;margin:0}.booking-hero h1 em{font-style:italic;color:#8b7964}
.booking-lead{max-width:520px;margin:32px 0 0;color:#5f574c;font-size:16px;line-height:1.75}
.booking-aside{margin-top:75px;border-top:1px solid rgba(22,20,17,.18)}
.booking-aside>div{display:grid;grid-template-columns:42px 1fr;column-gap:18px;padding:22px 0;border-bottom:1px solid rgba(22,20,17,.18)}
.booking-aside span{font:italic 20px Georgia,serif;color:#958877}.booking-aside strong{font:500 19px Georgia,serif}.booking-aside p{grid-column:2;margin:5px 0 0;color:#71685c;font-size:12px;line-height:1.6}
.booking-form--large{padding:42px;background:#e7dccb;border:1px solid rgba(22,20,17,.08);box-shadow:0 25px 70px rgba(42,34,25,.08)}
.form-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:28px;border-bottom:1px solid rgba(22,20,17,.18);margin-bottom:6px}.form-heading span{font-size:8px;letter-spacing:.2em;color:#807668}.form-heading strong{font:500 25px Georgia,serif}
.form-section{padding:27px 0;border-bottom:1px solid rgba(22,20,17,.14)}
.form-section-title{display:flex;align-items:center;gap:12px;margin-bottom:22px}.form-section-title span{font:italic 17px Georgia,serif;color:#9a8c79}.form-section-title strong{font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px}
.booking-form label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:#6d655a}.booking-form label>span,.consent b{color:#8b4f3e}
.booking-form input,.booking-form textarea,.booking-form select{display:block;width:100%;margin-top:9px;border:0;border-bottom:1px solid #b8ae9f;background:transparent;padding:12px 0;color:var(--ink);outline:0;resize:vertical;border-radius:0}.booking-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7b7164 50%),linear-gradient(135deg,#7b7164 50%,transparent 50%);background-position:calc(100% - 5px) 55%,100% 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:20px}.booking-form input:focus,.booking-form textarea:focus,.booking-form select:focus{border-color:#171512}.booking-form textarea{min-height:150px}.form-section>label:not(.file-drop){margin-top:24px}
.file-drop{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:145px;padding:22px;border:1px dashed #b6aa99;background:rgba(255,255,255,.18);cursor:pointer;transition:.25s}.file-drop:hover,.file-drop:focus-within{background:rgba(255,255,255,.34);border-color:#817464}.file-drop input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.file-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:15px;border:1px solid #9e9180;font-size:19px}.file-drop strong{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.file-drop small{margin-top:7px;color:#7d7366;font-size:10px;letter-spacing:0;text-transform:none;line-height:1.5}.file-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.file-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;background:rgba(255,255,255,.25);font-size:9px;color:#5d554a}.file-item button{border:0;background:none;color:#7c6f60;font-size:15px}.form-submit{padding-top:28px}.consent{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:10px!important;line-height:1.5;color:#70675b!important}.consent input{width:16px;height:16px;min-width:16px;margin:0;border:1px solid #948675;accent-color:#171512}.consent span{margin:0!important}.form-submit .button{margin-top:24px}.form-hint{margin:18px 0 0;color:#807668;font-size:9px;line-height:1.6}.form-status{min-height:18px;margin:12px 0 0;font-size:11px}.form-status.is-success{color:#3d6b4d}.form-status.is-error{color:#8b4f3e}
.booking-note{padding:70px 0;background:#171512;color:var(--cream);border-top:1px solid var(--line)}.booking-note-grid{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:40px}.booking-note-grid>span{font-size:9px;letter-spacing:.24em;color:var(--muted)}.booking-note-grid p{margin:0;color:#b7afa3;font-size:13px;max-width:600px}.booking-note-grid a{font-size:9px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid rgba(238,229,211,.35);padding-bottom:8px}
@media(max-width:1050px){.booking-hero-grid{grid-template-columns:1fr;gap:60px}.booking-lead{max-width:700px}.booking-aside{margin-top:45px}.booking-form--large{max-width:760px}}
@media(max-width:700px){.booking-hero{padding:120px 0 70px}.crumbs{margin-bottom:50px}.booking-hero h1{font-size:61px}.booking-lead{font-size:14px}.booking-aside{margin-top:45px}.booking-form--large{padding:25px 18px}.form-grid{grid-template-columns:1fr;gap:20px}.form-heading{align-items:start;flex-direction:column}.file-list{grid-template-columns:1fr}.booking-note-grid{grid-template-columns:1fr;gap:22px}.booking-note-grid a{justify-self:start}.booking-page .footer-top{align-items:start}}

.direct-contact{padding:96px 0;border-top:1px solid var(--line,#2a2824)}
.direct-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end}
.direct-contact h2{margin:10px 0 20px;font-size:clamp(42px,6vw,76px);line-height:.95}
.direct-contact h2 em{font-family:Georgia,serif;font-weight:400}
.direct-contact p{max-width:560px;color:var(--muted,#aaa);line-height:1.7}
.contact-links{display:grid;gap:0;border-top:1px solid var(--line,#2a2824)}
.contact-links a{display:flex;justify-content:space-between;gap:24px;padding:22px 0;border-bottom:1px solid var(--line,#2a2824);text-decoration:none;color:inherit}
.contact-links span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted,#aaa)}
.contact-links strong{font-size:16px;font-weight:500}
.contact-links a:hover strong{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.direct-contact{padding:68px 0}.direct-contact-grid{grid-template-columns:1fr;gap:36px}.contact-links a{display:block}.contact-links strong{display:block;margin-top:7px}}

/* Contact page footer — clearer separation from the dark page */
.booking-page .site-footer{
  background:#28231e;
  border-top:1px solid rgba(238,229,211,.32);
  box-shadow:0 -18px 45px rgba(0,0,0,.16);
}
.booking-page .footer-brand strong{
  color:#f3e7d0;
  text-shadow:0 1px 18px rgba(243,231,208,.08);
}
.booking-page .footer-brand span{color:#c5b9a8}
.booking-page .footer-up{color:#c0b6a8}
.booking-page .footer-up:hover{color:#f3e7d0}
.booking-page .footer-bottom{
  border-top-color:rgba(238,229,211,.22);
  color:#b9afa2;
}
@media(max-width:560px){
  .booking-page .site-footer{padding-top:42px}
  .booking-page .footer-brand strong{font-size:32px}
}
