.contact-reference-page { background: #faf9f7; color: var(--navy); }
.contact-reference-heading { padding: 130px var(--page-gutter) 72px; text-align: center; background: var(--cream); }
.contact-breadcrumb { display: flex; align-items: center; justify-content: center; gap: 12px; font-size: 13px; margin-bottom: 22px; }
.contact-breadcrumb a { color: var(--text-mute); }
.contact-reference-heading h1 { font-size: clamp(44px,6vw,80px); line-height: 1.1; margin: 0; color: var(--navy); }
.contact-reference-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(36px,6vw,100px); max-width: 1700px; margin-inline: auto; padding: clamp(50px,6vw,90px) var(--page-gutter) 100px; scroll-margin-top: calc(var(--nav-h) + 24px); align-items: start; }
.contact-reference-photo { display: block; width: 100%; }
.contact-reference-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1.65; object-fit: cover; object-position: center; }
.contact-reference-panel { padding: clamp(25px,3vw,46px); background: var(--navy); color: #fff; }
.contact-reference-block + .contact-reference-block { margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.2); }
.contact-reference-panel h2 { font-size: clamp(19px,1.6vw,24px); line-height: 1.3; margin-bottom: 24px; color: #fff; }
.contact-reference-panel a { color: #fff; overflow-wrap: anywhere; }
.contact-reference-panel a:hover { color: #e0b7a7; }
.contact-reference-methods { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.contact-reference-methods > div { display: grid; gap: 10px; align-content: start; }
.contact-reference-methods span,.contact-reference-office > span { color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.8; }
.contact-reference-methods a { font-size: 21px; }
.contact-reference-methods .contact-reference-hotline { font-size: 30px; line-height: 1; }
.contact-reference-office { display: grid; gap: 8px; margin-top: 24px; }
.contact-reference-office strong { display: flex; justify-content: space-between; font-size: 17px; font-weight: 500; }
.contact-reference-office strong span { color: #d49a82; }
.contact-reference-enquiry > h2 { font-size: clamp(28px,3vw,40px); line-height: 1.2; margin: 0 0 18px; }
.contact-reference-intro { color: var(--text-mute); font-size: 14px; line-height: 1.8; margin-bottom: 28px; max-width: 560px; }
.contact-reference-page .contact-reference-form { display: grid; grid-template-columns: 1fr; gap: 22px; max-width: none; width: 100%; margin: 0; padding: 0; background: transparent; box-shadow: none; }
.contact-reference-form .field { grid-column: 1; }
.contact-reference-form .field label { color: var(--navy); letter-spacing: .1em; font-size: 10px; margin-bottom: 10px; }
.contact-reference-form .field :is(input,select,textarea) { width: 100%; color: var(--navy); border: 1px solid #d4cfc9; background: #fff; border-radius: 0; padding: 17px 18px; font-size: 14px; min-height: 54px; }
.contact-reference-form .field select { appearance: auto; }
.contact-reference-form .field textarea { min-height: 150px; resize: vertical; }
.contact-reference-form .field :is(input,select,textarea):focus { border-color: var(--brand-terracotta); outline: 1px solid var(--brand-terracotta); outline-offset: 1px; }
.contact-reference-form .privacy-notice,.contact-reference-form .form-note { color: var(--text-mute); font-size: 11px; line-height: 1.8; }
.contact-reference-form .privacy-notice a { color: var(--navy); text-decoration: underline; }
.contact-reference-form .form-actions { justify-content: flex-start; }
.contact-reference-form .btn-solid { background: var(--navy); color: #fff; border-color: var(--navy); }
.contact-reference-form .btn-solid:hover { background: var(--brand-terracotta); border-color: var(--brand-terracotta); }
.contact-reference-form .form-success { color: var(--navy); }
.contact-reference-form .form-success h3 { color: var(--navy); }
@media(max-width:900px) { .contact-reference-layout { gap: 34px; } .contact-reference-methods { grid-template-columns: 1fr; } }
@media(max-width:680px) {
 .contact-reference-heading { padding-top: 116px; padding-bottom: 48px; }
 .contact-reference-layout { grid-template-columns: 1fr; padding-top: 38px; gap: 44px; }
 .contact-reference-methods { grid-template-columns: 1fr 1fr; }
 .contact-reference-enquiry { grid-row: 1; }
}
body:has(.contact-reference-page) > .nav { background: var(--navy); }
.contact-reference-form .dd-trigger { min-height: 54px; padding: 17px 18px; border: 1px solid #d4cfc9; background: #fff; color: var(--navy); }
.contact-reference-form .dd-label { color: var(--navy); }
.contact-reference-form .dd-chevron { stroke: var(--navy); }
.contact-reference-form .dd-menu { background: #fff; color: var(--navy); border: 1px solid #d4cfc9; }
.contact-reference-form .dd-option { color: var(--navy); }
.contact-reference-form .dd-option:hover,.contact-reference-form .dd-option.selected { background: var(--cream); color: var(--navy); }
