/* Contact and appointment requests, WilderdijkDynamics */
.contact-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:9%;padding-top:64px;padding-bottom:88px;align-items:center}
.contact-intro h1{font-size:clamp(56px,7.8vw,108px);letter-spacing:-.065em;line-height:.98;margin:20px 0 28px;font-weight:750}
.contact-intro h1 em{color:#21852c;font-style:normal}
.contact-lead{max-width:580px;font-size:18px;line-height:1.75;color:#555d55}
.contact-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin:32px 0 42px}
.contact-text-link{display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:700;border-bottom:1px solid currentColor;padding:8px 0}
.contact-person{display:flex;align-items:center;gap:16px;border-top:1px solid #deded9;padding-top:25px;font-size:14px}
.contact-person p{margin:5px 0;color:#606660;font-size:13px}.contact-person a{font-size:13px;overflow-wrap:anywhere}
.contact-monogram{display:grid;place-items:center;width:54px;height:54px;flex-shrink:0;background:#e9f5ea;border-radius:50%;font-weight:800;color:#164b1d}
.contact-meeting{background:#101810;color:#fff;padding:44px 38px;position:relative;border-top:4px solid #2da339}
.contact-meeting .wd-label{color:#a6d5ab}.contact-meeting h2{font-size:clamp(32px,3.5vw,48px);line-height:1.08;letter-spacing:-.045em;margin:24px 0 32px}
.contact-meeting ol{padding-left:22px;margin:0 0 24px}.contact-meeting li{padding:12px 0 12px 8px;border-bottom:1px solid #354035;font-size:14px;line-height:1.5}.contact-meeting li::marker{color:#9ee2a6}
.contact-meeting>p:not(.wd-label){color:#bdc8bd;font-size:14px;line-height:1.7}.contact-meeting>a{color:#b9efbf;margin-top:10px}
.contact-page .contact-form-section{padding:80px 0;background:#f5f6f2;scroll-margin-top:145px}.contact-page .contact-form-layout{gap:7%;grid-template-columns:.8fr 1.2fr}
.contact-form-intro>p:not(.wd-label){font-size:16px;line-height:1.8;color:#555d55}.contact-form-intro h2{font-size:clamp(38px,4vw,56px)}
.contact-page .contact-form-card{background:#fff;color:#111;border:1px solid #deded9;padding:32px;border-radius:4px}
.contact-page .contact-form-card label{color:#343d34;font-size:13px;text-transform:none;letter-spacing:0;font-weight:650}
.contact-page .contact-form-card input,.contact-page .contact-form-card select,.contact-page .contact-form-card textarea{background:#fff;color:#111;border-color:#c7cdc5;border-radius:4px;min-height:48px;font-size:16px}
.contact-page .contact-form-card input:focus,.contact-page .contact-form-card select:focus,.contact-page .contact-form-card textarea:focus{outline:2px solid #21852c;outline-offset:2px;box-shadow:none}
.contact-intent{border:0;padding:0;margin:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-intent legend{font-size:18px;font-weight:750;margin-bottom:18px}
.contact-page .contact-intent label{display:flex;align-items:center;gap:10px;min-height:65px;padding:13px;background:#f6f7f3;border:1px solid #d8ddd5;border-radius:4px;cursor:pointer;line-height:1.4;margin:0}
.contact-page .contact-intent label:has(:checked){background:#e9f5ea;border-color:#21852c;color:#164b1d}.contact-page .contact-intent input{width:18px;height:18px;min-height:18px;flex-shrink:0;accent-color:#21852c}
.contact-required{font-size:12px;color:#616861;margin:16px 0 24px}.meeting-fields{padding:20px;margin:0 0 24px;background:#f4f8f1;border:1px solid #cbdcc5;border-radius:4px}.meeting-fields[hidden]{display:none}.meeting-fields legend{font-weight:750;padding:0 6px}.meeting-fields>p{font-size:13px;line-height:1.65;margin:0 0 20px;color:#485548}
.contact-page .contact-form-card .form-note{color:#596259;font-size:12px;line-height:1.7}.contact-page .contact-form-card .form-note a{color:#164b1d}.contact-page .form-status{font-size:14px;line-height:1.7}.contact-page .form-status.success{color:#176b25}.contact-page .form-status.error{color:#a12626}.contact-page .contact-submit{width:100%;min-height:52px;background:#21852c;color:white;cursor:pointer}.contact-submit:disabled{opacity:.65;cursor:wait}.contact-page a:focus-visible,.contact-page button:focus-visible{outline:3px solid #21852c;outline-offset:5px}
@media(max-width:900px){.contact-intro{gap:32px;grid-template-columns:1fr 1fr}.contact-meeting{padding:30px 24px}.contact-page .contact-form-layout{grid-template-columns:1fr;gap:36px}.contact-form-intro{max-width:620px}.contact-page .contact-form-intro h2 br{display:none}}
@media(max-width:640px){.contact-intro{grid-template-columns:1fr;padding-top:30px;padding-bottom:48px}.contact-intro h1{font-size:64px}.contact-lead{font-size:16px}.contact-actions{gap:18px;margin:25px 0 30px}.contact-actions .wd-button{width:100%;justify-content:center}.contact-meeting h2 br{display:none}.contact-meeting h2{font-size:32px;max-width:300px}.contact-page .contact-form-section{padding:46px 0}.contact-page .contact-form-card{padding:24px 18px}.contact-intent{grid-template-columns:1fr}.contact-page .contact-intent label{min-height:52px}.meeting-fields{padding:16px 12px}.contact-page .contact-form-card .two{grid-template-columns:1fr}.contact-person strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* Personal photography supplied by Bradley. */
.contact-person-photo{display:block;width:56px;height:56px;flex:0 0 56px;object-fit:cover;object-position:50% 27%;border-radius:50%}
.contact-photo-frame{overflow:hidden;margin:-44px -38px 30px;height:260px}
.contact-meeting-photo{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.contact-meeting:has(.contact-photo-frame) h2{font-size:clamp(28px,3vw,40px);margin:18px 0 24px}
@media(max-width:900px){.contact-photo-frame{margin:-30px -24px 25px;height:230px}}
@media(max-width:640px){.contact-photo-frame{height:280px}.contact-person-photo{width:50px;height:50px;flex-basis:50px}}
