*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{background-color:var(--color-background-light);color:var(--color-text-light);font-display:swap;font-family:Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-black:#000;--color-near-white:#fdfdfd;--color-white:#fff;--color-accent:#d7ff00;--color-background-light:var(--color-white);--color-background-dark:var(--color-black);--color-text-light:var(--color-black);--color-text-dark:var(--color-white);--header-height:80px}.container{margin-left:auto;margin-right:auto;max-width:1200px;padding-left:15px;padding-right:15px;width:90%}.section-padding{padding-bottom:80px;padding-top:80px}.dark-bg{background-color:var(--color-background-dark)}.dark-bg,.dark-bg .section-title{color:var(--color-text-dark)}.text-center{text-align:center}.site-header{background-color:rgba(0,0,0,.8);height:var(--header-height);left:0;position:fixed;top:0;transition:background-color .3s ease;width:100%;z-index:1000}.header-container{align-items:center;display:flex;height:100%;justify-content:space-between}.logo a{color:var(--color-white);font-size:1.5rem;font-weight:700;text-decoration:none}.main-nav{position:relative}.nav-menu{align-items:center;display:flex;list-style:none;margin:0;padding:0}.nav-menu li{margin-left:25px}.nav-link{color:var(--color-white);font-weight:700;padding:5px 0;position:relative;text-decoration:none;text-transform:uppercase;transition:color .3s ease}.nav-link:after{background-color:var(--color-accent);bottom:-2px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.nav-link.active,.nav-link:hover{color:var(--color-accent)}.nav-link.active:after,.nav-link:hover:after{transform:scaleX(1)}.lang-switcher .lang-btn{background:none;border:none;color:var(--color-white);cursor:pointer;font-weight:700;padding:0 5px;transition:color .3s ease}.lang-switcher .lang-btn.active{color:var(--color-accent);cursor:default}.lang-switcher .lang-btn:not(.active):hover{color:var(--color-accent)}.nav-toggle{background:none;border:none;cursor:pointer;display:none;padding:10px;z-index:1001}.nav-toggle span{background-color:var(--color-white);display:block;height:3px;margin:5px 0;transition:transform .3s ease,opacity .3s ease;width:25px}.nav-toggle.open span:first-child{transform:translateY(8px) rotate(45deg)}.nav-toggle.open span:nth-child(2){opacity:0}.nav-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero-section{align-items:center;color:var(--color-text-dark);display:flex;height:90vh;justify-content:center;max-height:1080px;overflow:hidden;padding-top:var(--header-height);position:relative;text-align:center}.hero-video-wrapper{background-color:var(--color-black);overflow:hidden;z-index:-1}.hero-video-wrapper,.video-overlay{height:100%;left:0;position:absolute;top:0;width:100%}.video-overlay{background-color:rgba(0,0,0,.6);z-index:1}.hero-video-wrapper .hero-video{height:auto;left:50%;min-height:100%;min-width:100%;object-fit:cover;position:absolute;top:50%;transform:translate(-50%,-50%);width:auto;z-index:0}.hero-video-fallback{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-2}.hero-content{position:relative;z-index:2}.hero-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem}.hero-subtitle{font-size:1.25rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:700px}.btn{border:2px solid transparent;border-radius:5px;cursor:pointer;display:inline-block;font-weight:700;padding:12px 30px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-black)}.btn-primary:hover{background-color:transparent;color:var(--color-accent)}.hero-section .btn-primary:hover{background-color:var(--color-white);border-color:var(--color-white);color:var(--color-black)}.btn-secondary{background-color:transparent;border-color:var(--color-text-light);color:var(--color-text-light)}.dark-bg .btn-secondary{border-color:var(--color-text-dark);color:var(--color-text-dark)}.btn-secondary:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-black)}.btn-large{font-size:1.1rem;padding:15px 40px}.section-title{color:var(--color-text-light);font-size:2.5rem;margin-bottom:40px;position:relative;text-align:center}.about-content{align-items:center;display:flex;flex-wrap:wrap;gap:40px}.about-text{flex:1;min-width:300px}.about-visual-placeholder{align-items:center;background-color:#eee;background-image:url(../img/profilowe_Patryk_Byc_full.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;border:5px solid var(--color-black);display:flex;flex:1;height:400px;justify-content:center;max-width:400px;min-width:300px}.portfolio-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.portfolio-item{background-color:var(--color-near-white);border:1px solid #444;color:var(--color-text-light);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.portfolio-item:hover{box-shadow:0 10px 20px rgba(215,255,0,.2);transform:translateY(-5px)}.portfolio-item-visual-placeholder{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;color:var(--color-white);display:flex;height:250px;justify-content:center;position:relative;transition:transform .3s ease}.portfolio-item-visual-placeholder .placeholder-text{background-color:rgba(0,0,0,.5);display:none;font-size:.8rem;padding:5px 10px;z-index:1}.portfolio-item.project-item-1 .portfolio-item-visual-placeholder{background-image:url(../img/chlopi-poster.webp)}.portfolio-item.project-item-2 .portfolio-item-visual-placeholder{background-image:url(../img/kos-poster.webp)}.portfolio-item.project-item-3 .portfolio-item-visual-placeholder{background-image:url(../img/zielona-granica-poster.webp)}.portfolio-item.project-item-4 .portfolio-item-visual-placeholder{background-image:url(../img/broad-peak-poster.webp)}.portfolio-item.project-item-5 .portfolio-item-visual-placeholder{background-image:url(../img/the-office-pl-poster.webp)}.portfolio-item.project-item-6 .portfolio-item-visual-placeholder{background-image:url(../img/hiacynt-poster.webp)}.portfolio-item-info{padding:20px}.portfolio-item-info h3{font-size:1.2rem;margin-bottom:10px}.portfolio-item-info p:first-of-type{color:#555;font-size:.9em;margin-bottom:5px}.portfolio-item-info p:last-of-type{font-weight:700}.offer-grid{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px}.offer-item{border:2px solid var(--color-black);padding:25px;text-align:center}.offer-item h3{color:var(--color-black);font-size:1.3rem;margin-bottom:15px}.offer-cta{margin-top:40px;text-align:center}.filmography-section{background-color:var(--color-near-white)}.filmography-intro{color:#555;margin:0 auto 40px;max-width:700px;text-align:center}.filmography-list{display:grid;gap:10px 30px;grid-template-columns:repeat(3,1fr);margin-bottom:40px}.filmography-list dt{border-bottom:1px solid #ccc;color:var(--color-black);font-size:1.2em;font-weight:700;grid-column:1/-1;margin-top:25px;padding-bottom:5px}.filmography-list dt:first-of-type{margin-top:0}.filmography-list dd{color:#333;margin-bottom:5px;margin-left:0}.filmography-links{margin-top:30px;text-align:center}.filmography-links p{font-weight:700;margin-bottom:15px}.filmography-links .btn{margin:5px 10px}.references-grid{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.reference-item{border-left:4px solid var(--color-accent);font-style:italic;padding-left:20px}.reference-item footer{color:#ccc;font-style:normal;font-weight:700;margin-top:10px}.contact-intro{font-size:1.1rem;margin-left:auto;margin-right:auto;max-width:600px}.contact-email,.contact-intro{margin-bottom:30px}.contact-email a{font-size:1.5rem;word-break:break-all}.contact-email a.btn{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-black)}.contact-email a.btn:hover{background-color:var(--color-black);border-color:var(--color-accent);color:var(--color-accent)}.social-links{margin-top:30px}.social-links p{color:#999}.site-footer{background-color:var(--color-background-dark);color:#aaa;margin-top:50px;padding:30px 0}.placeholder-text{background-color:rgba(0,0,0,.1);border-radius:3px;color:#aaa;display:inline-block;font-size:.9rem;padding:5px 10px}.dark-bg .placeholder-text,.portfolio-item-visual-placeholder .placeholder-text{background-color:rgba(0,0,0,.5);color:var(--color-white)}@media (min-width:2561px){.hero-section{height:50vh;max-height:none;min-height:50vh}}@media (max-width:1366px){.hero-section{max-height:768px}}@media (max-width:992px){.filmography-list{gap:10px 25px;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){html{font-size:15px}.section-padding{padding-bottom:60px;padding-top:60px}.section-title{font-size:2rem;margin-bottom:30px}.hero-section{height:70vh;max-height:480px;min-height:350px}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.nav-toggle{display:block}.nav-menu{align-items:center;background-color:var(--color-black);flex-direction:column;height:100vh;justify-content:center;max-width:300px;padding-top:var(--header-height);position:fixed;right:-100%;top:0;visibility:hidden;width:70%}.nav-menu,.nav-menu.open{transition:right .4s ease-in-out}.nav-menu.open{right:0;visibility:visible}.nav-menu li{margin:15px 0}.nav-link{font-size:1.2rem}.lang-switcher{margin-top:20px}.about-content{flex-direction:column}.about-visual-placeholder{height:300px;max-width:none;width:100%}.filmography-list,.offer-grid,.portfolio-grid,.references-grid{grid-template-columns:1fr}.filmography-list{gap:5px 0}.filmography-list dt{margin-top:20px}.filmography-list dd{padding-left:10px}.contact-email a{font-size:1.2rem}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.dark-bg a:focus-visible,.dark-bg button:focus-visible,.site-header a:focus-visible,.site-header button:focus-visible{outline-color:var(--color-white)}