/* Shared form and slide-in panel. Keep page-specific styles outside this file. */
#enquiry{margin-top:32px;font:16px/1.6 Inter,Arial,sans-serif;color:#181818}
#enquiry,#enquiry *{box-sizing:border-box}
.inquiry-intro{font:16px/1.6 Inter,Arial,sans-serif;margin:0 0 24px}
.inquiry-intro.intro{margin-bottom:0}
#enquiry>label,#enquiry .pair,#enquiry fieldset{margin:0 0 24px}
#enquiry label{display:block;font-size:15px;font-weight:400;line-height:1.6}
#enquiry input:not([type=checkbox]),#enquiry textarea,#enquiry select{display:block;width:100%;border:1px solid #777;border-radius:0;padding:12px 14px;background:#fff;color:#181818;font:16px/1.5 Inter,Arial,sans-serif;margin:7px 0 0}
#enquiry textarea{resize:vertical;min-height:0}
#enquiry .pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#enquiry .pair label{min-width:0}
#enquiry fieldset{padding:0;border:0}
#enquiry legend{margin:0 0 10px;font-size:15px}
#enquiry .services{display:flex;flex-wrap:wrap;gap:10px 22px}
#enquiry .services label{display:flex;align-items:center;gap:7px;cursor:pointer}
#enquiry input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;align-self:center;margin:0;padding:0;accent-color:#506744}
#enquiry button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:195px;height:48px;padding:0 24px;border:1px solid #555;border-radius:40px;background:#efe09e;color:#151515;font:16px/1 Inter,sans-serif;cursor:pointer}
#enquiry button:disabled{opacity:.5;cursor:default}
#enquiry .privacy{font:13px/1.6 Inter,Arial,sans-serif;color:inherit;margin:18px 0 0}
#enquiry #form-status{font:14px/1.6 Inter,Arial,sans-serif;min-height:24px;margin:16px 0 0}
#enquiry .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#enquiry a{color:inherit;text-underline-offset:4px}
#enquiry input:focus-visible,#enquiry textarea:focus-visible,#enquiry select:focus-visible,#enquiry button:focus-visible,#enquiry a:focus-visible{outline:2px solid #506744;outline-offset:3px}
body:has(#enquiry-dialog[open]){overflow:hidden}
#enquiry-dialog{box-sizing:border-box;position:fixed;inset:0 0 0 auto;margin:0;width:min(660px,100%);height:100dvh;max-width:100%;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;border:0;border-left:1px solid #151515;border-radius:0;padding:64px 40px 40px;background:#fff;color:#151515;font:16px/1.6 Inter,sans-serif}
#enquiry-dialog::backdrop{background:rgba(0,0,0,.45)}
#enquiry-dialog h2{font:normal 48px/1.1 'Perfectly Nineties',Georgia,serif;margin:0 0 25px}
#enquiry-dialog .dialog-close{position:absolute;top:8px;right:10px;display:flex;align-items:center;justify-content:center;width:36px;min-width:0;height:36px;padding:0;border:0;border-radius:0;background:transparent;color:#151515;font:28px/1 Inter,sans-serif;cursor:pointer}
#enquiry-dialog .dialog-close:hover,#enquiry-dialog .dialog-close:focus{background:transparent;color:#151515}
#enquiry-dialog .dialog-close:focus-visible{outline:2px solid #506744;outline-offset:3px}
#enquiry-dialog[open]{animation:inquiry-enter .28s ease-out both}
#enquiry-dialog[open]::backdrop{animation:inquiry-backdrop-enter .28s ease-out both}
#enquiry-dialog.is-closing{animation:inquiry-exit .22s ease-in both}
#enquiry-dialog.is-closing::backdrop{animation:inquiry-backdrop-exit .22s ease-in both}
@keyframes inquiry-enter{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes inquiry-exit{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes inquiry-backdrop-enter{from{opacity:0}to{opacity:1}}
@keyframes inquiry-backdrop-exit{from{opacity:1}to{opacity:0}}
@media(max-width:600px){#enquiry-dialog{padding:60px 24px 32px}#enquiry-dialog h2{font-size:40px}#enquiry .pair{grid-template-columns:1fr;gap:24px}#enquiry .services{flex-direction:column}}
@media(prefers-reduced-motion:reduce){#enquiry-dialog[open],#enquiry-dialog.is-closing,#enquiry-dialog[open]::backdrop{animation:none}}
