/* Form-specific styles; existing brand navigation and footer assets remain in use. */
.enquiry-page { --form-blue:#0e6ace; --form-ink:#1e2a3a; --form-muted:#536174; --form-border:#8390a5; }
.enquiry-page [hidden] { display:none !important; }
.form-language-bar { background:#f2f7fd; border-bottom:1px solid #dae4ef; color:var(--form-ink); }
.form-language-bar>.wrap { display:flex; gap:12px 20px; align-items:center; flex-wrap:wrap; padding-block:10px; }
.form-language-bar label { font-size:13px; font-weight:700; }
#language-select { min-height:44px; width:150px; max-width:100%; padding:8px 10px; border:1px solid var(--form-border); border-radius:7px; background:#fff; color:var(--form-ink); font:inherit; font-size:16px; }
.form-language-links { display:flex; gap:4px 14px; align-items:center; flex-wrap:wrap; margin-inline-start:auto; }
.form-language-links a { display:inline-flex; align-items:center; min-height:44px; padding-inline:2px; font-size:13px; text-decoration:none; }
.form-language-links a[aria-current=page] { font-weight:800; color:#07559e; text-decoration:underline; text-underline-offset:5px; }
.enquiry-main { background:linear-gradient(180deg,#f2f7fd 0,#fff 420px); padding-bottom:56px; }
.enquiry-intro { padding-top:22px; padding-bottom:28px; }
.form-breadcrumbs { display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:13px; color:var(--form-muted); margin-bottom:25px; }
.form-breadcrumbs a { min-height:32px; display:inline-flex; align-items:center; }
.enquiry-intro h1 { margin:0 0 14px; color:var(--form-ink); font-size:clamp(32px,5vw,52px); line-height:1.16; letter-spacing:-.025em; }
.enquiry-intro .lead { max-width:720px; font-size:18px; line-height:1.65; color:var(--form-muted); margin:0; }
.enquiry-shell { max-width:1016px; }
#enquiry-form { background:#fff; padding:30px; border:1px solid #dce3ed; border-radius:18px; box-shadow:0 10px 36px #1738560d; }
#form-fields { margin:0; padding:0; border:0; min-width:0; }
.form-required-note { margin:0 0 24px; font-size:13px; color:var(--form-muted); }
.form-section { margin:0 0 30px; min-width:0; }
.form-section+.form-section { border-top:1px solid #e1e7ef; padding-top:28px; }
.form-section h2 { font-size:18px; line-height:1.4; color:var(--form-ink); margin:0 0 20px; }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.form-field { min-width:0; }
.form-field-wide { grid-column:1/-1; }
.form-field>label { display:flex; gap:5px 8px; align-items:baseline; flex-wrap:wrap; margin:0 0 8px; font-size:14px; font-weight:650; color:var(--form-ink); }
.optional-label { color:var(--form-muted); font-weight:400; font-size:12px; }
.required-mark { color:#b91c1c; }
.form-field input,.form-field select,.form-field textarea { width:100%; max-width:100%; min-width:0; min-height:46px; border:1px solid var(--form-border); border-radius:8px; background:#fff; color:var(--form-ink); padding:11px 12px; font:inherit; font-size:16px; line-height:1.45; box-sizing:border-box; }
.form-field select { padding-inline-end:28px; text-overflow:ellipsis; }
.form-field textarea { resize:vertical; min-height:155px; }
.form-field input::placeholder,.form-field textarea::placeholder { color:#647286; opacity:1; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:3px solid #0e6ace40; outline-offset:2px; border-color:var(--form-blue); }
.form-field [aria-invalid=true],.consent-field input[aria-invalid=true] { border-color:#b91c1c; outline-color:#b91c1c; }
.form-field input:disabled,.form-field select:disabled,.form-field textarea:disabled { background:#f7f9fc; }
.service-fields { min-width:0; margin:20px 0 0; padding:0; border:0; }
.conditional-field { margin:0; padding:0; border:0; min-width:0; }
.form-help { font-size:14px; line-height:1.6; color:var(--form-muted); margin:12px 0 18px; overflow-wrap:anywhere; }
.upload-heading { font-size:14px; margin:0 0 8px; font-weight:650; }
.dropzone { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; width:100%; min-height:140px; padding:24px 14px; border:2px dashed #7c95b4; border-radius:12px; background:#f5f9fe; color:#07559e; cursor:pointer; font:inherit; font-size:16px; font-weight:650; text-align:center; }
.dropzone:hover,.dropzone.is-dragover { background:#e9f3ff; border-color:var(--form-blue); }
.dropzone:disabled { cursor:wait; }
.dropzone:focus-visible,.enquiry-page button:focus-visible,.enquiry-page a:focus-visible,#language-select:focus-visible { outline:3px solid var(--form-blue); outline-offset:3px; }
.file-formats { font-size:12px; margin-top:-8px; }
.upload-list { list-style:none; padding:0; margin:0 0 18px; }
.upload-list li { display:flex; gap:12px; align-items:center; justify-content:space-between; border:1px solid #d5deeb; border-radius:8px; margin-block:8px; padding:8px 12px; min-width:0; }
.upload-list li>span,.upload-list bdi { min-width:0; overflow-wrap:anywhere; }
.upload-list button { flex-shrink:0; min-width:44px; min-height:44px; padding:8px; border:0; background:transparent; color:#07559e; font:inherit; font-size:14px; font-weight:650; }
.budget-fields { margin-top:24px; background:#f8fafc; border-radius:10px; padding:18px; }
.budget-fields h3 { font-size:15px; margin:0 0 16px; }
.consent-field { margin-top:24px; font-size:14px; line-height:1.65; color:var(--form-muted); }
.consent-field label { display:flex; gap:12px; align-items:flex-start; cursor:pointer; padding-block:8px; }
.consent-field input { flex-shrink:0; width:22px; height:22px; margin:2px 0 0; accent-color:var(--form-blue); }
.consent-field>a { display:inline-flex; align-items:center; min-height:44px; margin-inline-start:34px; font-size:13px; text-decoration:underline; }
.form-submit { display:inline-flex; align-items:center; justify-content:center; min-height:50px; min-width:230px; border:0; background:var(--form-blue); color:#fff; padding:14px 25px; border-radius:9px; font:inherit; font-size:16px; font-weight:750; cursor:pointer; }
.form-submit:disabled { opacity:.65; cursor:wait; }
.field-error { color:#aa1e1e; font-size:13px; line-height:1.5; margin:6px 0 0; }
.form-status { border:1px solid #e4b4b4; background:#fff4f4; color:#8d1a1a; border-radius:10px; padding:16px; margin-bottom:24px; line-height:1.6; }
.form-status a { color:inherit; text-decoration:underline; }
.form-success { border:1px solid #a5d4b6; background:#f4fbf7; border-radius:16px; padding:28px; color:#184d31; line-height:1.6; }
.form-success h2 { margin-top:0; font-size:25px; }
.language-suggestion,.continuation-notice { border:1px solid #b9cfe8; background:#eff6ff; padding:16px; border-radius:10px; margin-bottom:18px; }
.language-suggestion button { min-height:44px; margin-inline-end:12px; padding:8px 12px; font:inherit; }
.form-noscript { border:1px solid #d5b573; background:#fff9ec; padding:18px; border-radius:10px; line-height:1.6; }
.form-related { margin:20px 0 0; font-size:15px; }
.form-related a { min-height:44px; display:inline-flex; align-items:center; text-decoration:underline; }
.visually-hidden,.form-honeypot { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
html[dir=rtl] .enquiry-intro h1 { letter-spacing:0; line-height:1.4; }
html[dir=rtl] .enquiry-page { font-family:'Noto Sans Arabic',Tahoma,Arial,sans-serif; }
html[dir=rtl] .form-field input[dir=ltr],html[dir=rtl] .form-field input[type=number] { text-align:left; }
.enquiry-page bdi,.enquiry-page [dir=ltr] { unicode-bidi:isolate; }
@media(max-width:760px) { .form-language-links { display:none; } .form-language-bar>.wrap { justify-content:space-between; gap:8px; } .enquiry-intro { padding-bottom:22px; } #enquiry-form { padding:22px; } }
@media(max-width:540px) { .field-grid { grid-template-columns:minmax(0,1fr); gap:18px; } .enquiry-intro .lead { font-size:16px; } #enquiry-form { padding:19px 16px; border-radius:13px; } .form-section+.form-section { padding-top:24px; } .budget-fields { padding:14px; } .form-submit { width:100%; min-width:0; } .form-language-bar label { max-width:calc(100% - 158px); } .form-success { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .enquiry-page * { scroll-behavior:auto !important; transition:none !important; } }
@media(forced-colors:active) { .form-field input,.form-field select,.form-field textarea,.dropzone,.form-submit { border:1px solid ButtonText; } }
