.contact-main { padding-block: 44px 64px; }
.contact-main h1, .contact-main h2, .contact-main h3 { letter-spacing: -.035em; }
.contact-heading { padding-bottom: 30px; }
.contact-heading h1 { max-width: 900px; font-size: clamp(34px, 4vw, 49px); line-height: 1.18; }
.contact-heading > p { margin-top: 16px; max-width: 740px; font-size: 18px; line-height: 1.75; }
.contact-workspace { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(240px, .7fr); gap: 60px; align-items: start; }
.contact-form-wrap { padding: 30px 32px; border: 1px solid var(--line); border-radius: 9px; background: white; min-width: 0; }
.contact-form-wrap h2 { font-size: 25px; line-height: 1.3; margin-bottom: 12px; }
.contact-next { font-size: 14px; line-height: 1.8; margin-bottom: 24px; max-width: 66ch; }
#enquiry-fields { border: 0; padding: 0; margin: 0; min-width: 0; }
.contact-field { margin-bottom: 22px; min-width: 0; }
.contact-field-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
#enquiry-form label { display: block; font-size: 14px; font-weight: 700; line-height: 1.65; margin-bottom: 8px; }
#enquiry-form input:not([type=checkbox]), #enquiry-form select, #enquiry-form textarea { width: 100%; min-width: 0; border: 1px solid #a6bad0; border-radius: 5px; color: var(--ink); background: white; padding: 11px 12px; font-size: 16px; line-height: 1.65; }
#enquiry-form input:not([type=checkbox]), #enquiry-form select { min-height: 48px; }
#enquiry-form input::placeholder, #enquiry-form textarea::placeholder { color: var(--slate); opacity: 1; }
#enquiry-form textarea { min-height: 152px; resize: vertical; }
#enquiry-form input:disabled, #enquiry-form select:disabled, #enquiry-form textarea:disabled { background: var(--sky); color: var(--slate); }
.contact-field-hint { font-size: 13px; line-height: 1.75; margin-top: 7px; }
.enquiry-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-pricing { padding: 20px; background: var(--sky); border: 1px solid #c4d7ec; border-radius: 6px; margin-bottom: 24px; }
#enquiry-form .contact-pricing > label, #enquiry-form .contact-renewal > label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; margin-bottom: 9px; cursor: pointer; }
.contact-pricing input[type=checkbox] { width: 19px; height: 19px; margin: 3px 0 0; accent-color: var(--blue); flex-shrink: 0; }
.contact-pricing > p { font-size: 16px; color: var(--ink); line-height: 1.75; }
.contact-pricing > .contact-field-hint { font-size: 13px; color: var(--slate); }
.contact-pricing > .contact-field-hint:empty { display: none; }
.contact-pricing a { display: inline-block; margin-top: 12px; color: var(--blue); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.contact-plan-editor { margin-top: 12px; }
.contact-plan-editor summary { cursor: pointer; font-size: 14px; color: var(--blue); padding-block: 8px; }
.contact-plan-editor .contact-field-row { margin-top: 12px; }
.contact-plan-error { font-size: 14px !important; font-weight: 700; margin-top: 12px; }
.contact-renewal { border-top: 1px solid #c4d7ec; margin-top: 16px; padding-top: 16px; }
.contact-renewal p { font-size: 13px; line-height: 1.8; }
.contact-renewal p + p { margin-top: 7px; }
.contact-submit-row { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.contact-submit-row .button { width: 100%; font-size: 16px; gap: 12px; min-height: 50px; padding: 13px 18px; line-height: 1.5; white-space: normal; text-align: center; }
.contact-submit-row .button:disabled { opacity: .6; cursor: default; box-shadow: none; }
.contact-submit-row > p { font-size: 13px; line-height: 1.8; }
.contact-submit-row > p > a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.contact-status { margin-top: 20px; padding: 15px 18px; border: 1px solid #c4d7ec; border-radius: 5px; background: var(--sky); font-size: 14px; line-height: 1.8; color: var(--ink); }
.contact-status[data-state=error] { border: 2px solid var(--ink); background: white; }
.contact-status[data-state=success] { border-color: var(--blue); }
.contact-fallback { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.contact-fallback p { font-size: 14px; line-height: 1.8; }
.contact-fallback a { color: var(--blue); font-size: 14px; font-weight: 700; display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.contact-sidebar { padding-top: 8px; }
.contact-sidebar h2 { font-size: 23px; line-height: 1.3; margin-bottom: 12px; }
.contact-direct-email { display: inline-flex; align-items: center; gap: 8px; color: var(--blue); font-size: 16px; font-weight: 700; padding-block: 4px; overflow-wrap: anywhere; }
.contact-direct-email svg { width: 18px; height: 18px; }
.contact-sidebar section > p { font-size: 16px; line-height: 1.8; margin-top: 12px; }
.contact-sidebar section + section { border-top: 1px solid var(--line); margin-top: 28px; padding-top: 25px; }
.contact-sidebar ul { margin: 0; padding-left: 19px; color: var(--slate); font-size: 16px; line-height: 1.8; }
.contact-sidebar li + li { margin-top: 8px; }
.contact-sidebar .text-button { color: var(--blue); margin-top: 12px; font-size: 14px; gap: 8px; }
.contact-noscript { font-size: 14px; line-height: 1.8; padding-top: 14px; }
.contact-noscript a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.contact-security { margin-block: 6px 22px; min-width: 0; }
#turnstile-status { font-size: 13px; line-height: 1.8; margin-top: 8px; }
#turnstile-retry { color: var(--blue); background: transparent; border: 1px solid var(--line); border-radius: 5px; padding: 10px 14px; margin-top: 9px; min-height: 44px; cursor: pointer; font: inherit; font-size: 14px; }
#turnstile-retry:disabled { cursor: wait; opacity: .6; }
@media (max-width: 1100px) {
  .contact-workspace { gap: 34px; grid-template-columns: minmax(0, 1.5fr) minmax(230px, .8fr); }
  .contact-form-wrap { padding: 25px; }
  .contact-field-row { grid-template-columns: 1fr; gap: 0; }
  .contact-plan-editor .contact-field-row { gap: 14px; }
  .contact-direct-email { font-size: 14px; }
}
@media (max-width: 700px) {
  .contact-main { padding-block: 29px 42px; }
  .contact-heading h1 { font-size: clamp(30px, 8vw, 42px); }
  .contact-heading > p { font-size: 16px; }
  .contact-workspace { grid-template-columns: 1fr; gap: 30px; }
  .contact-form-wrap { padding: 23px; }
  .contact-form-wrap h2 { font-size: 23px; }
  .contact-pricing { padding: 17px; }
  .contact-sidebar { padding-top: 0; }
  .contact-direct-email { font-size: 16px; }
}
@media (max-width: 390px) {
  .contact-form-wrap { padding: 20px 17px; }
  .contact-pricing { padding: 15px 13px; }
}

