/* Contact page presentation; form IDs, names, action and behavior remain in contact.js. */
.contact-page .contact-main{padding:20px 0 72px;background:#fff;color:#262323}
.contact-page .contact-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.52fr);align-items:center;gap:10px 40px;padding-top:40px;padding-bottom:24px}
.contact-page .contact-intro .sp-kicker,.contact-page .contact-intro h1,.contact-page .contact-intro>p:not(.sp-kicker),.contact-page .contact-phone{grid-column:1}
.contact-page .contact-intro .sp-kicker{margin:0;color:#26734d;font-size:15px;font-weight:700}
.contact-page .contact-intro h1{margin:0;color:#262323;font-size:clamp(30px,4vw,42px);line-height:1.4}
.contact-page .contact-intro>p:not(.sp-kicker){margin:0;color:#262323;font-size:18px}
.contact-page .contact-intro-illustration{grid-column:2;grid-row:1/5;display:block;width:100%;max-width:320px;height:auto;max-height:250px;margin-inline:auto;object-fit:contain;border-radius:14px}
.contact-page .contact-phone{display:grid;gap:4px;margin:12px 0 0;padding:14px 18px;border:1px solid #d8ece0;border-left:4px solid #26734d;border-radius:10px;background:#f0faf5}
.contact-page .contact-phone strong{color:#262323}
.contact-page .contact-phone a{width:max-content;color:#262323;font-size:clamp(22px,3vw,30px);font-weight:700;text-decoration:none;white-space:nowrap}
.contact-page .contact-phone span{color:#444;font-size:15px}
.contact-page .contact-form-section{width:min(800px,calc(100% - 48px));margin:24px auto 0;padding:32px clamp(18px,4vw,42px);border:1px solid #d8ece0;border-radius:18px;background:#fff;box-shadow:0 8px 24px #1b33200b}
.contact-page .contact-form-section h2{margin:0 0 18px;color:#262323;font-size:26px;line-height:1.5}
.contact-page #input-fields{min-width:0;margin:0;padding:0;border:0}
.contact-page .field{display:grid;gap:8px;min-width:0;margin:20px 0}
.contact-page .field label,.contact-page .field legend{color:#262323;font-size:17px;font-weight:700;line-height:1.6}
.contact-page .field input[type=text],.contact-page .field input[type=email],.contact-page .field input[type=tel],.contact-page .field select,.contact-page .field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #8e9a91;border-radius:8px;background:#fff;color:#262323;font:inherit;font-size:17px;line-height:1.5}
.contact-page .field textarea{min-height:150px;resize:vertical}
.contact-page .field input:focus-visible,.contact-page .field select:focus-visible,.contact-page .field textarea:focus-visible{outline:3px solid #26734d;outline-offset:2px}
.contact-page .field small{color:#444;font-size:16px;line-height:1.7}
.contact-page .required,.contact-page .optional{display:inline-block;padding:2px 8px;border-radius:999px;font-size:13px;font-weight:700;vertical-align:middle}
.contact-page .required{background:#fff0e5;color:#8c3900}
.contact-page .optional{background:#f0faf5;color:#26734d}
.contact-page .field .choice{display:inline-flex;align-items:center;gap:8px;margin:2px 18px 2px 0;color:#262323;font-weight:500}
.contact-page .choice input,.contact-page .consent input{width:20px;height:20px;accent-color:#26734d}
.contact-page .consent label{display:flex;align-items:flex-start;gap:10px}
.contact-page .consent a{color:#262323;text-underline-offset:3px}
.contact-page .honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-page .turnstile{min-height:1px;margin:12px 0}
.contact-page .form-status,.contact-page .form-warning{margin:12px 0;padding:14px 16px;border-left:4px solid #c65300;border-radius:6px;background:#fff9e7;color:#262323}
.contact-page .form-status:empty{display:none}
.contact-page .form-submit{width:auto;min-width:min(100%,250px);margin-top:8px;cursor:pointer}
.contact-page .form-submit:disabled,.contact-page #review-submit:disabled{opacity:.55;cursor:not-allowed}
.contact-page .review-panel{margin-top:24px;padding:22px;border:1px solid #d8ece0;border-radius:14px;background:#f0faf5}
.contact-page .review-panel[hidden]{display:none}
.contact-page .review-panel h2{margin:0 0 14px}
.contact-page .review-panel dl{display:grid;grid-template-columns:minmax(150px,32%) minmax(0,1fr);margin:0;border-top:1px solid #d8e1db}
.contact-page .review-panel dt,.contact-page .review-panel dd{min-width:0;margin:0;padding:10px 8px;border-bottom:1px solid #d8e1db;overflow-wrap:anywhere}
.contact-page .review-panel dt{font-weight:700}
.contact-page .review-note{color:#262323}
.contact-page .review-panel button{min-height:48px;margin:8px 8px 0 0;padding:10px 16px;border:1px solid #64746a;border-radius:8px;background:#fff;color:#262323;font:inherit;font-weight:700;cursor:pointer}
.contact-page .review-panel #review-submit{border-color:#c65300;background:#c65300;color:#fff}
.contact-page .review-panel button:focus-visible{outline:3px solid #26734d;outline-offset:3px}
@media(max-width:700px){.contact-page .contact-intro{grid-template-columns:1fr;gap:10px;padding-top:20px}.contact-page .contact-intro-illustration{grid-column:1;grid-row:auto;width:min(100%,240px);max-height:190px}.contact-page .contact-phone{margin-top:8px}.contact-page .contact-form-section{width:calc(100% - 36px);margin-top:12px;padding:24px 18px}.contact-page .contact-form-section h2{font-size:23px}}
@media(max-width:340px){.contact-page .contact-intro{width:calc(100% - 28px)}.contact-page .contact-form-section{width:calc(100% - 28px);padding:20px 14px}.contact-page .review-panel dl{display:block}.contact-page .review-panel dt{padding-bottom:2px;border-bottom:0}.contact-page .review-panel dd{padding-top:2px}}
