.ecrire{display:grid;grid-template-columns:1fr;gap:34px 64px;align-items:start}
@media(min-width:900px){.ecrire{grid-template-columns:.8fr 1.2fr}}
.ecrire .promesse{font-family:var(--serif);font-size:clamp(22px,2.2vw,27px);line-height:1.25;margin-top:22px}
.ecrire .promesse em{color:var(--framboise)}
.ecrire .detail{font-size:var(--texte);color:var(--doux);margin-top:14px;max-width:40ch}
.formulaire{background:var(--blanc);border-radius:8px;box-shadow:0 18px 40px rgba(45,13,26,.10);padding:32px 30px}
@media(max-width:600px){.formulaire{padding:24px 18px}}
.formulaire label.champ{display:block;font-size:15.5px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--vert);margin:0 0 7px}
.formulaire input[type=text],.formulaire input[type=email],.formulaire input[type=tel],.formulaire textarea{width:100%;font:inherit;font-size:16px;color:var(--bourgogne);background:var(--ivoire);border:1.5px solid var(--taupe);border-radius:4px;padding:12px 14px;margin-bottom:18px}
.formulaire textarea{min-height:130px;resize:vertical}
.formulaire input:focus,.formulaire textarea:focus{outline:none;border-color:var(--framboise)}
.formulaire .deux{display:grid;grid-template-columns:1fr;gap:0 18px}
@media(min-width:620px){.formulaire .deux{grid-template-columns:1fr 1fr}}
.formulaire .consent{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.5;margin:4px 0 6px;cursor:pointer}
.formulaire .consent input{margin-top:3px;width:20px;height:20px;accent-color:var(--framboise);flex:none}
.formulaire .a-valider{font-size:12.5px;color:var(--doux);font-style:italic;margin-bottom:18px}
.formulaire .erreur{color:var(--framboise);font-size:14px;min-height:1.2em;margin-bottom:10px}
.formulaire .btn{min-width:0}
.formulaire .btn[disabled]{opacity:.45;cursor:not-allowed;filter:none;transform:none;box-shadow:none}
.formulaire .merci{text-align:left}
.formulaire .merci h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;margin-bottom:10px}
.formulaire .merci p{font-size:16px;line-height:1.55}
.formulaire .avis-envoi{background:var(--ivoire);border-left:3px solid var(--framboise);color:var(--bourgogne);font-size:14.5px;line-height:1.5;padding:12px 14px;margin:0 0 22px}
.formulaire .avis-envoi a,.formulaire .merci a{color:var(--framboise);font-weight:600}
.formulaire .adresse{font-weight:600;user-select:all;-webkit-user-select:all}
.formulaire .merci details{margin-top:14px;font-size:14.5px}
.formulaire .merci summary{cursor:pointer;color:var(--doux)}
.formulaire .merci textarea{min-height:160px;margin:8px 0 0;font-size:14px}
.ligne-consent{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.ligne-consent .consent{flex:1;margin:4px 0 0}
.info-i{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid var(--vert);background:transparent;color:var(--vert);font:italic 600 14px/1 Georgia,serif;cursor:pointer;margin-top:3px}
.info-i:hover,.info-i[aria-expanded="true"]{background:var(--framboise);border-color:var(--framboise);color:var(--ivoire)}
.info-i:focus-visible{outline:2px solid var(--framboise);outline-offset:2px}
.panneau-consent{font-size:13.5px;line-height:1.55;color:var(--doux);background:var(--ivoire);border-left:3px solid var(--framboise);padding:12px 14px;margin:0 0 16px}
.panneau-consent b{font-weight:600;color:var(--bourgogne)}
.panneau-consent a{color:var(--framboise)}
