/* Risk Hunter, site V7. Polices auto-hébergées (licence SIL OFL). Aucun appel externe. */
@font-face{font-family:"Instrument Sans";src:url("fonts/InstrumentSans-Variable.woff2") format("woff2");font-weight:400 700;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url("fonts/IBMPlexMono-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
html{scroll-behavior:smooth}
body{margin:0}
a{color:#117A3E}a:hover{color:#0C1D24}
@media (max-width: 880px){.rh-nav{display:none !important}}
@media (max-width: 440px){.rh-hide-sm{display:none !important}}
summary{min-height:44px;display:list-item}
:focus-visible{outline:2px solid #117A3E;outline-offset:2px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
.rh-mnav{display:none;position:relative}
.rh-mnav>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid #D6DDD8;border-radius:6px;font-weight:600;font-size:15px;color:#0C1D24}
.rh-mnav>summary::-webkit-details-marker{display:none}
.rh-mnav-panel{position:absolute;right:0;top:54px;background:#FFFFFF;border:1px solid #D6DDD8;border-radius:10px;padding:8px;min-width:250px;box-shadow:0 12px 32px rgba(15,36,34,.14);z-index:30;display:flex;flex-direction:column}
.rh-mnav-panel a{padding:12px 12px;border-radius:6px;color:#0C1D24;text-decoration:none;font-weight:500}
.rh-mnav-panel a:hover{background:#EDF1EE}
.rh-m-label{display:none}
.rh-annot{position:absolute;width:28px;height:28px;border-radius:50%;background:#0C1D24;color:#FFFFFF;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #FFFFFF}
@media (max-width: 880px){.rh-mnav{display:block}.rh-cmp-row{grid-template-columns:1fr !important;gap:2px !important}.rh-cmp-head{display:none !important}.rh-m-label{display:block;font-size:12px;font-weight:700;color:#4E5F5C;margin-top:10px}}
input,select{font:inherit}
.rh-legal h1{font-family:"Instrument Sans",Inter,sans-serif;font-size:clamp(32px,5vw,44px);line-height:1.1;letter-spacing:-0.02em;margin:8px 0 24px}
.rh-legal h2{font-family:"Instrument Sans",Inter,sans-serif;font-size:22px;margin:36px 0 10px}
.rh-legal .todo{background:#FCEFC7;color:#7A4F00;padding:0 4px;border-radius:3px}
section[id]{scroll-margin-top:84px}
.rh-tabs{display:flex;flex-wrap:wrap;gap:4px;background:rgba(12,29,36,.06);padding:4px;border-radius:8px;width:fit-content;max-width:100%;margin:0 0 18px;box-sizing:border-box}
.rh-tabs label{position:relative;display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:6px;font-size:14.5px;font-weight:600;color:#4E5F5C;cursor:pointer}
.rh-tabs input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.rh-tabs label:has(input:checked){background:#FFFFFF;color:#0C1D24;box-shadow:0 1px 3px rgba(6,22,29,.14)}
.rh-tabs label:has(input:focus-visible){outline:2px solid #117A3E;outline-offset:2px}
.rh-p{display:none}
.rh-case:has(input[value="steps"]:checked) .rh-p-steps,.rh-case:has(input[value="screen"]:checked) .rh-p-screen,.rh-case:has(input[value="scenario"]:checked) .rh-p-scenario{display:block}
.rh-skip{position:absolute;left:-9999px;top:0}.rh-skip:focus{left:12px;top:12px;background:#fff;color:#0C1D24;padding:8px 12px;z-index:10}
.rh-explore{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:14px;font-weight:700;color:#117A3E}
.rh-tabs{display:flex;flex-wrap:wrap;gap:8px;background:transparent;padding:0;margin:0 0 20px;max-width:100%}
.rh-tabs label{background:#FFFFFF;color:#0C1D24;border:1px solid rgba(17,122,62,.45);border-radius:999px;padding:0 16px;min-height:42px}
.rh-tabs label:has(input:checked){background:#0C1D24;color:#FFFFFF;border-color:#0C1D24;box-shadow:none}
.rh-tabs label:hover{border-color:#117A3E}
.rh-case .rh-tabs label:not(:has(input:checked)){animation:rh-pulse 2.4s ease-in-out 3}
.rh-case:has(input[value="screen"]:checked) .rh-tabs label,.rh-case:has(input[value="scenario"]:checked) .rh-tabs label{animation:none}
@keyframes rh-pulse{0%,100%{box-shadow:0 0 0 0 rgba(89,242,123,0)}50%{box-shadow:0 0 0 4px rgba(89,242,123,.45),0 0 18px rgba(89,242,123,.6)}}
.rh-hero .rh-tabs{margin:0 0 14px}
.rh-hero .rh-tabs label{min-height:38px;font-size:14px;padding:0 14px}
.rh-rot{display:grid}
.rh-rot>.rh-s{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .35s ease}
.rh-rot>.s1{opacity:1;visibility:visible}
.rh-hero:has(#hero-s2:checked) .rh-rot>.s1,.rh-hero:has(#hero-s3:checked) .rh-rot>.s1,.rh-hero:has(#hero-s4:checked) .rh-rot>.s1{opacity:0;visibility:hidden}
.rh-hero:has(#hero-s2:checked) .rh-rot>.s2,.rh-hero:has(#hero-s3:checked) .rh-rot>.s3,.rh-hero:has(#hero-s4:checked) .rh-rot>.s4{opacity:1;visibility:visible}
@media (prefers-reduced-motion: reduce){.rh-tabs label{animation:none !important}.rh-rot>.rh-s{transition:none}}
/* Surlignage de preuve : se dessine une fois */
.rh-hl{background-repeat:no-repeat !important}
@keyframes rh-draw{from{background-size:0% 100%}to{background-size:100% 100%}}
.rh-hl-now{animation:rh-draw 1s cubic-bezier(.2,.7,.2,1) .35s both}
@supports (animation-timeline: view()){
 .rh-hl-scroll{animation:rh-draw linear both;animation-timeline:view();animation-range:entry 15% cover 40%}
 .rh-seg{animation:rh-reveal linear both;animation-timeline:view()}
 .rh-seg:nth-child(1){animation-range:entry 5% cover 28%}
 .rh-seg:nth-child(2){animation-range:entry 12% cover 34%}
 .rh-seg:nth-child(3){animation-range:entry 19% cover 40%}
 .rh-seg:nth-child(4){animation-range:entry 26% cover 46%}
 .rh-seg:nth-child(5){animation-range:entry 33% cover 52%}
 .rh-seg:nth-child(6){animation-range:entry 40% cover 58%}
}
@keyframes rh-reveal{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0 0 0 0);opacity:1}}
/* Réactions au survol */
.rh-seg{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease}
.rh-seg:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(6,22,29,.14);filter:saturate(1.1)}
#cas a{transition:background-color .2s ease,padding .2s ease;border-radius:8px}
#cas a:hover{background:#F6F8F5;padding-left:12px;padding-right:12px}
#cas a:hover > div:first-child p:last-child{color:#117A3E}
#livrables figure,#livrables h3{transition:transform .25s ease,box-shadow .25s ease}
#livrables figure:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(6,22,29,.14)}
#fonctionnement [style*="border-top"]{transition:border-color .2s ease,transform .2s ease}
#fonctionnement [style*="border-top"]:hover{border-top-color:#59F27B !important;transform:translateY(-2px)}
#confiance [style*="border-radius: 12px"]{transition:transform .25s ease,box-shadow .25s ease}
#confiance [style*="border-radius: 12px"]:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(6,22,29,.12)}
#ecosysteme span[style*="border-radius: 999px"]{transition:border-color .2s ease,color .2s ease}
#ecosysteme span[style*="border-radius: 999px"]:hover{border-color:#117A3E !important;color:#117A3E}
#video a[href*="youtube"]{transition:background-color .2s ease}
#video a[href*="&t="]:hover{background:rgba(89,242,123,.06)}
#video a[href*="youtube"]:not([href*="&t="]):hover{filter:brightness(1.06)}
#faq summary{transition:color .2s ease}#faq summary:hover{color:#117A3E}
@media (prefers-reduced-motion: reduce){.rh-hl-now,.rh-hl-scroll,.rh-seg{animation:none !important}.rh-seg:hover,#livrables figure:hover,#fonctionnement [style*="border-top"]:hover,#confiance [style*="border-radius: 12px"]:hover{transform:none}}
@media (min-width: 900px){#temps div[style*="overflow-x: auto"]{overflow:visible !important}#temps div[style*="min-width: 680px"]{min-width:0 !important}}
.rh-casebtn{transition:background-color .2s ease,transform .2s ease}
#cas a:hover .rh-casebtn{background:#0C5A2E !important;transform:translateX(4px)}
#cas a:hover .rh-casebtn svg{transform:translateX(2px)}
#difference details summary:hover{color:#0C1D24}
.rh-cta-inline{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;margin-top:40px;padding:22px 26px;border-radius:12px;background:#FFFFFF;border:1px solid #D6DDD8}
.rh-cta-inline.dark{background:rgba(255,255,255,.06);border-color:#2B4A45}
.rh-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#117A3E;color:#FFFFFF !important;text-decoration:none;font-weight:600;font-size:15.5px;padding:12px 20px;border-radius:6px;min-height:46px;box-sizing:border-box;transition:background-color .2s ease,transform .2s ease}
.rh-cta-btn:hover{background:#0C5A2E;transform:translateX(3px)}
.rh-cta-inline.dark .rh-cta-btn{background:#59F27B;color:#06161D !important}
.rh-cta-inline.dark .rh-cta-btn:hover{background:#7DF59A}
.rh-sticky-cta{display:none}
@media (max-width: 700px){.rh-sticky-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:50;justify-content:center;align-items:center;min-height:52px;background:#117A3E;color:#FFFFFF;font-weight:600;font-size:16px;border-radius:8px;box-shadow:0 8px 24px rgba(6,22,29,.28);text-decoration:none}footer{padding-bottom:76px}#contact{padding-bottom:40px}}
@media (prefers-reduced-motion: reduce){.rh-cta-btn:hover{transform:none}}
.rh-case:has(input[value="video"]:checked) .rh-p-video{display:block}
.rh-case:has(input[value="video"]:checked) .rh-tabs label{animation:none}
@media (prefers-reduced-motion: reduce){.rh-hero .rh-tabs label{animation:none !important}}
.rh-zoom{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:20px;box-sizing:border-box}
.rh-zoom:target{display:flex}
.rh-zoom-bg{position:absolute;inset:0;background:rgba(6,22,29,.84)}
.rh-zoom figure{position:relative;margin:0;max-width:min(1200px,96vw);max-height:90vh;overflow:auto;background:#FFFFFF;border-radius:12px;padding:14px;box-sizing:border-box;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.rh-zoom img{display:block;max-width:100%;height:auto;border-radius:6px}
.rh-zoom figcaption{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:12px;font-size:14px;color:#4E5F5C}
.rh-zoom-close{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:6px;background:#0C1D24;color:#FFFFFF !important;text-decoration:none;font-weight:600}
@media (max-width: 600px){.rh-p-scenario article{padding:18px !important;gap:10px !important}.rh-p-scenario article > p:last-of-type{display:none}.rh-p-scenario article ol li{padding:7px 0 !important}}
.rh-logo{transition:border-color .2s ease,color .2s ease}
.rh-logo:hover{border-color:#117A3E;color:#0C1D24}
@media (max-width: 520px){#ecosysteme [style*="grid-column: span 2"]{grid-column:auto !important}}
/* Hero : captures qui défilent seules, choix au clic */
@keyframes rh-cycle{0%{opacity:0;visibility:visible}2%{opacity:1;visibility:visible}23%{opacity:1;visibility:visible}25%{opacity:0;visibility:hidden}100%{opacity:0;visibility:hidden}}
@keyframes rh-pill{0%,24%{background:#0C1D24;color:#FFFFFF;border-color:#0C1D24}25%,100%{background:#FFFFFF;color:#0C1D24;border-color:rgba(17,122,62,.45)}}
.rh-shots .rh-rot>.rh-s{animation:rh-cycle 24s linear infinite}
.rh-shots .rh-rot>.s1{animation-delay:-0.48s}.rh-shots .rh-rot>.s2{animation-delay:5.52s}.rh-shots .rh-rot>.s3{animation-delay:11.52s}.rh-shots .rh-rot>.s4{animation-delay:17.52s}
.rh-shots .rh-tabs label{animation:rh-pill 24s linear infinite}
.rh-shots .rh-tabs label:nth-child(1){animation-delay:-0.48s}.rh-shots .rh-tabs label:nth-child(2){animation-delay:5.52s}.rh-shots .rh-tabs label:nth-child(3){animation-delay:11.52s}.rh-shots .rh-tabs label:nth-child(4){animation-delay:17.52s}
.rh-shots:hover .rh-rot>.rh-s,.rh-shots:hover .rh-tabs label,.rh-shots:focus-within .rh-rot>.rh-s,.rh-shots:focus-within .rh-tabs label{animation-play-state:paused}
.rh-shots:has(input[name="hero-vue"]:checked) .rh-rot>.rh-s,.rh-shots:has(input[name="hero-vue"]:checked) .rh-tabs label{animation:none}
.rh-shots .rh-auto{display:inline-flex;align-items:center;gap:6px;font-weight:500;color:#4E5F5C}
.rh-shots .rh-auto i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#59F27B;box-shadow:0 0 0 3px rgba(89,242,123,.25)}
.rh-shots:has(input[name="hero-vue"]:checked) .rh-auto{display:none}
@media (prefers-reduced-motion: reduce){.rh-shots .rh-rot>.rh-s,.rh-shots .rh-tabs label{animation:none !important}.rh-shots:not(:has(input[name="hero-vue"]:checked)) .rh-tabs label:first-child{background:#0C1D24;color:#FFFFFF;border-color:#0C1D24}.rh-shots .rh-auto{display:none}}
.rh-live{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-family:'IBM Plex Mono',monospace;font-size:13px;color:#C7D8D2;border:1px solid #2B4A45;border-radius:999px;padding:7px 14px;background:rgba(255,255,255,.04)}
.rh-live i{position:relative;width:8px;height:8px;border-radius:50%;background:#59F27B;flex:0 0 8px}
.rh-live i::after{content:"";position:absolute;inset:0;border-radius:50%;background:#59F27B;animation:rh-ping 2.4s ease-out infinite}
@keyframes rh-ping{0%{transform:scale(1);opacity:.6}80%,100%{transform:scale(3);opacity:0}}
@media (prefers-reduced-motion: reduce){.rh-live i::after{animation:none;display:none}}
