/* thementor.pl — style. Czcionki: Newsreader, Inter, IBM Plex Mono, Outfit (Google Fonts, link w index.html) */
body{margin:0}
a{color:#191970}a:hover{color:#212529}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee{animation:marquee 55s linear infinite}
.marquee:hover{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.marquee{animation:none}}
a{transition:color .2s ease}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #fb5607;outline-offset:3px}
input:focus,textarea:focus{outline:2px solid #fb5607;outline-offset:1px}
.btn-primary{display:inline-block;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn-primary::after{content:"→";display:inline-block;margin-left:10px;transition:transform .2s ease}
.btn-primary:hover{background:#FFFFFF!important;color:#191970!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.btn-primary:hover::after{transform:translateX(5px)}
.btn-primary:active{transform:translateY(0);box-shadow:none}
.btn-ghost{display:inline-block;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.btn-ghost:hover{background:#FFFFFF!important;color:#191970!important;border-color:#FFFFFF!important;transform:translateY(-2px)}
.btn-dark{display:inline-block;transition:background .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.btn-dark::after{content:"→";display:inline-block;margin-left:10px;transition:transform .2s ease}
.btn-dark:hover{background:#FFFFFF!important;color:#212529!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25)}
.btn-dark:hover::after{transform:translateX(5px)}
.btn-submit{transition:background .2s ease,color .2s ease,transform .2s ease}
.btn-submit:hover{background:#fb5607!important;color:#212529!important;transform:translateY(-2px)}
header nav a:not(.btn-primary){position:relative;transition:color .2s ease}
header nav a:not(.btn-primary)::after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:#fb5607;transition:width .25s ease}
header nav a:not(.btn-primary):hover{color:#FFFFFF!important}
header nav a:not(.btn-primary):hover::after{width:100%}
.tiles>a{transition:transform .3s ease,box-shadow .3s ease}
.tiles>a:hover{transform:translateY(-8px);box-shadow:0 22px 40px rgba(25,25,112,.22)}
@keyframes leverfill{from{width:0}to{width:100%}}
.lever-btn{transition:background .2s ease,padding-left .25s ease}
.lever-btn:hover{box-shadow:inset 0 0 0 100px rgba(25,25,112,.08);padding-left:34px!important}
.std-btn{transition:background .2s ease,padding-left .25s ease}
.std-btn:hover{background:rgba(25,25,112,.06)!important;padding-left:14px!important}
summary{transition:color .2s ease,padding-left .25s ease}
summary:hover{color:#191970;padding-left:10px}
@keyframes sign{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}
.sig{animation:sign 2.8s ease-out 0.4s 1 both}
.cover{transition:transform .4s ease,box-shadow .4s ease}
.cover:hover{transform:rotate(0deg) scale(1.05)!important;box-shadow:0 36px 64px rgba(0,0,0,.5)!important}
.tiles>a{position:relative;overflow:hidden}
.tiles .g{position:absolute;right:18px;top:50px;width:210px;height:126px;pointer-events:none}
.tiles .g *{transform-box:fill-box;transform-origin:center}
.tiles>a:hover .g{transform:scale(1.06)}
.tiles .g{transition:transform .4s ease}
@keyframes sweep{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.7);opacity:.45}}
@keyframes ping{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.6);opacity:0}}
@keyframes flow{to{stroke-dashoffset:-16}}
@keyframes travel{0%{transform:translateX(0)}100%{transform:translateX(140px)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-34px)}}
@keyframes grow{0%,10%{transform:scaleY(0)}30%,80%{transform:scaleY(1)}100%{transform:scaleY(0)}}
@keyframes hop{0%,10%{transform:translate(0,0)}30%,80%{transform:translate(0,-8px)}100%{transform:translate(0,0)}}
.fx-sweep{animation:sweep 4s linear infinite}
.fx-pulse{animation:pulse 1.8s ease-in-out infinite}
.fx-ping{animation:ping 1.8s ease-out infinite}
.fx-flow{stroke-dasharray:4 4;animation:flow .8s linear infinite}
.fx-travel{animation:travel 3s ease-in-out infinite alternate}
.fx-bob{animation:bob 1.6s ease-in-out infinite}
.fx-grow{transform-origin:50% 100%!important;animation:grow 4.4s ease-in-out infinite}
.fx-hop{animation:hop 4.4s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){*{transition:none!important}.sig{animation:none!important}.g *{animation:none!important}}

/* --- stany interaktywne (sekcje 02 i 03) --- */
.std-panel{grid-area:1/1;display:flex;flex-direction:column;gap:8px;visibility:hidden;transition:visibility 0s linear .25s}
.std-panel>*{opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease}
.std-panel.on{visibility:visible;transition-delay:0s}
.std-panel.on>*{opacity:1;transform:none;transition-duration:.5s}
.std-panel.on>:nth-child(1){transition-delay:.2s}.std-panel.on>:nth-child(2){transition-delay:.28s}.std-panel.on>:nth-child(3){transition-delay:.36s}
.std-arrow{transition:transform .45s ease}
.std-row.open .std-arrow{transform:rotate(90deg)}
.std-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .45s ease,opacity .45s ease}
.std-row.open .std-body{grid-template-rows:1fr;opacity:1}
.std-inner{overflow:hidden;min-height:0;visibility:hidden;transition:visibility 0s linear .45s}
.std-row.open .std-inner{visibility:visible;transition-delay:0s}
.lv-btn{background:#FFFFFF;color:#212529;transition:background .45s ease,color .45s ease,padding-left .25s ease}
.lv-btn .lv-n{color:#495057;transition:color .45s ease}
.lv-btn.on{background:#191970;color:#FFFFFF}
.lv-btn.on .lv-n{color:#fb5607}
.lv-btn.on .lv-bar{animation:leverfill 3.5s linear forwards}
.lv-stop .lv-btn .lv-bar{animation:none!important}
.lv-panel{visibility:hidden;transition:visibility 0s linear .35s}
.lv-panel.on{visibility:visible;transition-delay:0s}
.lv-big{opacity:0;transform:translateX(60px);transition:opacity .7s ease,transform .9s ease}
.lv-a,.lv-b,.lv-c{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.lv-d{opacity:0;transition:opacity .5s ease}
.lv-panel.on .lv-big{opacity:1;transform:none;transition-delay:.05s}
.lv-panel.on .lv-a,.lv-panel.on .lv-b,.lv-panel.on .lv-c{opacity:1;transform:none}
.lv-panel.on .lv-a{transition-delay:.1s}.lv-panel.on .lv-b{transition-delay:.2s}.lv-panel.on .lv-c,.lv-panel.on .lv-d{transition-delay:.32s}
.lv-panel.on .lv-d{opacity:1}
@media (prefers-reduced-motion: reduce){.lv-btn.on .lv-bar{animation:none}}
.js .sig{clip-path:inset(0 100% 0 0);animation:none}
.js .sig.draw{animation:sign 2.8s ease-out .2s 1 both}
@media (prefers-reduced-motion: reduce){.js .sig{clip-path:none}}
