/* Enquiry form recipe and the Talk to us dialog. Shared by the home page and every internal page.
   Written with token fallbacks so it renders identically on the home page (no design-system tokens loaded). */
.enquiry-form .sr-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.enquiry-form{--error:#9b3b2e;--form-ink:var(--ml-color-ink,#060e15);--form-meta:var(--ml-color-meta,#6f6b65);--form-rule:#060e1533;display:flex;flex-direction:column;gap:35px;color:var(--form-ink);font-family:var(--ml-font-body,"Helvetica Neue",Helvetica,Arial,sans-serif)}
.enquiry-form .form-heading{display:flex;flex-direction:column;gap:15px}
.enquiry-form .form-heading h3{font:400 26px/32px var(--ml-font-body,"Helvetica Neue",Helvetica,Arial,sans-serif);margin:0}
.enquiry-form .form-intro{font-size:12px;line-height:18px;color:var(--form-meta);margin:0}
.enquiry-form .field-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 40px}
.enquiry-form .field{display:flex;flex-direction:column;min-width:0}
.enquiry-form .field label{font-size:14px;line-height:21px;font-weight:500}
.enquiry-form .field label span{font-weight:400;color:var(--form-meta)}
.enquiry-form .field input,.enquiry-form .field select,.enquiry-form .field textarea{width:100%;min-height:52px;margin-top:2px;padding:14px 0;border:0;border-bottom:.5px solid var(--form-rule);border-radius:0;background:none;font:16px/24px var(--ml-font-body,"Helvetica Neue",Helvetica,Arial,sans-serif);color:var(--form-ink);transition:border-color .25s,box-shadow .25s}
.enquiry-form .field textarea{min-height:144px;resize:vertical}
.enquiry-form .field select{appearance:none;-webkit-appearance:none;padding-right:30px;cursor:pointer;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='6' viewBox='0 0 12 6'%3E%3Cpath d='M1 1l5 4 5-4' fill='none' stroke='%23060e15'/%3E%3C/svg%3E") no-repeat right center/12px 6px}
.enquiry-form .field input:focus,.enquiry-form .field select:focus,.enquiry-form .field textarea:focus{outline:0;border-color:var(--form-ink);box-shadow:inset 0 -1.5px 0 var(--form-ink)}
.enquiry-form .field-error{display:none;margin:8px 0 0;font-size:12px;line-height:18px;color:var(--error)}
.enquiry-form .is-invalid .field-error{display:block}
.enquiry-form .is-invalid input,.enquiry-form .is-invalid select,.enquiry-form .is-invalid textarea{border-color:var(--error);box-shadow:inset 0 -.5px 0 var(--error)}
.enquiry-form .consent-rows{display:flex;flex-direction:column;gap:18px}
.enquiry-form .consent-row{display:flex;gap:14px;align-items:start;font-size:14px;line-height:21px}
.enquiry-form .consent-row p{margin:0}
.enquiry-form .consent-row input{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex-shrink:0;margin:2px 0 0;border:.5px solid var(--form-ink);border-radius:3px;display:grid;place-content:center;cursor:pointer;background:none;transition:background .2s}
.enquiry-form .consent-row input:checked{background:var(--form-ink)}
.enquiry-form .consent-row input:checked::before{content:"";width:9px;height:5px;border:1.5px solid #fff;border-top:0;border-right:0;transform:translateY(-1px) rotate(-45deg)}
.enquiry-form .consent-row input:focus-visible{outline:2px solid var(--form-ink);outline-offset:3px}
.enquiry-form .consent-row.is-invalid input{border-color:var(--error);box-shadow:inset 0 0 0 .5px var(--error)}
.enquiry-form .consent-row a{text-decoration:underline;text-underline-offset:.2em}
.enquiry-form .consent-row a:hover{color:#4b6f8b}
.enquiry-form .form-status{font-size:14px;line-height:21px;color:var(--error);margin:0}
.enquiry-form .form-status:empty{display:none}
.enquiry-form .form-status.is-sending{color:var(--form-meta)}
.enquiry-form .form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:25px 35px}
.enquiry-form .form-note{font-size:12px;line-height:18px;color:var(--form-meta);max-width:44ch;margin:0}
/* The home page has no .ml-button; give the form's submit the same recipe everywhere. */
.enquiry-form .ml-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:42px;padding:11.5px 20px;border:.5px solid var(--ml-button-border,#060e1533);border-radius:5px;font:500 14px/17px var(--ml-font-body,"Helvetica Neue",Helvetica,Arial,sans-serif);letter-spacing:0;white-space:nowrap;position:relative;isolation:isolate;overflow:hidden;color:inherit;background:none;cursor:pointer;transition:color .35s,border-color .35s,background-color .35s,box-shadow .35s}
.enquiry-form .ml-button::before{content:"";position:absolute;inset:0;background:var(--ml-color-blue,#79a9d0);z-index:-1;transform:translateY(102%);transition:transform .45s cubic-bezier(.22,1,.36,1)}
.enquiry-form .ml-button:hover:not(:disabled),.enquiry-form .ml-button:focus-visible{color:var(--ml-color-ink,#060e15);border-color:var(--ml-color-blue,#79a9d0);box-shadow:0 3px 20px #0000000a}
.enquiry-form .ml-button:hover:not(:disabled)::before,.enquiry-form .ml-button:focus-visible::before{transform:translateY(0)}
.enquiry-form .ml-button:disabled{cursor:default;opacity:.5}
/* Talk to us dialog. */
.enquiry-dialog{width:min(780px,calc(100% - 40px));max-height:calc(100svh - 40px);margin:auto;padding:0;border:0;border-radius:10px;background:var(--ml-color-paper,#f1eee6);color:var(--ml-color-ink,#060e15);box-shadow:0 40px 100px #0008;overflow:auto;overscroll-behavior:contain}
.enquiry-dialog::backdrop{background:#000000b3;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
.enquiry-dialog[open]{animation:enquiry-in .5s cubic-bezier(.22,1,.36,1)}
.enquiry-dialog[open]::backdrop{animation:enquiry-backdrop .4s ease-out}
.enquiry-dialog-panel{padding:52px 48px 44px;position:relative}
.enquiry-dialog-close{position:absolute;top:22px;right:26px;display:flex;align-items:center;gap:12px;font:inherit;font-size:14px;color:inherit;border:0;background:none;padding:6px 0;cursor:pointer}
.enquiry-dialog-close span{font-size:24px;line-height:1}
.enquiry-dialog-close:hover{color:#4b6f8b}
.enquiry-dialog-intro{max-width:520px;margin-bottom:40px}
.enquiry-dialog-intro .ml-eyebrow{font:400 12px/18px var(--ml-font-body,"Helvetica Neue",Helvetica,Arial,sans-serif);letter-spacing:.96px;text-transform:uppercase;color:var(--ml-color-blue,#79a9d0);margin:0 0 20px}
.enquiry-dialog-intro .ml-heading-small{font:100 40px/1.1 var(--ml-font-display,"argent-cf",serif);letter-spacing:-.8px;margin:0}
.enquiry-dialog-intro>p:not(.ml-eyebrow){margin:20px 0 0;font-size:14px;line-height:21px;color:var(--ml-color-meta,#6f6b65);max-width:44ch}
.enquiry-dialog-intro a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.enquiry-dialog-note{margin-top:14px!important;padding-left:12px;border-left:2px solid var(--ml-color-blue,#79a9d0);color:var(--ml-color-ink,#060e15)!important}
.enquiry-dialog .enquiry-form{gap:30px;padding:0;border:0;border-radius:0;background:none}
.enquiry-dialog .enquiry-form .form-heading{display:none}
body.enquiry-open{overflow:hidden}
@keyframes enquiry-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes enquiry-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:639px){
.enquiry-form .field-grid{grid-template-columns:1fr;gap:25px}
.enquiry-form{gap:28px}
.enquiry-form .form-actions{align-items:stretch;flex-direction:column;gap:20px}
.enquiry-dialog{width:100%;max-height:100svh;height:100svh;border-radius:0;margin:0}
.enquiry-dialog-panel{padding:64px 24px 40px}
.enquiry-dialog-close{top:18px;right:20px}
.enquiry-dialog-intro{margin-bottom:30px}
.enquiry-dialog-intro .ml-heading-small{font-size:32px}
}
@media(prefers-reduced-motion:reduce){.enquiry-dialog[open],.enquiry-dialog[open]::backdrop{animation:none}}
