/* WL Web Design 2.1 — szeroki układ, typografia, stopka, globalne animacje. */
:root{--wl21-gutter:clamp(18px,3.2vw,76px);--wl21-max:1880px;--wl21-ease:cubic-bezier(.22,1,.36,1)}
.wl-container{width:min(calc(100% - var(--wl21-gutter)*2),var(--wl21-max));max-width:none}
.wl-header__inner{max-width:none}.wl-header{height:84px}.wl-header.is-scrolled{height:76px}
.wl-brand{min-width:175px}.wl-nav__list{gap:clamp(15px,1.6vw,32px)}.wl-nav__list a{font-size:clamp(12px,.76vw,14px)}
.wl-header__cta{font-size:12px;padding:14px 20px!important}
.wl-footer__middle{grid-template-columns:minmax(280px,1.6fr) minmax(180px,.75fr) minmax(240px,1fr);column-gap:clamp(25px,4vw,88px)}
.wl-footer__links>a[href^="mailto:"]{display:inline-flex;align-items:center;gap:10px;font-size:clamp(15px,1.1vw,20px);font-weight:700;letter-spacing:-.035em;color:var(--wl-fg);overflow-wrap:anywhere;border-bottom:1px solid rgba(92,156,255,.36);padding-bottom:7px}
.wl-footer__links>a[href^="mailto:"]:hover{color:#72b4ff;border-color:currentColor}
.wl-footer__service-area{display:block;color:var(--wl-muted);font-size:12px;margin:11px 0 22px;line-height:1.8;max-width:270px}
.wl-footer__top{padding-top:clamp(80px,8vw,135px)}
/* Strona nigdy nie znika przed załadowaniem JS; animacja jest dodatkiem. */
@media (prefers-reduced-motion:no-preference){
 html.wl21-js .wl-main{animation:wl21-main-entrance .8s var(--wl21-ease) both}
 html.wl21-js .wl-header__inner{animation:wl21-navigation-in .55s var(--wl21-ease) both}
 html.wl21-js .wl-footer{animation:wl21-footer-fade 1s ease both}
 html.wl21-js .wl21-reveal{opacity:0;transform:translate3d(0,25px,0);transition:opacity .75s var(--wl21-ease),transform .75s var(--wl21-ease)}
 html.wl21-js .wl21-reveal.is-visible{opacity:1;transform:none}
 html.wl21-leaving .wl-main{opacity:.58;filter:blur(6px);transform:translateY(-7px);transition:opacity .22s ease,filter .22s ease,transform .22s ease}
 html.wl21-leaving .wl-header{opacity:.68;transition:opacity .2s ease}
 @keyframes wl21-main-entrance{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
 @keyframes wl21-navigation-in{from{opacity:0;transform:translateY(-13px)}to{opacity:1;transform:none}}
 @keyframes wl21-footer-fade{from{opacity:.2}to{opacity:1}}
}
.wl21-transition-curtain{position:fixed;inset:0;z-index:3000;pointer-events:none;display:grid;place-items:center;background:radial-gradient(ellipse at 53% 40%,#153564 0%,#090f1d 63%,#070b13 100%);color:#fff;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;isolation:isolate;overflow:hidden}
.wl21-transition-curtain:before{content:'';position:absolute;width:min(60vw,600px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(98,165,255,.2);box-shadow:0 0 0 65px rgba(46,130,255,.025),0 0 0 150px rgba(46,130,255,.014);transform:rotate(-18deg)}
.wl21-transition-brand{display:flex;flex-direction:column;align-items:center;gap:9px;position:relative}.wl21-transition-brand strong{font-family:'Space Grotesk',sans-serif;font-size:clamp(70px,13vw,155px);font-weight:750;letter-spacing:-.13em;line-height:.9}.wl21-transition-brand strong span{color:#4193ff}.wl21-transition-brand small{font-weight:750;letter-spacing:.45em;color:#97c6ff;font-size:11px}
.wl21-transition-line{height:2px;width:110px;margin-top:16px;background:linear-gradient(90deg,transparent,#5dadff,transparent);transform:scaleX(.3);opacity:.5;animation:wl21-line 1.1s ease infinite}
html.wl21-leaving .wl21-transition-curtain{visibility:visible;opacity:1}
@keyframes wl21-line{0%,100%{transform:scaleX(.3);opacity:.4}50%{transform:scaleX(1);opacity:1}}
@media(max-width:1050px){.wl-footer__middle{grid-template-columns:1.4fr 1fr;row-gap:32px}.wl-footer__middle>.wl-footer__links:last-child{grid-column:1/-1}.wl-header__inner{gap:14px}.wl-brand{min-width:140px}}
@media(max-width:800px){:root{--wl21-gutter:20px}.wl-header,.wl-header.is-scrolled{height:72px}.wl-footer__middle{grid-template-columns:1fr 1fr}.wl-footer__middle>.wl-footer__links:last-child{grid-column:auto}}
@media(max-width:600px){:root{--wl21-gutter:16px}.wl-footer__middle{grid-template-columns:1fr;gap:27px}.wl-footer__middle>.wl-footer__links:last-child{grid-column:auto}.wl-footer__top{padding:75px 0 50px}}
@media(prefers-reduced-motion:reduce){.wl21-transition-curtain{display:none!important}.wl21-reveal{opacity:1!important;transform:none!important}.wl-main{animation:none!important}}
