:root{
  --brown:#3B2313;--brown-500:#6C5C4C;--brown-300:#9C948C;
  --orange:#EE9121;--orange-700:#AB681C;--orange-50:#FDEAD5;
  --paper:#F7F5F2;--white:#fff;--grey-100:#E4E4E4;--grey-300:#C4C4C4;--ink:#1E1E1E;--error:#B3261E;
  --display:'Archivo',Impact,sans-serif;--body:'Montserrat',system-ui,sans-serif;
  --t:160ms ease;
}
*{box-sizing:border-box}
html{font-size:16px}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--body)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.top{background:var(--brown);border-bottom:4px solid var(--orange)}
.top-in{display:flex;align-items:center;gap:16px;height:72px}
.logo{display:block;width:49px;height:auto}
.top-sub{color:var(--white);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
main{padding-top:40px;padding-bottom:48px}
.num{margin:0 0 8px;color:var(--orange-700);font:700 13px var(--body);letter-spacing:.1em;text-transform:uppercase}
h1{margin:0 0 16px;font:800 30px/1.15 var(--display);text-transform:uppercase;color:var(--brown)}
h2{margin:0 0 16px;font:800 22px/1.2 var(--display);text-transform:uppercase;color:var(--brown)}
.lead{margin:0 0 32px;color:var(--brown-500);max-width:60ch}
.hint{color:var(--brown-500);margin:0 0 16px}.small{font-size:13px;margin:8px 0 0}
#steps{display:flex;gap:8px;margin:0 0 32px;padding:0;list-style:none}
#steps button{flex:1;background:none;border:0;border-top:3px solid var(--grey-300);padding:8px 0 0;text-align:left;font:500 13px var(--body);color:var(--brown-300);cursor:default}
#steps button.on{border-color:var(--orange);color:var(--brown);font-weight:700}
#steps button.past{border-color:var(--brown);color:var(--brown);cursor:pointer}
.field{margin:0 0 20px}
label,.label{display:block;margin:0 0 6px;font:700 14px var(--body)}
input:not([type=checkbox]),select,textarea{width:100%;min-height:48px;padding:10px 12px;font:400 16px var(--body);color:var(--ink);background:var(--white);border:1px solid var(--grey-300);border-radius:0;transition:border-color var(--t)}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange-700)}
input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error)}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.row{grid-template-columns:1fr}h1{font-size:24px}}
.checks{display:flex;flex-wrap:wrap;gap:0 24px}
.checks label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;font-weight:400;cursor:pointer}
input[type=checkbox]{width:20px;height:20px;accent-color:var(--orange-700);flex:none;margin:0}
.consent{display:flex;gap:12px;align-items:flex-start;margin:24px 0;font-weight:400;font-size:14px;cursor:pointer}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.search{position:sticky;top:0;z-index:2;background:var(--paper);padding:8px 0}
.count{margin:8px 0 16px;font-size:14px;color:var(--brown-500)}
.count strong{color:var(--brown)}
details.fam{border-top:1px solid var(--grey-300);background:var(--white)}
details.fam:last-of-type{border-bottom:1px solid var(--grey-300)}
details.fam>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 16px;cursor:pointer;font:700 15px var(--body);list-style:none;color:var(--brown)}
details.fam>summary::-webkit-details-marker{display:none}
details.fam>summary::after{content:"+";font:400 22px var(--body);color:var(--orange-700)}
details.fam[open]>summary::after{content:"–"}
.badge{margin-left:auto;margin-right:8px;font:700 12px var(--body);color:var(--brown);background:var(--orange-50);padding:2px 8px}
.theme{padding:8px 16px 8px 16px;border-top:1px solid var(--grey-100)}
.theme-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:8px 0 4px}
.theme-h h3{margin:0;font:700 13px var(--body);color:var(--brown-500);letter-spacing:.04em;text-transform:uppercase}
.linkbtn{background:none;border:0;padding:8px 0;font:500 13px var(--body);color:var(--orange-700);text-decoration:underline;cursor:pointer;min-height:44px}
.mod{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:8px 0;margin:0;font-weight:400;font-size:15px;cursor:pointer}
.mod .code{color:var(--brown-300);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;padding-top:2px}
.mod .dur{color:var(--brown-500);font-size:13px;white-space:nowrap;margin-left:auto;padding-left:8px}
.actions{display:flex;gap:12px;justify-content:flex-end;position:sticky;bottom:0;background:var(--paper);padding:16px 0;margin-top:16px;border-top:1px solid var(--grey-100)}
button.primary,button.ghost{min-height:48px;padding:0 28px;font:700 14px var(--body);letter-spacing:.04em;text-transform:uppercase;border-radius:0;cursor:pointer;transition:background var(--t)}
button.primary{background:var(--orange);color:var(--brown);border:0}
button.primary:hover{background:var(--orange-700);color:var(--white)}
button.primary:disabled{opacity:.6;cursor:wait}
button.ghost{background:none;border:1px solid var(--brown);color:var(--brown)}
.error{color:var(--error);font-weight:700;margin:0 0 8px}
.foot{padding-top:24px;padding-bottom:32px;color:var(--brown-300);font-size:13px}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.tarif-hint{margin-top:-8px}
.row.keep{grid-template-columns:1fr 1fr}
