/* Contact : présentation et formulaire */
main{background:#f5f8f7}
.contact-page{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:7%;align-items:start;padding-block:78px 98px}
.contact-kicker{font-size:12px;font-weight:800;letter-spacing:.16em;color:#146478;margin:0 0 20px}
.contact-intro h1{font-size:clamp(40px,4.2vw,60px);line-height:1.11;margin:0 0 25px}
.contact-intro>p:not(.contact-kicker){font-size:18px;line-height:1.72;color:#405761}
.contact-aside{border-top:1px solid #bdcdce;margin-top:54px;padding-top:25px}.contact-aside h2{font-size:28px;margin-bottom:13px}.contact-aside p{color:#405761}
.contact-panel{background:white;padding:36px 39px 42px;border:1px solid #d8e4e5;box-shadow:0 18px 42px #1227330b}
.contact-panel h2{font-size:34px;margin:0 0 5px}.form-intro{color:#526971;font-size:14px;margin:0 0 26px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.field{margin:0 0 22px}.field label,.choice-group legend{display:block;font-weight:700;font-size:15px;line-height:1.4;margin-bottom:8px}
.field input,.field select,.field textarea{display:block;width:100%;min-width:0;padding:12px 13px;border:1px solid #adbec3;border-radius:3px;background:#fff;color:#122733;font:inherit;font-size:16px;line-height:1.4}
.field input,.field select{min-height:49px}.field textarea{resize:vertical;min-height:112px}
.field input::placeholder,.field textarea::placeholder{color:#687f87;opacity:1}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid #9cd0da;outline-offset:1px;border-color:#146478}
.field small,.optional{font-weight:400;color:#59717a;font-size:13px}.field small{display:block;margin-top:7px}
.choice-group{padding:0;border:0;margin:3px 0 23px}.choice-group legend{margin:0 0 5px}.choice-group>p{font-size:14px;color:#526971;margin:0 0 12px}
.choice{display:flex;gap:11px;align-items:center;min-height:44px;padding:10px 13px;margin-bottom:9px;border:1px solid #cbdadc;border-radius:3px;cursor:pointer;font-size:15px}
.choice:has(input:checked){border-color:#146478;background:#f0f8f9}.choice input{width:18px;height:18px;accent-color:#146478;flex:none}
.contact-notice{font-size:13px;line-height:1.6;color:#526971;margin:0 0 22px}.contact-notice a{color:#126479}
.submit-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 22px;background:#126479;color:white;border:0;border-radius:4px;font:750 15px system-ui,sans-serif;cursor:pointer}.submit-button:hover{background:#0c4b5c}
.form-status{padding:13px 16px;margin:0 0 23px;border-left:4px solid #126479;background:#edf8f5;color:#143c42;font-size:15px}.form-status.error{border-color:#a24032;background:#fff2ed;color:#6f2c21}.form-status[hidden]{display:none}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:900px){.contact-page{grid-template-columns:1fr;gap:33px;padding-block:55px 70px}.contact-aside{margin-top:28px}.contact-panel{max-width:740px;width:100%}}
@media(max-width:580px){.contact-page{padding-block:39px 54px}.contact-panel{padding:25px 20px 29px}.form-row{grid-template-columns:1fr;gap:0}.contact-intro h1{font-size:40px}.contact-panel h2{font-size:30px}.submit-button{width:100%}}
