/* ===== ISIRA® — animations du site public (www.isira.fr et page de vente app.isira.fr) ===== */
:root{--ia-green:#61CE70;--ia-teal:#028090;--ia-deep:#114B5F}
/* Barre de progression de lecture */
.ia-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,#61CE70,#028090);z-index:9999;pointer-events:none}
/* En-tête qui se réduit */
.site-header,nav.top{transition:box-shadow .35s,background .35s}
.site-header .inner,nav.top .inner{transition:height .35s ease}
.ia-scrolled.site-header,.ia-scrolled.top{box-shadow:0 10px 30px -18px rgba(17,75,95,.45)}
.ia-scrolled.site-header .inner{height:60px!important}
.ia-scrolled.top .inner{height:60px!important}
/* Logo : les points apparaissent en couronnes, puis respirent au survol */
.ia-logo circle{transform-box:fill-box;transform-origin:center;animation:iaDot .7s cubic-bezier(.3,1.6,.5,1) both}
.brand:hover .ia-logo circle{animation:iaPulse 1.1s ease both}
@keyframes iaDot{from{transform:scale(0);opacity:0}}
@keyframes iaPulse{40%{transform:scale(1.45)}}
/* Liens du menu : soulignement qui glisse */
.site-header nav a,.site-header .menu a{position:relative}
.site-header nav a::after,.site-header .menu a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--ia-green);transform:scaleX(0);transform-origin:right;transition:transform .35s ease}
.site-header nav a:hover::after,.site-header .menu a:hover::after{transform:scaleX(1);transform-origin:left}
/* Titre principal : les mots montent derrière un masque */
.ia-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.ia-w>span{display:inline-block;transform:translateY(105%);animation:iaUp .9s cubic-bezier(.2,.75,.2,1) forwards;animation-delay:calc(.15s + var(--k) * 70ms)}
@keyframes iaUp{to{transform:none}}
/* Apparitions au défilement */
.ia-rv{opacity:0;transform:translateY(40px);transition:opacity .65s ease,transform .75s cubic-bezier(.16,.84,.3,1);transition-delay:calc(var(--k,0) * 90ms)}
.ia-rv.ia-left{transform:translateX(-60px)}.ia-rv.ia-right{transform:translateX(60px)}.ia-rv.ia-up{transform:translateY(50px)}
.ia-rv.ia-zoom{transform:scale(.94)}
.ia-in{opacity:1!important;transform:none!important}
/* Titres de section : trait vert qui se dessine dessous */
.ia-h2{position:relative}
.ia-h2::after{content:"";display:block;height:4px;width:64px;border-radius:4px;margin:16px auto 0;background:linear-gradient(90deg,#61CE70,#028090);transform:scaleX(0);transition:transform .9s cubic-bezier(.2,.8,.2,1) .35s}
.ia-h2.ia-in::after{transform:scaleX(1)}
.ia-h2.ia-start::after{margin-left:0;transform-origin:left}
/* Mots surlignés (em, .hl) : surligneur qui balaie */
.ia-mark{background:linear-gradient(transparent 62%,rgba(97,206,112,.35) 62%) no-repeat 0 0/0 100%;transition:background-size 1.1s cubic-bezier(.2,.8,.2,1) .6s}
.ia-in .ia-mark,.ia-mark.ia-in{background-size:100% 100%}
/* Cartes : survol vivant */
.is-card,.card,.e-card,.step,.offer,.price,.trust-item{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,border-color .35s}
.is-card.ia-in:hover,.card.ia-in:hover,.e-card.ia-in:hover,.step.ia-in:hover,.offer.ia-in:hover{transform:translateY(-8px)!important;box-shadow:0 28px 50px -28px rgba(17,75,95,.45);border-color:rgba(97,206,112,.55)}
.is-card .is-icon,.is-card .is-avatar,.step .n{transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.is-card:hover .is-icon,.is-card:hover .is-avatar{transform:rotate(-8deg) scale(1.12)}
.step:hover .n{transform:scale(1.15) rotate(8deg)}
.is-avatar.ia-pop,.step .n.ia-pop{animation:iaPop .6s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(.25s + var(--k,0) * 110ms)}
@keyframes iaPop{from{transform:scale(0)}}
/* Halo qui suit la souris dans les cartes */
.ia-glow{position:relative;overflow:hidden}
.ia-glow::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(260px circle at var(--mx,-300px) var(--my,-300px),rgba(97,206,112,.13),transparent 65%);opacity:0;transition:opacity .3s;border-radius:inherit}
.ia-glow:hover::before{opacity:1}
.ia-glow>*{position:relative}
/* Boutons verts : reflet périodique + flèche qui avance */
.ia-shine{position:relative;overflow:hidden;isolation:isolate}
.ia-shine::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-70%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:iaShine 6s ease-in-out 2s infinite;pointer-events:none}
@keyframes iaShine{0%,80%{left:-70%}100%{left:130%}}
.ia-arrow{display:inline-block;transition:transform .3s}
a:hover>.ia-arrow,button:hover>.ia-arrow,a:hover .ia-arrow,button:hover .ia-arrow{transform:translateX(5px)}
/* Bandeaux d'appel : fond qui ondule lentement */
.is-cta,.final,.is-dark,.entropy{background-size:160% 160%!important;animation:iaDrift 16s ease-in-out infinite alternate}
@keyframes iaDrift{to{background-position:100% 60%}}
/* Échelle des zones (accueil) : les zones s'allument une à une, un repère glisse */
.is-zones{position:relative}
.is-zone.ia-zone{opacity:0;transform:scaleY(.6);transform-origin:bottom;transition:opacity .5s,transform .6s cubic-bezier(.3,1.5,.5,1);transition-delay:calc(var(--k) * 260ms)}
.is-zones.ia-in .is-zone.ia-zone{opacity:1;transform:none}
.ia-cursor{position:absolute;top:-16px;left:0;width:0;height:0;border:9px solid transparent;border-top:12px solid var(--ia-deep);transform:translateX(-50%);transition:left 2.4s cubic-bezier(.45,0,.2,1) .4s;filter:drop-shadow(0 4px 4px rgba(0,0,0,.2))}
.is-zones.ia-in .ia-cursor{left:var(--to,37%)}
/* Jauge de la page de vente : arcs dessinés, aiguille qui se place */
.gauge-svg path{stroke-dasharray:200;stroke-dashoffset:200;animation:iaDraw .7s ease forwards;animation-delay:calc(.3s + var(--k) * .22s)}
@keyframes iaDraw{to{stroke-dashoffset:0}}
.gauge-svg .ia-needle{transform-origin:150px 150px;animation:iaNeedle 1.8s cubic-bezier(.3,1.4,.5,1) 1.2s both}
@keyframes iaNeedle{from{transform:rotate(-80deg)}}
.score-card{animation:iaFloat 6s ease-in-out 2.4s infinite}
@keyframes iaFloat{50%{transform:translateY(-8px)}}
.sc-zone{animation:iaPop .6s cubic-bezier(.3,1.6,.5,1) 2.2s both}
/* Étapes : ligne qui relie les numéros */
.steps{position:relative}
.ia-steps-line{position:absolute;left:12%;right:12%;top:46px;height:3px;border-radius:3px;background:linear-gradient(90deg,#61CE70,#028090);transform:scaleX(0);transform-origin:left;transition:transform 1.6s cubic-bezier(.4,0,.2,1) .2s;z-index:0}
.steps.ia-in .ia-steps-line{transform:scaleX(1)}
.step{z-index:1}
/* Offre recommandée : bordure lumineuse qui tourne */
@property --ia-a{syntax:'<angle>';initial-value:0deg;inherits:false}
.offer.feat{border-color:transparent!important;background:linear-gradient(180deg,#fff,#f3fbf4) padding-box,conic-gradient(from var(--ia-a),#61CE70,#028090,#bff0c7,#61CE70) border-box!important;animation:iaRing 5s linear infinite}
@keyframes iaRing{to{--ia-a:360deg}}
/* FAQ : ouverture douce */
.faq details{transition:background .3s}
.faq details .a{overflow:hidden}
.faq summary{transition:color .2s}
.faq summary:hover{color:var(--ia-teal)}
/* Citation : les mots s'allument un à un */
.ia-quote .ia-qw{opacity:.12;transition:opacity .5s;transition-delay:calc(var(--k) * 60ms)}
.ia-quote.ia-in .ia-qw{opacity:1}
/* Compteurs */
.ia-count{font-variant-numeric:tabular-nums}
/* Animation B (entropie → cohérence) en fond de bandeau */
.ia-b{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.9}
.ia-b-host{position:relative;overflow:hidden}
.ia-b-host>*:not(.ia-b){position:relative;z-index:1}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .ia-rv,.is-zone.ia-zone{opacity:1!important;transform:none!important}.ia-w>span{transform:none}.ia-quote .ia-qw{opacity:1}.ia-b{display:none}
}
.ia-mark{box-decoration-break:clone;-webkit-box-decoration-break:clone}h1 em.ia-mark{width:fit-content;margin-left:auto;margin-right:auto}

/* Tarifs : pas de halo, survol discret */
.offer.ia-in:hover{transform:translateY(-4px)!important;box-shadow:0 22px 40px -28px rgba(17,75,95,.4);border-color:var(--border)}
.offer.feat.ia-in:hover{border-color:transparent}
/* Section « entropie → cohérence » */
.ia-show{height:300vh;background:#0c3442;position:relative}
.ia-show-in{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;--ia-head:0px}
.ia-show canvas{position:absolute;inset:0;width:100%;height:100%}
.ia-show-cap{position:absolute;left:0;right:0;top:calc(var(--ia-head) + clamp(18px,4.5vh,48px));text-align:center;color:#fff;padding:0 20px;pointer-events:none}
.ia-show-eb{font-size:clamp(10px,1.4vh,12px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#61CE70}
.ia-show-cap h2{color:#fff;font-size:clamp(22px,min(4vw,5vh),46px);margin:clamp(4px,1vh,10px) 0 0;font-family:Montserrat,system-ui,sans-serif;line-height:1.15}
.ia-show-g{position:absolute;left:50%;bottom:clamp(14px,4vh,44px);transform:translateX(-50%);width:min(560px,90vw);text-align:center}
.ia-show-hint{color:#a9c9d0;font-size:clamp(12px,1.7vh,15px);margin:0 0 clamp(8px,1.4vh,14px)}
.ia-show-box{text-align:left;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:clamp(10px,1.8vh,16px) 20px;backdrop-filter:blur(6px)}
.ia-show-top{display:flex;align-items:center;gap:12px;color:#cfe3e8;font-size:13px;font-weight:600;margin-bottom:clamp(6px,1vh,10px)}
.ia-show-top b{font:800 clamp(24px,3.6vh,34px)/1 Montserrat,system-ui,sans-serif;margin-left:auto;transition:color .2s}
.ia-show-top em{font-style:normal;font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px}
.ia-show-bar{height:clamp(10px,1.5vh,14px);border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}
.ia-show-bar i{display:block;height:100%;width:100%;border-radius:999px;background:#d0453e;transition:width .12s linear}
.ia-show-lab{display:flex;justify-content:space-between;font-size:11px;color:#8fb7c0;margin-top:clamp(4px,.8vh,8px)}
@media (max-width:520px){.ia-show-lab{font-size:10px}.ia-show-top{font-size:12px}}
@media (prefers-reduced-motion:reduce){.ia-show{height:auto}.ia-show-in{position:relative}}
/* Logo de l'en-tête un peu plus grand */
.site-header .brand svg{height:52px!important;transition:height .35s ease}
.ia-scrolled.site-header .brand svg{height:44px!important}
@media (max-width:900px){.site-header .brand svg{height:42px!important}.ia-scrolled.site-header .brand svg{height:38px!important}}
/* Pas de défilement horizontal (éléments qui entrent par la gauche ou la droite) */
html{overflow-x:visible}
body{overflow-x:clip}
@media (max-width:820px){.ia-rv.ia-left,.ia-rv.ia-right{transform:translateY(40px)}}
/* Sous-menu de page : section en cours + menu déroulant sur mobile */
.is-toc a.ia-toc-on{background:rgba(255,255,255,.16)}
.ia-toc-btn{display:none}
@media (max-width:820px){
 .is-toc{padding:0 16px!important}
 .ia-toc-btn{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;color:#fff;padding:13px 0;font:700 14px Montserrat,system-ui,sans-serif;cursor:pointer;text-align:left}
 .ia-toc-k{font:600 11px system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#9fd8ad;flex-shrink:0}
 .ia-toc-cur{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .ia-toc-btn i{width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);margin:-4px 4px 0 0;transition:transform .25s}
 .ia-toc-open .ia-toc-btn i{transform:rotate(-135deg);margin-top:4px}
 .is-toc p{display:none!important;flex-direction:column;flex-wrap:nowrap!important;overflow:visible!important;white-space:normal!important;gap:2px!important;padding:0 0 12px!important}
 .is-toc.ia-toc-open p{display:flex!important;animation:iaTocIn .25s ease}
 .is-toc a{display:block;padding:11px 12px!important;font-size:15px!important}
}
@keyframes iaTocIn{from{opacity:0;transform:translateY(-6px)}}
/* En-tête : tout tient sur les petits écrans */
@media (max-width:420px){
 .site-header .inner{gap:10px!important;padding-left:14px!important;padding-right:14px!important}
 .site-header .brand svg,.ia-scrolled.site-header .brand svg{height:34px!important}
 .site-header .header-actions{gap:6px!important}
 .site-header .header-actions .btn,.site-header .header-actions a.btn-green,.site-header .header-actions .wp-block-button__link{padding:9px 13px!important;font-size:13px!important}
}
