.contact-fields .contact-help { font-size:.85rem; line-height:1.55; margin:0 0 18px; }
.contact-phone-row { display:grid; grid-template-columns:minmax(125px,.9fr) minmax(0,1.25fr); gap:10px; }
.contact-phone-row > * { min-width:0; width:100%; }
.contact-phone-row select { box-sizing:border-box; min-height:44px; border:1px solid var(--line,#d5d5d5); background:#fff; color:var(--ink,#17201d); border-radius:0; padding:10px 8px; font:inherit; text-overflow:ellipsis; }
.contact-phone-row select:focus-visible { outline:2px solid var(--gold,#aa7620); outline-offset:2px; }
.contact-form .contact-field-error { margin:8px 0 0; padding:9px 12px; background:var(--gold,#aa7620); color:#fff !important; font-size:.9rem; line-height:1.5; }
.contact-form .contact-field-error[hidden] { display:none; }
.contact-form input[aria-invalid="true"] { border-color:var(--gold,#aa7620); box-shadow:0 0 0 1px var(--gold,#aa7620); }
@media(max-width:480px) { .contact-phone-row { grid-template-columns:minmax(115px,.9fr) minmax(0,1fr); gap:8px; } }
@media(max-width:600px) { .contact-form input[name="phone"], .contact-form input[name="email"], .contact-phone-row select { font-size:16px; } }
/* Only the homepage logo is exempt from the approved link underlines. */
html[data-opus-home="true"] body a.brand { text-decoration-line:none !important; }
html[data-opus-home="true"] body a.brand * { text-decoration-line:none !important; }
.contact-country-picker { position:relative; }
.contact-country-picker::after { content:""; position:absolute; right:12px; top:18px; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg); pointer-events:none; }
.contact-country-picker[data-open="true"]::after { transform:rotate(225deg); top:21px; }
.contact-form .contact-country-search { width:100%; min-width:0; min-height:44px; padding-right:28px; text-overflow:ellipsis; }
.contact-country-popup { position:absolute; top:calc(100% + 4px); left:0; z-index:100; width:min(360px,calc(100vw - 80px)); min-width:100%; background:#fff; color:var(--ink,#17201d); border:1px solid var(--gold,#aa7620); box-shadow:0 8px 24px #0002; }
.contact-country-popup[hidden] { display:none; }
.contact-country-options { position:relative; max-height:min(264px,35dvh); overflow-y:auto; overscroll-behavior:contain; touch-action:pan-y; padding:4px; }
.contact-country-options .contact-country-option { display:block; width:100%; min-height:44px; padding:10px 12px; border:0; border-radius:0; background:#fff; color:var(--ink,#17201d); text-align:left; font:inherit; font-size:15px; line-height:1.4; cursor:pointer; overflow-wrap:anywhere; }
.contact-country-options .contact-country-option:hover, .contact-country-options .contact-country-option.is-active { background:var(--gold,#aa7620); color:#fff; }
.contact-form .contact-country-count { margin:0; padding:8px 12px; border-top:1px solid var(--line,#ddd); font-size:13px; line-height:1.5; }
@media(max-width:600px) { .contact-form .contact-country-search { font-size:16px; } }
.contact-optional-row { position:relative; }
.contact-optional-row > details > summary { min-height:44px; box-sizing:border-box; padding-right:50%; display:flex; align-items:center; }
.contact-form .contact-clear { position:absolute; top:0; right:0; width:auto; max-width:48%; min-height:44px; padding:10px 12px; gap:6px; }
.contact-form .contact-clear:disabled { cursor:wait; opacity:.65; }
.contact-form .contact-clear:focus-visible { outline:2px solid var(--gold,#aa7620); outline-offset:3px; }
/* Preserve the contact heading style after moving the existing anchor to the form. */
#contact-section .contact-copy>.eyebrow { font-size:.71rem; }
/* Enquiry links show the form immediately instead of animating through the homepage. */
html:has(.contact-form:target) { scroll-behavior:auto; }
/* Match the service-area text; keep the confidentiality note at the field-label size. */
.contact-form .form-heading p,
.contact-form .contact-fields .contact-help { font-family:var(--serif); font-size:1.25rem; font-weight:400; line-height:1.65; }
.contact-form .form-field label,
.contact-form > .form-note:not([role]) { font-size:.7rem; }
.contact-form > .form-note:not([role]) { font-family:inherit; font-weight:750; letter-spacing:.1em; text-transform:uppercase; line-height:1.65; }
