.contact-paths { min-width: 0; padding-top: .25rem; }
.contact-paths > h3 { font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.15; margin: 0 0 1.7rem; }
#quotation-panel { margin-top: 2rem; }
.contact-path-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-path-buttons button:last-child:nth-child(3) { grid-column: 1 / -1; }
#visit-panel[hidden] { display: none !important; }
.visit-form .field-row { margin-bottom: 1rem; }
.visit-form .message-field { display: block; margin-bottom: 1rem; }
.visit-form .form-note { margin: 1rem 0 1.5rem; }
.contact-details p { font-size: .9rem; line-height: 1.5; margin-top: .75rem; max-width: 42ch; }
.contact-path-buttons[hidden], #quotation-panel[hidden], #consultation-panel[hidden], [data-booking-link][hidden], [data-booking-unavailable][hidden], [data-booking-note][hidden] { display: none !important; }
.contact-path-buttons button { position: relative; text-align: left; border: 1px solid #a89d8e; padding: 1.5rem 3.5rem 1.5rem 1.5rem; background: transparent; color: var(--ink); cursor: pointer; font: inherit; }
.contact-path-buttons button[aria-expanded="true"] { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.contact-path-buttons button[aria-expanded="true"] span:not(.contact-path-arrow) { color: var(--cream); }
.contact-path-buttons strong { display: block; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.35; }
.contact-path-buttons span:not(.contact-path-arrow) { display: block; margin-top: .65rem; color: #514c45; font-size: .9rem; }
.contact-path-arrow { position: absolute; top: 1.4rem; right: 1.5rem; font-size: 1.35rem; }
.contact-path-buttons button:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.consultation-panel { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.consultation-panel h3 { font-size: clamp(1.7rem, 2.4vw, 2.4rem); line-height: 1.2; }
.consultation-panel p { margin: 0 0 1.2rem; max-width: 52ch; }
.consultation-panel h3 + p { margin-top: 1.4rem; }
.consultation-booking { border-top: 1px solid var(--line); padding-top: 1.5rem; }
.consultation-booking .button { margin: .4rem 0 1rem; }
.consultation-booking button:disabled { opacity: .55; cursor: not-allowed; }
.consultation-preview-note { font-size: .8rem; color: #6a5240; }
@media (max-width: 760px) {
 .contact-path-buttons, .consultation-panel { grid-template-columns: 1fr; }
 .contact-path-buttons button { padding: 1.25rem 3rem 1.25rem 1.25rem; }
 .consultation-panel { gap: 1.5rem; }
 .consultation-booking { border-left: 0; border-top: 1px solid var(--line); padding: 1.5rem 0 0; }
}
