:root{--ink:#052758;--ivory:#faf8f4;--stone:#f0ede7;--brass:#c90037;--line:#d7dbe1}
body{color:var(--ink);background:var(--ivory)}
.site-header{background:var(--ivory);padding:20px 5%;border-bottom:1px solid var(--line)}
.site-header .utility-logo,.utility-footer .utility-logo{display:flex;align-items:center;gap:16px;width:auto;text-decoration:none;color:inherit}
.utility-logo img{display:block;flex:0 0 auto;width:70px;height:70px;object-fit:contain;mix-blend-mode:multiply}
.utility-logo>span{font-family:Didot,"Bodoni MT",Georgia,serif;font-size:23px;line-height:1.1;letter-spacing:.025em}
.utility-logo small{display:block;font-family:"Avenir Next",Avenir,Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.28em;margin-top:9px}
.site-header nav{gap:30px;font-size:13px;letter-spacing:.07em}
.eyebrow{color:#a7002d}.button{display:inline-flex;align-items:center;justify-content:center;gap:0;min-height:50px;padding:16px 30px;background:var(--ink);border:1px solid var(--ink);border-radius:0;color:var(--ivory);font-family:"Avenir Next",Avenir,Arial,sans-serif;font-size:11px;font-weight:500;letter-spacing:.11em;line-height:1.4;text-transform:uppercase;text-align:center;transition:background-color .2s,border-color .2s,color .2s}.button:hover{background:#173b67;border-color:#173b67;color:white}
.booking-card{background:#fff;border-color:var(--line);padding:40px}.field input,.field select,.field textarea{background:#fff;border-color:#b5bfcb;color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--brass);outline-offset:3px}
.booking-intro h1{font-size:clamp(3.2rem,4.5vw,5.4rem)}.booking-note{border-color:var(--line)}
.utility-footer{background:var(--ink);color:#faf8f4;grid-template-columns:1.4fr 1fr 1fr;gap:28px;padding:50px 6%}
.utility-footer .utility-logo{justify-self:start}.utility-footer .utility-logo img{mix-blend-mode:normal;background:#fff;width:62px;height:62px}
.utility-footer .utility-logo>span{font-size:20px}.utility-footer address{font-size:13px;font-style:normal;line-height:1.9}
.utility-footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.utility-footer small{border-color:#405675}
.utility-footer .utility-logo small{border:0;padding:0;margin-top:8px;font-size:9px}.utility-footer>small{margin:0;padding-top:24px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #c90037;outline-offset:5px}
@media(max-width:720px){.site-header{justify-content:space-between;gap:15px;padding:17px 5%}.site-header .utility-logo{margin:0}.utility-logo img{width:52px;height:52px}.utility-logo>span{font-size:19px}.utility-logo small{font-size:8px}.site-header nav{width:auto;gap:20px;flex-wrap:wrap;font-size:12px}.booking-card{padding:27px}.utility-footer{grid-template-columns:1fr 1fr}.utility-footer .utility-logo{grid-column:1/-1}.utility-footer-links{align-items:flex-start}}
@media(max-width:430px){.site-header{justify-content:center}.site-header nav{width:100%;justify-content:center}.utility-footer{grid-template-columns:1fr}.booking-intro h1{font-size:3.2rem}.utility-footer-links{gap:14px}.utility-footer .utility-logo{gap:12px}}

@media(prefers-reduced-motion:reduce){.button{transition:none}}

.site-header nav{flex-wrap:wrap}
.utility-logo small{text-align:center;text-indent:.28em}
