/* Reference-inspired enquiry layout, using Virgo typography and colours. */
.contact-form-section { --home-ink: #fff; --home-muted: #c4d2df; --home-link: #55baf4; --home-border: #2b4455; border-top: 1px solid var(--home-border); background: #001a2c; color: #fff; }
.contact-form-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 72px; align-items: start; }
.contact-form-guidance { max-width: 48ch; padding-top: 12px; }
.contact-office-details { display: grid; gap: 24px; margin: 32px 0 0; }
.contact-office-details > div { padding-top: 22px; border-top: 1px solid #385167; }
.contact-office-details dt { color: #c4d2df; font-size: .875rem; font-weight: 700; margin-bottom: 8px; }
.contact-office-details dd { margin: 0; color: #e2eaf2; line-height: 1.65; }
.contact-office-details a { display: inline-flex; align-items: center; min-height: 44px; color: #fff; font-size: clamp(1.375rem,calc(2.2vw * var(--site-text-scale, 1)),1.75rem); font-weight: 700; text-decoration: none; }
.contact-office-details a:hover { text-decoration: underline; }
.contact-office-details a:focus-visible { outline: 2px solid #55baf4; outline-offset: 4px; box-shadow: none; }
.social-links--contact { margin-top: 28px; gap: 12px; }
.social-links--contact > a { width: 56px; height: 56px; }
.social-links--contact img { width: 40px; height: 40px; }
.contact-form-guidance > p:not(.eyebrow) { color: #c4d2df; margin-top: 24px; }
.contact-form-checklist { list-style: none; padding: 0; margin: 26px 0 0; }
.contact-form-checklist li { display: flex; align-items: center; gap: 12px; padding-block: 10px; color: #c4d2df; }
.contact-form-checklist svg { width: 20px; height: 20px; flex: none; color: #55baf4; }
.contact-form-guidance .contact-form-plans { border-top: 1px solid #385167; padding-top: 24px; margin-top: 28px; font-size: .9375rem; }
.contact-form-plans a { color: #8bceff; overflow-wrap: anywhere; }
.contact-form-panel { min-width: 0; }
.virgo-enquiry-form { color-scheme: dark; background: #0b263a; border: 1px solid #385167; border-radius: 4px; padding: 36px; }
.inner-page .virgo-enquiry-form h3 { font-size: 1.5rem; margin-bottom: 14px; }
.contact-form-required { font-size: .8125rem; color: #c4d2df; margin-bottom: 22px; }
.enquiry-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.enquiry-field { min-width: 0; margin-bottom: 22px; }
.enquiry-field > label, .enquiry-contact-preference legend { display: block; font-size: .875rem; font-weight: 700; color: #f4f8fb; margin-bottom: 8px; }
.enquiry-field input, .enquiry-field textarea { display: block; width: 100%; min-height: 50px; border: 1px solid #617e93; border-radius: 3px; padding: 12px 14px; background: #071c2b; color: #f4f8fb; font: inherit; font-size: 1rem; line-height: 1.5; }
.enquiry-field textarea { min-height: 160px; resize: vertical; }
.enquiry-field textarea::placeholder { color: #a5bbcb; opacity: 1; }
.enquiry-field input:focus-visible, .enquiry-field textarea:focus-visible { outline: 2px solid #55baf4; outline-offset: 2px; box-shadow: none; }
.enquiry-field input:user-invalid, .enquiry-field textarea:user-invalid { border-color: #ff8594; }
.enquiry-field input[aria-invalid=true], .enquiry-field textarea[aria-invalid=true] { border-color: #ff8594; }
.enquiry-contact-preference { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.enquiry-contact-options { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.enquiry-contact-options label { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; cursor: pointer; font-size: .9375rem; }
.enquiry-contact-options input { width: 18px; height: 18px; accent-color: #55baf4; margin: 0; }
.enquiry-contact-options input:focus-visible { outline: 2px solid #55baf4; outline-offset: 3px; box-shadow: none; }
.enquiry-spam-preview { display: flex; gap: 12px; align-items: start; border: 1px dashed #617e93; background: #102f43; padding: 16px; margin-bottom: 24px; color: #c4d2df; }
.enquiry-spam-preview > svg { flex: none; width: 24px; height: 24px; color: #55baf4; }
.enquiry-spam-preview strong { display: block; color: #f4f8fb; font-size: .875rem; }
.enquiry-spam-preview p { margin-top: 4px; font-size: .8125rem; }
.inner-page .enquiry-submit { width: 100%; justify-content: center; }
.enquiry-submit:disabled { opacity: .6; cursor: not-allowed; }
.enquiry-form-privacy { color: #c4d2df; font-size: .8125rem; margin-top: 18px; }
.enquiry-form-privacy a { color: #8bceff; }
.enquiry-preview-result { margin-top: 18px; padding: 14px; border: 1px solid #617e93; background: #102f43; color: #e2eaf2; font-size: .875rem; }
.enquiry-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.enquiry-turnstile { margin-bottom: 24px; min-height: 65px; min-width: 0; }
.enquiry-turnstile [data-turnstile-widget] { width: 100%; min-width: 0; }
.enquiry-feedback { padding: 24px; margin-bottom: 24px; border: 1px solid #617e93; border-radius: 4px; background: #102f43; color: #f4f8fb; line-height: 1.65; }
.enquiry-feedback--error { border-color: #ff8594; }
.enquiry-feedback--success { padding: 36px; border-color: #55baf4; font-size: 1.125rem; }
.enquiry-feedback:focus { outline: 2px solid #55baf4; outline-offset: 4px; box-shadow: none; }
.enquiry-submit { min-width: 0; }
@media (min-width: 768px) and (max-width: 1099px) {
  .contact-form-layout { gap: 36px; grid-template-columns: .8fr 1.2fr; }
  .virgo-enquiry-form { padding: 24px; }
  .enquiry-field-row { grid-template-columns: 1fr; gap: 0; }
}
@media (max-width: 767px) {
  .contact-form-layout { grid-template-columns: 1fr; gap: 32px; }
  .contact-form-guidance { padding-top: 0; }
  .virgo-enquiry-form { padding: 24px 20px; }
  .enquiry-field-row { grid-template-columns: 1fr; gap: 0; }
  .enquiry-field textarea { min-height: 180px; }
}
