 
 /*EKRAN ŁADOWANIA - KOD*/
 
 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        /* Startujemy z ukrytym scrollem */
        body {
            background-color: #1a1818;
            color: #ffffff;
            font-family: 'Anton', sans-serif;
            width: 100%;
            overflow: hidden;
           
        }

        body::-webkit-scrollbar {
            color: transparent;
        }

        /* Treść strony (tu wrzucasz całą resztę swojej agencji) */
        section.hero {
            width: 100%;
            height: 200vh; /* Większa wysokość, żeby sprawdzić czy scroll działa */
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            padding-top: 10vh;
            background: linear-gradient(180deg, #09090b 0%, #1a1a1a 100%);
        }

        .hero h1 {
            font-size: 8vw;
            text-transform: uppercase;
        }

        /* Kontener Intro (Kurtyna) */
        #introWrapper {
            position: fixed;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: #000000; /* Tło kurtyny zbieżne z body */
            z-index: 100;
            clip-path: inset(0% 0% 0% 0%); 
        }

        .container-ref {
            position: relative;
            width: 88vw;
            max-width: 28rem;
            aspect-ratio: 16 / 9;
            overflow: hidden;
        }

        @media (min-width: 768px) {
            .container-ref {
                width: 42vw;
                max-width: none;
            }
        }

        .intro-img {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            clip-path: inset(0% 0% 100% 0%);
        }


/*MENU - KOD*/

@import url("https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&family=Onest:wght@100..900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Onest", sans-serif;
  background-color: #141414;
}



/* --- NAVIGATION BAR --- */
.menu-nav {
  position: fixed;
  top: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  z-index: 100; /* Najwyższa warstwa */
}

.nav-logo img {
  width: 100px;
  height: 100px;

}

.nav-toggler {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 1rem;
  pointer-events: all; /* Musi być klikalny zawsze */
}

.nav-toggler span {
  width: 40px;
  height: 2px;
  background-color: #777676;
  transition: all 0.4s ease;
}

/* --- OVERLAY CONTENT (50% Height) --- */
.nav-content {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 50vh;
  z-index: 50;
  pointer-events: none; /* Ignoruje kliknięcia w pustą przestrzeń */
}

.nav-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transform: scaleY(0);
  transform-origin: top;
  will-change: transform;
  pointer-events: none; /* Tła nigdy nie blokują myszki */
}

.nav-bg:nth-child(1) { background-color: #1d1d1d; }
.nav-bg:nth-child(2) { background-color: #212222; }
.nav-bg:nth-child(3) { background-color: #dddfde; }
.nav-bg:nth-child(4) { background-color: #ffffff; }

.nav-items {
  display: flex;
  height: 100%;
  width: 100%;
  background-color: #000;
  padding: 6rem 4rem 2rem 4rem;
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
  pointer-events: all; /* TYLKO ta warstwa i jej dzieci są klikalne */
  gap: 2rem;
  position: relative;
}

/* --- UKŁAD KOLUMN --- */
.nav-items-col {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

.nav-items-col:nth-child(1) { flex: 1; gap: 2rem; }
.nav-items-col:nth-child(2) { 
  flex: 2; 
  flex-direction: row; 
  gap: 4rem; 
  justify-content: flex-start;
}

.nav-socials, 
.nav-legal, 
.nav-primary-links, 
.nav-secondary-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
  z-index: 3;
}

/* --- STYL I KLIKALNOŚĆ LINKÓW --- */
.nav-items a {
  text-decoration: none;
  color: #fff;
  display: inline-block;
  position: relative;
  width: fit-content;
  margin-bottom: 0.6rem;
  line-height: 1.1;
  z-index: 10; /* Upewniamy się, że są na wierzchu */
  pointer-events: auto; /* Wymuszamy klikalność */
}

.nav-primary-links a { font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 500; }
.nav-secondary-links a { font-size: 1.25rem; }
.nav-socials a { font-size: 1rem; }
.nav-legal a { font-size: 0.8rem; color: #ffffff; }

/* --- EFEKT HOVER --- */
.nav-items a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}

.nav-items a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Przyciemnianie innych przy hoverze */
.nav-items:hover a:not(:hover) {
  opacity: 0.4;
}

/* --- RESPONSIVE --- */
@media (max-width: 1000px) {
  .nav-content { height: 100vh; }
  .nav-items { flex-direction: column; padding: 6rem 2rem; overflow-y: auto; }
  .nav-items-col:nth-child(2) { flex-direction: column; gap: 1.5rem; }
  .nav-legal, .nav-secondary-links { display: flex; } /* Przywrócone dla pionowego układu */
}










 /*HERO - KOD*/

 * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body, html {
            height: 100%;
            background-color: #ffffff;
            font-family: 'Inter', sans-serif;
           
        }

        /* GŁÓWNY GRID */
        #hero-parent {
            display: grid;
            grid-template-columns: 1fr 1fr;
            width: 100vw;
            height: 100vh;
            padding: 4vw;
            position: relative;
        }

        /* --- MECHANIKA TEXT REVEAL (Maskowanie) --- */
        .reveal {
            overflow: hidden;
            display: block; /* Ważne dla poprawnego działania maski na inline */
        }

        .reveal span, .reveal-block span {
            display: block;
            transform: translateY(105%); /* Ukryte na start, 5% zapasu na polskie znaki */
            will-change: transform;
        }

        /* --- DROBNE OPISY W ROGACH (Micro-copy) --- */
        .corner-detail {
            position: relative;
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            color: #888;
            font-weight: 400;
        }

        .top-left { top: 7vw; left: 4vw; width: 220px; line-height: 1.4; }
        .top-right { top: 7vw; right: 4vw; text-align: right; }
        .bottom-left { bottom: 4vw; left: 4vw; display: flex; gap: 20px; }

        /* KONTENERY KOLUMN */
        .col-left, .col-right {
            display: grid;
            width: 100%;
            height: 100%;
        }

        .col-left { align-items: center; } 
        .col-right { align-items: end; justify-items: end; }

        /* NAGŁÓWEK */
        .agency-title {
            color: #000;
            font-size: clamp(3rem, 8vw, 10.5rem);
            line-height: 0.85;
            text-transform: uppercase;
            letter-spacing: -0.05em;
            white-space: nowrap;
            margin-top: -5vh;
        }

        /* SLIDER - MNIEJSZY PROSTOKĄT */
        .slider-window {
            width: 26vw; 
            aspect-ratio: 16 / 11;
            overflow: hidden;
            position: relative;
            background-color: #f0f0f0;
            margin-bottom: 2vh;
            /* Ukryty na start do animacji wjazdu */
            opacity: 0;
            transform: translateY(20px);
        }

        /* MECHANIKA SLIDERA (Made in Evolve) */
        .slide-container { position: absolute; inset: 0; }
        .slide {
            position: absolute;
            inset: 0;
            overflow: hidden;
            clip-path: inset(0% 0% 0% 100%);
            z-index: 1;
        }
        .slide.active { clip-path: inset(0% 0% 0% 0%); z-index: 2; }
        .slide img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transform: scale(1.25);
            will-change: transform, clip-path;
        }

        /* RWD */
        @media (max-width: 1024px) {
            #hero-parent { grid-template-columns: 1fr; padding: 10vw; }
            .agency-title { font-size: 11vw; white-space: normal; }
            .slider-window { width: 70vw; }
            .corner-detail { display: none; }
        }




        /*SEKCJA ABOUT*/

        body {
            background-color: #ffffff;
            color: #000000;
            margin: 0;
            font-family: "Neue Montreal", sans-serif;
            /* Opcjonalnie: cursor: none; jeśli chcesz customowy kursor z poprzedniej wersji */
        }

        .wrapper {
            width: 100%;
            min-height: 120vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 100px 5%;
            box-sizing: border-box;
            position: relative;
        }

        /* --- DROBNOSTKI (PODPISKI) --- */
        .meta-text {
            font-size: 10px;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            position: absolute;
            font-weight: 500;
            color: #888;
        }
        .meta-1 { top: 40px; left: 40px; }
        .meta-2 { top: 40px; right: 40px; }
        .meta-3 { bottom: 40px; left: 40px; }

        /* --- XYZ INTERAKCJA (ZMNIEJSZONA GRUBOŚĆ) --- */
        .xyz-container {
            display: flex;
            gap: clamp(20px, 5vw, 60px);
            margin-bottom: 60px;
        }

        .letter {
            font-size: clamp(80px, 15vw, 150px);
            font-weight: 300; /* Lżejsza waga fontu */
            color: transparent;
            /* Zmniejszyłem z 1px na 0.5px dla efektu "hairline" */
            -webkit-text-stroke: 0.5px #000; 
            transition: color 0.4s cubic-bezier(0.23, 1, 0.32, 1);
            cursor: pointer;
        }

        .letter:hover {
            color: #000;
        }

        /* --- TEKST GŁÓWNY --- */
        .copy {
            width: 85%;
            max-width: 1100px;
            font-size: clamp(24px, 4vw, 44px);
            line-height: 1.15;
            font-weight: 400;
            color: #000;
            text-align: left;
            letter-spacing: -0.01em;
            overflow: hidden;
        }

        .split-parent {
            overflow: hidden;
        }

        @media (max-width: 768px) {
            .meta-text { display: none; }
            .copy { width: 100%; }
        }






        /*SEKCJA SOCIAL PROOF*/


         body {
            margin: 0;
            background-color: #fff;
            font-family: "Neue Montreal", sans-serif;
        }

        .section-marquee {
            width: 100%;
            height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            position: relative;
            background: #fff;
        }

        .marquee-container {
            display: flex;
            flex-direction: column;
            gap: 2vw;
            transform: rotate(-8deg) scale(1.1); /* Ukośny układ */
            width: 120vw;
            transition: filter 0.5s ease; /* Płynne przejście blura */
        }

        /* Gdy najeżdżamy na kontener, rozmywamy wszystko... */
        .marquee-container:hover .marquee-line {
            filter: blur(5px);
            opacity: 0.3;
        }

        /* ...ale podświetlamy i ostrzymy linię, na której jest kursor */
        .marquee-line:hover {
            filter: blur(0px) !important;
            opacity: 1 !important;
            background: #f9f9f9;
        }

        .marquee-line {
            display: flex;
            white-space: nowrap;
            border-top: 1px solid #000;
            border-bottom: 1px solid #000;
            padding: 2vw 0;
            cursor: pointer;
            transition: filter 0.4s ease, opacity 0.4s ease, background 0.4s ease;
            background: white;
        }

        .marquee-item {
            display: flex;
            flex-shrink: 0;
        }

        .marquee-item span {
            font-size: clamp(30px, 6vw, 80px);
            font-weight: 300;
            text-transform: uppercase;
            padding: 0 4vw;
            letter-spacing: -0.02em;
            color: #000;
        }

        .line-2 .marquee-item span {
            font-weight: 200;
            font-style: italic;
        }







        /*SEKCJA PORTFOLIO*/

@import url("https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

h1 {
  text-transform: uppercase;
  text-align: center;
  font-size: 5rem;
  font-weight: 550;
  line-height: 1;
}

section {
  position: relative;
  width: 100vw;
  overflow: hidden;
}

.hero,
.outro {
  height: 100svh;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2rem;
}

.work-item {
  height: 150svh;
}

.work-item-img {
  position: absolute;
  width: 100%;
  height: 100%;
  clip-path: polygon(25% 25%, 75% 40%, 100% 100%, 0% 100%);
  will-change: clip-path;
}

.work-item-name {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 1;
  overflow: hidden;
}

.work-item-name h1 {
  color: #fff;
}

@media (max-width: 1000px) {
  h1,
  .work-item-name h1 {
    font-size: 2.5rem;
  }
}





/*SEKCJA OPINI*/


body {
            margin: 0;
            background-color: #ffffff;
            color: #000;
            font-family: "Neue Montreal", sans-serif;
        }

        .spacer {
            width: 100%;
            height: 50vh;
            background-color: #ffffff;
        }

        .testimonial-section {
            height: 200vh;
            display: flex;
            align-items: center;
            justify-content: center;
            perspective: 3000px; /* Większa perspektywa dla lepszego 3D */
            position: relative;
        }

        /* --- POPRAWIONY NAGŁÓWEK --- */
        .center-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 1; /* Wyżej niż tło sceny */
            text-align: center;
            width: 100%;
            pointer-events: none;
        }

        .center-text h2 {
            font-size: clamp(40px, 8vw, 110px);
            font-weight: 800;
            text-transform: uppercase;
            line-height: 0.9;
            letter-spacing: -0.05em;
            margin: 0;
            color: rgba(0, 0, 0, 0.8); /* Mocniejszy kolor */
            /* Dodajemy białą poświatę, żeby tekst "wycinał się" z obrazków */
            text-shadow: 0 0 15px rgba(255, 255, 255, 0.8);
            -webkit-text-stroke: 1px rgba(0,0,0,0.3);
        }

        /* --- SCENA 3D --- */
        .stage {
            width: 400px;
            height: 550px;
            position: relative;
            transform-style: preserve-3d;
            will-change: transform;
            z-index: 2; /* Bryła jest nadrzędna, ale karty mają własne warstwy */
        }

        .testimonial-card {
            position: absolute;
            width: 400px;
            height: 550px;
            background: rgba(255, 255, 255, 0.98); 
            border: 1.5px solid #000;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            padding: 30px;
            box-shadow: 0 20px 50px rgba(0,0,0,0.1);
            /* Pozwalamy widzieć drugą stronę bryły */
            backface-visibility: visible; 
        }

        .testimonial-card img {
            width: 100%;
            height: 260px;
            object-fit: cover;
            filter: grayscale(1);
            margin-bottom: 25px;
        }

        .quote {
            font-size: 18px;
            line-height: 1.4;
            flex-grow: 1;
        }

        .author {
            font-size: 11px;
            text-transform: uppercase;
            letter-spacing: 0.15em;
            border-top: 1.5px solid #000;
            padding-top: 20px;
        }

        .drag-proxy {
            position: absolute;
            width: 100%;
            height: 100%;
            z-index: 100;
            cursor: grab;
        }
        .drag-proxy:active { cursor: grabbing; }




        /*FOTTER*/

        :root {
            --bg: #ffffff;
            --text: #000000;
            --gray: #888888;
            --font-main: 'Inter', sans-serif;
            
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background-color: var(--bg);
            color: var(--text);
            
        }

        .spacer { height: 100vh; display: flex; align-items: center; justify-content: center; color: var(--gray); text-transform: uppercase; letter-spacing: 0.2em; font-size: 0.7rem; }

        footer {
            width: 100%;
            padding: 100px 5% 60px 5%;
            background-color: var(--bg);
            border-top: 1px solid #eaeaea;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr;
            gap: 60px;
            margin-bottom: 100px;
        }

        .footer-label {
            font-size: 0.7rem;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--gray);
            margin-bottom: 30px;
            display: block;
        }

        /* Rolling Text Link */
        .nav-link {
            display: block;
            text-decoration: none;
            color: var(--text);
            font-size: 1.2rem;
            font-weight: 400;
            line-height: 1.8;
            height: 1.8em;
            text-transform: uppercase;
            overflow: hidden;
            position: relative;
        }

        .link-inner {
            display: flex;
            flex-direction: column;
            transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
        }

        .nav-link:hover .link-inner { transform: translateY(-50%); }
        .link-text { height: 1.8em; display: flex; align-items: center; }

        /* --- BIG HEADER WITH ARROW REVEAL --- */
        .footer-cta-wrapper {
            margin-top: 80px;
            border-top: 1px solid #eee;
            padding-top: 60px;
        }

        .huge-title {
            font-family: var(--font-main);
            font-size: clamp(3rem, 9vw, 12rem);
            font-weight: 700;
            line-height: 0.9;
            letter-spacing: -0.03em;
            text-decoration: none;
            color: var(--text);
            display: flex;
            align-items: center;
            cursor: pointer;
            width: fit-content;
        }

        .arrow-icon {
            width: 0; /* Ukryta na starcie */
            height: 0.8em;
            overflow: hidden;
            transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1), margin-left 0.6s;
            display: flex;
            align-items: center;
            margin-left: 0;
        }

        .huge-title:hover .arrow-icon {
            width: 1.2em; /* Rozsuwa się */
            margin-left: 30px;
        }

        .arrow-icon svg {
            width: 100%;
            height: 100%;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.5;
        }

        .footer-bottom {
            margin-top: 100px;
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            padding-top: 40px;
            border-top: 1px solid #f4f4f4;
            font-size: 0.8rem;
        }

        .copyright { color: var(--gray); }

        @media (max-width: 768px) {
            .footer-grid { grid-template-columns: 1fr; gap: 40px; }
            .huge-title { font-size: 12vw; }
        }


/* --- MEDIA QUERIES DLA SEKCJI OPINII --- */

@media (max-width: 1024px) {
    .testimonial-section {
        perspective: 2000px; /* Zmniejszamy głębię */
    }

    /* Zmniejszamy karty, żeby zmieściły się w viewport */
    .stage, .testimonial-card {
        width: 320px;
        height: 450px;
    }

    .testimonial-card img {
        height: 180px;
    }

    .quote {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    .testimonial-section {
        perspective: 1500px;
        height: 150vh; /* Krótsza sekcja na mobile */
    }

    /* Karty na smartfony */
    .stage, .testimonial-card {
        width: 260px;
        height: 380px;
    }

    .testimonial-card {
        padding: 20px;
    }

    .testimonial-card img {
        height: 140px;
        margin-bottom: 15px;
    }

    .quote {
        font-size: 14px;
        line-height: 1.3;
    }

    .author {
        font-size: 9px;
        padding-top: 15px;
    }

    /* Napis w tle też musi się skurczyć */
    .center-text h2 {
        font-size: 12vw;
    }
}

/* Dla bardzo małych ekranów (iPhone SE itp) */
@media (max-width: 400px) {
    .stage, .testimonial-card {
        width: 220px;
        height: 320px;
    }
    
    .quote {
        font-size: 12px;
    }
}
 