/* Enquiry form, ported from design/flow-a-enquiry-form.html (docs/08 flow A). Scoped under .enq. */
.enq{max-width:460px;margin:0 auto;background:var(--rc-surface);border:1px solid var(--rc-border-strong);border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(32,32,32,.12);color:var(--rc-text)}
.enq .topband{background:var(--rc-band);color:var(--rc-band-fg);padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.enq .topband b{font-family:var(--rc-font-display);font-size:14px;letter-spacing:.04em}
.enq .topband span{color:var(--rc-band-muted)}
.enq form{padding:16px 20px 20px;display:grid;gap:14px;min-height:560px;align-content:start}
.enq .bar{display:flex;gap:6px}
.enq .bar i{flex:1;height:4px;border-radius:2px;background:var(--rc-border)}
.enq .bar i.on{background:var(--rc-accent-bright)}
.enq .stepmeta{display:flex;justify-content:space-between;font-size:12px;color:var(--rc-text-muted)}
.enq h2{font-family:var(--rc-font-display);font-size:22px;line-height:1.2;font-weight:700;letter-spacing:-.02em;margin:0}
.enq h2:focus{outline:none}
.enq .lead{font-size:14px;color:var(--rc-text-muted);margin:0}
.enq section{display:grid;gap:12px}
.enq .choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.enq .choice{position:relative}
.enq .choice input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.enq .choice label{display:grid;gap:2px;border:1px solid var(--rc-border-strong);border-radius:8px;padding:12px;min-height:44px;font-size:14px;font-weight:600;background:var(--rc-surface)}
.enq .choice label small{font-weight:400;font-size:12px;color:var(--rc-text-muted)}
.enq .choice input:checked + label{border-color:var(--rc-accent-bright);box-shadow:inset 0 0 0 1px var(--rc-accent-bright);background:var(--rc-accent-tint)}
.enq .choice input:focus-visible + label{outline:2px solid var(--rc-focus);outline-offset:2px}
.enq .choice.wide{grid-column:1 / -1}
.enq .more{display:none}.enq .more.open{display:contents}
.enq .linkbtn{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--rc-accent-ink);text-decoration:underline;text-underline-offset:2px;cursor:pointer;justify-self:start}
.enq .field{display:grid;gap:5px}
.enq .field label{font-size:14px;font-weight:500}
.enq .field label .opt{font-weight:400;color:var(--rc-text-muted)}
.enq .field .help{font-size:12px;color:var(--rc-text-muted)}
.enq .inp{position:relative}
.enq .inp input,.enq .inp textarea,.enq .inp select{width:100%;font:inherit;font-size:16px;color:var(--rc-text);background:var(--rc-surface);border:1px solid var(--rc-border-strong);border-radius:8px;padding:11px 12px;min-height:44px}
.enq .inp textarea{min-height:88px;resize:vertical}
.enq .inp input:focus-visible,.enq .inp textarea:focus-visible,.enq .inp select:focus-visible{outline:2px solid var(--rc-focus);outline-offset:2px;border-color:var(--rc-focus)}
.enq .inp input::placeholder,.enq .inp textarea::placeholder{color:var(--rc-text-subtle)}
.enq .field.ok .inp input{border-color:var(--rc-success);padding-right:36px}
.enq .field.ok .inp::after{content:"\2713";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--rc-success);font-weight:700}
.enq .field.err .inp input,.enq .field.err .inp textarea,.enq .field.err .inp select{border-color:var(--rc-error)}
.enq .field .msg{display:none;font-size:12px;color:var(--rc-error);align-items:flex-start;gap:4px}
.enq .field.err .msg{display:flex}
.enq .field .msg::before{content:"!";display:inline-grid;place-items:center;width:14px;height:14px;border-radius:50%;background:var(--rc-error);color:#fff;font-size:10px;font-weight:700;flex:none;margin-top:2px}
.enq .listbox{position:absolute;left:0;right:0;top:100%;margin-top:4px;background:var(--rc-surface);border:1px solid var(--rc-border-strong);border-radius:8px;box-shadow:0 4px 12px rgba(32,32,32,.1);z-index:5;max-height:200px;overflow:auto;display:none}
.enq .listbox.open{display:block}
.enq .listbox div{padding:10px 12px;font-size:14px;cursor:pointer}
.enq .listbox div:hover,.enq .listbox div.active{background:var(--rc-surface-2)}
.enq .listbox div small{color:var(--rc-text-muted);font-size:12px;margin-left:6px}
.enq .listbox .other{color:var(--rc-accent-ink);font-weight:600;border-top:1px solid var(--rc-border)}
.enq .btn{width:100%;font-size:15px}
.enq .btn[aria-busy="true"]{background:var(--rc-disabled-bg);color:var(--rc-disabled-fg);cursor:wait}
.enq .btn .spin{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:enqspin .8s linear infinite;display:none}
.enq .btn[aria-busy="true"] .spin{display:inline-block}
@keyframes enqspin{to{transform:rotate(360deg)}}
.enq .acts{display:grid;gap:8px;position:sticky;bottom:0;background:var(--rc-surface);padding-top:8px}
.enq .acts .row{display:grid;grid-template-columns:auto 1fr;gap:8px}
.enq .acts .row .btn.secondary{width:auto;padding:0 14px}
.enq .privacy{font-size:12px;color:var(--rc-text-muted);margin:0}
.enq .alert{display:none;border-radius:8px;padding:10px 12px;font-size:13px;gap:8px;align-items:flex-start;border:1px solid}
.enq .alert.show{display:flex}
.enq .alert:focus{outline:none}
.enq .alert.error{background:var(--rc-error-bg);color:var(--rc-error);border-color:var(--rc-error)}
.enq .alert.info{background:var(--rc-info-bg);color:var(--rc-info);border-color:var(--rc-info)}
.enq .alert b{display:block}
.enq .alert .t{color:var(--rc-text)}
.enq .alert a{color:var(--rc-accent-ink)}
.enq .photos{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.enq .photos .slot{aspect-ratio:1;border:1px dashed var(--rc-border-strong);border-radius:8px;display:grid;place-items:center;font-size:11px;color:var(--rc-text-muted);text-align:center;padding:4px;overflow:hidden;position:relative}
.enq .photos .slot img{width:100%;height:100%;object-fit:cover}
.enq .photos .slot.add{border-style:solid;background:var(--rc-surface-2);cursor:pointer;font-weight:600;color:var(--rc-text)}
.enq .photos .slot button{position:absolute;top:2px;right:2px;border:0;background:var(--rc-overlay);color:#fff;border-radius:50%;width:20px;height:20px;font-size:12px;cursor:pointer}
.enq .trust{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--rc-text-muted);list-style:none;padding:0;margin:0}
.enq .trust li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rc-accent-bright);margin-right:6px;vertical-align:middle}
.enq .summary{background:var(--rc-surface-2);border-radius:8px;padding:10px 12px;font-size:13px;display:grid;gap:4px}
.enq .summary div{display:flex;justify-content:space-between;gap:12px}
.enq .summary span{color:var(--rc-text-muted)}
.enq .summary a{color:var(--rc-accent-ink);font-size:12px}
.enq .success{display:grid;gap:12px}
.enq .success .tick{width:48px;height:48px;border-radius:50%;background:var(--rc-success-bg);color:var(--rc-success);display:grid;place-items:center;font-size:24px;font-weight:700}
.enq .success ol{margin:0;padding-left:18px;display:grid;gap:6px;font-size:14px}
.enq .ref{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;background:var(--rc-surface-2);padding:6px 10px;border-radius:6px;display:inline-block}
.enq .hidden{display:none!important}
.enq .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.enq .consent{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px}
.enq .consent input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--rc-primary)}
/* homepage hero: step 1 only */
.herostep .choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.herostep .choice{position:relative}
.herostep .choice input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.herostep .choice label{display:block;border:1px solid var(--rc-border-strong);border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600;background:var(--rc-surface)}
.herostep .choice input:checked + label{border-color:var(--rc-accent-bright);box-shadow:inset 0 0 0 1px var(--rc-accent-bright);background:var(--rc-accent-tint)}
.herostep .choice input:focus-visible + label{outline:2px solid var(--rc-focus);outline-offset:2px}
.herostep .choice.wide{grid-column:1 / -1}
.herostep .bar{display:flex;gap:6px;margin-bottom:12px}
.herostep .bar i{flex:1;height:4px;border-radius:2px;background:var(--rc-border)}
.herostep .bar i.on{background:var(--rc-accent-bright)}
.herostep .btn{width:100%}
.herostep .small{margin:10px 0 0}
@media (prefers-reduced-motion:reduce){.enq .btn .spin{animation:none}}
