/* Adhésion en ligne ARSEREM : même univers que le site (Inter, vert-or-rouge), en mouvement. */
:root{--vert:#00853f;--vert-f:#04512a;--vert-n:#032d18;--or:#fdef42;--rouge:#e31b23;--encre:#0f1a14;--gris:#5b665f;--papier:#fbfaf5;--ligne:#e3e0d2;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Inter,system-ui,sans-serif;color:var(--encre);background:var(--vert-n);min-height:100vh;line-height:1.55;overflow-x:hidden}
.fond{position:fixed;inset:0;overflow:hidden;z-index:0}
.fond span{position:absolute;border-radius:50%;filter:blur(70px);animation:derive 18s ease-in-out infinite alternate}
.fond span:nth-child(1){width:560px;height:560px;background:var(--vert);opacity:.6;top:-180px;left:-160px}
.fond span:nth-child(2){width:420px;height:420px;background:#c9b400;opacity:.3;top:30%;right:-160px;animation-duration:22s}
.fond span:nth-child(3){width:300px;height:300px;background:var(--rouge);opacity:.22;bottom:-80px;left:20%;animation-duration:26s}
@keyframes derive{to{transform:translate(80px,110px) scale(1.15)}}
.marque{position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.06em;margin:22px clamp(16px,4vw,40px);animation:monte .8s var(--ease) both}
.marque img{width:42px;height:42px;border-radius:12px;background:#fff;padding:3px;object-fit:contain}
.page{position:relative;z-index:1;max-width:860px;margin:10px auto 80px;padding:0 16px}
.tete{color:#fff;margin-bottom:26px}
.surtitre{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--or);animation:monte .8s .1s var(--ease) both}
.tete h1{font-size:clamp(2.4rem,7vw,4.4rem);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin:12px 0 16px}
.tete h1 span{display:inline-block;animation:sort 1s var(--ease) both}
.tete h1 span:nth-child(2){animation-delay:.12s}.tete h1 span:nth-child(3){animation-delay:.24s;color:var(--or)}
@keyframes sort{from{opacity:0;transform:translateY(60%) rotate(4deg)}to{opacity:1;transform:none}}
.chapo{max-width:620px;opacity:.85;animation:monte 1s .4s var(--ease) both}
@keyframes monte{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.progression{position:fixed;top:0;left:0;right:0;z-index:5;height:5px;background:rgba(255,255,255,.1)}
.progression i{display:block;height:100%;width:100%;transform:scaleX(var(--p,0));transform-origin:left;background:linear-gradient(90deg,var(--vert),var(--or),var(--rouge));transition:transform .6s var(--ease)}
.alerte{background:#fde4e5;color:#a5121a;border-radius:16px;padding:14px 18px;margin-bottom:16px;font-weight:500}
.formulaire{display:flex;flex-direction:column;gap:18px}
.etape{border:0;background:rgba(255,255,255,.97);border-radius:24px;padding:26px clamp(18px,3vw,30px);box-shadow:0 30px 60px -30px rgba(0,0,0,.6);animation:surgit .9s var(--ease) both;animation-delay:calc(.5s + var(--i)*.14s);min-width:0}
@keyframes surgit{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
legend{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.15rem;letter-spacing:-.01em;margin-bottom:16px;float:left;width:100%}
legend b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--vert);color:#fff;font-size:.9rem;transition:background .4s,transform .4s}
.etape.complete legend b{background:var(--or);color:var(--encre);transform:rotate(360deg)}
.champs{clear:both;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px 18px}
.champs label{display:flex;flex-direction:column;gap:6px;font-size:.86rem;font-weight:600;color:#33403a}
.large{grid-column:1/-1}
.etiq{display:block;font-size:.86rem;font-weight:600;color:#33403a;margin-bottom:8px}
input,select,textarea{font:inherit;color:inherit;padding:12px 14px;border-radius:14px;border:1.5px solid var(--ligne);background:#fcfbf7;font-weight:400;transition:border-color .2s,box-shadow .2s,transform .2s;width:100%}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--vert);box-shadow:0 0 0 4px rgba(0,133,63,.14)}
.cases{display:flex;flex-wrap:wrap;gap:8px}
.case{cursor:pointer;position:relative}
.case input{position:absolute;opacity:0;width:1px;height:1px}
.case span{display:inline-block;padding:8px 15px;border-radius:99px;border:1.5px solid var(--ligne);font-weight:500;font-size:.9rem;transition:all .25s var(--ease)}
.case input:checked+span{background:var(--vert);border-color:var(--vert);color:#fff;transform:scale(1.05)}
.case input:focus-visible+span{box-shadow:0 0 0 4px rgba(0,133,63,.2)}
.accord{display:flex;gap:12px;align-items:flex-start;color:#e8efe9;font-size:.86rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:16px 18px;cursor:pointer;animation:monte .8s 1s var(--ease) both}
.accord input{width:22px;height:22px;flex:none;margin-top:2px;accent-color:var(--or)}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 28px;border-radius:999px;font:inherit;font-weight:700;text-decoration:none;border:0;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s}
.btn.or{background:var(--or);color:var(--encre);box-shadow:0 14px 34px -12px rgba(253,239,66,.7)}
.btn:hover{transform:translateY(-3px)}
.envoyer{align-self:flex-start;font-size:1.05rem;position:relative;overflow:hidden;animation:monte .8s 1.1s var(--ease) both}
.envoyer::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:brille 3.2s 2s infinite}
@keyframes brille{0%,60%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.merci{background:#fff;border-radius:28px;padding:48px clamp(20px,5vw,56px);text-align:center;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);animation:surgit .9s var(--ease) both;margin-top:30px}
.merci h1{font-size:clamp(2rem,5vw,3rem);letter-spacing:-.03em;margin:10px 0 12px}
.merci p{color:var(--gris);max-width:520px;margin:0 auto 12px}
.merci b{color:var(--vert);font-weight:800}
.merci .btn{margin-top:16px}
.coche{width:110px;height:110px}
.coche circle{fill:none;stroke:var(--vert);stroke-width:6;stroke-dasharray:330;stroke-dashoffset:330;animation:trace 1s .2s var(--ease) forwards}
.coche path{fill:none;stroke:var(--vert);stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:80;stroke-dashoffset:80;animation:trace .6s 1s var(--ease) forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.confettis{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.confettis i{position:absolute;top:-20px;width:10px;height:16px;border-radius:2px;animation:tombe linear forwards}
@keyframes tombe{to{transform:translate(var(--dx),110vh) rotate(var(--r))}}
.drapeau{position:fixed;left:0;right:0;bottom:0;height:6px;display:flex;z-index:4}
.drapeau i{flex:1;transform-origin:left;animation:trait 1.2s var(--ease) both}
.drapeau i:nth-child(1){background:var(--vert);animation-delay:.2s}.drapeau i:nth-child(2){background:var(--or);animation-delay:.35s}.drapeau i:nth-child(3){background:var(--rouge);animation-delay:.5s}
@keyframes trait{from{transform:scaleX(0)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-delay:0s !important;transition-duration:.01ms !important}}
