/* Contact starts with the form, with qualification fields available on demand. */
.contact-main{padding:24px 5vw 64px}.contact-opening{max-width:1280px;margin:auto;display:grid;grid-template-columns:1fr 1.05fr;column-gap:7%;row-gap:26px;align-items:start}.contact-heading{grid-column:1;grid-row:1}.contact-heading .eyebrow{font-size:12px;letter-spacing:.1em}.contact-heading h1{font-size:clamp(48px,5.5vw,80px);line-height:1.02;margin:14px 0 18px}.contact-heading h1 em{box-shadow:inset 0 -.13em #e8ff59}.contact-intro{font-size:18px;line-height:1.5}.contact-direct{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:18px;font-size:16px}.contact-direct a,.contact-details a{text-decoration:underline;text-underline-offset:4px}.contact-form-card{grid-column:2;grid-row:1/3;border:1px solid #20221d;background:#f8f7ee;padding:24px;box-shadow:7px 7px 0 #e8ff59}.contact-form-heading{margin-bottom:18px}.contact-form-heading h2{font-size:32px;line-height:1.1}.contact-form-heading p{font-size:15px;margin-top:6px}.contact-form-card form{display:grid;gap:14px}.contact-form-card label{display:grid;gap:6px;font-size:16px;line-height:1.3}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{width:100%;padding:10px 12px;background:#fffef8;color:#20221d;border:1px solid #696e61;border-radius:0;font:16px/1.4 Body,Arial,sans-serif;min-height:44px}.contact-form-card textarea{min-height:98px;resize:vertical}.contact-form-card textarea::placeholder{color:#64695d}.contact-extra{border-block:1px solid #20221d30}.contact-extra summary{cursor:pointer;padding:10px 0;font-size:14px;min-height:44px}.contact-extra summary span{color:#535e45}.contact-extra-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:4px 0 16px}.contact-extra-fields label:last-child{grid-column:1/-1}.contact-privacy{font-size:13px;line-height:1.45;color:#41463b}.contact-privacy a{text-decoration:underline}.contact-form-card .button{font-size:16px;width:100%;justify-content:center;min-height:48px;padding:12px 16px;text-align:center}.contact-form-card #diagnostic-status:empty{display:none}.contact-form-card #diagnostic-status{font-size:14px;line-height:1.5}.contact-details{grid-column:1;grid-row:2;display:grid;gap:16px}.contact-details h2{font-size:28px}.contact-details p{font-size:15px;line-height:1.6}.contact-details .contact-address{font-size:14px;color:#535e45}.contact-extra summary:focus-visible{outline:3px solid #718b00;outline-offset:3px}
@media(max-width:760px){.contact-main{padding:12px 5vw 40px}.contact-opening{display:flex;flex-direction:column;gap:18px}.contact-heading,.contact-form-card,.contact-details{width:100%;min-width:0}.contact-heading h1{font-size:40px;margin:8px 0}.contact-heading h1 br{display:none}.contact-heading h1 em{font-size:.78em}.contact-heading .eyebrow{font-size:11px}.contact-intro{font-size:15px}.contact-intro br{display:none}.contact-direct{font-size:14px;gap:6px 18px;margin-top:8px}.contact-form-card{padding:16px;box-shadow:4px 4px 0 #e8ff59}.contact-form-heading{margin-bottom:12px}.contact-form-heading h2{font-size:26px}.contact-form-heading p{font-size:14px;margin-top:4px}.contact-form-card form{gap:10px}.contact-form-card textarea{min-height:84px}.contact-form-card .contact-privacy{font-size:12px;line-height:1.4}.contact-details{padding-top:16px}.contact-extra-fields{grid-template-columns:1fr}.contact-extra-fields label:last-child{grid-column:auto}}
@media(max-width:360px){.contact-heading h1{font-size:35px}.contact-direct{font-size:13px}}

/* Keep consent available without covering the contact fields. */
.contact-view .privacy-panel{position:relative;inset:auto;width:auto;max-width:520px;margin:24px 5vw 24px auto}
@media(max-width:760px){.contact-heading .eyebrow{display:none}.contact-heading h1{font-size:32px;margin:0 0 6px;line-height:1.15}.contact-heading h1 em{margin-left:.15em}.contact-heading .contact-intro{font-size:14px;line-height:1.35}.contact-opening{gap:14px}.contact-form-card{padding:14px}.contact-form-heading{margin-bottom:10px}.contact-form-card form{gap:8px}.contact-form-card textarea{height:84px;min-height:84px}.contact-form-card label{font-size:15px}.contact-view .privacy-panel{margin:20px 5vw}}

/* Framed contact composition, using the original homepage characters. */
.contact-main{position:relative;isolation:isolate;overflow:hidden;padding-top:30px;padding-bottom:72px}.contact-figures{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.contact-figures img{position:absolute;width:120%;max-width:none;height:100%;object-fit:contain;left:-10%;top:0;opacity:.28;animation:contact-float 12s ease-in-out infinite alternate}.contact-opening{gap:22px 5%;max-width:1180px;grid-template-columns:1fr 1.05fr}.contact-heading{padding:28px;background:#f2f0e8f5;border:1px solid #20221d}.contact-heading h1{font-size:clamp(48px,5vw,70px);margin:18px 0}.contact-intro{font-size:16px}.contact-direct{border-top:1px solid #20221d35;padding-top:16px}.contact-details{gap:0;background:#f2f0e8fa;border:1px solid #20221d}.contact-person,.contact-company{padding:20px 28px}.contact-person{border-bottom:1px solid #20221d35}.contact-details .eyebrow{font-size:10px;letter-spacing:.12em}.contact-details h2{font-size:30px;margin:8px 0 4px}.contact-details a{display:inline-block;font-size:15px;margin-top:8px}.contact-details .contact-small{font-size:12px;margin-top:6px}.contact-form-card{background:#f8f7ee;padding:28px;border-top:5px solid #20221d;box-shadow:8px 8px 0 #e8ff59}.contact-form-heading{padding-bottom:20px;border-bottom:1px solid #20221d35;margin-bottom:20px}.contact-form-heading h2{font-size:36px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}.contact-message-label{padding-bottom:14px}.contact-form-card input:focus,.contact-form-card textarea:focus{outline:2px solid #20221d;outline-offset:2px}.contact-form-card .button{background:#e8ff59;color:#20221d;border:1px solid #20221d;font-weight:600}.contact-form-card .button:hover{background:#20221d;color:#e8ff59}
@keyframes contact-float{from{transform:translateY(-12px) rotate(-2deg)}to{transform:translateY(16px) rotate(2deg)}}
.reduced-motion .contact-figures img{animation:none}@media(prefers-reduced-motion:reduce){.contact-figures img{animation:none}}
@media(max-width:760px){.contact-main{padding:14px 5vw 36px}.contact-opening{gap:14px}.contact-heading{padding:14px 16px}.contact-heading h1{font-size:30px;margin:0 0 6px}.contact-intro{font-size:14px}.contact-direct{padding-top:8px;margin-top:8px;font-size:13px;gap:6px 16px}.contact-form-card{padding:16px;border-top-width:3px;box-shadow:4px 4px 0 #e8ff59}.contact-form-heading{margin-bottom:14px;padding-bottom:12px}.contact-form-heading h2{font-size:28px}.contact-form-heading p{font-size:13px}.contact-fields{gap:12px}.contact-form-card label{font-size:14px}.contact-form-card input{min-width:0;min-height:44px}.contact-form-card form{gap:10px}.contact-details{padding:0}.contact-person,.contact-company{padding:18px}.contact-figures img{width:200%;left:-50%;height:90%;opacity:.22}.contact-extra summary{font-size:13px}.contact-form-card .contact-privacy{font-size:11px;line-height:1.4}.contact-form-card .button{font-size:14px}}

.contact-figures canvas{display:block;width:100%;height:100%}.contact-person>a{display:block;width:fit-content}.contact-heading h1 em{font-size:.64em}.contact-heading{background:#f2f0e8f7}.contact-details{background:#f2f0e8fc}@media(max-width:760px){.contact-heading h1{font-size:28px;line-height:1.1}.contact-heading h1 em{font-size:.7em;margin-left:.1em}.contact-heading h1 br{display:block}.contact-heading{padding:12px 16px}.contact-form-heading p{font-size:12px}.contact-main{padding-top:10px}}

@media(max-width:760px){.contact-heading{padding:10px 16px}.contact-form-heading{padding-bottom:8px;margin-bottom:10px}.contact-form-card{padding:12px 16px}.contact-opening{gap:10px}}
