#contact-form{--_radius:clamp(8px,1.2vw,18px);--_gap:clamp(14px,2vw,28px);--_pad:clamp(16px,4vw,48px);--_shadow-c:rgba(31,42,43,0.06);--_shadow-d:rgba(31,42,43,0.12);--_ring:rgba(47,125,109,0.28);--_ring-strong:rgba(47,125,109,0.45);--_paper:var(--color-paper);--_bg:var(--color-background);--_ink:var(--color-text-primary);--_muted:var(--color-text-secondary);--_brand:var(--color-primary);--_brand-dark:var(--color-primary-dark);--_brand-light:var(--color-primary-light);--_accent:var(--color-accent);--_accent-dark:var(--color-accent-dark);--_accent-light:var(--color-accent-light);--_danger:var(--color-error);--_success:var(--color-success);--_warning:var(--color-warning)}.contact-form-section{box-sizing:border-box;-webkit-box-sizing:border-box;color:var(--_ink);font-family:var(--font-family-body);line-height:var(--line-height-body);background-color:var(--_bg);background-image:url('/media/web/toile-creme-chaude-minimaliste-cercles-concentriques-et-rayons-doux-ve_1de91188.jpg');background-repeat:no-repeat;background-size:cover;padding:clamp(32px,6vw,96px) clamp(16px,5vw,64px)}.contact-form-container{margin-inline:auto;max-width:100%;background:linear-gradient(180deg,rgba(255,255,255,0.88) 0%,rgba(255,255,255,0.94) 60%,rgba(255,255,255,0.98) 100%),var(--_paper);border-radius:var(--_radius);padding:var(--_pad);box-shadow:0 2px 10px var(--_shadow-c),0 12px 30px var(--_shadow-c);outline:1px solid rgba(47,125,109,0.08)}.contact-form-header{display:grid;gap:var(--_gap);margin-bottom:clamp(18px,4vw,40px)}.contact-form-title{font-family:var(--font-family-heading);line-height:var(--line-height-heading);font-size:clamp(1.4rem,2.6vw,var(--font-size-h2));color:var(--_brand-dark);letter-spacing:0.2px}.contact-form-intro{font-size:clamp(0.98rem,1.1vw,1.08rem);color:var(--_muted);max-width:65ch}.contact-form{display:block}.contact-form-fieldset{border:none;padding:0;margin:0}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:clip;clip-path:inset(50%);white-space:nowrap;border:0}.contact-form-grid{display:grid;gap:var(--_gap);grid-template-columns:1fr}.contact-form-group{display:grid;gap:clamp(6px,1vw,10px)}.contact-form-group--full{grid-column:1 / -1}.contact-form-group label{font-size:clamp(0.92rem,1vw,1rem);color:var(--_ink);font-weight:600;letter-spacing:0.15px}.contact-form-group input,.contact-form-group textarea{font:inherit;color:var(--_ink);background-color:rgba(255,255,255,0.9);border:1px solid rgba(31,42,43,0.14);border-radius:clamp(10px,1.5vw,18px);padding:clamp(12px,1.6vw,16px) clamp(14px,1.8vw,20px);outline:none;box-shadow:inset 0 1px 0 rgba(31,42,43,0.04);transition:box-shadow 180ms ease,border-color 180ms ease,transform 180ms ease,background-color 180ms ease}.contact-form-group input::placeholder,.contact-form-group textarea::placeholder{color:var(--color-text-disabled)}.contact-form-group input:focus,.contact-form-group textarea:focus{border-color:var(--_brand-light);box-shadow:0 0 0 3px var(--_ring),0 8px 24px var(--_shadow-c) inset;background-color:rgba(255,255,255,1)}.contact-form-group input:focus-visible,.contact-form-group textarea:focus-visible{box-shadow:0 0 0 4px var(--_ring-strong)}.contact-form-group input:invalid[required],.contact-form-group textarea:invalid[required]{border-color:rgba(200,70,61,0.5)}.contact-form-group input:valid,.contact-form-group textarea:valid{border-color:rgba(46,143,98,0.45)}.contact-form-helper{margin-top:clamp(6px,1.2vw,10px);font-size:clamp(0.86rem,0.9vw,0.95rem);color:var(--_muted)}.form-feedback{margin-top:clamp(10px,2vw,16px);min-height:clamp(18px,2vw,24px);font-size:clamp(0.9rem,1vw,1rem);color:var(--_ink)}.contact-form-actions{display:flex;gap:var(--_gap);justify-content:flex-start;margin-top:clamp(16px,4vw,32px)}.contact-form-submit{appearance:none;border:none;cursor:pointer;color:var(--color-primary-contrast);background-color:var(--_brand);border-radius:clamp(14px,2vw,24px);padding:clamp(12px,1.8vw,18px) clamp(18px,3vw,36px);font-weight:700;font-family:var(--font-family-heading);font-size:clamp(1rem,1.3vw,1.1rem);letter-spacing:0.2px;box-shadow:0 6px 14px rgba(47,125,109,0.25),0 1px 0 rgba(255,255,255,0.6) inset;transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease,filter 180ms ease}.contact-form-submit:hover{background-color:var(--_brand-dark);box-shadow:0 10px 22px rgba(47,125,109,0.28),0 1px 0 rgba(255,255,255,0.7) inset;transform:translateY(-1px)}.contact-form-submit:active{transform:translateY(0);box-shadow:0 4px 10px rgba(47,125,109,0.22) inset}.contact-form-submit:focus-visible{outline:2px solid var(--_accent-light);outline-offset:3px}.contact-form-aside{margin-top:clamp(20px,4vw,40px);background-color:rgba(159,177,240,0.12);border:1px solid rgba(62,96,201,0.18);border-radius:var(--_radius);padding:clamp(14px,2.2vw,22px);position:relative;overflow:hidden}.contact-form-aside::before{content:"";position:absolute;inset:-20% -10% auto auto;width:clamp(120px,30vw,360px);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(47,125,109,0.18),rgba(62,96,201,0.14) 60%,rgba(201,143,59,0.10) 100%);filter:blur(10px);pointer-events:none}.contact-form-highlights{list-style:none;padding:0;margin:0;display:grid;gap:clamp(10px,1.6vw,16px)}.contact-form-highlight{display:flex;align-items:center;gap:clamp(10px,1.4vw,14px);background-color:rgba(47,125,109,0.06);border:1px solid rgba(47,125,109,0.18);border-radius:clamp(12px,1.8vw,18px);padding:clamp(10px,1.6vw,14px) clamp(12px,2vw,18px)}.contact-form-highlight::before{content:"";inline-size:clamp(12px,1.6vw,16px);block-size:clamp(12px,1.6vw,16px);border-radius:50%;background-color:var(--_accent);box-shadow:0 0 0 3px rgba(159,177,240,0.45)}.contact-form-highlight-label{color:var(--_ink);font-size:clamp(0.92rem,1vw,1rem)}.contact-form-group input:hover,.contact-form-group textarea:hover{border-color:rgba(62,96,201,0.35)}.contact-form-group textarea{resize:vertical;min-height:clamp(160px,20vw,240px)}.contact-form-group input:disabled,.contact-form-group textarea:disabled{background-color:rgba(169,178,176,0.2);color:var(--color-text-disabled);cursor:not-allowed}@media (min-width:480px){.contact-form-grid{grid-template-columns:1fr 1fr}.contact-form-group--full{grid-column:span 2}}@media (min-width:768px){.contact-form-container{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(20px,3vw,40px)}.contact-form-header{grid-column:1 / -1}.contact-form{grid-column:1 / 2}.contact-form-aside{grid-column:2 / 3;align-self:start;position:sticky;top:clamp(12px,4vh,40px)}}@media (min-width:1024px){.contact-form-grid{grid-template-columns:1fr 1fr}}.form-feedback[aria-live="polite"] .success,.form-feedback .success{color:var(--_success)}.form-feedback .error{color:var(--_danger)}.form-feedback .warning{color:var(--_warning)}input[type="text"],input[type="email"],input[type="tel"],textarea{accent-color:var(--_brand)}.contact-form-group input:focus-within,.contact-form-group textarea:focus-within{transform:translateZ(0)}