.page-header{background:linear-gradient(135deg,var(--rose-clair) 0%,var(--blanc) 60%);padding:clamp(2rem,5vw,3.5rem)clamp(1.5rem,5vw,4rem);text-align:center}.page-header-inner{max-width:700px;margin:0 auto}.page-header h1{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:400;line-height:1.2;margin-bottom:.75rem}.page-header-note{margin-top:1rem;font-size:.9rem;color:var(--texte-clair);font-style:italic;max-width:560px;margin-left:auto;margin-right:auto}.formulaire-section{padding:clamp(2rem,5vw,3rem)clamp(1.5rem,5vw,4rem)}.formulaire-inner{max-width:700px;margin:0 auto}.formulaire{background:var(--blanc);border:1px solid var(--gris-fin);border-radius:var(--rayon);padding:clamp(1.5rem,4vw,2.5rem)}.form-group-type{border:none;padding:0;margin:0 0 2rem}.form-group-type legend{font-size:1.1rem;font-weight:500;margin-bottom:1rem;color:var(--texte)}.type-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.type-option{cursor:pointer}.type-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.type-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem .75rem;background:var(--blanc);border:2px solid var(--gris-fin);border-radius:var(--rayon);transition:border-color .2s,box-shadow .2s,background .2s;height:100%}.type-option:hover .type-card{border-color:var(--rose)}.type-option input[type=radio]:checked+.type-card{border-color:var(--rose-sombre);background:var(--rose-clair);box-shadow:0 0 0 3px rgba(168,77,101,.15)}.type-option input[type=radio]:focus-visible+.type-card{box-shadow:0 0 0 3px rgba(168,77,101,.3)}.type-icone{font-size:2rem;margin-bottom:.5rem}.type-nom{font-size:1rem;font-weight:500;color:var(--texte);margin-bottom:.3rem}.type-desc{font-size:.8rem;color:var(--texte-clair);line-height:1.4}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--gris-fin)}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section-title{font-size:1.1rem;font-weight:400;margin-bottom:1.5rem;color:var(--texte)}.champs-dynamiques[hidden],.form-section-conditionnel[hidden]{display:none}.form-subsection{background:var(--rose-clair);border-radius:var(--rayon);padding:1.5rem;margin-top:1.5rem;margin-bottom:1rem}.form-subsection[hidden]{display:none}.form-subsection-title{font-size:1rem;font-weight:500;color:var(--rose-sombre);margin-top:0;margin-bottom:1.25rem}.form-subsection .form-group:last-child{margin-bottom:0}.form-group{margin-bottom:1.5rem}.form-group:last-child{margin-bottom:0}.form-group label,.form-group legend{display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem;color:var(--texte)}.form-group legend{padding:0}.form-group fieldset,fieldset.form-group{border:none;padding:0;margin:0}fieldset.form-group{margin-bottom:1.5rem}fieldset.form-group:last-child{margin-bottom:0}.required{color:var(--rose-sombre)}.form-group input[type=text],.form-group input[type=email],.form-group input[type=url],.form-group input[type=date],.form-group input[type=time],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--texte);background:var(--blanc);border:1px solid var(--gris-fin);border-radius:6px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--rose-sombre);box-shadow:0 0 0 3px rgba(168,77,101,.15)}.form-group input::placeholder,.form-group textarea::placeholder{color:#aaa}.form-group textarea{resize:vertical;min-height:120px}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b6b6b'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:24px;padding-right:2.5rem;cursor:pointer}.form-hint{display:block;margin-top:.4rem;font-size:.8rem;color:var(--texte-clair)}.form-row{display:flex;gap:1rem}.form-group-half{flex:1}.radio-group{display:flex;flex-wrap:wrap;gap:.5rem}.radio-group-vertical{flex-direction:column;gap:.5rem}.radio-label{cursor:pointer;font-weight:400}.radio-label input[type=radio]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio-label .radio-custom{display:none}.radio-label>span:not(.radio-custom){display:inline-block;padding:.5rem 1rem;font-size:.95rem;line-height:1.3;color:var(--texte);background:var(--blanc);border:1.5px solid var(--gris-fin);border-radius:999px;transition:border-color .2s,background .2s,color .2s;user-select:none}.radio-label:hover>span:not(.radio-custom){border-color:var(--rose)}.radio-label input[type=radio]:checked~span:not(.radio-custom),.radio-label input[type=radio]:checked+.radio-custom+span{background:var(--rose-clair);border-color:var(--rose-sombre);color:var(--rose-sombre);font-weight:500}.radio-label input[type=radio]:focus-visible~span:not(.radio-custom),.radio-label input[type=radio]:focus-visible+.radio-custom+span{outline:3px solid var(--rose-sombre);outline-offset:2px}.checkbox-group{display:flex;flex-wrap:wrap;gap:.5rem}.checkbox-label{cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-label .checkbox-custom{display:none}.checkbox-label .checkbox-text{display:inline-block;padding:.5rem 1rem;font-size:.95rem;line-height:1.3;color:var(--texte);background:var(--blanc);border:1.5px solid var(--gris-fin);border-radius:999px;transition:border-color .2s,background .2s,color .2s;user-select:none}.checkbox-label:hover .checkbox-text{border-color:var(--rose)}.checkbox-label input[type=checkbox]:checked~.checkbox-text,.checkbox-label input[type=checkbox]:checked+.checkbox-custom+.checkbox-text{background:var(--rose-clair);border-color:var(--rose-sombre);color:var(--rose-sombre);font-weight:500}.checkbox-label input[type=checkbox]:focus-visible~.checkbox-text,.checkbox-label input[type=checkbox]:focus-visible+.checkbox-custom+.checkbox-text{outline:3px solid var(--rose-sombre);outline-offset:2px}.legend-multi{font-weight:400;font-size:.85rem;color:var(--texte-clair);font-style:italic;margin-left:.5rem}.checkbox-label.checkbox-label-inline{display:flex;align-items:center;gap:.75rem}.checkbox-label.checkbox-label-inline .checkbox-custom{display:flex;width:20px;height:20px;min-width:20px;border:2px solid var(--gris-fin);border-radius:4px;align-items:center;justify-content:center;background:var(--blanc);transition:border-color .2s,background .2s}.checkbox-label.checkbox-label-inline .checkbox-custom::after{content:'✓';color:var(--blanc);font-size:.8rem;opacity:0;transition:opacity .2s}.checkbox-label.checkbox-label-inline .checkbox-text{display:inline;padding:0;border:none;border-radius:0;background:0 0;color:var(--texte);font-weight:400}.checkbox-label.checkbox-label-inline input[type=checkbox]:checked+.checkbox-custom{border-color:var(--rose-sombre);background:var(--rose-sombre)}.checkbox-label.checkbox-label-inline input[type=checkbox]:checked+.checkbox-custom::after{opacity:1}.checkbox-label.checkbox-label-inline input[type=checkbox]:checked+.checkbox-custom+.checkbox-text{background:0 0;border:none;color:var(--texte);font-weight:400}.checkbox-label.checkbox-label-inline input[type=checkbox]:focus-visible+.checkbox-custom{outline:3px solid var(--rose-sombre);outline-offset:2px}.checkbox-label.checkbox-label-inline input[type=checkbox]:focus-visible+.checkbox-custom+.checkbox-text{outline:none}.form-actions{margin-top:2rem}.form-actions .btn-principal{width:100%;padding:1rem;font-size:1rem}.form-note{margin-top:1.5rem;font-size:.85rem;color:var(--texte-clair);text-align:center;line-height:1.5}.form-note-email{margin-top:1rem;padding:.75rem 1rem;background:var(--rose-clair);border-left:3px solid var(--rose-sombre);border-radius:4px;font-size:.85rem;color:var(--texte-clair);text-align:left}@media(max-width:600px){.type-selector{grid-template-columns:1fr}.type-card{flex-direction:row;text-align:left;gap:1rem;padding:1rem}.type-icone{font-size:1.5rem;margin-bottom:0}.type-card>span:last-child{flex:1}.form-row{flex-direction:column;gap:0}.form-group-half{flex:none}}