/* Shared access, legibility and phone refinements. */
button,a,input,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #d88c4a;outline-offset:4px}
.availability-controls button{width:44px;height:44px}
.date-field,.availability-card,.side-card,.contact{min-width:0}
input[type="date"]{min-width:0;max-width:100%;box-sizing:border-box}
.enquiry-options .button{min-height:44px;max-width:100%;line-height:1.4;white-space:normal;text-align:center}
.enquiry-options h3{line-height:1.2}
body .loft-hero .hero-copy h1{display:inline-block;padding:.2em .35em;background:#ffffffe6;border-radius:3px;text-shadow:none}
@media(max-width:800px){.links{flex-direction:column;align-items:flex-end;gap:0}.links a.nav-availability,.links a.nav-contact{display:inline-flex;align-items:center;min-height:44px}.navin{gap:14px}.hero-copy{padding-top:190px}.hero h1 span{white-space:normal}.factrow{flex-wrap:wrap}}
@media(max-width:420px){.availability-card,.side-card{padding:20px}.availability-heading{gap:6px}.availability-heading strong{font-size:.9rem}.enquiry-options{padding:16px!important}.contact{padding:24px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
