.enquiry-main { padding-block: 64px 100px; }
.about-page .enquiry-main { padding-top:calc(var(--about-header-height, var(--section-header-height)) + 48px); }
.enquiry-layout { display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:clamp(40px,7vw,110px); align-items:start; }
.enquiry-layout > * { min-width:0; }
.enquiry-intro h1 { font-size:clamp(36px,4.2vw,62px); line-height:1.2; }
.enquiry-intro > p:not(.eyebrow) { color:#5f615a; max-width:440px; margin-block:28px; }
.enquiry-intro > p:not(.eyebrow):not(.enquiry-portal) { font-size:17px; }
.enquiry-photo { width:100%; max-width:440px; aspect-ratio:1.6; object-fit:cover; margin-top:36px; }
.enquiry-portal { display:block; margin-top:28px; font-size:16px; }
.enquiry-portal a { border-bottom:1px solid currentColor; }
.enquiry-panel { background:var(--white); padding:clamp(24px,3vw,44px); border:1px solid var(--line); }
.enquiry-progress { display:flex; list-style:none; padding:0; margin:0 0 36px; gap:16px; }
.enquiry-progress li { flex:1; border-top:2px solid var(--line); padding-top:12px; color:#73756c; font-size:11px; letter-spacing:.07em; }
.enquiry-progress li[aria-current="step"] { border-color:var(--bronze); color:var(--ink); font-weight:600; }
.enquiry-progress li.is-complete { border-color:var(--forest); }
.enquiry-step { border:0; padding:0; margin:0; min-width:0; }
.enquiry-step legend { font:400 clamp(25px,2.5vw,34px)/1.35 var(--serif); margin-bottom:12px; }
.enquiry-step legend { scroll-margin-top:calc(var(--about-header-height, var(--section-header-height)) + 24px); }
.enquiry-help { margin:0 0 26px; color:#62645e; font-size:14px; }
.enquiry-options { display:grid; gap:12px; }
.enquiry-option { position:relative; cursor:pointer; display:flex; align-items:flex-start; gap:14px; border:1px solid var(--line); padding:18px; }
.enquiry-option:hover { border-color:var(--bronze); }
.enquiry-option:has(input:checked) { border-color:var(--forest); background:#f4f1ea; }
.enquiry-option:has(input:focus-visible) { outline:2px solid var(--bronze); outline-offset:3px; }
.enquiry-option input { margin-top:5px; accent-color:var(--forest); width:17px; height:17px; flex-shrink:0; }
.enquiry-option strong { display:block; font-size:15px; font-weight:500; }
.enquiry-option small { display:block; font-size:13px; color:#62645e; margin-top:3px; }
.enquiry-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px 20px; }
.enquiry-fields label { display:flex; flex-direction:column; gap:8px; min-width:0; font-size:14px; }
.enquiry-fields input, .enquiry-fields select, .enquiry-fields textarea { min-width:0; width:100%; border:1px solid #b8b8ae; border-radius:0; padding:12px; background:transparent; color:var(--ink); }
.enquiry-fields input, .enquiry-fields select { height:50px; }
.enquiry-fields .enquiry-contact-method select { width:min(100%,250px); margin-top:auto; appearance:none; padding-right:40px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23171915' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:12px 8px; }
.enquiry-contact-fields > label { min-width:0; }
.enquiry-contact-method-title { padding-left:13px; }
@media(min-width:601px) { .enquiry-contact-fields { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); } }
@media(forced-colors:active) { .enquiry-fields .enquiry-contact-method select { appearance:auto; background-image:none; } }
.enquiry-fields input:focus, .enquiry-fields select:focus, .enquiry-fields textarea:focus { outline:2px solid var(--bronze); outline-offset:2px; }
.enquiry-fields textarea { min-height:120px; resize:vertical; }
.enquiry-fields .optional { color:#73756c; font-size:14px; }
.enquiry-actions { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:32px; }
.enquiry-back { border:0; background:transparent; padding:12px 0; min-height:44px; flex-shrink:0; white-space:nowrap; cursor:pointer; font-size:13px; }
.enquiry-actions .button { min-width:180px; margin-left:auto; cursor:pointer; }
.enquiry-actions button:disabled { opacity:.55; cursor:wait; }
.enquiry-status { margin:20px 0 0; font-size:14px; color:#9a352a; }
.enquiry-status:empty { display:none; }
.enquiry-privacy { margin-top:24px; font-size:13px; color:#62645e; }
.enquiry-privacy summary { cursor:pointer; font-size:13px; text-decoration:underline; text-underline-offset:3px; }
.enquiry-summary { padding:16px; background:var(--paper); margin-bottom:24px; font-size:13px; }
.enquiry-summary p { margin:0; }
.enquiry-success h2 { font-size:clamp(28px,3vw,40px); }
.enquiry-reference { display:inline-block; padding:14px 20px; border:1px solid var(--line); margin:12px 0 24px; letter-spacing:.08em; }
.enquiry-success .text-link { margin-top:20px; }
.enquiry-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-start { align-self:start; padding:30px 0; border-top:2px solid #333333; }
@media (min-width:981px) {
  .contact-start { margin-top:calc((12px * 1.6 - 2px) / 2); }
}
.contact-request-heading { margin:0 0 20px; font-size:16px; font-weight:600; letter-spacing:.12em; }
.contact-start .contact-interest-label { display:block; margin:0 0 26px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.contact-start select { width:100%; background:transparent; border:0; border-bottom:2px solid #777b70; padding:12px 0; margin-bottom:26px; }
.service-picker { position:relative; margin-bottom:26px; }
.service-picker-trigger { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:12px 0; border:0; border-bottom:2px solid #777b70; background:transparent; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.service-picker-trigger::after { content:''; width:7px; height:7px; margin-right:5px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); flex-shrink:0; }
.service-picker-trigger:focus-visible { outline:2px solid var(--bronze); outline-offset:4px; }
.service-picker-options { position:absolute; z-index:10; top:100%; left:0; width:100%; max-height:280px; overflow-y:auto; margin:0; padding:6px 0; list-style:none; border:0; outline:0; background:#fff; color:var(--ink); box-shadow:0 10px 24px rgba(23,25,21,.12); }
.service-picker-options li { padding:10px 14px; cursor:pointer; }
.service-picker-options li.is-active, .service-picker-options li:hover { background:#333333; color:#fff; }
.contact-start .enquiry-portal { margin-top:24px; font-size:16px; }
.contact-start .enquiry-portal a { display:inline-flex; align-items:center; gap:6px; }
.contact-start .enquiry-portal a span { display:inline-block; transition:transform .2s; }
.contact-start .enquiry-portal a:hover span, .contact-start .enquiry-portal a:focus-visible span { transform:translateX(5px); }
@media(prefers-reduced-motion:reduce) { .contact-start .enquiry-portal a span { transition:none; transform:none; } }
.contact-start .button, #enquiry-next { width:170px; min-width:0; height:50px; min-height:50px; padding:0 20px; font-size:13px; border-width:1px; }
#enquiry-next { width:175px; font-size:13px; }
.enquiry-start-note { font-size:14px; color:#62645e; margin-top:16px; }
[hidden] { display:none!important; }
@media(max-width:980px) { .enquiry-layout { grid-template-columns:1fr; gap:32px; }.enquiry-intro h1 { max-width:650px; }.enquiry-intro > p:not(.eyebrow) { max-width:600px; }.enquiry-photo { display:none; }.enquiry-main { padding-block:40px 64px; }.about-page .enquiry-main { padding-top:calc(var(--about-header-height, var(--section-header-height)) + 32px); } }
@media(max-width:600px) { .enquiry-fields { grid-template-columns:1fr; }.enquiry-panel { padding:24px 20px; }.enquiry-layout { width:calc(100% - 32px); }.enquiry-progress { gap:10px; }.enquiry-progress li { font-size:10px; }.enquiry-actions .button { min-width:155px; }.enquiry-option { padding:14px; } }
@media(max-width:600px) {
  .enquiry-fields { grid-template-columns:minmax(0,1fr); }
  .enquiry-fields input, .enquiry-fields select, .enquiry-fields textarea { font-size:16px; }
  .enquiry-actions { gap:12px; }
  .enquiry-progress li { min-width:0; overflow-wrap:anywhere; }
  .enquiry-privacy summary { min-height:44px; padding-block:12px; }
}
