.contact-page-section { padding: 170px 0 100px; background: #0d1419; }
.contact-page-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(40px,7vw,110px); align-items: start; }
.contact-page-copy { padding-top: 20px; }
.contact-page-copy .eyebrow { margin-bottom: 30px; color: #8eb5cd; }
.contact-page h1 { font-size: clamp(58px,6.5vw,92px); font-weight: 450; line-height: 1.02; letter-spacing: -.06em; margin-bottom: 30px; }
.contact-page h1 > span { color: #218acb; }
@supports (background-clip: text) or (-webkit-background-clip: text) {
  .contact-page h1 > span { background: linear-gradient(105deg,#f3f5f6,#aebfcb 35%,#218acb 82%); background-clip: text; -webkit-background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
}
.contact-page-intro { max-width: 410px; font-size: 15px; line-height: 1.85; color: #a7b6c0; }
.contact-page-direct { display: grid; grid-template-columns: 1.3fr 1fr; gap: 25px; padding: 34px 0; margin-top: 32px; border-block: 1px solid #ffffff20; }
.contact-page-direct > div { display: flex; flex-direction: column; align-items: start; gap: 12px; }
.contact-page-direct span { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #8eb5cd; margin-bottom: 3px; }
.contact-page-direct a { font-size: 14px; }
.contact-page-direct .contact-page-number { font-size: clamp(19px,2vw,25px); letter-spacing: -.035em; }
.contact-page-location { color: #93a5b1; font-size: 13px; line-height: 1.85; margin: 28px 0 22px; }
.contact-page-copy > .text-link { color: #c4d4dd; font-size: 12px; }
.contact-page .contact-page-form { width: 100%; min-width: 0; max-height: none; overflow: visible; color: #12191e; border-radius: 2px; padding: 38px; scroll-margin-top: 130px; }
.contact-page-form .form-note { font-size: 11px; }
.contact-method-help { margin: -5px 0 22px; color: #64727b; font-size: 11px; line-height: 1.6; }
.contact-page-form #enquiry-preview { overflow-wrap: anywhere; }
@media(max-width:980px) {
  .contact-page-grid { gap: 30px; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }
  .contact-page .contact-page-form { padding: 28px; }
  .contact-page-direct { grid-template-columns: 1fr; }
}
@media(max-width:700px) {
  .contact-page-section { padding: 120px 0 60px; }
  .contact-page-grid { grid-template-columns: 1fr; gap: 40px; }
  .contact-page-copy { padding-top: 0; }
  .contact-page h1 { font-size: clamp(54px,12vw,72px); }
  .contact-page-direct { grid-template-columns: 1.2fr 1fr; gap: 15px; }
  .contact-page .contact-page-form { padding: 25px 20px; scroll-margin-top: 105px; }
  .contact-page-form input, .contact-page-form select, .contact-page-form textarea { font-size: 16px; }
}
@media(forced-colors:active) { .contact-page h1 > span { background: none; color: CanvasText; -webkit-text-fill-color: CanvasText; } }

/* Inline forms grow with their fields; modal sizing only applies to dialogs. */
.contact-page-form .form-row > label { min-width: 0; }
.contact-page-form input, .contact-page-form select, .contact-page-form textarea { max-width: 100%; }
