#contact-form{color:var(--color-text-primary);font-family:var(--font-family-body);background:linear-gradient(180deg,rgba(21,25,35,0.92) 0%,rgba(13,15,20,0.96) 100%);padding:clamp(2rem,5vw,5rem) 0}.contact-form-container{--_radius:clamp(12px,2vw,18px);--_gap:clamp(14px,2.2vw,28px);--_field-pad:clamp(12px,2vw,18px);--_border:1px;max-width:1600px;margin:0 auto;background-color:var(--color-paper);border:var(--_border) solid rgba(231,236,245,0.08);border-radius:var(--_radius);box-shadow:0 10px 30px rgba(0,0,0,0.35),0 0 0 1px rgba(231,236,245,0.02) inset;padding:clamp(1.25rem,3.8vw,3rem);position:relative;overflow:clip}.contact-form-header{display:grid;gap:var(--_gap);margin-bottom:clamp(1rem,3vw,2rem)}.contact-form-meter{height:clamp(4px,0.6vw,8px);background:rgba(43,93,247,0.15);border-radius:clamp(6px,1vw,10px);position:relative;overflow:hidden}.contact-form-meter-bar{display:block;height:100%;width:42%;background:linear-gradient(90deg,var(--color-secondary),var(--color-primary),var(--color-accent));filter:saturate(120%);border-radius:inherit;transform-origin:left;animation:cf-meter 2.8s ease-in-out infinite}@keyframes cf-meter{0%{transform:scaleX(0.25);opacity:0.85}50%{transform:scaleX(0.85);opacity:1}100%{transform:scaleX(0.4);opacity:0.9}}#contact-form-title{font-family:var(--font-family-heading);font-size:var(--font-size-h2);line-height:var(--line-height-heading);letter-spacing:0.2px;color:var(--color-text-primary);margin:0}.contact-form-intro{margin:0;color:var(--color-text-secondary);font-size:clamp(0.95rem,1.2vw,1.05rem);line-height:var(--line-height-body)}.contact-form-grid{display:grid;gap:calc(var(--_gap) * 1.2)}.contact-form-legend{font-family:var(--font-family-heading);font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--color-text-primary);line-height:var(--line-height-heading);margin-bottom:clamp(0.5rem,1.2vw,0.75rem)}.contact-form-fieldset{margin:0;padding:0;border:none}.contact-form-row{display:grid;gap:var(--_gap)}.contact-form-field{display:grid;gap:clamp(6px,1vw,10px)}.contact-form-field label{font-size:clamp(0.9rem,1.2vw,1rem);color:var(--color-text-secondary)}.contact-form-field input,.contact-form-field textarea{background-color:rgba(21,25,35,0.85);color:var(--color-text-primary);border:1px solid rgba(231,236,245,0.12);border-radius:clamp(10px,1.8vw,14px);padding:clamp(0.9rem,1.6vw,1.1rem) clamp(0.9rem,2vw,1.25rem);outline:none;font-size:clamp(0.98rem,1.2vw,1.05rem);line-height:1.4;transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease,transform 180ms ease;-webkit-box-sizing:border-box;box-sizing:border-box}.contact-form-field textarea{min-height:clamp(160px,26vw,260px);resize:vertical}.contact-form-field input::placeholder,.contact-form-field textarea::placeholder{color:var(--color-text-disabled)}.contact-form-field input:hover,.contact-form-field textarea:hover{background-color:rgba(21,25,35,0.92);border-color:rgba(231,236,245,0.22)}.contact-form-field input:focus,.contact-form-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(43,93,247,0.25),0 8px 26px rgba(43,93,247,0.12)}.contact-form-field input:invalid[required],.contact-form-field textarea:invalid[required]{border-color:rgba(227,71,75,0.8);box-shadow:0 0 0 2px rgba(227,71,75,0.2) inset}.contact-form-helper{margin:0;color:var(--color-text-disabled);font-size:var(--font-size-small)}.form-feedback{min-height:clamp(20px,3vw,28px);color:var(--color-text-secondary);font-size:clamp(0.9rem,1.1vw,1rem)}.contact-form-actions{display:flex;gap:var(--_gap);align-items:center;justify-content:flex-start}.contact-form-submit{appearance:none;border:none;background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-primary-contrast);font-family:var(--font-family-heading);font-weight:600;letter-spacing:0.3px;padding:clamp(0.9rem,2vw,1.1rem) clamp(1.1rem,3vw,1.6rem);border-radius:clamp(12px,2vw,16px);cursor:pointer;transition:transform 180ms ease,box-shadow 180ms ease,filter 180ms ease;box-shadow:0 8px 22px rgba(43,93,247,0.35),0 0 0 1px rgba(255,255,255,0.06) inset}.contact-form-submit:hover{filter:brightness(1.06);box-shadow:0 10px 28px rgba(43,93,247,0.45),0 0 0 1px rgba(255,255,255,0.08) inset}.contact-form-submit:active{transform:translateY(1px);box-shadow:0 6px 16px rgba(43,93,247,0.35),0 0 0 1px rgba(255,255,255,0.06) inset}.contact-form-submit:disabled{opacity:0.6;cursor:not-allowed;filter:saturate(70%)}.contact-form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.contact-form-aside{margin-top:clamp(1.25rem,3vw,2rem);border-top:1px dashed rgba(231,236,245,0.09);padding-top:clamp(1rem,2.2vw,1.5rem)}.contact-form-chips{display:flex;gap:clamp(8px,1.6vw,14px);flex-wrap:wrap;padding:0;margin:0;list-style:none}.contact-form-chip{--_chip-bg:rgba(95,225,203,0.1);--_chip-bd:rgba(95,225,203,0.35);display:inline-flex;align-items:center;gap:clamp(6px,1vw,8px);font-size:clamp(0.8rem,1vw,0.9rem);color:var(--color-text-secondary);background-color:var(--_chip-bg);border:1px solid var(--_chip-bd);border-radius:clamp(999px,5vw,999px);padding:clamp(6px,1.2vw,8px) clamp(10px,1.8vw,14px);box-shadow:0 0 0 1px rgba(18,194,161,0.18) inset,0 6px 18px rgba(18,194,161,0.12);transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}.contact-form-chip:hover{background-color:rgba(95,225,203,0.18);border-color:rgba(95,225,203,0.55);box-shadow:0 0 0 1px rgba(18,194,161,0.28) inset,0 8px 20px rgba(18,194,161,0.16)}.contact-form-section{position:relative;isolation:isolate}.contact-form-section::before{content:"";position:absolute;inset:auto 0 0 0;height:clamp(120px,24vw,260px);background:radial-gradient(60% 80% at 50% 100%,rgba(43,93,247,0.18) 0%,rgba(18,194,161,0.12) 45%,rgba(255,106,61,0.08) 80%,rgba(13,15,20,0) 100%);pointer-events:none;z-index:-1}.contact-form-field input:focus + .focus-ring,.contact-form-field textarea:focus + .focus-ring{outline:none}.contact-form-row:nth-child(odd) .contact-form-field input,.contact-form-row:nth-child(odd) .contact-form-field textarea{background-image:linear-gradient(180deg,rgba(21,25,35,0.9),rgba(21,25,35,0.86))}.contact-form-row:nth-child(even) .contact-form-field input,.contact-form-row:nth-child(even) .contact-form-field textarea{background-image:linear-gradient(180deg,rgba(21,25,35,0.88),rgba(21,25,35,0.84))}.contact-form-field input:valid,.contact-form-field textarea:valid{border-color:rgba(47,191,113,0.6);box-shadow:0 0 0 2px rgba(47,191,113,0.16) inset}.contact-form-field input:focus:valid,.contact-form-field textarea:focus:valid{box-shadow:0 0 0 3px rgba(47,191,113,0.3),0 8px 22px rgba(47,191,113,0.14)}.contact-form-actions::after{content:"Sécurisé";margin-left:auto;align-self:center;font-size:clamp(0.75rem,1vw,0.9rem);color:var(--color-text-disabled);padding:clamp(4px,1vw,6px) clamp(8px,1.4vw,10px);border:1px solid rgba(231,236,245,0.12);border-radius:clamp(999px,4vw,999px)}@media (min-width:480px){.contact-form-row{grid-template-columns:repeat(2,1fr)}.contact-form-row:has(textarea){grid-template-columns:1fr}}@media (min-width:768px){.contact-form-grid{grid-template-columns:1fr}.contact-form-actions{justify-content:flex-start}}@media (min-width:1024px){.contact-form-container{display:grid;grid-template-columns:minmax(0,1fr);position:relative}}.contact-form-submit.loading{cursor:progress;filter:saturate(120%);position:relative}.contact-form-submit.loading::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(120deg,rgba(255,255,255,0.08),rgba(255,255,255,0) 35%,rgba(255,255,255,0.08) 70%);background-size:200% 100%;animation:cf-shine 1.2s linear infinite}@keyframes cf-shine{to{background-position:-200% 0}}.form-feedback[aria-live]{padding:clamp(0.5rem,1.4vw,0.75rem) clamp(0.75rem,1.8vw,1rem);border-radius:clamp(10px,1.6vw,12px)}.form-feedback.success{color:var(--color-primary-contrast);background-color:rgba(47,191,113,0.16);border:1px solid rgba(47,191,113,0.4)}.form-feedback.error{color:var(--color-primary-contrast);background-color:rgba(227,71,75,0.16);border:1px solid rgba(227,71,75,0.4)}.form-feedback.info{color:var(--color-text-primary);background-color:rgba(43,93,247,0.14);border:1px solid rgba(43,93,247,0.38)}.contact-form-field input:autofill,.contact-form-field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px rgba(21,25,35,0.85) inset;box-shadow:0 0 0 1000px rgba(21,25,35,0.85) inset;border-color:rgba(231,236,245,0.22)}.contact-form-field input:read-only,.contact-form-field textarea:read-only{opacity:0.8}.contact-form-field input:disabled,.contact-form-field textarea:disabled{opacity:0.6;cursor:not-allowed}