/* Studio Wizja CMS 6.0 — Official Release */
.sw-brand-intro{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:#0a0a0a;opacity:1;visibility:visible;transition:opacity .32s ease,visibility .32s ease}.sw-brand-intro__inner{width:min(340px,68vw);text-align:center}.sw-brand-intro img{display:block;width:100%;height:auto;filter:brightness(0) invert(1);opacity:0;transform:translateY(10px);animation:swIntroLogo .42s .06s ease forwards}.sw-brand-intro__line{display:block;width:0;height:3px;margin:20px auto 12px;background:var(--sw-yellow,#ffc400);animation:swIntroLine .44s .2s cubic-bezier(.22,1,.36,1) forwards}.sw-brand-intro small{display:block;color:#aaa;font:700 10px/1 Manrope,sans-serif;letter-spacing:.32em;opacity:0;animation:swIntroText .3s .34s ease forwards}.sw-intro-complete .sw-brand-intro{opacity:0;visibility:hidden;pointer-events:none}@keyframes swIntroLogo{to{opacity:1;transform:none}}@keyframes swIntroLine{to{width:84px}}@keyframes swIntroText{to{opacity:1}}
.sw-contact-section-title{display:flex!important;align-items:center!important;gap:.7rem!important}.sw-contact-section-title>span{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 30px!important;width:30px!important;height:30px!important;padding:0!important;line-height:1!important;text-align:center!important;box-sizing:border-box!important}
.sw-contact-socials{display:flex;align-items:center;gap:.8rem!important}.sw-contact-socials .sw-social-icon{width:48px;height:48px;padding:0!important;border:1px solid #111!important;border-radius:50%;display:inline-grid;place-items:center;background:#111;color:var(--sw-yellow,#ffc400);transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.sw-contact-socials .sw-social-icon:hover{transform:translateY(-3px);background:var(--sw-yellow,#ffc400);color:#111;box-shadow:0 10px 26px rgba(0,0,0,.15)}.sw-contact-socials svg{width:21px;height:21px;fill:currentColor;stroke:currentColor;stroke-width:1.8}.sw-contact-socials svg rect,.sw-contact-socials svg circle:not(.fill){fill:none}.sw-contact-socials svg .fill{stroke:none;fill:currentColor}
@media(max-width:700px){.sw-brand-intro__inner{width:min(270px,66vw)}.sw-contact-socials .sw-social-icon{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.sw-brand-intro{display:none!important}}

/* v6.0.1 — płynne menu mobilne */
@media (max-width: 980px) {
  .mobile-nav {
    display: flex;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-14px);
    clip-path: inset(0 0 100% 0);
    transition:
      opacity 220ms cubic-bezier(.2,.7,.2,1),
      transform 280ms cubic-bezier(.2,.7,.2,1),
      clip-path 320ms cubic-bezier(.2,.7,.2,1),
      visibility 0s linear 320ms;
    will-change: opacity, transform, clip-path;
    max-height: calc(100dvh - 82px);
    overflow-y: auto;
    box-shadow: 0 20px 45px rgba(0,0,0,.42);
  }

  .mobile-nav.open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0 0);
    transition-delay: 0s;
  }

  .mobile-nav a {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 180ms ease, transform 220ms ease;
  }

  .mobile-nav.open a {
    opacity: 1;
    transform: translateY(0);
  }

  .mobile-nav.open a:nth-child(1) { transition-delay: 65ms; }
  .mobile-nav.open a:nth-child(2) { transition-delay: 90ms; }
  .mobile-nav.open a:nth-child(3) { transition-delay: 115ms; }
  .mobile-nav.open a:nth-child(4) { transition-delay: 140ms; }
  .mobile-nav.open a:nth-child(5) { transition-delay: 165ms; }

  .menu-toggle {
    position: relative;
    transition: color 180ms ease, opacity 180ms ease, transform 180ms ease;
  }

  .menu-toggle[aria-expanded="true"] {
    color: var(--y);
  }

  body.sw-mobile-menu-open {
    overflow: hidden;
  }
}

@media (max-width: 620px) {
  .mobile-nav {
    top: 72px;
    max-height: calc(100dvh - 72px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .mobile-nav,
  .mobile-nav a,
  .menu-toggle {
    transition: none !important;
  }
}
