/* Shared contact and recruitment form. */
.hp-mail-form { --form-ink:#102a43; --form-accent:#087f8c; max-width:900px; margin:32px 0 0; color:var(--form-ink); }
.hp-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.hp-form-field { display:flex; flex-direction:column; gap:10px; min-width:0; }
.hp-form-field.is-wide { grid-column:1/-1; }
.hp-form-field label { font-size:16px; font-weight:700; line-height:1.6; }
.hp-form-field label span { margin-left:8px; color:#087f8c; font-size:14px; font-weight:600; }
.hp-mail-form input:not([type=checkbox]),.hp-mail-form select,.hp-mail-form textarea { box-sizing:border-box; width:100%; min-width:0; padding:14px 16px; border:1px solid #bdccd2; border-radius:10px; background:#fff; color:#102a43; font:inherit; font-size:16px; line-height:1.6; }
.hp-mail-form textarea { min-height:150px; resize:vertical; }
.hp-mail-form input:focus,.hp-mail-form select:focus,.hp-mail-form textarea:focus { outline:3px solid #bce5e8; outline-offset:2px; border-color:#087f8c; }
.hp-form-note { margin:16px 0 24px; font-size:14px; line-height:1.8; }
.hp-form-consent { display:flex; gap:12px; align-items:flex-start; margin:26px 0; font-size:16px; line-height:1.8; }
.hp-form-consent input { width:20px; height:20px; flex:none; margin-top:4px; accent-color:#087f8c; }
.hp-form-consent a,.hp-form-note a { color:#087f8c; text-decoration:underline; text-underline-offset:3px; }
.hp-form-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.hp-form-status { min-height:1.8em; margin:20px 0; font-size:16px; line-height:1.8; }
.hp-form-status.is-error { color:#a52a34; }
.hp-form-button { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:14px 32px; border:0; border-radius:999px; background:#087f8c; color:#fff; font:inherit; font-size:16px; font-weight:700; cursor:pointer; }
.hp-form-button:hover { background:#08616d; }
.hp-form-button:focus-visible { outline:3px solid #102a43; outline-offset:4px; }
.hp-form-button:disabled { opacity:.6; cursor:wait; }
.hp-mail-form[hidden],.ct-form[hidden] { display:none!important; }
.hp-form-success { max-width:900px; margin:32px 0; padding:32px; border:1px solid #a9d7d9; border-radius:18px; background:#edf7f6; color:#102a43; }
.hp-form-success h3 { font-size:24px; font-weight:700; line-height:1.6; }
.hp-form-success p { margin:16px 0 24px; font-size:16px; line-height:1.8; }
.rc-entry-form { margin-top:44px; padding:40px; border:1px solid #c7dadf; border-radius:24px; background:#fff; }
.rc-entry-form h3 { font-size:26px; font-weight:800; }
@media(max-width:767px) { .hp-form-grid { grid-template-columns:1fr; gap:22px; }.hp-form-field.is-wide { grid-column:auto; }.rc-entry-form { padding:24px 20px; }.hp-form-button { width:100%; }.hp-form-success { padding:24px 20px; } }
/* Country picker follows the Pay Guardian form, with company-site colours. */
.hp-phone-input { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:8px; min-width:0; }
.hp-country-picker { position:relative; min-width:0; }
.hp-country-picker select[hidden] { display:none!important; }
.hp-country-trigger { box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:56px; min-width:0; padding:14px 12px; border:1px solid #bdccd2; border-radius:10px; background:#fff; color:#102a43; font:inherit; font-size:16px; line-height:1.6; text-align:left; cursor:pointer; }
.hp-country-selected { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hp-country-trigger:focus-visible { outline:3px solid #bce5e8; outline-offset:2px; border-color:#087f8c; }
.hp-country-trigger.bad { border-color:#a52a34; }
.hp-country-menu { box-sizing:border-box; position:absolute; z-index:25; top:calc(100% + 6px); left:0; width:min(340px,calc(100vw - 80px)); padding:10px; background:#fff; border:1px solid #bdccd2; border-radius:12px; box-shadow:0 12px 30px rgba(16,42,67,.15); color:#102a43; font-weight:400; }
.hp-country-menu[hidden] { display:none!important; }
.hp-country-menu.opens-up { top:auto; bottom:calc(100% + 6px); }
.hp-mail-form .hp-country-search { padding:10px 11px; font-size:16px; }
.hp-country-options { position:relative; max-height:220px; overflow-y:auto; overscroll-behavior:contain; margin-top:8px; scrollbar-width:thin; }
.hp-country-option { font-size:14px; line-height:1.5; padding:11px 10px; border-radius:6px; cursor:pointer; overflow-wrap:anywhere; }
.hp-country-option:hover,.hp-country-option.is-active { background:#eaf5f5; }
.hp-country-option[aria-selected=true] { color:#087f8c; font-weight:700; }
.hp-country-status { margin:8px 3px 0; font-size:12px; line-height:1.5; color:#526b7c; }
.ct-ways.ct-ways--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hp-contact-link { display:inline-flex; margin-top:20px; padding:12px 20px; border-radius:999px; background:#087f8c; color:#fff; font-size:16px; font-weight:700; }
.hp-contact-link--line { background:#087c42; }
#recruit-form { scroll-margin-top:100px; }
@media(max-width:767px) { .ct-ways.ct-ways--two { grid-template-columns:1fr; }.hp-phone-input { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); } }

.hp-country-selected { display:flex; gap:6px; min-width:0; }.hp-country-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.hp-country-code { flex:none; }
