.contact-section{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:100px}.contact-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,6vw,100px);align-items:start}.contact-intro{padding-top:16px}.contact-intro h2{max-width:12ch;margin-bottom:24px}.contact-intro>p:not(.eyebrow){max-width:42ch}.contact-address{margin-top:30px;display:grid;gap:6px}.contact-address>span{font-size:14px;color:var(--muted)}.contact-address>a{font-size:clamp(16px,1.6vw,20px);font-weight:650;color:var(--ink);text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}.contact-card{min-width:0;padding:clamp(22px,3vw,38px);border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 38px #3b231708}.contact-required{font-size:13px;color:var(--muted);margin:0 0 22px}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}.contact-fields label{display:block;font-size:14px;font-weight:650;color:var(--ink);min-width:0}.contact-fields label>span{font-size:12px;font-weight:400;color:var(--muted)}.contact-fields input,.contact-fields textarea{display:block;width:100%;min-width:0;border:1px solid #c9b9ab;border-radius:7px;background:#fff;padding:12px 14px;margin-top:9px;color:var(--ink);font:inherit;font-size:16px;font-weight:400;line-height:1.5}.contact-fields input{min-height:48px}.contact-fields textarea{resize:vertical;min-height:140px}.contact-fields input:focus-visible,.contact-fields textarea:focus-visible{outline:2px solid var(--orange);outline-offset:2px}.contact-fields textarea::placeholder{color:#8b7768;opacity:1}.contact-wide{grid-column:1/-1}.contact-trap{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}.contact-estimate{display:flex;align-items:start;gap:11px;margin-top:22px;font-size:14px;font-weight:550;cursor:pointer}.contact-estimate input{flex-shrink:0;margin-top:4px;width:17px;height:17px;accent-color:var(--orange)}.contact-estimate small{display:block;font-size:12px;color:var(--muted);font-weight:400;line-height:1.6;margin-top:5px}.contact-privacy,.contact-spam{font-size:12px;line-height:1.7;color:var(--muted);margin-top:20px}.contact-privacy a{color:var(--ink);text-underline-offset:3px}.contact-spam{margin:9px 0 20px}.contact-status{font-size:14px;line-height:1.65;margin:14px 0 0}.contact-status:empty{display:none}.contact-status[data-kind=success]{padding:14px 16px;background:#edf6ef;border:1px solid #a5c6ae;border-radius:7px;color:#275934}.contact-status[data-kind=error]{padding:14px 16px;background:#fff5ef;border:1px solid #e7b89c;border-radius:7px;color:#81360b}#contact-security{margin-top:20px;max-width:100%;min-height:1px}.contact-card .button{min-height:52px}.contact-card .button:disabled{opacity:.65;cursor:wait}@media(max-width:850px){.contact-layout{grid-template-columns:1fr;gap:30px}.contact-intro h2{max-width:20ch}.contact-intro{padding-top:0}.contact-intro>p:not(.eyebrow){max-width:65ch}.contact-address{margin-top:22px}}@media(max-width:500px){.contact-fields{grid-template-columns:1fr;gap:18px}.contact-card{padding:22px 18px;border-radius:12px}.contact-layout{gap:26px}.contact-intro h2{font-size:34px}.contact-address>a{font-size:17px}}
.contact-invitation{padding:34px;border:1px solid var(--line);border-radius:16px;background:#fff}.contact-invitation .contact-address:first-child{margin-top:0}.contact-invitation .button{margin-top:30px}.contact-dialog{width:min(700px,calc(100vw - 28px));max-width:700px;max-height:92dvh;padding:clamp(22px,4vw,34px);overflow-y:auto;border-radius:16px}.contact-dialog h2{font-size:clamp(26px,4vw,36px);line-height:1.2;margin-bottom:12px}.contact-dialog-intro{font-size:15px;line-height:1.7;margin-bottom:24px}.contact-dialog .contact-card{padding:0;border:0;border-radius:0;box-shadow:none}.contact-dialog .contact-estimate{flex-direction:row;align-items:flex-start}.contact-estimate-box{padding:18px 20px;margin-top:16px;border:1px solid var(--line);border-radius:9px;background:var(--soft)}.contact-estimate-box h3{font-size:15px;margin-bottom:10px}.contact-estimate-box #enquiry-summary{font-size:14px;line-height:1.8}.contact-download{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:12px}.contact-download .text-button{font-size:13px;min-height:36px}.contact-download [role=status]{font-size:12px;line-height:1.5}.contact-dialog .contact-required{margin:18px 0 0}@media(max-width:500px){.contact-invitation{padding:24px}.contact-dialog{padding:20px 17px}.contact-estimate-box{padding:16px}.contact-dialog .dialog-heading{margin-bottom:18px}}
