.contact-page { background: var(--contact-white); color: var(--contact-ink); }
.contact-container { max-width: var(--contact-max); margin-inline: auto; padding-inline: var(--contact-gutter); }
.contact-page-hero { padding-block: var(--contact-top) var(--contact-large); }
.contact-page-hero h1 { font-size: var(--contact-display); line-height: var(--contact-tight); font-weight: 500; max-width: 16ch; text-transform: uppercase; }
.contact-page-hero > p { margin-block-start: var(--contact-large); margin-inline-start: auto; max-width: 38ch; font-size: var(--contact-body); line-height: var(--contact-leading); }
.contact-page .contact.home-enquiry { background: var(--contact-white); padding: 0 var(--contact-gutter) var(--contact-section); }
.contact-page .enquiry-layout { width: min(100%,var(--contact-reading)); }
.contact-page .enquiry-main,.contact-page .enquiry-aside { grid-row: 1; }
.contact-page .enquiry-submit { text-transform: uppercase; }
.contact-faq { display: grid; grid-template-columns: minmax(0,4fr) minmax(0,6fr); gap: var(--contact-large); padding-block: var(--contact-section); }
.contact-faq-heading h2 { font-size: var(--contact-heading); line-height: var(--contact-tight); text-transform: uppercase; }
.contact-faq-heading p { font-size: var(--contact-body); line-height: var(--contact-leading); margin-block: var(--contact-medium) var(--contact-small); max-width: 28ch; }
.contact-faq-heading > a { font-size: var(--contact-label); text-decoration: underline; text-underline-offset: var(--contact-xs); }
.contact-faq-item { border-block-start: var(--contact-hairline) solid var(--contact-rule); }
.contact-faq-item:last-child { border-block-end: var(--contact-hairline) solid var(--contact-rule); }
.contact-faq-item h3 { margin: 0; font-weight: 400; }
.contact-faq-item button { display: flex; justify-content: space-between; align-items: center; gap: var(--contact-small); background: transparent; border: 0; color: inherit; padding: var(--contact-small) 0; text-align: start; width: 100%; min-height: var(--contact-touch); font-size: var(--contact-question); line-height: var(--contact-leading); text-transform: uppercase; }
.contact-faq-item button:hover { color: var(--brand-brown); }
.contact-faq-icon { position: relative; flex: 0 0 var(--contact-icon); width: var(--contact-icon); height: var(--contact-icon); }
.contact-faq-icon i { position: absolute; inset-inline: 0; top: 50%; height: var(--contact-hairline); background: currentColor; }
.contact-faq-icon i:last-child { transform: rotate(90deg); }
.contact-faq-answer { overflow: hidden; }
.contact-faq-answer > div { padding-block: var(--contact-xs) var(--contact-medium); padding-inline-end: var(--contact-medium); }
.contact-faq-answer p { font-size: var(--contact-body); line-height: var(--contact-leading); max-width: 60ch; }
.contact-faq-answer a { text-decoration: underline; text-underline-offset: .2em; }
.contact-faq-answer[hidden] { display: none; }
html[dir='rtl'] .contact-page .site-header.floating-nav { inset-inline-start: auto; left: 50%; }
html[dir='rtl'] .contact-page { --contact-tight: 1.3; --contact-leading: 1.7; }
@media(max-width:899px) { .contact-faq { grid-template-columns: 1fr; } .contact-faq-heading h2 { max-width: 16ch; } }
@media(max-width:699px) { .contact-page-hero h1 { font-size: clamp(44px,11vw,64px); } .contact-page-hero > p { margin-inline-start: 0; } .contact-page .enquiry-aside { grid-row: 2; } }
.contact-page .home-enquiry h2.enquiry-sr-only { width: var(--contact-hairline); max-width: var(--contact-hairline); }
/* Contact review: align the form and channels with the hero's outer grid. */
.contact-page-hero h1 { max-width: none; }
.contact-page .contact.home-enquiry { max-width: var(--contact-max); margin-inline: auto; }
.contact-page .enquiry-layout { width: 100%; }
.contact-page .enquiry-aside { padding-block: 0; }
.contact-page .enquiry-channels { margin-inline: 0; padding-inline: 0; }
.contact-page .enquiry-channels > div,.contact-page .enquiry-channels dd { margin-inline: 0; padding-inline: 0; }
