*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:cousine,monospace;font-size:16px;line-height:1.6;color:var(--secondary-color);background-color:var(--primary-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--primary-color:#D9D9D9;--secondary-color:#000000;--accent-color:#555555;--header-height:90px;--font-heading:'Lora', serif;--font-body:'Cousine', monospace}.container{width:90%;max-width:1440px;margin:0 auto}.section-padding{padding:60px 0}.alt-bg{background-color:#cacaca}.text-center{text-align:center}.narrow-content{max-width:800px;margin-left:auto;margin-right:auto}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;margin-bottom:1rem;font-weight:700}h1{font-size:3rem;text-transform:uppercase}h2{font-size:2.2rem;text-transform:uppercase;margin-top:1.5rem}h3{font-size:1.5rem}p{margin-bottom:1rem}a{color:inherit;text-decoration:none;transition:color .3s ease}ul{padding-left:1.5em;margin-bottom:1em}a:hover,a:focus{color:var(--accent-color)}.text-link{font-weight:700;display:inline-block;position:relative;padding-bottom:2px}.text-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--secondary-color);transition:width .3s ease}.text-link:hover::after{width:100%}.button{display:inline-block;padding:12px 25px;border:1px solid var(--secondary-color);color:var(--secondary-color);background-color:transparent;text-align:center;text-transform:uppercase;font-family:var(--font-heading);font-weight:700;transition:background-color .3s ease,color .3s ease;cursor:pointer}.button:hover,.button:focus{background-color:var(--secondary-color);color:var(--primary-color)}.site-header{position:sticky;top:0;left:0;width:100%;z-index:1000;background-color:rgba(217,217,217,.9);backdrop-filter:blur(5px);border-bottom:1px solid rgba(0,0,0,.1)}.main-nav{display:flex;justify-content:space-between;align-items:center;height:var(--header-height)}.nav-brand .logo-svg{display:block}.logo-svg .main{font-family:var(--font-heading);font-size:50px;font-weight:700;fill:var(--secondary-color);transition:fill .3s ease}.logo-svg .sub{font-family:var(--font-body);font-size:12px;letter-spacing:11px;fill:var(--secondary-color);transition:fill .3s ease}.nav-brand:hover .logo-svg .main,.nav-brand:hover .logo-svg .sub{fill:var(--accent-color)}.nav-menu{list-style:none;display:flex;gap:2rem}.nav-link{padding:5px 0;position:relative}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--secondary-color);transition:width .3s ease}.nav-link:hover::after,.nav-link.current::after{width:100%}.nav-link-button{border:1px solid var(--secondary-color);padding:8px 15px;transition:background-color .3s ease,color .3s ease}.nav-link-button:hover{background-color:var(--secondary-color);color:var(--primary-color)}.nav-link-button::after{display:none}.nav-toggle{display:none;background:0 0;border:none;cursor:pointer;padding:10px}.hamburger{display:block;width:25px;height:2px;background-color:var(--secondary-color);position:relative;transition:transform .3s ease}.hamburger::before,.hamburger::after{content:'';position:absolute;left:0;width:100%;height:2px;background-color:var(--secondary-color);transition:transform .3s ease,top .3s ease,bottom .3s ease}.hamburger::before{top:-8px}.hamburger::after{bottom:-8px}.nav-link{padding:5px 0;position:relative;transition:color .3s ease}.nav-link:hover,.nav-link:focus,.nav-link.current{color:var(--accent-color)}.nav-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--accent-color);transition:width .3s ease}.nav-link:hover::after,.nav-link:focus::after,.nav-link.current::after{width:100%}.nav-link-button.current{background-color:var(--secondary-color);color:var(--primary-color)}.nav-link-button::after{display:none}@media(max-width:991px){.nav-toggle{display:block;z-index:1001}.nav-menu{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background-color:var(--primary-color);flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding-top:var(--header-height);transition:right .4s ease-in-out;box-shadow:-2px 0 10px rgba(0,0,0,.1)}.nav-menu.is-active{right:0}.nav-link{font-size:1.2rem}.nav-toggle.is-active .hamburger{background-color:transparent}.nav-toggle.is-active .hamburger::before{top:0;transform:rotate(45deg)}.nav-toggle.is-active .hamburger::after{bottom:0;transform:rotate(-45deg)}}.hero{min-height:calc(80vh - var(--header-height));display:flex;align-items:center}.hero-content{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem}.hero-text h1{font-size:clamp(2.5rem,6vw,4.5rem);margin-bottom:.5rem}.hero-text h2{font-size:clamp(1.2rem,3vw,1.8rem);margin-bottom:1.5rem;font-family:var(--font-body);font-weight:400;text-transform:none;color:var(--accent-color)}.hero-stats{margin-top:2rem;font-size:.9rem;color:var(--accent-color)}.hero-stats span{margin-right:1.5rem}.hero-image-container img{width:100%;height:auto;max-height:70vh;object-fit:cover}@media(max-width:768px){.hero-content{grid-template-columns:1fr;text-align:center}.hero-image-container{order:-1;margin-bottom:2rem}.hero-stats{text-align:center}.hero-stats span{margin:0 .75rem}.main-nav img{max-width:300px;margin-top:12px}.main-nav{width:95%}.project-nav-links{text-align:end}}.section-title{text-align:center;margin-bottom:3rem;font-size:2rem}.service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.service-item{padding:1.5rem;border:1px solid rgba(0,0,0,.1);transition:box-shadow .3s ease}.service-item:hover{box-shadow:0 5px 15px rgba(0,0,0,5%)}.service-item h3{margin-bottom:.5rem}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.portfolio-item{position:relative;overflow:hidden;display:block;background-color:var(--secondary-color)}.portfolio-item img{width:100%;height:300px;object-fit:cover;display:block;transition:transform .4s ease,opacity .4s ease;opacity:.8}.portfolio-item:hover img{transform:scale(1.05);opacity:.5}.portfolio-item-overlay{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:var(--primary-color);transform:translateY(30%);opacity:0;transition:transform .4s ease,opacity .4s ease}.portfolio-item:hover .portfolio-item-overlay{transform:translateY(0);opacity:1}.portfolio-item-overlay h3{font-size:1.2rem;margin-bottom:.25rem;font-family:var(--font-heading)}.portfolio-item-overlay span{font-size:.85rem;display:block;font-family:var(--font-body);color:rgba(217,217,217,.8)}.site-footer{background-color:var(--secondary-color);color:var(--primary-color);font-size:.9rem}.footer-content{text-align:center;padding-top:2rem;padding-bottom:2rem}.footer-nav a,.footer-social a{color:var(--primary-color);margin:0 .75rem}.footer-nav a:hover,.footer-social a:hover{text-decoration:underline}.footer-social{margin:1rem 0}.footer-copy{margin-top:1rem;font-size:.8rem;opacity:.7}.project-page .project-header{text-align:center;border-bottom:1px solid rgba(0,0,0,.1);margin-bottom:2rem}.project-page .project-role{display:block;margin:.5rem 0;font-style:italic;color:var(--accent-color)}.project-page .project-year-location{display:block;font-size:.9rem;color:#777}.project-page .project-description p{margin-bottom:1rem}.masonry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-auto-rows:10px;gap:15px;margin-bottom:3rem}.masonry-item img{width:100%;height:100%;object-fit:cover;display:block}.masonry-item{grid-row-end:span 25;background-color:#eee}.masonry-item.tall{grid-row-end:span 40}.masonry-item.wide{grid-column-end:span 2;grid-row-end:span 20}@media(max-width:768px){.masonry-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.masonry-item.wide{grid-column-end:span 1}}.project-nav-links{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(0,0,0,.1);padding-top:2rem}.animate-on-scroll{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.fade-in{transform:translateY(20px)}.animate-on-scroll.fade-in-up{transform:translateY(30px)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.portfolio-list-page .large-title{font-size:clamp(2.5rem,8vw,5rem);text-align:center;margin-bottom:4rem}.portfolio-list-container{display:flex;flex-direction:column;gap:5rem}.portfolio-list-item{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;align-items:center;overflow:hidden}.portfolio-list-image{grid-column:span 6;transition:transform .5s ease-out}.portfolio-list-content{grid-column:span 6;padding:1rem 0}.portfolio-list-item.layout-right .portfolio-list-image{grid-column:7/span 6;grid-row:1}.portfolio-list-item.layout-right .portfolio-list-content{grid-column:1/span 6;grid-row:1;text-align:right}.portfolio-list-item.layout-right .portfolio-list-meta,.portfolio-list-item.layout-right .button{justify-content:flex-end}.portfolio-list-image img{width:100%;height:auto;display:block}.portfolio-list-content h2{font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:.5rem;font-family:var(--font-heading)}.portfolio-list-meta{font-size:.9rem;color:var(--accent-color);margin-bottom:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.portfolio-list-meta span{display:inline-block}.portfolio-list-summary{margin-bottom:1.5rem;color:#333;line-height:1.7}.button.button-small{padding:10px 20px;font-size:.9rem}@media(max-width:991px){.portfolio-list-item{gap:1rem}.portfolio-list-image,.portfolio-list-content,.portfolio-list-item.layout-right .portfolio-list-image,.portfolio-list-item.layout-right .portfolio-list-content{grid-column:span 6}.portfolio-list-content h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}}.portfolio-list-item{overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.portfolio-list-item.is-visible{opacity:1;transform:translateY(0)}@media(min-width:768px){.portfolio-list-image{grid-column:span 6}.portfolio-list-content{grid-column:span 6;padding:1rem 0}.portfolio-list-item.layout-right .portfolio-list-image{grid-column:7/span 6;grid-row:1}.portfolio-list-item.layout-right .portfolio-list-content{grid-column:1/span 6;grid-row:1;text-align:right}.portfolio-list-item.layout-right .portfolio-list-meta,.portfolio-list-item.layout-right .button{justify-content:flex-end}.portfolio-list-item.layout-left .portfolio-list-image{transform:translateX(-20px);opacity:0;transition:transform .6s ease-out .1s,opacity .6s ease-out .1s}.portfolio-list-item.layout-right .portfolio-list-image{transform:translateX(20px);opacity:0;transition:transform .6s ease-out .1s,opacity .6s ease-out .1s}.portfolio-list-item.is-visible .portfolio-list-image{transform:translateX(0);opacity:1}}@media(max-width:767px){.portfolio-list-container{gap:3rem}.portfolio-list-item{grid-template-columns:1fr;text-align:center;overflow:visible}.portfolio-list-image,.portfolio-list-item.layout-left .portfolio-list-image,.portfolio-list-item.layout-right .portfolio-list-image{grid-column:1/-1!important;grid-row:1!important;margin-bottom:1rem;text-align:center;transform:none!important;opacity:1!important;transition:none!important}.portfolio-list-image img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}.portfolio-list-content,.portfolio-list-item.layout-left .portfolio-list-content,.portfolio-list-item.layout-right .portfolio-list-content{grid-column:1/-1!important;grid-row:2!important;text-align:center!important;padding:0;opacity:1!important;transform:none!important}.portfolio-list-meta,.portfolio-list-item.layout-right .portfolio-list-meta{justify-content:center}}.portfolio-list-item.layout-left .portfolio-list-image.is-visible{transform:translateX(0);opacity:1}.portfolio-list-item.layout-right .portfolio-list-image.is-visible{transform:translateX(0);opacity:1}.portfolio-list-item.layout-left .portfolio-list-image{transform:translateX(-30px);opacity:0;transition:transform .6s ease-out .1s,opacity .6s ease-out .1s}dodajemy transition z opóźnieniem .portfolio-list-item.layout-right .portfolio-list-image{transform:translateX(30px);opacity:0;transition:transform .6s ease-out .1s,opacity .6s ease-out .1s}.portfolio-list-item.is-visible .portfolio-list-image{transform:translateX(0);opacity:1}h2[id],h3[id],h4[id]{scroll-margin-top:150px}