.contact-page { color: var(--color-dark-blue); }
.contact-page p { margin: 0 0 .44rem; }
.contact-page h1, .contact-page h2 { margin: 0 0 8px; font: 600 28px/1.25 var(--font-heading); }
.contact-page a:not(.button) { color: var(--color-primary); text-underline-offset: 3px; }
.contact-page a:not(.button):hover { color: var(--color-dark-blue); }
.contact-hero { padding-block: 24px 16px; background: var(--color-dark-blue); color: var(--color-white); text-align: center; }
.contact-hero h1 { color: var(--color-white); font-size: clamp(1.75rem, 1.576rem + .543vw, 2rem); line-height: 1.2; }
.contact-hero p { font-size: clamp(1.1rem, .995rem + .326vw, 1.25rem); margin-bottom: .67rem; }
.contact-intro { padding-top: 24px; }
.contact-intro p:last-child { margin-bottom: 0; }
.contact-columns, .contact-lower-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.contact-columns { padding-top: 24px; padding-bottom: 24px; }
.contact-columns > *, .contact-lower-columns > * { min-width: 0; }
.contact-page .contact-help-title { text-align: center; font-size: clamp(1.1rem, .995rem + .326vw, 1.25rem); font-weight: 600; margin-bottom: 0; }
.contact-checks { list-style: none; margin: 0 0 8px; padding: 0; }
.contact-checks li { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; font-weight: 500; }
.contact-checks svg { width: 1em; height: 1em; flex: 0 0 1em; }
.contact-page .contact-notice { margin: 0; padding: .44rem; background: var(--color-pale-blue); border-radius: 8px; }
.contact-form-card { padding: 8px; box-shadow: 0 0 10px rgb(0 0 0 / .2); }
.contact-form-card h3 { margin: 0; text-align: center; font: 600 26px/1.3 var(--font-body); }
.contact-page .contact-privacy { margin-block: .67rem; font-size: clamp(.9rem, .835rem + .204vw, 1rem); }
.contact-page .contact-step-title { margin-top: 1em; margin-bottom: 0; font-size: 20px; }
.contact-next > p:last-of-type { margin-bottom: 1.5em; }
.contact-call-title { margin: 1em 0 .5em; text-align: center; font: 600 23px/1.3 var(--font-body); }
.contact-page .contact-phone { margin-bottom: .44rem; text-align: center; }
.contact-phone img { vertical-align: -.1em; }
.contact-call-action { text-align: center; margin-block: 8px; }
.contact-call-button { color: var(--color-white); background: var(--color-primary); border: 0; }
.contact-call-button:hover, .contact-call-button:focus-visible { color: var(--color-dark-blue); background: var(--color-amber); }
.contact-email { text-align: center; overflow-wrap: anywhere; }
.contact-hours { display: flex; flex-direction: column; align-items: center; }
.contact-hours h3 { text-align: center; margin: 1em 0 .5em; font: 600 22px/1.3 var(--font-body); }
.contact-hours ul { margin: 0 0 .44rem; padding: 0; list-style-position: inside; }
.contact-reassurances .contact-checks { margin-left: 16px; margin-bottom: 24px; }
.contact-faqs h2 { margin: 0; font: 700 22px/1.25 var(--font-body); }
.contact-faqs .content-disclosure { background: var(--color-pale-blue); border: 0; border-radius: 0; }
.contact-faqs summary { position: relative; padding: 9px 38px 9px 13px; min-height: 0; border: 2px solid var(--color-cream); border-radius: 8px; background: var(--color-cream); font-weight: 600; line-height: 1.4; list-style: none; }
.contact-faqs summary::-webkit-details-marker { display: none; }
.contact-faqs summary::after { content: '+'; position: absolute; right: 13px; top: 9px; font-size: 20px; line-height: 1; }
.contact-faqs summary:hover { color: #444; background: var(--color-pale-blue); border-color: var(--color-primary); }
.contact-faqs details[open] > summary { color: var(--color-white); background: var(--color-dark-blue); border: 1px solid #444; }
.contact-faqs details[open] > summary::after { content: '−'; }
.contact-faqs .disclosure-body { padding: 10px; }
.contact-faqs .disclosure-body p { margin: 0 0 1.5em; }
.contact-page .contact-closing { margin-block: .67rem; text-align: center; }
@media (max-width: 1024px) {
  .contact-form-card h3 { font-size: 24px; }
  .contact-enquiry > .contact-checks, .contact-reassurances .contact-checks { margin-inline: 16px; margin-bottom: 0; }
  .contact-call-button { width: 360px; max-width: 100%; }
}
@media (max-width: 781px) {
  .contact-lower-columns { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .contact-columns { grid-template-columns: minmax(0, 1fr); }
  .contact-columns { padding-bottom: 0; }
  .contact-form-card h3 { font-size: 22px; }
}
