/* ESG-LIVE-1 (21.10.2026): motion + small interactions for every guide page. Pure CSS/JS, no external libraries. */
.lv-prog{position:fixed;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold,#c8962c),#f59e0b);z-index:9999;transition:width .1s linear;box-shadow:0 0 8px rgba(245,158,11,.5)}
.lv-rt{display:inline-flex;align-items:center;gap:6px;margin-left:10px;padding:2px 10px;border-radius:999px;background:rgba(200,150,44,.12);color:var(--fg,#14213d);font-size:13px;font-weight:600;white-space:nowrap}
.lv-rt::before{content:"";width:8px;height:8px;border-radius:50%;background:#f59e0b;animation:lvPulse 1.8s ease-in-out infinite}
@keyframes lvPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.6);opacity:.45}}
.lv-in{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.lv-in.lv-on{opacity:1;transform:none}
.lv-left{opacity:0;transform:translateX(-26px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.lv-left.lv-on{opacity:1;transform:none}
.lv-pop{opacity:0;transform:scale(.92);transition:opacity .5s ease,transform .5s cubic-bezier(.3,1.4,.4,1)}
.lv-pop.lv-on{opacity:1;transform:none}
.lead-img{overflow:hidden;border-radius:12px}
.lead-img img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1);transform:scale(1.06)}
.lead-img.lv-on img{transform:scale(1)}
.lead-img:hover img{transform:scale(1.035)}
.answer{position:relative;overflow:hidden}
.answer::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(245,158,11,.14) 50%,transparent 70%);transform:translateX(-100%)}
.answer.lv-on::after{animation:lvShine 1.4s .3s ease forwards}
@keyframes lvShine{to{transform:translateX(100%)}}
.steps{position:relative}
.steps li{transition:opacity .5s ease,transform .5s ease}
.steps li.lv-step{opacity:0;transform:translateX(-18px)}
.steps li.lv-step.lv-on{opacity:1;transform:none}
.stats>div{transition:transform .25s ease}
.stats>div:hover{transform:translateY(-4px)}
.crows a,.cgrid a,.esgp-grid a,.dl,.rel a{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.crows a:hover,.cgrid a:hover,.esgp-grid a:hover,.dl:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(20,33,61,.12)}
.faq details>div{animation:lvOpen .35s ease}
@keyframes lvOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq summary{transition:color .2s ease}
.faq summary:hover{color:var(--gold,#b45309)}
.esgp-btn{transition:transform .2s ease,box-shadow .2s ease}
.esgp-btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(217,119,6,.35)}
.esgp-strip .esgp-btn{animation:lvNudge 3.2s 2s ease-in-out infinite}
@keyframes lvNudge{0%,86%,100%{transform:none}90%{transform:translateX(4px)}94%{transform:translateX(-2px)}}
.lv-top{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:46px;height:46px;border-radius:50%;border:0;background:var(--navy,#14213d);color:#fff;font-size:20px;
 box-shadow:0 8px 20px rgba(0,0,0,.25);cursor:pointer;opacity:0;transform:translateY(16px) scale(.9);transition:opacity .3s,transform .3s;z-index:900}
.lv-top.lv-show{opacity:1;transform:none}
.lv-toc-on{color:var(--gold,#b45309)!important;font-weight:700}
@media (prefers-reduced-motion:reduce){.lv-in,.lv-left,.lv-pop,.steps li.lv-step{opacity:1!important;transform:none!important;transition:none!important}.lead-img img{transform:none!important}.answer::after,.esgp-strip .esgp-btn,.lv-rt::before{animation:none!important}}
