/* Shared footer: name and booking left, three menu columns right. */
body .footer-main{display:grid;grid-template-columns:minmax(220px,1fr) auto;grid-template-areas:'brand menus' 'booking menus';align-items:start;gap:24px 64px}
body .footer-wordmark{grid-area:brand;justify-self:start;width:fit-content;margin:0}
body .footer-links{grid-area:menus;grid-template-columns:repeat(3,max-content);gap:clamp(40px,6vw,88px);justify-self:end}
body .footer-action{grid-area:booking;justify-self:start;align-self:start;padding:0}
body .footer .footer-booking{display:inline-flex;align-items:center;gap:8px;font-family:Manrope,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;margin:0;padding:0 0 8px}
body .footer-links h2,body .footer-links a{text-align:left}
/* Make labels a little more distinct while field text stays regular. */
body .contact label{font-weight:500}
body .contact input,body .contact select,body .contact textarea{font-weight:400;transition:border-color .2s ease,box-shadow .2s ease}
body .contact :is(input:not([type=hidden]),select,textarea):focus{outline:none;outline-offset:0;border-bottom-color:var(--muted);box-shadow:0 1px 0 var(--muted)}
@media(max-width:991px) and (min-width:768px){
 body .footer-main{grid-template-columns:minmax(180px,1fr) auto;column-gap:40px}
 body .footer-links{gap:32px}
}
@media(max-width:767px){
 body .footer-main{grid-template-columns:minmax(0,1fr);grid-template-areas:'brand' 'menus' 'booking';gap:36px;text-align:center}
 body .footer-wordmark{justify-self:center}
 body .footer-links{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;justify-self:center}
 body .footer-links h2{text-align:center}
 body .footer-links a{text-align:left}
 body .footer-action{justify-self:center}
}
@media(prefers-reduced-motion:reduce){body .contact input,body .contact select,body .contact textarea{transition:none}}
