{"id":13,"date":"2025-09-05T16:26:09","date_gmt":"2025-09-05T16:26:09","guid":{"rendered":"http:\/\/miloszwisniewski.art\/?page_id=13"},"modified":"2026-06-30T21:10:28","modified_gmt":"2026-06-30T21:10:28","slug":"portfolio","status":"publish","type":"page","link":"https:\/\/miloszwisniewski.art\/","title":{"rendered":""},"content":{"rendered":"\n<p><style>\n    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       RESET & TOKENS<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }<\/p>\n<p>    :root {<br \/>\n      --black:      #050505;<br \/>\n      --black-2:    #0c0c0c;<br \/>\n      --black-3:    #141414;<br \/>\n      --white:      #f5f4f0;<br \/>\n      --gray:       #8a8a8a;<br \/>\n      --gray-2:     #5a5a5a;<br \/>\n      --purple:     #6B21A8;<br \/>\n      --purple-2:   #9333EA;<br \/>\n      --purple-3:   #A855F7;<br \/>\n      --purple-glow: rgba(168, 85, 247, .35);<br \/>\n      --gradient:   linear-gradient(135deg, #6B21A8 0%, #A855F7 50%, #6B21A8 100%);<br \/>\n      --gradient-soft: linear-gradient(180deg, rgba(107,33,168,.15) 0%, transparent 100%);<br \/>\n    }<\/p>\n<p>    html { scroll-behavior: smooth; }<\/p>\n<p>    body {<br \/>\n      background: var(--black);<br \/>\n      color: var(--white);<br \/>\n      font-family: 'Inter', sans-serif;<br \/>\n      font-weight: 300;<br \/>\n      line-height: 1.6;<br \/>\n      overflow-x: hidden;<br \/>\n      -webkit-font-smoothing: antialiased;<br \/>\n    }<\/p>\n<p>    ::selection { background: var(--purple); color: var(--white); }<\/p>\n<p>    \/* Subtle grain overlay for premium texture *\/<br \/>\n    body::before {<br \/>\n      content: '';<br \/>\n      position: fixed;<br \/>\n      inset: 0;<br \/>\n      pointer-events: none;<br \/>\n      z-index: 1000;<br \/>\n      opacity: .04;<br \/>\n      background-image: url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'\/><\/filter><rect width='100%25' height='100%25' filter='url(%23n)'\/><\/svg>\");<br \/>\n      mix-blend-mode: overlay;<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       NAV<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    nav {<br \/>\n      position: fixed;<br \/>\n      top: 0; left: 0; right: 0;<br \/>\n      z-index: 100;<br \/>\n      display: flex;<br \/>\n      align-items: center;<br \/>\n      justify-content: space-between;<br \/>\n      padding: 1.4rem 3rem;<br \/>\n      background: rgba(5,5,5,0);<br \/>\n      border-bottom: 1px solid transparent;<br \/>\n      transition: background .4s ease, padding .4s cubic-bezier(.4,0,.2,1), border-color .4s ease;<br \/>\n    }<br \/>\n    nav.scrolled {<br \/>\n      background: rgba(5,5,5,.85);<br \/>\n      backdrop-filter: blur(20px) saturate(180%);<br \/>\n      -webkit-backdrop-filter: blur(20px) saturate(180%);<br \/>\n      border-bottom-color: rgba(168,85,247,.15);<br \/>\n      padding: 1rem 3rem;<br \/>\n    }<\/p>\n<p>    .nav-logo {<br \/>\n      font-family: 'Playfair Display', serif;<br \/>\n      font-size: 1.2rem;<br \/>\n      font-weight: 500;<br \/>\n      letter-spacing: .02em;<br \/>\n      color: var(--white);<br \/>\n      text-decoration: none;<br \/>\n      position: relative;<br \/>\n    }<br \/>\n    .nav-logo span { color: var(--purple-3); }<\/p>\n<p>    .nav-links {<br \/>\n      display: flex;<br \/>\n      gap: 2.5rem;<br \/>\n      list-style: none;<br \/>\n    }<br \/>\n    .nav-links a {<br \/>\n      color: var(--gray);<br \/>\n      text-decoration: none;<br \/>\n      font-size: .78rem;<br \/>\n      letter-spacing: .14em;<br \/>\n      text-transform: uppercase;<br \/>\n      font-weight: 400;<br \/>\n      transition: color .3s;<br \/>\n      position: relative;<br \/>\n    }<br \/>\n    .nav-links a::after {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      left: 0; bottom: -6px;<br \/>\n      width: 0; height: 1px;<br \/>\n      background: var(--purple-3);<br \/>\n      transition: width .3s cubic-bezier(.4,0,.2,1);<br \/>\n    }<br \/>\n    .nav-links a:hover { color: var(--white); }<br \/>\n    .nav-links a:hover::after { width: 100%; }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       HERO<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .hero {<br \/>\n      min-height: 100svh;<br \/>\n      display: flex;<br \/>\n      flex-direction: column;<br \/>\n      align-items: center;<br \/>\n      justify-content: center;<br \/>\n      text-align: center;<br \/>\n      position: relative;<br \/>\n      overflow: hidden;<br \/>\n      isolation: isolate;<br \/>\n    }<\/p>\n<p>    .hero-bg {<br \/>\n      position: absolute;<br \/>\n      inset: 0;<br \/>\n      background: #050505;<br \/>\n      z-index: -2;<br \/>\n    }<\/p>\n<p>    .hero::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      top: 0; left: 0; right: 0; bottom: 0;<br \/>\n      width: 100%;<br \/>\n      height: 100%;<br \/>\n      background:<br \/>\n        radial-gradient(ellipse at 30% 25%, rgba(107,33,168,.45), transparent 55%),<br \/>\n        radial-gradient(ellipse at 70% 75%, rgba(168,85,247,.3), transparent 55%),<br \/>\n        linear-gradient(180deg,<br \/>\n          rgba(5,5,5,.96) 0%,<br \/>\n          rgba(5,5,5,.85) 12%,<br \/>\n          rgba(5,5,5,.55) 40%,<br \/>\n          rgba(5,5,5,.4)  60%,<br \/>\n          rgba(5,5,5,.75) 90%,<br \/>\n          rgba(5,5,5,.95) 100%);<br \/>\n      z-index: -1;<br \/>\n      animation: glowMove 14s ease-in-out infinite alternate;<br \/>\n    }<br \/>\n    .hero::after {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      top: 0; left: 0; right: 0;<br \/>\n      height: 220px;<br \/>\n      background: linear-gradient(180deg,<br \/>\n        rgba(5,5,5,1) 0%,<br \/>\n        rgba(5,5,5,.95) 40%,<br \/>\n        rgba(5,5,5,.5) 80%,<br \/>\n        rgba(5,5,5,0) 100%);<br \/>\n      z-index: 0;<br \/>\n      pointer-events: none;<br \/>\n    }<br \/>\n    @keyframes glowMove {<br \/>\n      0%   { transform: translate(0, 0); }<br \/>\n      100% { transform: translate(2%, -2%); }<br \/>\n    }<\/p>\n<p>    .hero-content {<br \/>\n      position: relative;<br \/>\n      z-index: 2;<br \/>\n      padding: 0 2rem;<br \/>\n      animation: rise 1.4s cubic-bezier(.2,.7,.2,1) both;<br \/>\n    }<br \/>\n    @keyframes rise {<br \/>\n      from { opacity: 0; transform: translateY(40px); }<br \/>\n      to   { opacity: 1; transform: translateY(0); }<br \/>\n    }<\/p>\n<p>    .hero-eyebrow {<br \/>\n      display: inline-flex;<br \/>\n      align-items: center;<br \/>\n      gap: .8rem;<br \/>\n      font-size: .72rem;<br \/>\n      letter-spacing: .28em;<br \/>\n      text-transform: uppercase;<br \/>\n      color: var(--purple-3);<br \/>\n      margin-bottom: 1.8rem;<br \/>\n      font-weight: 500;<br \/>\n    }<br \/>\n    .hero-eyebrow::before,<br \/>\n    .hero-eyebrow::after {<br \/>\n      content: '';<br \/>\n      width: 30px;<br \/>\n      height: 1px;<br \/>\n      background: linear-gradient(90deg, transparent, var(--purple-3));<br \/>\n    }<br \/>\n    .hero-eyebrow::after {<br \/>\n      background: linear-gradient(90deg, var(--purple-3), transparent);<br \/>\n    }<\/p>\n<p>    .hero-title {<br \/>\n      font-family: 'Playfair Display', serif;<br \/>\n      font-size: clamp(3rem, 9vw, 8rem);<br \/>\n      font-weight: 500;<br \/>\n      line-height: 1;<br \/>\n      letter-spacing: -.02em;<br \/>\n      margin-bottom: 1.8rem;<br \/>\n      background: linear-gradient(180deg, #ffffff 0%, #c4c4c4 100%);<br \/>\n      -webkit-background-clip: text;<br \/>\n      background-clip: text;<br \/>\n      -webkit-text-fill-color: transparent;<br \/>\n    }<\/p>\n<p>    .hero-title em {<br \/>\n      font-style: italic;<br \/>\n      font-weight: 400;<br \/>\n      background: var(--gradient);<br \/>\n      -webkit-background-clip: text;<br \/>\n      background-clip: text;<br \/>\n      -webkit-text-fill-color: transparent;<br \/>\n      filter: drop-shadow(0 0 30px var(--purple-glow));<br \/>\n    }<\/p>\n<p>    .hero-sub {<br \/>\n      font-size: .95rem;<br \/>\n      color: var(--gray);<br \/>\n      letter-spacing: .04em;<br \/>\n      max-width: 380px;<br \/>\n      margin: 0 auto 3rem;<br \/>\n    }<\/p>\n<p>    .hero-cta {<br \/>\n      display: inline-flex;<br \/>\n      align-items: center;<br \/>\n      gap: .8rem;<br \/>\n      border: 1px solid var(--purple-3);<br \/>\n      color: var(--white);<br \/>\n      text-decoration: none;<br \/>\n      padding: .9rem 2.4rem;<br \/>\n      font-size: .76rem;<br \/>\n      letter-spacing: .18em;<br \/>\n      text-transform: uppercase;<br \/>\n      font-weight: 500;<br \/>\n      transition: all .4s cubic-bezier(.4,0,.2,1);<br \/>\n      position: relative;<br \/>\n      overflow: hidden;<br \/>\n      background: rgba(107,33,168,.1);<br \/>\n      backdrop-filter: blur(10px);<br \/>\n    }<br \/>\n    .hero-cta::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      inset: 0;<br \/>\n      background: var(--gradient);<br \/>\n      transform: translateX(-100%);<br \/>\n      transition: transform .4s cubic-bezier(.4,0,.2,1);<br \/>\n      z-index: -1;<br \/>\n    }<br \/>\n    .hero-cta:hover { border-color: transparent; transform: translateY(-2px); box-shadow: 0 20px 40px -10px var(--purple-glow); }<br \/>\n    .hero-cta:hover::before { transform: translateX(0); }<br \/>\n    .hero-cta .arrow { transition: transform .3s; }<br \/>\n    .hero-cta:hover .arrow { transform: translateX(4px); }<\/p>\n<p>    .hero-scroll {<br \/>\n      position: absolute;<br \/>\n      bottom: 2.5rem;<br \/>\n      left: 50%;<br \/>\n      transform: translateX(-50%);<br \/>\n      display: flex;<br \/>\n      flex-direction: column;<br \/>\n      align-items: center;<br \/>\n      gap: .8rem;<br \/>\n      color: var(--gray);<br \/>\n      font-size: .7rem;<br \/>\n      letter-spacing: .25em;<br \/>\n      text-transform: uppercase;<br \/>\n      animation: bounce 2.4s ease-in-out infinite;<br \/>\n      z-index: 2;<br \/>\n    }<br \/>\n    .hero-scroll::after {<br \/>\n      content: '';<br \/>\n      width: 1px;<br \/>\n      height: 50px;<br \/>\n      background: linear-gradient(180deg, var(--purple-3), transparent);<br \/>\n    }<br \/>\n    @keyframes bounce {<br \/>\n      0%, 100% { transform: translateX(-50%) translateY(0); opacity: .5; }<br \/>\n      50% { transform: translateX(-50%) translateY(10px); opacity: 1; }<br \/>\n    }<\/p>\n<p>    \/* Floating orbs decoration *\/<br \/>\n    .orb {<br \/>\n      position: absolute;<br \/>\n      border-radius: 50%;<br \/>\n      filter: blur(60px);<br \/>\n      opacity: .5;<br \/>\n      pointer-events: none;<br \/>\n      z-index: -1;<br \/>\n    }<br \/>\n    .orb-1 { top: 10%; left: 10%; width: 300px; height: 300px; background: var(--purple); animation: float 18s ease-in-out infinite; }<br \/>\n    .orb-2 { bottom: 15%; right: 10%; width: 400px; height: 400px; background: var(--purple-3); animation: float 22s ease-in-out infinite reverse; }<br \/>\n    @keyframes float {<br \/>\n      0%, 100% { transform: translate(0,0) scale(1); }<br \/>\n      33% { transform: translate(40px,-30px) scale(1.1); }<br \/>\n      66% { transform: translate(-30px,40px) scale(.95); }<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       SECTION HEADER<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .section-header {<br \/>\n      text-align: center;<br \/>\n      padding: 6rem 2rem 3.5rem;<br \/>\n    }<br \/>\n    .section-eyebrow {<br \/>\n      display: inline-block;<br \/>\n      font-size: .72rem;<br \/>\n      letter-spacing: .28em;<br \/>\n      text-transform: uppercase;<br \/>\n      color: var(--purple-3);<br \/>\n      font-weight: 500;<br \/>\n      margin-bottom: 1rem;<br \/>\n    }<br \/>\n    .section-header h2 {<br \/>\n      font-family: 'Playfair Display', serif;<br \/>\n      font-size: clamp(2.2rem, 5vw, 3.8rem);<br \/>\n      font-weight: 400;<br \/>\n      margin-bottom: 1rem;<br \/>\n      letter-spacing: -.01em;<br \/>\n    }<br \/>\n    .section-header h2 em {<br \/>\n      font-style: italic;<br \/>\n      color: var(--purple-3);<br \/>\n    }<br \/>\n    .section-header p {<br \/>\n      color: var(--gray);<br \/>\n      font-size: .95rem;<br \/>\n      letter-spacing: .04em;<br \/>\n    }<br \/>\n    .gold-line {<br \/>\n      width: 60px;<br \/>\n      height: 1px;<br \/>\n      background: var(--gradient);<br \/>\n      margin: 1.5rem auto 0;<br \/>\n      position: relative;<br \/>\n    }<br \/>\n    .gold-line::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      top: -3px; left: 50%;<br \/>\n      transform: translateX(-50%);<br \/>\n      width: 6px; height: 6px;<br \/>\n      background: var(--purple-3);<br \/>\n      border-radius: 50%;<br \/>\n      box-shadow: 0 0 12px var(--purple-3);<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       GALLERY<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    #portfolio {<br \/>\n      padding-bottom: 6rem;<br \/>\n      position: relative;<br \/>\n    }<\/p>\n<p>    .gallery {<br \/>\n      columns: 3;<br \/>\n      column-gap: 14px;<br \/>\n      padding: 0 14px;<br \/>\n      max-width: 1700px;<br \/>\n      margin: 0 auto;<br \/>\n    }<\/p>\n<p>    @media (max-width: 900px) { .gallery { columns: 2; column-gap: 10px; padding: 0 10px; } }<br \/>\n    @media (max-width: 550px) { .gallery { columns: 1; } }<\/p>\n<p>    .gallery-item {<br \/>\n      break-inside: avoid;<br \/>\n      margin-bottom: 14px;<br \/>\n      overflow: hidden;<br \/>\n      cursor: pointer;<br \/>\n      position: relative;<br \/>\n      border-radius: 2px;<br \/>\n      background: var(--black-2);<br \/>\n    }<\/p>\n<p>    .gallery-item img {<br \/>\n      width: 100%;<br \/>\n      display: block;<br \/>\n      transition: transform .7s cubic-bezier(.4,0,.2,1), filter .5s ease;<br \/>\n      filter: brightness(.95) grayscale(.2) saturate(.95);<br \/>\n    }<br \/>\n    .gallery-item:hover img {<br \/>\n      transform: scale(1.05);<br \/>\n      filter: brightness(1) grayscale(0) saturate(1.1);<br \/>\n    }<\/p>\n<p>    .gallery-item::after {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      inset: 0;<br \/>\n      background: linear-gradient(135deg, rgba(107,33,168,.25), rgba(168,85,247,.15));<br \/>\n      opacity: 0;<br \/>\n      transition: opacity .4s;<br \/>\n    }<br \/>\n    .gallery-item:hover::after { opacity: 1; }<\/p>\n<p>    .gallery-item::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      top: 0; left: 0;<br \/>\n      width: 0; height: 2px;<br \/>\n      background: var(--gradient);<br \/>\n      z-index: 2;<br \/>\n      transition: width .5s cubic-bezier(.4,0,.2,1);<br \/>\n    }<br \/>\n    .gallery-item:hover::before { width: 100%; }<\/p>\n<p>    \/* Reveal on scroll *\/<br \/>\n    .reveal { opacity: 0; transform: translateY(40px); transition: opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }<br \/>\n    .reveal.in { opacity: 1; transform: translateY(0); }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       LIGHTBOX<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .lightbox {<br \/>\n      display: none;<br \/>\n      position: fixed;<br \/>\n      inset: 0;<br \/>\n      z-index: 999;<br \/>\n      background: rgba(5,5,5,.97);<br \/>\n      backdrop-filter: blur(30px);<br \/>\n      align-items: center;<br \/>\n      justify-content: center;<br \/>\n      cursor: zoom-out;<br \/>\n    }<br \/>\n    .lightbox.active { display: flex; animation: lbFade .4s; }<br \/>\n    @keyframes lbFade { from { opacity: 0; } to { opacity: 1; } }<\/p>\n<p>    .lightbox img {<br \/>\n      max-width: 92vw;<br \/>\n      max-height: 88vh;<br \/>\n      object-fit: contain;<br \/>\n      box-shadow: 0 30px 90px rgba(107,33,168,.3), 0 0 0 1px rgba(168,85,247,.1);<br \/>\n      cursor: default;<br \/>\n      border-radius: 2px;<br \/>\n      animation: lbImg .5s cubic-bezier(.2,.7,.2,1);<br \/>\n    }<br \/>\n    @keyframes lbImg { from { opacity:0; transform:scale(.95); } to { opacity:1; transform:scale(1); } }<\/p>\n<p>    .lightbox-close {<br \/>\n      position: fixed;<br \/>\n      top: 1.5rem; right: 2rem;<br \/>\n      color: var(--gray);<br \/>\n      font-size: 1.8rem;<br \/>\n      cursor: pointer;<br \/>\n      line-height: 1;<br \/>\n      transition: all .25s;<br \/>\n      background: rgba(20,20,20,.6);<br \/>\n      backdrop-filter: blur(10px);<br \/>\n      border: 1px solid rgba(168,85,247,.2);<br \/>\n      width: 44px; height: 44px;<br \/>\n      border-radius: 50%;<br \/>\n      display: flex;<br \/>\n      align-items: center;<br \/>\n      justify-content: center;<br \/>\n    }<br \/>\n    .lightbox-close:hover { color: var(--white); border-color: var(--purple-3); transform: rotate(90deg); }<\/p>\n<p>    .lightbox-nav {<br \/>\n      position: fixed;<br \/>\n      top: 50%;<br \/>\n      transform: translateY(-50%);<br \/>\n      background: rgba(20,20,20,.6);<br \/>\n      backdrop-filter: blur(10px);<br \/>\n      border: 1px solid rgba(168,85,247,.2);<br \/>\n      color: var(--gray);<br \/>\n      font-size: 1.4rem;<br \/>\n      cursor: pointer;<br \/>\n      padding: 0;<br \/>\n      width: 50px; height: 50px;<br \/>\n      border-radius: 50%;<br \/>\n      transition: all .3s;<br \/>\n      display: flex;<br \/>\n      align-items: center;<br \/>\n      justify-content: center;<br \/>\n    }<br \/>\n    .lightbox-nav:hover { color: var(--white); border-color: var(--purple-3); background: rgba(107,33,168,.3); }<br \/>\n    .lightbox-prev { left: 1.5rem; }<br \/>\n    .lightbox-next { right: 1.5rem; }<\/p>\n<p>    .lightbox-counter {<br \/>\n      position: fixed;<br \/>\n      bottom: 2rem;<br \/>\n      left: 50%;<br \/>\n      transform: translateX(-50%);<br \/>\n      color: var(--gray);<br \/>\n      font-size: .78rem;<br \/>\n      letter-spacing: .2em;<br \/>\n      font-variant-numeric: tabular-nums;<br \/>\n    }<br \/>\n    .lightbox-counter span { color: var(--purple-3); }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       GEAR \/ EQUIPMENT<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .gear {<br \/>\n      position: relative;<br \/>\n      padding: 7rem 2rem;<br \/>\n      overflow: hidden;<br \/>\n      isolation: isolate;<br \/>\n      background:<br \/>\n        radial-gradient(ellipse at 50% 0%, rgba(107,33,168,.18) 0%, transparent 55%),<br \/>\n        var(--black);<br \/>\n    }<br \/>\n    .gear::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      inset: 0;<br \/>\n      background-image:<br \/>\n        linear-gradient(rgba(168,85,247,.04) 1px, transparent 1px),<br \/>\n        linear-gradient(90deg, rgba(168,85,247,.04) 1px, transparent 1px);<br \/>\n      background-size: 60px 60px;<br \/>\n      mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);<br \/>\n      -webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);<br \/>\n      z-index: -1;<br \/>\n      pointer-events: none;<br \/>\n    }<\/p>\n<p>    .gear-stage {<br \/>\n      max-width: 1100px;<br \/>\n      margin: 4rem auto 0;<br \/>\n      display: grid;<br \/>\n      grid-template-columns: 1fr 80px 1fr;<br \/>\n      align-items: center;<br \/>\n      gap: 2rem;<br \/>\n    }<br \/>\n    @media (max-width: 800px) {<br \/>\n      .gear-stage { grid-template-columns: 1fr; gap: 0; }<br \/>\n      .gear-connector { display: none; }<br \/>\n    }<\/p>\n<p>    .gear-card {<br \/>\n      position: relative;<br \/>\n      padding: 2.5rem 2rem;<br \/>\n      background: linear-gradient(180deg, rgba(20,20,20,.6) 0%, rgba(12,12,12,.6) 100%);<br \/>\n      border: 1px solid rgba(168,85,247,.15);<br \/>\n      backdrop-filter: blur(20px);<br \/>\n      transition: all .5s cubic-bezier(.4,0,.2,1);<br \/>\n      overflow: hidden;<br \/>\n    }<br \/>\n    .gear-card::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      top: 0; left: 0;<br \/>\n      width: 100%; height: 2px;<br \/>\n      background: var(--gradient);<br \/>\n      transform: scaleX(0);<br \/>\n      transform-origin: left;<br \/>\n      transition: transform .6s cubic-bezier(.4,0,.2,1);<br \/>\n    }<br \/>\n    .gear-card:hover {<br \/>\n      border-color: rgba(168,85,247,.4);<br \/>\n      transform: translateY(-6px);<br \/>\n      box-shadow: 0 30px 60px -20px var(--purple-glow);<br \/>\n    }<br \/>\n    .gear-card:hover::before { transform: scaleX(1); }<\/p>\n<p>    .gear-tag {<br \/>\n      display: inline-block;<br \/>\n      font-size: .68rem;<br \/>\n      letter-spacing: .28em;<br \/>\n      text-transform: uppercase;<br \/>\n      color: var(--purple-3);<br \/>\n      font-weight: 500;<br \/>\n      margin-bottom: 1rem;<br \/>\n    }<\/p>\n<p>    .gear-name {<br \/>\n      font-family: 'Playfair Display', serif;<br \/>\n      font-size: clamp(1.6rem, 2.5vw, 2.2rem);<br \/>\n      font-weight: 400;<br \/>\n      margin-bottom: .5rem;<br \/>\n      line-height: 1.1;<br \/>\n    }<br \/>\n    .gear-name em {<br \/>\n      font-style: italic;<br \/>\n      color: var(--purple-3);<br \/>\n    }<\/p>\n<p>    .gear-spec {<br \/>\n      color: var(--gray);<br \/>\n      font-size: .85rem;<br \/>\n      letter-spacing: .04em;<br \/>\n      line-height: 1.7;<br \/>\n    }<\/p>\n<p>    .gear-spec strong {<br \/>\n      color: var(--white);<br \/>\n      font-weight: 500;<br \/>\n    }<\/p>\n<p>    .gear-connector {<br \/>\n      position: relative;<br \/>\n      height: 4px;<br \/>\n      display: flex;<br \/>\n      align-items: center;<br \/>\n      justify-content: center;<br \/>\n    }<br \/>\n    .gear-connector .line {<br \/>\n      position: absolute;<br \/>\n      left: 0; right: 0;<br \/>\n      height: 1px;<br \/>\n      background: linear-gradient(90deg, transparent, var(--purple-3), transparent);<br \/>\n      transform: scaleX(0);<br \/>\n      transform-origin: center;<br \/>\n      transition: transform 1.2s cubic-bezier(.4,0,.2,1) .3s;<br \/>\n    }<br \/>\n    .gear-connector .dot {<br \/>\n      position: relative;<br \/>\n      z-index: 2;<br \/>\n      width: 14px; height: 14px;<br \/>\n      border-radius: 50%;<br \/>\n      background: var(--purple-3);<br \/>\n      box-shadow: 0 0 24px var(--purple-3), 0 0 0 6px rgba(168,85,247,.15);<br \/>\n      transform: scale(0);<br \/>\n      transition: transform .6s cubic-bezier(.34,1.56,.64,1) .6s;<br \/>\n    }<br \/>\n    .gear.in-view .line { transform: scaleX(1); }<br \/>\n    .gear.in-view .dot  { transform: scale(1); }<\/p>\n<p>    .gear-footnote {<br \/>\n      max-width: 700px;<br \/>\n      margin: 3rem auto 0;<br \/>\n      text-align: center;<br \/>\n      color: var(--gray);<br \/>\n      font-size: .88rem;<br \/>\n      line-height: 1.8;<br \/>\n      font-style: italic;<br \/>\n    }<br \/>\n    .gear-footnote em {<br \/>\n      color: var(--purple-3);<br \/>\n      font-style: italic;<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       ABOUT<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .about {<br \/>\n      max-width: 1100px;<br \/>\n      margin: 0 auto;<br \/>\n      padding: 6rem 2rem;<br \/>\n      display: grid;<br \/>\n      grid-template-columns: 1fr 1fr;<br \/>\n      gap: 5rem;<br \/>\n      align-items: center;<br \/>\n    }<\/p>\n<p>    @media (max-width: 800px) {<br \/>\n      .about { grid-template-columns: 1fr; gap: 3rem; padding: 4rem 1.5rem; }<br \/>\n    }<\/p>\n<p>    .about-img-wrap {<br \/>\n      position: relative;<br \/>\n      aspect-ratio: 3\/4;<br \/>\n    }<br \/>\n    .about-img-wrap::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      top: -16px; left: -16px;<br \/>\n      right: 16px; bottom: 16px;<br \/>\n      border: 1px solid var(--purple-3);<br \/>\n      opacity: .5;<br \/>\n      transition: all .5s cubic-bezier(.4,0,.2,1);<br \/>\n    }<br \/>\n    .about-img-wrap:hover::before {<br \/>\n      top: -10px; left: -10px;<br \/>\n      right: 10px; bottom: 10px;<br \/>\n      opacity: .8;<br \/>\n    }<br \/>\n    .about-img-wrap img {<br \/>\n      width: 100%;<br \/>\n      height: 100%;<br \/>\n      object-fit: cover;<br \/>\n      display: block;<br \/>\n      filter: grayscale(.5) brightness(.9) contrast(1.05);<br \/>\n      transition: filter .5s;<br \/>\n    }<br \/>\n    .about-img-wrap:hover img {<br \/>\n      filter: grayscale(.2) brightness(1) contrast(1.05);<br \/>\n    }<\/p>\n<p>    .about-text h2 {<br \/>\n      font-family: 'Playfair Display', serif;<br \/>\n      font-size: clamp(2rem, 4vw, 3rem);<br \/>\n      font-weight: 400;<br \/>\n      margin-bottom: 1.5rem;<br \/>\n      letter-spacing: -.01em;<br \/>\n    }<br \/>\n    .about-text h2 em {<br \/>\n      font-style: italic;<br \/>\n      color: var(--purple-3);<br \/>\n    }<br \/>\n    .about-text p {<br \/>\n      color: var(--gray);<br \/>\n      font-size: .95rem;<br \/>\n      line-height: 1.85;<br \/>\n      margin-bottom: 1.2rem;<br \/>\n    }<br \/>\n    .about-text a {<br \/>\n      display: inline-flex;<br \/>\n      align-items: center;<br \/>\n      gap: .6rem;<br \/>\n      color: var(--purple-3);<br \/>\n      text-decoration: none;<br \/>\n      font-size: .78rem;<br \/>\n      letter-spacing: .18em;<br \/>\n      text-transform: uppercase;<br \/>\n      font-weight: 500;<br \/>\n      margin-top: 1rem;<br \/>\n      transition: gap .3s;<br \/>\n    }<br \/>\n    .about-text a:hover { gap: 1rem; }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       CONTACT<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .contact-section {<br \/>\n      position: relative;<br \/>\n      text-align: center;<br \/>\n      padding: 8rem 2rem;<br \/>\n      overflow: hidden;<br \/>\n      isolation: isolate;<br \/>\n    }<\/p>\n<p>    .contact-section::before {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      inset: 0;<br \/>\n      background:<br \/>\n        radial-gradient(ellipse at center, rgba(107,33,168,.2) 0%, transparent 60%),<br \/>\n        radial-gradient(ellipse at 20% 80%, rgba(168,85,247,.15) 0%, transparent 50%);<br \/>\n      z-index: -1;<br \/>\n    }<\/p>\n<p>    .contact-section h2 {<br \/>\n      font-family: 'Playfair Display', serif;<br \/>\n      font-size: clamp(2.4rem, 6vw, 4.5rem);<br \/>\n      font-weight: 400;<br \/>\n      margin-bottom: 1.2rem;<br \/>\n      letter-spacing: -.02em;<br \/>\n      background: linear-gradient(180deg, #ffffff 0%, #a8a8a8 100%);<br \/>\n      -webkit-background-clip: text;<br \/>\n      background-clip: text;<br \/>\n      -webkit-text-fill-color: transparent;<br \/>\n    }<br \/>\n    .contact-section h2 em {<br \/>\n      font-style: italic;<br \/>\n      background: var(--gradient);<br \/>\n      -webkit-background-clip: text;<br \/>\n      background-clip: text;<br \/>\n      -webkit-text-fill-color: transparent;<br \/>\n    }<br \/>\n    .contact-section p {<br \/>\n      color: var(--gray);<br \/>\n      font-size: 1rem;<br \/>\n      margin-bottom: 3rem;<br \/>\n      letter-spacing: .04em;<br \/>\n    }<br \/>\n    .btn-gold {<br \/>\n      display: inline-flex;<br \/>\n      align-items: center;<br \/>\n      gap: .8rem;<br \/>\n      background: var(--gradient);<br \/>\n      background-size: 200% 200%;<br \/>\n      color: var(--white);<br \/>\n      text-decoration: none;<br \/>\n      padding: 1.1rem 3rem;<br \/>\n      font-size: .82rem;<br \/>\n      font-weight: 500;<br \/>\n      letter-spacing: .18em;<br \/>\n      text-transform: uppercase;<br \/>\n      transition: all .4s cubic-bezier(.4,0,.2,1);<br \/>\n      animation: gradientShift 6s ease infinite;<br \/>\n      position: relative;<br \/>\n      overflow: hidden;<br \/>\n    }<br \/>\n    @keyframes gradientShift {<br \/>\n      0%, 100% { background-position: 0% 50%; }<br \/>\n      50% { background-position: 100% 50%; }<br \/>\n    }<br \/>\n    .btn-gold:hover {<br \/>\n      transform: translateY(-3px);<br \/>\n      box-shadow: 0 25px 50px -10px var(--purple-glow);<br \/>\n    }<br \/>\n    .btn-gold .arrow { transition: transform .3s; }<br \/>\n    .btn-gold:hover .arrow { transform: translateX(6px); }<\/p>\n<p>    .social-links {<br \/>\n      margin-top: 4rem;<br \/>\n      display: flex;<br \/>\n      justify-content: center;<br \/>\n      gap: 3rem;<br \/>\n      flex-wrap: wrap;<br \/>\n    }<br \/>\n    .social-links a {<br \/>\n      color: var(--gray);<br \/>\n      text-decoration: none;<br \/>\n      font-size: .78rem;<br \/>\n      letter-spacing: .18em;<br \/>\n      text-transform: uppercase;<br \/>\n      font-weight: 500;<br \/>\n      transition: all .3s;<br \/>\n      position: relative;<br \/>\n    }<br \/>\n    .social-links a::after {<br \/>\n      content: '';<br \/>\n      position: absolute;<br \/>\n      left: 0; bottom: -6px;<br \/>\n      width: 0; height: 1px;<br \/>\n      background: var(--purple-3);<br \/>\n      transition: width .3s;<br \/>\n    }<br \/>\n    .social-links a:hover { color: var(--white); }<br \/>\n    .social-links a:hover::after { width: 100%; }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       FOOTER<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    footer {<br \/>\n      border-top: 1px solid rgba(168,85,247,.1);<br \/>\n      padding: 2.5rem 3rem;<br \/>\n      display: flex;<br \/>\n      justify-content: space-between;<br \/>\n      align-items: center;<br \/>\n      font-size: .78rem;<br \/>\n      color: #444;<br \/>\n      letter-spacing: .04em;<br \/>\n    }<br \/>\n    footer a { color: var(--gray); text-decoration: none; transition: color .3s; }<br \/>\n    footer a:hover { color: var(--purple-3); }<\/p>\n<p>    @media (max-width: 600px) {<br \/>\n      nav { padding: 1.2rem 1.5rem; }<br \/>\n      .nav-links { gap: 1.2rem; }<br \/>\n      .nav-links a { font-size: .72rem; letter-spacing: .1em; }<br \/>\n      footer { flex-direction: column; gap: .8rem; text-align: center; padding: 2rem 1.5rem; }<br \/>\n      .about-img-wrap { aspect-ratio: 4\/5; }<br \/>\n      .lightbox-nav { width: 42px; height: 42px; font-size: 1.2rem; }<br \/>\n      .lightbox-prev { left: .8rem; }<br \/>\n      .lightbox-next { right: .8rem; }<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       CUSTOM CURSOR<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .cursor, .cursor-dot {<br \/>\n      position: fixed;<br \/>\n      top: 0; left: 0;<br \/>\n      pointer-events: none;<br \/>\n      z-index: 9999;<br \/>\n      transform: translate(-50%, -50%);<br \/>\n      will-change: transform;<br \/>\n      mix-blend-mode: difference;<br \/>\n    }<br \/>\n    .cursor {<br \/>\n      width: 36px; height: 36px;<br \/>\n      border: 1.5px solid var(--purple-3);<br \/>\n      border-radius: 50%;<br \/>\n      transition: width .25s, height .25s, border-color .25s, background .25s, opacity .25s;<br \/>\n      opacity: 0;<br \/>\n    }<br \/>\n    .cursor-dot {<br \/>\n      width: 5px; height: 5px;<br \/>\n      background: var(--purple-3);<br \/>\n      border-radius: 50%;<br \/>\n      transition: opacity .25s;<br \/>\n    }<br \/>\n    body.cursor-ready .cursor { opacity: 1; }<br \/>\n    .cursor.hover {<br \/>\n      width: 64px; height: 64px;<br \/>\n      border-color: var(--white);<br \/>\n      background: rgba(168,85,247,.15);<br \/>\n    }<br \/>\n    .cursor.hover::after {<br \/>\n      content: 'view';<br \/>\n      position: absolute;<br \/>\n      inset: 0;<br \/>\n      display: flex; align-items: center; justify-content: center;<br \/>\n      font-size: 10px; letter-spacing: .15em; text-transform: uppercase;<br \/>\n      color: var(--white);<br \/>\n    }<br \/>\n    .cursor-dot.hide { opacity: 0; }<\/p>\n<p>    \/* ukryj natywny kursor desktop *\/<br \/>\n    @media (hover: hover) and (pointer: fine) {<br \/>\n      body.cursor-ready, body.cursor-ready * { cursor: none !important; }<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       TILT ON HOVER (3D card effect)<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    .tilt-target {<br \/>\n      transition: transform .15s ease-out, box-shadow .3s;<br \/>\n      transform-style: preserve-3d;<br \/>\n      will-change: transform;<br \/>\n    }<br \/>\n    .tilt-target:hover {<br \/>\n      box-shadow: 0 30px 60px rgba(0,0,0,.5), 0 0 40px rgba(168,85,247,.25);<br \/>\n    }<\/p>\n<p>    \/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n       REDUCED MOTION<br \/>\n    \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<br \/>\n    @media (prefers-reduced-motion: reduce) {<br \/>\n      *, *::before, *::after { animation: none !important; transition: none !important; }<br \/>\n    }<br \/>\n  <\/style><\/p>\n\n\n\n<div id=\"cursor\" class=\"cursor\">&nbsp;<\/div>\n\n\n\n<div id=\"cursorDot\" class=\"cursor-dot\">&nbsp;<\/div>\n\n\n\n<p><!-- NAV --><\/p>\n\n\n\n<nav id=\"nav\"><a class=\"nav-logo\" href=\"#\">Milosz.<\/a>\n<ul class=\"nav-links\">\n<li><a href=\"#portfolio\">Portfolio<\/a><\/li>\n<li><a href=\"#about\">O mnie<\/a><\/li>\n<li><a href=\"#gear\">Sprzet<\/a><\/li>\n<li><a href=\"https:\/\/instagram.com\/milo_wisnia\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><\/li>\n<li><a href=\"#contact\">Kontakt<\/a><\/li>\n<\/ul>\n<\/nav>\n\n\n\n<p><!-- HERO --><\/p>\n\n\n\n<section class=\"hero\">\n<div class=\"orb orb-1\">&nbsp;<\/div>\n<div class=\"orb orb-2\">&nbsp;<\/div>\n<div class=\"hero-content\">\n<p class=\"hero-eyebrow\">Fotografia artystyczna<\/p>\n<h1 class=\"hero-title\">Milosz <em>Wisniewski<\/em><\/h1>\n<p class=\"hero-sub\">Zatrzymuje chwile, ktore mowia wiecej niz slowa<\/p>\n<p><a class=\"hero-cta\" href=\"#portfolio\"><br>Zobacz portfolio<br><span class=\"arrow\">\u2192<\/span><br><\/a><\/p>\n<\/div>\n<div class=\"hero-scroll\">scroll<\/div>\n<\/section>\n\n\n\n<p><!-- PORTFOLIO --><\/p>\n\n\n\n<section id=\"portfolio\">\n<div class=\"section-header reveal\">\n<p class=\"section-eyebrow\">Wybrane prace<\/p>\n<h2>Portfolio<\/h2>\n<p>Kazde zdjecie to osobna historia<\/p>\n<div class=\"gold-line\">&nbsp;<\/div>\n<\/div>\n<div id=\"gallery\" class=\"gallery\">\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/DSC09771.jpeg\" alt=\"DSC09771\"><\/figure><div class=\"gallery-item reveal\" data-index=\"0\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/DSC09501.jpg\" alt=\"DSC09501\"><\/figure><div class=\"gallery-item reveal\" data-index=\"1\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/DSC09375.jpg\" alt=\"DSC09375\"><\/figure><div class=\"gallery-item reveal\" data-index=\"2\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/91514007-aa24-4477-8685-f3d53940b431.jpg\" alt=\"Fotografia\"><\/figure><div class=\"gallery-item reveal\" data-index=\"3\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC00283-scaled.jpg\" alt=\"DSC00283\"><\/figure><div class=\"gallery-item reveal\" data-index=\"4\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/IMG_4285-scaled.jpg\" alt=\"IMG_4285\"><\/figure><div class=\"gallery-item reveal\" data-index=\"5\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC00259-scaled.jpg\" alt=\"DSC00259\"><\/figure><div class=\"gallery-item reveal\" data-index=\"6\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC01543-scaled.jpg\" alt=\"DSC01543\"><\/figure><div class=\"gallery-item reveal\" data-index=\"7\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC00363-scaled.jpg\" alt=\"DSC00363\"><\/figure><div class=\"gallery-item reveal\" data-index=\"8\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC00337-scaled.jpeg\" alt=\"DSC00337\"><\/figure><div class=\"gallery-item reveal\" data-index=\"9\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC02395-2-1-scaled.jpg\" alt=\"DSC02395\"><\/figure><div class=\"gallery-item reveal\" data-index=\"10\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC02402-2-1-scaled.jpg\" alt=\"DSC02402\"><\/figure><div class=\"gallery-item reveal\" data-index=\"11\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05753.jpg\" alt=\"DSC05753\"><\/figure><div class=\"gallery-item reveal\" data-index=\"12\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05760.jpg\" alt=\"DSC05760\"><\/figure><div class=\"gallery-item reveal\" data-index=\"13\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05786.jpg\" alt=\"DSC05786\"><\/figure><div class=\"gallery-item reveal\" data-index=\"14\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05798.jpg\" alt=\"DSC05798\"><\/figure><div class=\"gallery-item reveal\" data-index=\"15\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05803-2-1.jpg\" alt=\"DSC05803\"><\/figure><div class=\"gallery-item reveal\" data-index=\"16\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05819.jpg\" alt=\"DSC05819\"><\/figure><div class=\"gallery-item reveal\" data-index=\"17\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC05828.jpg\" alt=\"DSC05828\"><\/figure><div class=\"gallery-item reveal\" data-index=\"18\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC06430.jpg\" alt=\"DSC06430\"><\/figure><div class=\"gallery-item reveal\" data-index=\"19\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC06452-1.jpg\" alt=\"DSC06452\"><\/figure><div class=\"gallery-item reveal\" data-index=\"20\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC06466.jpg\" alt=\"DSC06466\"><\/figure><div class=\"gallery-item reveal\" data-index=\"21\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC06542.jpg\" alt=\"DSC06542\"><\/figure><div class=\"gallery-item reveal\" data-index=\"22\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC06583.jpg\" alt=\"DSC06583\"><\/figure><div class=\"gallery-item reveal\" data-index=\"23\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC08941-2-scaled.jpg\" alt=\"DSC08941\"><\/figure><div class=\"gallery-item reveal\" data-index=\"24\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC08987-scaled.jpg\" alt=\"DSC08987\"><\/figure><div class=\"gallery-item reveal\" data-index=\"25\"><\/div>\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/photo-gallery\/imported_from_media_libray\/DSC08788-1-scaled.jpg\" alt=\"DSC08788\"><\/figure><div class=\"gallery-item reveal\" data-index=\"26\"><\/div>\n<\/div>\n<\/section>\n\n\n\n<p><!-- LIGHTBOX --><\/p>\n\n\n\n<div id=\"lightbox\" class=\"lightbox\" aria-hidden=\"true\"><button id=\"lb-close\" class=\"lightbox-close\" aria-label=\"Zamknij\">\u00d7<\/button><br><button id=\"lb-prev\" class=\"lightbox-nav lightbox-prev\" aria-label=\"Poprzednie\">\u2190<\/button><br><img id=\"lb-img\" alt=\"Powiekszone zdjecie\"><br><button id=\"lb-next\" class=\"lightbox-nav lightbox-next\" aria-label=\"Nastepne\">\u2192<\/button>\n<div class=\"lightbox-counter\"><span id=\"lb-current\">1<\/span> \/ <span id=\"lb-total\">27<\/span><\/div>\n<\/div>\n\n\n\n<p><!-- ABOUT --><\/p>\n\n\n\n<section id=\"about\">\n<div class=\"about\">\n<figure><img decoding=\"async\" src=\"https:\/\/miloszwisniewski.art\/wp-content\/uploads\/2026\/06\/IMG_4770-2.jpg\" alt=\"Milosz Wisniewski\"><\/figure><div class=\"about-img-wrap reveal\"><\/div>\n<div class=\"about-text reveal\">\n<p class=\"section-eyebrow\">Kim jestem<\/p>\n<h2>O <em>mnie<\/em><\/h2>\n<p>Jestem fotografem, ktory od lat szuka tego jednego momentu \u2014 ulotnego, surowego, prawdziwego. Pracuje ze swiatlem tak, jak inni pracuja z narracja: szukam w nim emocji, napiecia i charakteru kadru.<\/p>\n<p>Moja szczegolna pasja to <strong>fotografia motoryzacyjna<\/strong> \u2014 tam, gdzie design spotyka sie z predkoscia, a kazda linia nadwozia opowiada historie o inzynierii i duszy maszyny. Od klasykow po wspolczesne supersamochody \u2014 uwieczniam maszyny w ruchu i w bezruchu, w studio i na torze.<\/p>\n<p>Rownolegle tworze portrety i reportaze z wydarzen, bo wierze, ze dobra fotografia \u2014 czy to czlowiek, czy samochod \u2014 zawsze zaczyna sie od tego samego: od zrozumienia, na co warto patrzec.<\/p>\n<p><a href=\"https:\/\/miloszwisniewski.art\/index.php\/o-mnie\/\" target=\"_blank\" rel=\"noopener\"><br>Czytaj wiecej<br><span class=\"arrow\">\u2192<\/span><br><\/a><\/p>\n<\/div>\n<\/div>\n<\/section>\n\n\n\n<p><!-- GEAR --><\/p>\n\n\n\n<section id=\"gear\" class=\"gear\">\n<div class=\"section-header reveal\">\n<p class=\"section-eyebrow\">Sprzet<\/p>\n<h2>Czym <em>tworze<\/em><\/h2>\n<p>Narzedzia, ktore pomagaja mi opowiadac historie swiatlem<\/p>\n<div class=\"gold-line\">&nbsp;<\/div>\n<\/div>\n<div class=\"gear-stage\">\n<div class=\"gear-card reveal\"><span class=\"gear-tag\">Aparat<\/span>\n<h3 class=\"gear-name\">Sony <em>A7 Mark II<\/em><\/h3>\n<p class=\"gear-spec\">Pelnoklatkowy bezlusterkowiec, na ktorym opieram cala swoja prace.<br>Matryca 24 MP, swietna dynamika tonalna i stabilizacja matrycy w 5 osiach<br>\u2014 pozwala mi lapac ostre kadry nawet w trudnym swietle.<\/p>\n<\/div>\n<div class=\"gear-connector\">\n<div class=\"line\">&nbsp;<\/div>\n<div class=\"dot\">&nbsp;<\/div>\n<\/div>\n<div class=\"gear-card reveal\"><span class=\"gear-tag\">Obiektyw<\/span>\n<h3 class=\"gear-name\">Sigma <em>24-70 mm<\/em> f\/2.8 DG DN Art<\/h3>\n<p class=\"gear-spec\">Uniwersalny zoom ze stalym swiatlem. Od szerokich kadrow reporterskich<br>po portrety z pieknym bokehem \u2014 to obiektyw, ktory zdejmuje ze mnie<br>wiekszosc ograniczen kompozycyjnych.<\/p>\n<\/div>\n<\/div>\n<p class=\"gear-footnote reveal\">Kazde z tych narzedzi jest <em>precyzyjne i niezawodne<\/em> \u2014 ale to oko i wrazliwosc<br>fotografa decyduja, czy zdjecie ma dusze. Sprzet to tylko sposob, w jaki ja zatrzymuje.<\/p>\n<\/section>\n\n\n\n<p><!-- CONTACT --><\/p>\n\n\n\n<section id=\"contact\" class=\"contact-section\">\n<p class=\"section-eyebrow\">Wspolpraca<\/p>\n<h2>Stworzmy cos <em>razem<\/em><\/h2>\n<p>Masz projekt, sesje, wydarzenie? Napisz \u2014 odpowiem w 24h.<\/p>\n<p><a class=\"btn-gold\" href=\"mailto:kontakt@miloszwisniewski.art\"><br>kontakt@miloszwisniewski.art<br><span class=\"arrow\">\u2192<\/span><br><\/a><\/p>\n<div class=\"social-links\"><a href=\"https:\/\/instagram.com\/milo_wisnia\" target=\"_blank\" rel=\"noopener\">Instagram<\/a><br><a href=\"https:\/\/miloszwisniewski.art\/index.php\/wydarzenia\/\" target=\"_blank\" rel=\"noopener\">Wydarzenia<\/a><br><a href=\"#portfolio\">Portfolio<\/a><\/div>\n<\/section>\n\n\n\n<p><!-- FOOTER --><\/p>\n\n\n\n<footer>\u00a9 2026 Milosz Wisniewski Fotografia<br><a href=\"mailto:kontakt@miloszwisniewski.art\">kontakt@miloszwisniewski.art<\/a><\/footer>\n\n\n\n<p><!-- Lenis smooth scroll (poprawiony, dzia\u0142aj\u0105cy link CDN) --><br><script src=\"https:\/\/unpkg.com\/lenis@1.3.25\/dist\/lenis.min.js\"><\/script><br><script><br \/>\n  (function () {<br \/>\n    if (typeof Lenis === \"undefined\") { return; }<br \/>\n    var lenis = new Lenis({<br \/>\n      duration: 1.15,<br \/>\n      easing: function (t) { return Math.min(1, 1.001 - Math.pow(2, -10 * t)); },<br \/>\n      smoothWheel: true,<br \/>\n      smoothTouch: false<br \/>\n    });<br \/>\n    function raf(time) {<br \/>\n      lenis.raf(time);<br \/>\n      requestAnimationFrame(raf);<br \/>\n    }<br \/>\n    requestAnimationFrame(raf);<\/p>\n<p>    document.querySelectorAll(\"a[href^=\\\"#\\\"]\").forEach(function (a) {<br \/>\n      a.addEventListener(\"click\", function (e) {<br \/>\n        var id = a.getAttribute(\"href\");<br \/>\n        if (id === \"#\") { return; }<br \/>\n        var el = document.querySelector(id);<br \/>\n        if (el) {<br \/>\n          e.preventDefault();<br \/>\n          lenis.scrollTo(el, { offset: -80 });<br \/>\n        }<br \/>\n      });<br \/>\n    });<br \/>\n  })();<br \/>\n<\/script><\/p>\n\n\n\n<p><script><br \/>\n  \/\/ CUSTOM CURSOR<br \/>\n  (function () {<br \/>\n    if (!window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches) { return; }<\/p>\n<p>    var cursor = document.getElementById(\"cursor\");<br \/>\n    var dot = document.getElementById(\"cursorDot\");<br \/>\n    if (!cursor || !dot) { return; }<\/p>\n<p>    var mx = 0, my = 0;<br \/>\n    var cx = 0, cy = 0;<br \/>\n    var dx = 0, dy = 0;<\/p>\n<p>    document.body.classList.add(\"cursor-ready\");<\/p>\n<p>    document.addEventListener(\"mousemove\", function (e) {<br \/>\n      mx = e.clientX; my = e.clientY;<br \/>\n    });<\/p>\n<p>    function tick() {<br \/>\n      cx += (mx - cx) * 0.18;<br \/>\n      cy += (my - cy) * 0.18;<br \/>\n      dx += (mx - dx) * 0.55;<br \/>\n      dy += (my - dy) * 0.55;<br \/>\n      cursor.style.transform = \"translate(\" + cx + \"px, \" + cy + \"px) translate(-50%, -50%)\";<br \/>\n      dot.style.transform = \"translate(\" + dx + \"px, \" + dy + \"px) translate(-50%, -50%)\";<br \/>\n      requestAnimationFrame(tick);<br \/>\n    }<br \/>\n    tick();<\/p>\n<p>    var addHover = function () { cursor.classList.add(\"hover\"); };<br \/>\n    var removeHover = function () { cursor.classList.remove(\"hover\"); };<\/p>\n<p>    document.querySelectorAll(\".gallery-item img, #lb-img\").forEach(function (el) {<br \/>\n      el.addEventListener(\"mouseenter\", addHover);<br \/>\n      el.addEventListener(\"mouseleave\", removeHover);<br \/>\n    });<\/p>\n<p>    document.addEventListener(\"mouseleave\", function () { cursor.style.opacity = \"0\"; dot.style.opacity = \"0\"; });<br \/>\n    document.addEventListener(\"mouseenter\", function () { cursor.style.opacity = \"1\"; dot.style.opacity = \"1\"; });<\/p>\n<p>    var obs = new MutationObserver(function () {<br \/>\n      var has = cursor.classList.contains(\"hover\");<br \/>\n      dot.classList.toggle(\"hide\", has);<br \/>\n    });<br \/>\n    obs.observe(cursor, { attributes: true, attributeFilter: [\"class\"] });<br \/>\n  })();<br \/>\n<\/script><\/p>\n\n\n\n<p><script><br \/>\n  \/\/ TILT ON HOVER (karty Gear + About)<br \/>\n  (function () {<br \/>\n    if (window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches) { return; }<br \/>\n    if (!window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches) { return; }<\/p>\n<p>    var MAX = 7;<br \/>\n    var SCALE = 1.015;<\/p>\n<p>    var targets = document.querySelectorAll(\".gear-card, .about-img-wrap\");<br \/>\n    targets.forEach(function (card) { card.classList.add(\"tilt-target\"); });<\/p>\n<p>    targets.forEach(function (card) {<br \/>\n      var raf = null;<br \/>\n      var tx = 0, ty = 0;<br \/>\n      var cx = 0, cy = 0;<\/p>\n<p>      var onMove = function (e) {<br \/>\n        var r = card.getBoundingClientRect();<br \/>\n        var px = (e.clientX - r.left) \/ r.width;<br \/>\n        var py = (e.clientY - r.top) \/ r.height;<br \/>\n        ty = (px - 0.5) * 2 * MAX;<br \/>\n        tx = -(py - 0.5) * 2 * MAX;<br \/>\n        if (!raf) { raf = requestAnimationFrame(update); }<br \/>\n      };<br \/>\n      var update = function () {<br \/>\n        cx += (ty - cx) * 0.18;<br \/>\n        cy += (tx - cy) * 0.18;<br \/>\n        card.style.transform = \"perspective(1000px) rotateX(\" + cy + \"deg) rotateY(\" + cx + \"deg) scale(\" + SCALE + \")\";<br \/>\n        if (Math.abs(ty - cx) > 0.05 || Math.abs(tx - cy) > 0.05) {<br \/>\n          raf = requestAnimationFrame(update);<br \/>\n        } else {<br \/>\n          raf = null;<br \/>\n        }<br \/>\n      };<br \/>\n      var onLeave = function () {<br \/>\n        tx = 0; ty = 0;<br \/>\n        if (!raf) { raf = requestAnimationFrame(update); }<br \/>\n      };<\/p>\n<p>      card.addEventListener(\"mousemove\", onMove);<br \/>\n      card.addEventListener(\"mouseleave\", onLeave);<br \/>\n    });<br \/>\n  })();<br \/>\n<\/script><\/p>\n\n\n\n<p><script><br \/>\n  \/\/ GALLERY + LIGHTBOX<br \/>\n  (function () {<br \/>\n    var items = Array.prototype.slice.call(document.querySelectorAll(\".gallery-item img\"));<br \/>\n    var lightbox = document.getElementById(\"lightbox\");<br \/>\n    var lbImg = document.getElementById(\"lb-img\");<br \/>\n    var lbCurrent = document.getElementById(\"lb-current\");<br \/>\n    var lbTotal = document.getElementById(\"lb-total\");<br \/>\n    var current = 0;<\/p>\n<p>    lbTotal.textContent = items.length;<\/p>\n<p>    function openLB(idx) {<br \/>\n      current = idx;<br \/>\n      lbImg.src = items[idx].src;<br \/>\n      lbCurrent.textContent = idx + 1;<br \/>\n      lightbox.classList.add(\"active\");<br \/>\n      lightbox.setAttribute(\"aria-hidden\", \"false\");<br \/>\n      document.body.style.overflow = \"hidden\";<br \/>\n    }<br \/>\n    function closeLB() {<br \/>\n      lightbox.classList.remove(\"active\");<br \/>\n      lightbox.setAttribute(\"aria-hidden\", \"true\");<br \/>\n      document.body.style.overflow = \"\";<br \/>\n    }<br \/>\n    function prevLB() {<br \/>\n      current = (current - 1 + items.length) % items.length;<br \/>\n      lbImg.src = items[current].src;<br \/>\n      lbCurrent.textContent = current + 1;<br \/>\n      restartAnim(lbImg);<br \/>\n    }<br \/>\n    function nextLB() {<br \/>\n      current = (current + 1) % items.length;<br \/>\n      lbImg.src = items[current].src;<br \/>\n      lbCurrent.textContent = current + 1;<br \/>\n      restartAnim(lbImg);<br \/>\n    }<br \/>\n    function restartAnim(el) {<br \/>\n      el.style.animation = \"none\";<br \/>\n      requestAnimationFrame(function () { el.style.animation = \"\"; });<br \/>\n    }<\/p>\n<p>    document.querySelectorAll(\".gallery-item\").forEach(function (el, i) {<br \/>\n      el.addEventListener(\"click\", function () { openLB(i); });<br \/>\n    });<br \/>\n    document.getElementById(\"lb-close\").addEventListener(\"click\", closeLB);<br \/>\n    document.getElementById(\"lb-prev\").addEventListener(\"click\", function (e) { e.stopPropagation(); prevLB(); });<br \/>\n    document.getElementById(\"lb-next\").addEventListener(\"click\", function (e) { e.stopPropagation(); nextLB(); });<br \/>\n    lightbox.addEventListener(\"click\", function (e) { if (e.target === lightbox) { closeLB(); } });<\/p>\n<p>    document.addEventListener(\"keydown\", function (e) {<br \/>\n      if (!lightbox.classList.contains(\"active\")) { return; }<br \/>\n      if (e.key === \"Escape\") { closeLB(); }<br \/>\n      if (e.key === \"ArrowLeft\") { prevLB(); }<br \/>\n      if (e.key === \"ArrowRight\") { nextLB(); }<br \/>\n    });<\/p>\n<p>    \/\/ NAV scroll state<br \/>\n    var nav = document.getElementById(\"nav\");<br \/>\n    window.addEventListener(\"scroll\", function () {<br \/>\n      nav.classList.toggle(\"scrolled\", window.scrollY > 60);<br \/>\n    }, { passive: true });<\/p>\n<p>    \/\/ Reveal on scroll<br \/>\n    var reveals = document.querySelectorAll(\".reveal\");<br \/>\n    var io = new IntersectionObserver(function (entries) {<br \/>\n      entries.forEach(function (entry, i) {<br \/>\n        if (entry.isIntersecting) {<br \/>\n          setTimeout(function () { entry.target.classList.add(\"in\"); }, i * 60);<br \/>\n          io.unobserve(entry.target);<br \/>\n        }<br \/>\n      });<br \/>\n    }, { threshold: 0.1, rootMargin: \"0px 0px -60px 0px\" });<br \/>\n    reveals.forEach(function (el) { io.observe(el); });<\/p>\n<p>    \/\/ Gear connector<br \/>\n    var gearSection = document.querySelector(\".gear\");<br \/>\n    if (gearSection) {<br \/>\n      var gearIO = new IntersectionObserver(function (entries) {<br \/>\n        entries.forEach(function (entry) {<br \/>\n          if (entry.isIntersecting) {<br \/>\n            entry.target.classList.add(\"in-view\");<br \/>\n            gearIO.unobserve(entry.target);<br \/>\n          }<br \/>\n        });<br \/>\n      }, { threshold: 0.35 });<br \/>\n      gearIO.observe(gearSection);<br \/>\n    }<\/p>\n<p>    \/\/ Parallax na hero<br \/>\n    var hero = document.querySelector(\".hero\");<br \/>\n    var heroContent = document.querySelector(\".hero-content\");<br \/>\n    window.addEventListener(\"scroll\", function () {<br \/>\n      var y = window.scrollY;<br \/>\n      if (y < window.innerHeight) {\n        heroContent.style.transform = \"translateY(\" + (y * 0.15) + \"px)\";\n        heroContent.style.opacity = 1 - (y \/ window.innerHeight) * 1.1;\n      }\n    }, { passive: true });\n\n    \/\/ Mouse glow na hero\n    var heroBeforeStyle = document.createElement(\"style\");\n    document.head.appendChild(heroBeforeStyle);\n    hero.addEventListener(\"mousemove\", function (e) {\n      var rect = hero.getBoundingClientRect();\n      var x = ((e.clientX - rect.left) \/ rect.width) * 100;\n      var y = ((e.clientY - rect.top) \/ rect.height) * 100;\n      heroBeforeStyle.textContent =\n        \".hero::before { background: radial-gradient(ellipse 600px 600px at \" + x + \"% \" + y + \"%, rgba(107,33,168,.55), transparent 60%), linear-gradient(180deg, rgba(5,5,5,.92) 0%, rgba(5,5,5,.75) 18%, rgba(5,5,5,.45) 45%, rgba(5,5,5,.55) 70%, rgba(5,5,5,.85) 100%) !important; }\";\n    });\n    hero.addEventListener(\"mouseleave\", function () {\n      heroBeforeStyle.textContent = \"\";\n    });\n  })();\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Milosz. Portfolio O mnie Sprzet Instagram Kontakt &nbsp; &nbsp; Fotografia artystyczna Milosz Wisniewski Zatrzymuje chwile, ktore mowia wiecej niz slowa Zobacz portfolio\u2192 scroll Wybrane prace Portfolio Kazde zdjecie to osobna historia &nbsp; \u00d7\u2190\u2192 1 \/ 27 Kim jestem O mnie Jestem fotografem, ktory od lat szuka tego jednego momentu \u2014 ulotnego, surowego, prawdziwego. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/pages\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":23,"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/pages\/13\/revisions"}],"predecessor-version":[{"id":188,"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/pages\/13\/revisions\/188"}],"wp:attachment":[{"href":"https:\/\/miloszwisniewski.art\/index.php\/wp-json\/wp\/v2\/media?parent=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}