.ou-outil{margin-top:1.4rem;background:var(--paper-warm);border:1px solid var(--line);padding:clamp(1rem,2.4vw,1.6rem)}
.ou-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.9rem 1.1rem}
.ou-champ{display:flex;flex-direction:column;gap:.25rem;min-width:0}
.ou-champ label{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-quiet)}
.ou-champ input,.ou-champ select{font:inherit;font-size:16px;width:100%;min-width:0;height:auto;margin:0;padding:.55rem .6rem;color:var(--ink);background:var(--paper);border:1px solid var(--field-line);border-radius:0;position:static;opacity:1;pointer-events:auto}
.ou-champ input:focus,.ou-champ select:focus{outline:3px solid var(--accent-deep);outline-offset:1px}
.ou-champ[hidden]{display:none}
.ou-res{margin-top:1.2rem;padding-top:1rem;border-top:2px solid var(--accent)}
.ou-res:focus{outline:none}
.ou-res__t{font-family:var(--titre);font-size:1.25rem;margin:0 0 .4rem;color:var(--profond)}
.ou-res__v{display:flex;flex-wrap:wrap;gap:.4rem 2rem;margin:0 0 .6rem;font-size:1.05rem}
.ou-res__v b{font-family:var(--titre);font-weight:400;font-size:clamp(1.6rem,4vw,2.2rem);color:var(--accent-deep);margin-right:.25rem}
.ou-res__d{margin:0 0 .6rem;padding-left:1.1rem}
.ou-res__d li{margin:.15rem 0}
.ou-nav{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.8rem 0 0;padding:0;list-style:none}
