.hdo-simulator{
  --bg:#2f0e47;--surface:#37134f;--surface-2:#42205c;--ink:#ffffff;--ink-soft:#c4b2e4;
  --line:#4d2a6b;--line-strong:#6b4590;--plum:#cbaaf5;--plum-soft:#3d1f5c;--brass:#8f63c9;
  --hi:#5e2886;--eau:#cbaaf5;--neg:#ff9e8f;--focus:#cbaaf5;--on-plum:#2f0e47;
}
@media (prefers-color-scheme: light){.hdo-simulator{
    --bg:#2f0e47;--surface:#37134f;--surface-2:#42205c;--ink:#ffffff;--ink-soft:#c4b2e4;
    --line:#4d2a6b;--line-strong:#6b4590;--plum:#cbaaf5;--plum-soft:#3d1f5c;--brass:#8f63c9;
    --hi:#5e2886;--eau:#cbaaf5;--neg:#ff9e8f;--focus:#cbaaf5;--on-plum:#2f0e47;
  }}
.hdo-simulator *{box-sizing:border-box}
.hdo-simulator{-webkit-text-size-adjust:100%}
.hdo-simulator{margin:0;background:var(--bg);color:var(--ink);
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  font-size:15px;line-height:1.5}
.hdo-simulator .wrap{max-width:1080px;margin:0 auto;padding:0 20px 80px}
.hdo-simulator header{padding:44px 0 28px;text-align:center;border-bottom:1px solid var(--line)}
.hdo-simulator .mark{font-family:"Poppins",sans-serif;font-weight:300;font-size:clamp(23px,4.4vw,34px);
  letter-spacing:.2em;text-transform:uppercase;color:var(--ink);margin:0 0 8px;padding-left:.2em}
.hdo-simulator .eyebrow{font-size:11px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;
  color:var(--plum);margin:0 0 24px;padding-left:.34em}
.hdo-simulator .rule{width:56px;height:2px;background:var(--plum);margin:0 auto 26px}
.hdo-simulator h1{font-family:"Poppins",sans-serif;font-weight:600;font-size:clamp(26px,4.8vw,38px);
  line-height:1.18;margin:0 0 16px;letter-spacing:0}
.hdo-simulator h1 span{color:var(--plum);font-weight:400}
.hdo-simulator .lede{max-width:66ch;color:var(--ink-soft);margin:0 auto;font-size:14.5px}
.hdo-simulator nav{position:sticky;top:0;z-index:20;background:var(--bg);padding:12px 0 0;
  border-bottom:1px solid var(--line);margin-bottom:26px}
.hdo-simulator .tabs{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.hdo-simulator .tab{font:inherit;font-size:13px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;background:transparent;border:1px solid var(--line-strong);color:var(--ink-soft);
  padding:9px 16px;border-radius:0}
.hdo-simulator .tab:hover{color:var(--ink);border-color:var(--plum)}
.hdo-simulator .tab[aria-selected="true"]{background:var(--hi);border-color:var(--hi);color:#fff}
.hdo-simulator .tab:focus-visible,.hdo-simulator input:focus-visible,.hdo-simulator button:focus-visible,.hdo-simulator summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.hdo-simulator .strip{display:flex;gap:10px 30px;flex-wrap:wrap;justify-content:center;padding:13px 0 12px;
  font-size:12.5px;color:var(--ink-soft)}
.hdo-simulator .strip b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.hdo-simulator section[role="tabpanel"][hidden]{display:none}
.hdo-simulator .block{background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--plum);
  padding:24px 24px 26px;margin:0 0 22px}
.hdo-simulator .block>h2{font-family:"Poppins",sans-serif;font-weight:600;font-size:24px;
  margin:0 0 10px;letter-spacing:0;color:var(--ink);line-height:1.25}
.hdo-simulator .block>h3{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  margin:28px 0 12px;color:var(--plum)}
.hdo-simulator .note{color:var(--ink-soft);font-size:13.5px;max-width:72ch;margin:0 0 4px}
.hdo-simulator .prose{max-width:68ch}
.hdo-simulator .prose p{margin:0 0 14px}
.hdo-simulator .prose h3{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  margin:28px 0 10px;color:var(--plum)}
.hdo-simulator .prose ul{margin:0 0 14px;padding-left:20px}
.hdo-simulator .prose li{margin-bottom:6px}
.hdo-simulator .flag{border-left:3px solid var(--plum);background:var(--surface-2);padding:13px 15px;
  font-size:13.5px;margin:16px 0 4px}
.hdo-simulator .flag b{color:var(--plum)}
.hdo-simulator .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px 18px}
.hdo-simulator .f{display:flex;flex-direction:column;gap:3px}
.hdo-simulator .f label{font-size:13px;color:var(--ink-soft)}
.hdo-simulator .f .row{display:flex;align-items:baseline;gap:6px;border-bottom:1px solid var(--line);padding-bottom:3px}
.hdo-simulator .f .row:focus-within{border-color:var(--plum)}
.hdo-simulator .f input{font:inherit;font-variant-numeric:tabular-nums;font-weight:500;border:0;background:transparent;
  color:var(--ink);width:100%;min-width:0;padding:3px 0;text-align:right}
.hdo-simulator .f .unit{font-size:12.5px;color:var(--ink-soft);white-space:nowrap}
.hdo-simulator .hint{font-size:11.5px;color:var(--ink-soft)}
/* curseur de recettes */
.hdo-simulator .dial{border:1px solid var(--line-strong);background:var(--surface-2);padding:16px 18px;margin:4px 0 20px}
.hdo-simulator .dial .val{font-family:"Poppins","Inter",Helvetica,Arial,sans-serif;font-size:34px;font-weight:600;
  font-variant-numeric:tabular-nums;line-height:1}
.hdo-simulator .dial .sub{font-size:13px;color:var(--ink-soft);margin-top:4px}
.hdo-simulator input[type=range]{width:100%;margin:16px 0 8px;accent-color:var(--plum)}
.hdo-simulator .presets{display:flex;gap:8px;flex-wrap:wrap}
.hdo-simulator .presets button{font:inherit;font-size:13px;cursor:pointer;background:transparent;
  border:1px solid var(--line-strong);color:var(--ink-soft);padding:6px 12px;border-radius:2px}
.hdo-simulator .presets button:hover{border-color:var(--plum);color:var(--ink)}
.hdo-simulator .presets button.on{background:var(--hi);border-color:var(--hi);color:#fff}
/* lignes de charges détaillées */
.hdo-simulator details{border-top:1px solid var(--line);padding:0}
.hdo-simulator details:last-of-type{border-bottom:1px solid var(--line)}
.hdo-simulator summary{cursor:pointer;padding:12px 2px;display:flex;justify-content:space-between;
  align-items:baseline;gap:16px;font-weight:600;font-size:14px;list-style:none}
.hdo-simulator summary::-webkit-details-marker{display:none}
.hdo-simulator summary::before{content:"+";color:var(--plum);font-weight:600;margin-right:9px}
.hdo-simulator details[open] summary::before{content:"–"}
.hdo-simulator summary .amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--plum)}
.hdo-simulator summary span.lbl{flex:1}
.hdo-simulator .lines{padding:2px 0 16px 26px}
.hdo-simulator .ln{display:grid;grid-template-columns:1fr 132px 74px;gap:8px 14px;align-items:start;
  padding:10px 0;border-top:1px dotted var(--line)}
.hdo-simulator .ln:first-child{border-top:0}
.hdo-simulator .ln .nm{font-size:13.5px;font-weight:500}
.hdo-simulator .ln .just{font-size:12.5px;color:var(--ink-soft);margin-top:2px;max-width:60ch}
.hdo-simulator .ln .ipt{display:flex;align-items:baseline;gap:5px;border-bottom:1px solid var(--line);padding-bottom:2px}
.hdo-simulator .ln .ipt:focus-within{border-color:var(--plum)}
.hdo-simulator .ln .ipt input{font:inherit;font-size:13.5px;font-variant-numeric:tabular-nums;font-weight:500;
  border:0;background:transparent;color:var(--ink);width:100%;min-width:0;text-align:right;padding:2px 0}
.hdo-simulator .ln .ipt .u{font-size:12px;color:var(--ink-soft)}
.hdo-simulator .ln .ro{font-size:13.5px;font-weight:500;font-variant-numeric:tabular-nums;text-align:right;
  border-bottom:1px solid var(--line);padding:2px 0 2px;color:var(--ink-soft)}
.hdo-simulator .ln .der{font-size:12.5px;color:var(--ink-soft);text-align:right;font-variant-numeric:tabular-nums;padding-top:3px}
@media (max-width:620px){.hdo-simulator .ln{grid-template-columns:1fr 104px;}
.hdo-simulator .ln .der{grid-column:2;text-align:right}}
.hdo-simulator .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.hdo-simulator table{border-collapse:collapse;width:100%;min-width:620px;font-size:13.5px}
.hdo-simulator th,.hdo-simulator td{padding:7px 10px;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}
.hdo-simulator th:first-child,.hdo-simulator td:first-child{text-align:left;white-space:normal;min-width:200px}
.hdo-simulator thead th{font-size:12px;font-weight:600;color:var(--ink-soft);border-bottom:1px solid var(--line-strong)}
.hdo-simulator td{font-variant-numeric:tabular-nums}
.hdo-simulator tr.key td{font-weight:600;background:var(--hi);color:#fff;border-bottom-color:var(--hi)}
.hdo-simulator tr.total td{font-weight:600;background:var(--hi);color:#fff;border-top:1px solid var(--line-strong);
  border-bottom:1px solid var(--hi)}
.hdo-simulator tr.total td .neg{color:#ffd0c7}
.hdo-simulator tr.sub td:first-child{padding-left:24px;color:var(--ink-soft);font-weight:400}
.hdo-simulator .pos{color:inherit}
.hdo-simulator .neg{color:var(--neg)}
.hdo-simulator .answer{display:flex;flex-wrap:wrap;gap:24px 46px;align-items:flex-end;padding:2px 0 18px;
  border-bottom:1px solid var(--line);margin-bottom:6px}
.hdo-simulator .answer .big{font-family:"Poppins",sans-serif;color:var(--plum);font-size:clamp(32px,6.6vw,48px);
  line-height:1.05;font-weight:600;font-variant-numeric:tabular-nums}
.hdo-simulator .answer .big span{display:block;font-family:"Inter",sans-serif;font-size:13px;font-weight:400;
  color:var(--ink-soft);line-height:1.4;margin-top:8px;max-width:28ch}
.hdo-simulator .ebe5{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:18px 22px;width:100%}
.hdo-simulator .ebe5 .ex{display:block;font-size:12.5px;color:var(--ink-soft)}
.hdo-simulator .ebe5 .v{font-family:"Poppins",sans-serif;color:var(--plum);font-weight:600;line-height:1.1;
  font-size:clamp(23px,4vw,30px);font-variant-numeric:tabular-nums;display:block;margin-top:3px}
.hdo-simulator .ebe5 .tx{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:4px}
.hdo-simulator .ebe5 > div{border-top:2px solid var(--line-strong);padding-top:9px}
.hdo-simulator .ebe5 > div:first-child{border-top-color:var(--plum)}
.hdo-simulator .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(172px,1fr));gap:18px;margin-top:20px}
.hdo-simulator .kpi{border-top:2px solid var(--line-strong);padding-top:10px}
.hdo-simulator .kpi b{display:block;font-family:"Poppins",sans-serif;font-size:23px;font-weight:600;
  font-variant-numeric:tabular-nums;line-height:1.2;color:var(--ink)}
.hdo-simulator .kpi span{font-size:12.5px;color:var(--ink-soft)}
.hdo-simulator figure{margin:18px 0 0}
.hdo-simulator figure svg{width:100%;height:auto;display:block}
.hdo-simulator figcaption{font-size:12.5px;color:var(--ink-soft);margin-top:8px}
.hdo-simulator .legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-soft);margin:4px 0 10px}
.hdo-simulator .legend i{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:1px}
.hdo-simulator .steps{counter-reset:s;list-style:none;padding:0;margin:0}
.hdo-simulator .steps li{counter-increment:s;position:relative;padding-left:38px;margin-bottom:14px}
.hdo-simulator .steps li::before{content:counter(s);position:absolute;left:0;top:0;width:25px;height:25px;
  border:1px solid var(--line-strong);border-radius:50%;display:flex;align-items:center;
  justify-content:center;font-size:12.5px;color:var(--plum);font-weight:600}
.hdo-simulator .steps b{display:block}
.hdo-simulator button.ghost{font:inherit;cursor:pointer;background:transparent;color:var(--plum);
  border:1px solid var(--line-strong);padding:7px 13px;border-radius:2px}
.hdo-simulator button.ghost:hover{border-color:var(--plum)}
.hdo-simulator footer{margin-top:34px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-soft);
  font-size:12.5px;max-width:80ch}
.hdo-simulator footer p{margin:0 0 8px}
/* colonnes d'années */
.hdo-simulator .years{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 14px}
@media (max-width:780px){.hdo-simulator .years{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.hdo-simulator .years{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hdo-simulator .yr{min-width:0}
.hdo-simulator .yr .lab{display:block;font-size:12.5px;font-weight:600;color:var(--ink);
  border-top:2px solid var(--line-strong);padding-top:8px;margin-bottom:8px}
.hdo-simulator .yr:first-child .lab{border-top-color:var(--plum)}
.hdo-simulator .yr .box{display:flex;align-items:baseline;gap:4px;border:1px solid var(--line);
  background:var(--surface-2);padding:7px 9px}
.hdo-simulator .yr .box:focus-within{border-color:var(--plum);background:var(--surface)}
.hdo-simulator .yr input{font:inherit;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;
  border:0;background:transparent;color:var(--ink);width:100%;min-width:0;text-align:right;padding:0}
.hdo-simulator .yr input::-webkit-outer-spin-button,.hdo-simulator .yr input::-webkit-inner-spin-button{opacity:.3}
.hdo-simulator .yr .u{font-size:11.5px;color:var(--ink-soft);white-space:nowrap}
.hdo-simulator .yr .der{display:block;font-size:11.5px;color:var(--ink-soft);line-height:1.4;margin-top:7px}
.hdo-simulator .yr .fixed{display:block;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;
  padding:8px 0 0;color:var(--ink-soft)}
.hdo-simulator .swot{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:24px 44px}
.hdo-simulator .swot h3{font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  margin:0 0 14px;color:var(--plum)}
.hdo-simulator .swot .low h3{color:var(--neg)}
.hdo-simulator .swot ul{list-style:none;padding:0;margin:0}
.hdo-simulator .swot li{position:relative;padding-left:19px;margin:0 0 11px;font-size:14px;max-width:44ch}
.hdo-simulator .swot li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--plum)}
.hdo-simulator .swot .low li::before{background:var(--neg)}
/* frise des étapes */
.hdo-simulator .phases{counter-reset:step}
.hdo-simulator .ph{margin:0 0 34px}
.hdo-simulator .ph:last-child{margin-bottom:6px}
.hdo-simulator .ph-h{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;
  border-bottom:1px solid var(--line-strong);padding-bottom:9px;margin-bottom:4px}
.hdo-simulator .ph-h h3{font-family:"Poppins",sans-serif;font-size:20px;font-weight:600;
  margin:0;color:var(--ink);letter-spacing:0}
.hdo-simulator .ph-h .dur{font-size:12.5px;color:var(--plum);margin-left:auto}
.hdo-simulator .ph>.note{margin:10px 0 2px}
.hdo-simulator .tl{position:relative;list-style:none;margin:18px 0 0;padding:0 0 0 46px}
.hdo-simulator .tl::before{content:"";position:absolute;left:13px;top:4px;bottom:16px;width:1px;background:var(--line)}
.hdo-simulator .tl > li{position:relative;margin-bottom:22px}
.hdo-simulator .tl > li:last-child{margin-bottom:4px}
.hdo-simulator .tl > li::before{counter-increment:step;content:counter(step);position:absolute;left:-46px;top:-2px;
  width:27px;height:27px;border-radius:50%;background:var(--hi);border:1px solid var(--hi);
  display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;color:#fff}
.hdo-simulator .tl b{display:block;font-size:14.5px}
.hdo-simulator .tl p{margin:4px 0 0;font-size:13.5px;color:var(--ink-soft);max-width:66ch}
.hdo-simulator .tl .acc{margin-top:8px;font-size:13px;border-left:2px solid var(--hi);padding:2px 0 2px 11px;max-width:66ch}
.hdo-simulator .tl .acc em{font-style:normal;font-weight:600;color:var(--plum)}
.hdo-simulator .tl .day{margin:10px 0 0;padding:0;list-style:none;font-size:13px;color:var(--ink-soft);max-width:66ch}
.hdo-simulator .tl .day li{margin:0 0 6px;padding-left:0}
.hdo-simulator .tl .day li::before{content:none}
.hdo-simulator .tl .day span{color:var(--ink);font-weight:500}
@media print{.hdo-simulator{--bg:#fff;--surface:#fff;--surface-2:#f4eefa;--ink:#221033;--ink-soft:#5b4a6b;--line:#ddd0ea;
    --line-strong:#9a7fb8;--plum:#5e2886;--brass:#7c4fb0;--eau:#5e2886;--hi:#5e2886;--on-plum:#fff}
.hdo-simulator nav{position:static}
.hdo-simulator .tab{display:none}
.hdo-simulator section[role="tabpanel"][hidden]{display:block!important}
.hdo-simulator details{border:0}
.hdo-simulator .lines{display:block}}