:root{--oe-space: #100030;--oe-hemocyanin: #180048;--oe-plum: #251163;--oe-plum-2: #2e1a74;--oe-purple: #6620e6;--oe-pink: #ff48d8;--oe-pink-deep: #cf2eb4;--oe-ink: #ffffff;--oe-ink-soft: #b9aee8;--oe-ok: #18f0b8;--oe-warn: #ffc748;--oe-error: #ff7cb0;--radius: 12px;--font: "Verdana Pro", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;background:linear-gradient(180deg,var(--oe-space) 0%,var(--oe-hemocyanin) 40%);min-height:100vh;color:var(--oe-ink);font:16px/1.55 var(--font)}#root{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:18px 24px}.topbar .logo{height:40px;width:auto;flex:none;display:block}.topbar .tag{margin-left:auto;font-size:12px;color:var(--oe-ink-soft);border:1px solid var(--oe-plum-2);border-radius:999px;padding:4px 12px}.shell{width:100%;max-width:680px;margin:0 auto;padding:8px 20px 80px;flex:1}h1{font-size:clamp(24px,4vw,32px);line-height:1.2;letter-spacing:-.015em;margin:18px 0 6px;text-wrap:balance}.subtitle{color:var(--oe-ink-soft);margin:0 0 26px;max-width:56ch}.stepper{display:flex;gap:6px;margin:22px 0 26px}.stepper .seg{height:6px;flex:1;border-radius:999px;background:var(--oe-plum-2);transition:background .3s}.stepper .seg.done{background:var(--oe-pink)}.stepper .seg.clickable{cursor:pointer;padding:0;border:0;transition:transform .12s ease,box-shadow .12s ease}.stepper .seg.clickable:hover{transform:scaleY(1.8);box-shadow:0 0 12px var(--oe-pink)}.stepper .seg.clickable:focus-visible{outline:2px solid var(--oe-ink);outline-offset:3px}.field label .format{margin-left:8px;font-weight:400;font-size:12px;color:var(--oe-ink-soft);text-transform:none;letter-spacing:normal}.field label .counter{margin-left:8px;font-weight:600;font-size:12px;color:var(--oe-ink-soft);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:normal}.field label .counter.ok{color:var(--oe-ok)}.hint.mention{margin-top:20px;padding-top:14px;font-size:13px;border-top:1px solid var(--oe-plum-2)}.hint a{color:var(--oe-pink);text-decoration:underline}.hint a:hover{color:var(--oe-ink)}.step-label{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--oe-pink);font-weight:700;margin-bottom:4px}.card{background:var(--oe-plum);border:1px solid var(--oe-plum-2);border-radius:var(--radius);padding:26px 24px}.card h2{margin:0 0 4px;font-size:20px;letter-spacing:-.01em}.card .hint{color:var(--oe-ink-soft);font-size:14px;margin:0 0 20px}.field{margin:16px 0}.field>label{display:block;font-size:13.5px;font-weight:700;margin-bottom:6px}.field .optional{color:var(--oe-ink-soft);font-weight:400}.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field input[type=file]{width:100%;background:var(--oe-hemocyanin);border:1.5px solid var(--oe-plum-2);color:var(--oe-ink);border-radius:10px;padding:12px 14px;font:inherit;transition:border-color .15s,box-shadow .15s;color-scheme:dark}.field input:focus-visible{outline:none;border-color:var(--oe-pink);box-shadow:0 0 0 3px #f050f840}.field input[aria-invalid=true]{border-color:var(--oe-error)}.field .error{color:var(--oe-error);font-size:13px;margin-top:5px}.callout{border-radius:12px;padding:14px 16px;margin:4px 0 18px;font-size:14px;line-height:1.5;border:1px solid var(--oe-plum-2);background:var(--oe-plum)}.callout.success{border-color:color-mix(in srgb,var(--oe-ok) 45%,transparent)}.prm-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0 0}.prm-facts dt{color:var(--oe-ink-soft);font-size:13px}.prm-facts dd{margin:0;font-weight:600;font-size:13px}.callout-foot{margin:12px 0 0;font-size:13px;color:var(--oe-ink-soft)}.lien{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--oe-pink);text-decoration:underline}.lien:hover{color:var(--oe-ink)}.lien:focus-visible{outline:2px solid var(--oe-pink);outline-offset:2px;border-radius:3px}.callout.success strong{color:var(--oe-ok)}.callout.error{border-color:color-mix(in srgb,var(--oe-error) 55%,transparent);color:var(--oe-error)}.field .help{color:var(--oe-ink-soft);font-size:13px;margin-top:5px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:560px){.row2{grid-template-columns:1fr}}.check{display:flex;gap:12px;align-items:flex-start;margin:14px 0;cursor:pointer;font-size:14.5px}.check input{flex:none;width:20px;height:20px;margin-top:2px;accent-color:var(--oe-pink);cursor:pointer}.check.legal{font-size:13.5px;color:var(--oe-ink-soft);line-height:1.55}.check.legal b{color:var(--oe-ink)}.insee{border:1px solid var(--oe-purple);background:#6620e624;border-radius:10px;padding:12px 16px;margin:14px 0;font-size:14px}.insee.err{border-color:var(--oe-warn);background:#ffc74817}.insee .name{font-weight:800}.insee .meta{color:var(--oe-ink-soft);font-size:13px}.actions{display:flex;gap:12px;margin-top:26px;align-items:center}.btn{font:inherit;font-weight:800;letter-spacing:.01em;border-radius:999px;padding:13px 28px;cursor:pointer;border:none;transition:transform .1s,box-shadow .15s,background .15s}.btn.primary{background:var(--oe-pink);color:var(--oe-space);box-shadow:0 4px 24px #f050f859}.btn.primary:hover{background:#ff7cf9;transform:translateY(-1px)}.btn.primary:disabled{background:var(--oe-plum-2);color:var(--oe-ink-soft);box-shadow:none;cursor:default;transform:none}.btn.ghost{background:transparent;color:var(--oe-ink-soft);border:1.5px solid var(--oe-plum-2)}.btn.ghost:hover{color:var(--oe-ink);border-color:var(--oe-ink-soft)}.btn:focus-visible{outline:2px solid var(--oe-pink);outline-offset:2px}.tarif{border:1px solid var(--oe-purple);background:#6620e624;border-radius:12px;padding:14px 16px;margin:4px 0 20px}.tarif h3,.estim h3{margin:0 0 12px;font-size:15px;letter-spacing:-.01em;display:flex;align-items:center}.tarif-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px}.tarif-cell{display:flex;flex-direction:column;gap:2px;background:#10003061;border-radius:10px;padding:10px 12px}.tarif-libelle{font-size:12.5px;color:var(--oe-ink-soft)}.tarif-htt{font-size:20px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.tarif-htt small{font-size:11.5px;font-weight:700;color:var(--oe-ink-soft)}.tarif-ttc{font-size:13px;font-weight:600;color:var(--oe-pink)}.tarif-note{font-size:12px;color:var(--oe-ink-soft);margin-top:2px}.tarif-foot{margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--oe-ink-soft)}.tarif-liens{margin:10px 0 0;font-size:13px}.tarif-liens a{color:var(--oe-pink)}.tarif-liens a:hover{color:var(--oe-ink)}.estim{border:1px solid var(--oe-plum-2);background:var(--oe-plum);border-radius:12px;padding:14px 16px;margin:4px 0 20px}.estim table{width:100%;border-collapse:collapse;font-size:14px}.estim th,.estim td{text-align:right;padding:8px 0 8px 10px}.estim thead th{font-size:12px;font-weight:600;color:var(--oe-ink-soft);border-bottom:1px solid var(--oe-plum-2)}.estim thead th:first-child,.estim tbody th,.estim tfoot th{text-align:left;padding-left:0}.estim tbody th{font-weight:600}.estim tbody th small{display:block;font-weight:400;font-size:12px;color:var(--oe-ink-soft)}.estim tbody td{font-variant-numeric:tabular-nums}.estim tbody tr+tr th,.estim tbody tr+tr td{border-top:1px dashed var(--oe-plum-2)}.estim tfoot th,.estim tfoot td{border-top:1px solid var(--oe-plum-2);padding-top:10px;font-weight:800;font-variant-numeric:tabular-nums}.estim tfoot td:last-child{color:var(--oe-pink)}.recap dl{margin:0}.recap .pair{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px dashed var(--oe-plum-2);font-size:14.5px}.recap .pair:last-child{border-bottom:none}.recap dt{color:var(--oe-ink-soft);flex:none}.recap dd{margin:0;text-align:right;font-weight:600;overflow-wrap:anywhere}.result{text-align:center;padding:16px 0}.result .badge{width:72px;height:72px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:34px}.result.go .badge{background:#18f0b826;border:2px solid var(--oe-ok)}.result.dg .badge{background:#ffc74826;border:2px solid var(--oe-warn)}.result.nogo .badge{background:#ff7cb021;border:2px solid var(--oe-error)}.result .ref{font-size:13px;color:var(--oe-ink-soft);margin-top:18px}.result .ref code{background:var(--oe-hemocyanin);padding:2px 8px;border-radius:6px}.infotip{position:relative;display:inline-flex;margin-left:7px;vertical-align:middle}.infotip-btn{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--oe-ink-soft);background:transparent;color:var(--oe-ink-soft);font:700 11px/1 var(--font);cursor:help;padding:0}.infotip-btn:hover,.infotip:focus-within .infotip-btn{border-color:var(--oe-pink);color:var(--oe-pink)}.infotip-btn:focus-visible{outline:2px solid var(--oe-pink);outline-offset:2px}.infotip-bubble{display:none;position:absolute;bottom:calc(100% + 10px);left:-12px;width:min(300px,calc(100vw - 48px));max-width:300px;z-index:20;background:var(--oe-space);border:1px solid var(--oe-purple);border-radius:10px;padding:11px 14px;font-size:13px;font-weight:400;line-height:1.5;color:var(--oe-ink);box-shadow:0 8px 30px #00000080;text-transform:none;letter-spacing:normal}.infotip-bubble:after{content:"";position:absolute;top:100%;left:18px;border:7px solid transparent;border-top-color:var(--oe-purple)}.infotip:hover .infotip-bubble,.infotip:focus-within .infotip-bubble{display:block}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.savebar{text-align:center;font-size:12.5px;color:var(--oe-ink-soft);margin-top:14px}.savebar.ko{color:var(--oe-warn);max-width:46ch;margin-inline:auto;line-height:1.5}.footer{text-align:center;color:var(--oe-ink-soft);font-size:12px;padding:22px}.footer a{color:var(--oe-ink-soft)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.engagement{margin:22px 0 14px;padding:14px 16px;border:1px solid var(--oe-plum-2);border-left:3px solid var(--oe-pink);border-radius:var(--radius);background:#ff48d80d}.engagement h3{margin:0 0 8px;font-size:15px}.engagement ul{margin:0;padding-left:18px}.engagement li{margin-bottom:8px;font-size:14px;color:var(--oe-ink-soft)}.engagement li strong{color:var(--oe-ink)}.engagement li:last-child{margin-bottom:0}
