:root{color-scheme:light;font-family:system-ui,sans-serif;color:#202642;background:#f5f5fa}
*{box-sizing:border-box}
body{margin:0}
.wrap{width:min(100% - 2.5rem,65rem);margin-inline:auto}
.hero{background:radial-gradient(ellipse at 92% 0%,#493383 0%,transparent 60%),#221944;color:#fff;padding:clamp(2.5rem,7vw,5.5rem) 0 4.5rem}
.eyebrow{font-weight:800;letter-spacing:.16em;font-size:.79rem}
.eyebrow span,h1 em{color:#ddfc7e}
h1{font-size:clamp(3rem,8vw,6rem);line-height:.93;letter-spacing:-.075em;margin:1rem 0}
h1 em{font-style:normal}
.hero p:last-child{font-size:1.1rem;color:#ece5fa}
.controls{position:relative;margin-top:-2rem;padding:clamp(1rem,3vw,1.6rem);background:#fff;border:1px solid #e5e0f0;border-radius:1.15rem;box-shadow:0 .5rem 2rem #24174812}
h2{margin:0 0 .9rem;font-size:1.2rem}
.filters{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}
label{display:grid;gap:.45rem;font-weight:700;min-width:0}
select,button{font:inherit;min-height:2.8rem;border:1px solid #afa4c6;border-radius:.65rem;padding:.55rem .8rem;color:inherit;background:white;width:100%}
button{background:#34225f;border-color:#34225f;color:white;font-weight:700;cursor:pointer}
:disabled{opacity:.6;cursor:default}
:focus-visible{outline:3px solid #7750df;outline-offset:3px}
#statut{min-height:1.5rem;margin:1.4rem 0;color:#4d4760}
#resultats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;padding-bottom:2.5rem}
.card{background:#fff;border:1px solid #e5e0f0;border-top:4px solid #7853b9;border-radius:.9rem;padding:1rem;overflow-wrap:anywhere;animation:appear .22s ease-out both}
.card h3{margin:0 0 .55rem}
.card p{margin:.3rem 0;color:#4d4760;font-size:.9rem}
.card ul{margin:.75rem 0 .1rem;padding-inline-start:1.25rem}
.card li+li{margin-top:.3rem}
@keyframes appear{from{opacity:0;transform:translateY(.4rem)}to{opacity:1;transform:translateY(0)}}
@media(max-width:37rem){.filters{grid-template-columns:1fr}.hero{padding-bottom:3.7rem}}
@media(prefers-reduced-motion:reduce){.card{animation:none}}
