@import url('./fonts.css');
:root{--paper:#f5f0e7;--ink:#29231e;--muted:#65594b;--line:#d6cbbb;--gold:#8a714e}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.7 'DM Sans',Arial,sans-serif}header,main,footer{width:min(1100px,90%);margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line);gap:20px}.brand{font-size:24px;letter-spacing:5px;font-weight:700;text-decoration:none}.brand small{display:block;font-size:8px;letter-spacing:2px}nav{display:flex;gap:20px;align-items:center;font-size:12px}a{color:inherit}main{padding:55px 0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(44px,7vw,74px);margin:12px 0 25px}h2{font-size:34px;margin:0 0 20px}h3{font-size:25px}em{color:var(--gold)}.eyebrow{font-size:10px;letter-spacing:2px}.intro{max-width:650px;color:var(--muted)}section{border-top:1px solid var(--line);padding:35px 0;margin-top:35px}.notice{padding:15px 18px;background:#e9e2d5;border-left:3px solid var(--gold)}.notice.error{background:#f3e5e0;border-color:#913e32}label{display:block;font-size:12px;font-weight:600;margin:15px 0}input,select,textarea{font:inherit;display:block;width:100%;padding:13px;border:1px solid #b8aa96;border-radius:0;background:#fffaf3;color:var(--ink);margin-top:6px;min-height:48px}textarea{min-height:100px;resize:vertical}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}button{font:inherit;font-size:13px;background:var(--ink);color:var(--paper);padding:14px 23px;border:1px solid var(--ink);cursor:pointer;min-height:48px}button:disabled{opacity:.5;cursor:not-allowed}nav button{padding:8px 13px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:13px}.check input{width:19px;min-height:19px;margin:3px 0;flex-shrink:0}.small{font-size:12px;color:var(--muted)}fieldset{border:0;border-top:1px solid var(--line);padding:20px 0;margin:25px 0}legend{padding-right:12px;font-size:12px}.slots{display:flex;flex-wrap:wrap;gap:10px}.slot{position:relative;margin:0}.slot input{position:absolute;opacity:0;width:1px;height:1px;min-height:0}.slot span{display:block;padding:12px 19px;border:1px solid var(--line);background:#fffaf3}.slot input:checked+span{background:var(--ink);color:white}.slot input:focus-visible+span{outline:3px solid var(--gold)}.card{padding:24px;border:1px solid var(--line);margin:18px 0;background:#fffaf380}.card p{margin:5px 0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.badge{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}footer{padding:30px 0 50px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:3px solid #ad854c;outline-offset:4px}#mfa-qr img{max-width:230px;width:100%}@media(max-width:600px){header{align-items:flex-start}.brand{font-size:20px}nav{flex-direction:column;gap:7px}.fields{grid-template-columns:1fr}main{padding-top:35px}h2{font-size:29px}.card{padding:18px}.actions button{width:100%}}

.appointment-time{font-size:20px;font-weight:600;color:var(--ink)}

.contact-button{display:inline-block;background:var(--ink);color:var(--paper);padding:14px 23px;text-decoration:none;min-height:48px}

.booking-reference{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.contact-button{font-size:13px}
