.cs-hero-hp {
  position: relative;
  max-width: 100%;
  width: 100%;
  height: auto;
  margin: 0;
  margin-top: -64px;
  padding: 64px 0 3px 0;
  background: transparent;
  color: #fff;
  overflow: hidden;
  border-bottom: 1px solid #2ECC71;
}

body.wp-admin .editor-styles-wrapper .cs-hero-hp,
body.wp-admin .block-editor-block-list__layout .cs-hero-hp {
  overflow: hidden;
}

body.wp-admin .block-editor-block-list__layout.is-root-container {
  overflow: hidden;
}

body.wp-admin .cs-hero-hp__desc--animate,
body.wp-admin .cs-hero-hp__btn--animate {
  opacity: 1 !important;
  transform: none !important;
}

/* Black background under graphics */
.cs-hero-hp::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #0c0c0f;
  z-index: 0;
}

/* Border zielony po przestrzeni z góry */
.cs-hero-hp::after {
    content: '';
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    height: 1px;
    background: #2ECC71;
    z-index: 7;
}

/* Navbar */
.cs-hero-hp__navbar {
  background: #0b0b0b;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.cs-hero-hp__navbar-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 14px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.cs-hero-hp__logo {
  font-family: "Lexend-Bold", "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.4px;
}
.cs-hero-hp__nav ul { display:flex; gap: 22px; margin:0; padding:0; list-style:none; }
.cs-hero-hp__nav a { color:#eee; text-decoration:none; font-weight:500; opacity:0.85; }
.cs-hero-hp__nav a:hover { opacity:1; }
.cs-hero-hp__btn { 
  display:inline-flex; 
  align-items:center; 
  justify-content:center; 
  gap:10px; 
  text-decoration:none; 
 }
 
.cs-hero-hp__btn--animate { opacity:0; transform: translateY(32px); will-change: opacity, transform; }

/* Split */
.cs-hero-hp__split {
  position:relative;
  display:grid;
  grid-template-columns: 53fr 47fr;
  grid-template-areas: "text visual";
  min-height: 400px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 clamp(30px, 5vw, 60px);
  z-index: 6;
}
.cs-hero-hp__left {
  position:relative;
  background: transparent;
  padding: 93.5px 30px 93.5px 0;
  grid-area: text;
}
.cs-hero-hp__right {
  position:relative;
  background: transparent;
  grid-area: visual;
}

/* Divider - zielona kreska na środku */
.cs-hero-hp__divider { 
    position: absolute; 
    left: 53%; 
    top: 0px; 
    bottom: -2px; 
    width: 1px; 
    transform: translateX(-1px); 
    background: rgba(46, 204, 113, 0.7); 
    pointer-events: none; 
    z-index: 7;
}

/* Content */
.cs-hero-hp__content { margin: 0; color: #fff; }
.cs-hero-hp__headline { font-size: clamp(48px, 4.5vw, 56px); margin:0 0 24px 0; display:flex; flex-direction:column; font-family: "Lexend", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.cs-hero-hp__headline .line { font-size: clamp(48px, 4.5vw, 56px); font-style: normal; line-height: 1.1; font-weight: 400; color: #FFF; font-family: Lexend; letter-spacing: inherit; }
.cs-hero-hp__headline .line--accent { color: var(--Adlook-Green, #2ECC71); font-weight: 400; }
.cs-hero-hp__line { display:block; overflow:hidden; }
.cs-hero-hp__line--animate { opacity:1; transform:none; filter:none; }
.cs-hero-hp__headline .char { display:inline-block; }
.cs-hero-hp__headline .char--space { width:0.35em; opacity:1; transform:none; filter:none; animation:none; }
.hero-char {
  display: inline-block;
  opacity: 0;
  transform: translateY(12px);
  filter: blur(6px);
  will-change: opacity, transform, filter;
  animation-name: hero-char-in, hero-char-deblur;
  animation-timing-function: cubic-bezier(.3,1.05,.22,1), linear; /* faster start, softer landing */
  animation-fill-mode: forwards, forwards;
  animation-duration: 0.12s, 0.1s;
  animation-delay: var(--hero-delay, 0s), var(--hero-delay, 0s);
  transform-origin: center;
}

@keyframes hero-char-in {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(1.2);
  }
  45% {
    opacity: 1;
    transform: translateY(-4px) scale(1.05);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes hero-char-deblur {
  to {
    filter: blur(0);
  }
}

body.wp-admin .cs-hero-hp__line--animate,
body.wp-admin .cs-hero-hp__headline .char {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  animation: none !important;
}
.cs-hero-hp__desc { margin: 0 0 24px 0; max-width: 492px; font-family: Lexend; font-size: 18px; font-style: normal; font-weight: 300; line-height: 26px; color: #FFF; opacity: 0.98; }
.cs-hero-hp__desc p { margin: 0; font-family: Lexend; font-size: 18px; font-style: normal; font-weight: 300; line-height: 26px; }
.cs-hero-hp__desc b,
.cs-hero-hp__desc strong { font-weight: 500; }
.cs-hero-hp__desc--light { font-weight: 300; }
.cs-hero-hp__desc--animate { opacity:0; transform: translateY(32px); will-change: opacity, transform; }
.is-animated .cs-hero-hp__desc--animate { animation: csHeroSlideUp 1200ms cubic-bezier(.16,.84,.44,1) forwards; }
.cs-hero-hp__btn--primary { 
    display: inline-flex;
    padding: 10px 30px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 500px;
    background: var(--Adlook-Green, #2ECC71);
    color: #FFF;
    text-align: center;
    font-family: Lexend;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    box-shadow: 0 8px 24px rgba(34,197,94,0.25);
}
.cs-hero-hp__btn--primary:hover { transform: translateY(-1px); box-shadow: 0 10px 28px rgba(34,197,94,0.35); }
.cs-hero-hp__btn--animate { opacity:0; transform: translateY(32px); will-change: opacity, transform; }
.is-animated .cs-hero-hp__btn--animate { animation: csHeroSlideUp 1200ms cubic-bezier(.16,.84,.44,1) forwards; }

/* Background Graphics Layer - Under content */
.cs-hero-hp__graphics-layer {
    position: absolute;
    top: 0;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

.cs-hero-hp__graphics-layer--left {
    left: 0;
    width: 100%;
    z-index: 5;
}

.cs-hero-hp__graphics-layer--right {
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    max-width: 1200px;
    padding: 0 clamp(30px, 5vw, 60px);
    z-index: 6;
}

.cs-hero-hp__graphic {
    position: absolute;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.cs-hero-hp__graphic--left {
    position: absolute;
    left: 0;
    top: 64px;
    width: 60%;
    max-width: 1152px;
    height: 100%;
    overflow: visible;
}

.cs-hero-hp__graphic--right {
    position: absolute;
    left: 53%;
    top: 64px;
    height: calc(100% - 64px);
    width: calc(47% * 1.8);
    max-width: none;
}

.cs-hero-hp__graphic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    animation: zoomIn 4s cubic-bezier(0.22, 0.8, 0.26, 1) forwards;
}

.cs-hero-hp__graphic--left img {
    transform-origin: left center;
    animation: none;
    opacity: 1;
    transform: scale(1.17);
    object-position: left center;
}

.cs-hero-hp__graphic--left .cs-hero-hp__graphic-overlay {
    display: none;
}

.cs-hero-hp__graphic--right img {
    transform-origin: center center;
    object-position: left center;
}

.cs-hero-hp__graphic--right .cs-hero-hp__graphic-overlay {
    animation: fadeOutOverlay 4s cubic-bezier(0.22, 0.8, 0.26, 1) forwards;
}

/* Black overlay - fades out */
.cs-hero-hp__graphic-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    z-index: 2;
    animation: fadeOutOverlay 4s cubic-bezier(0.22, 0.8, 0.26, 1) forwards;
}

/* Right scene - Hidden */
.cs-hero-hp__scene { display: none; }
.cs-hero-hp__rings { display: none; }
.cs-hero-hp__ocean { display: none; }
.cs-hero-hp__smears { display: none; position:absolute; inset:0; background:
  radial-gradient(220px 80px at 60% 25%, rgba(120,0,255,0.25), transparent 70%),
  radial-gradient(260px 100px at 80% 55%, rgba(34,197,94,0.18), transparent 70%),
  radial-gradient(160px 60px at 70% 80%, rgba(200,0,150,0.14), transparent 70%);
  filter: blur(20px);
  opacity: 0.8;
}

/* Trusted strip */
.cs-hero-hp__trusted { background:#0b0b0f; border-top:1px solid rgba(255,255,255,0.06); }
.cs-hero-hp__trusted-inner { max-width:1240px; margin:0 auto; padding: 16px 20px; display:flex; align-items:center; gap:24px; }
.cs-hero-hp__trusted-label { color:#cfd2d7; opacity:0.8; font-weight:600; font-size:14px; white-space:nowrap; }
.cs-hero-hp__logos { display:flex; gap:28px; margin:0; padding:0; list-style:none; align-items:center; flex-wrap:wrap; }
.cs-hero-hp__logos .logo-placeholder { color:#cfd2d7; opacity:0.55; font-weight:700; letter-spacing:0.4px; }
.cs-hero-hp__made-in { margin-left:auto; color:#a0a3a8; opacity:0.6; font-size:12px; }

/* Animations */
@keyframes zoomIn { 
    0% { 
        transform: scale(1.3); 
        opacity: 0;
    }
    100% { 
        transform: scale(1); 
        opacity: 1;
    } 
}

@keyframes fadeOutOverlay {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}
@keyframes float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes pulse { 0%,100% { transform: translateY(0) scale(1); opacity:0.85; } 50% { transform: translateY(-2%) scale(1.02); opacity:1; } }
@keyframes fadeUp { 0% { opacity:0; transform: translateY(12px); } 100% { opacity:1; transform: translateY(0); } }
@keyframes charIn {
    0% {
        opacity: 0;
        filter: blur(36px);
        transform: scale(1.8);
    }
    45% {
        opacity: 1;
        filter: blur(10px);
        transform: scale(1.32);
    }
    100% {
        opacity: 1;
        filter: blur(0);
        transform: none;
    }
}
@keyframes csHeroSlideUp {
  0% {
    opacity: 0;
    transform: translateY(32px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* JS hooks for entrance */
.is-animated [data-animate="fade-up"] { animation: fadeUp 700ms ease forwards; }
.is-animated [data-animate="fade-up-delayed"] { animation: fadeUp 900ms 120ms ease forwards; }
.is-animated [data-animate="fade-in"] { animation: fadeUp 700ms 180ms ease forwards; }

/* Responsive */
@media (max-width: 1024px) {
  .cs-hero-hp {
    padding: 64px 0 3px 0 !important;
    margin-top: -64px;
    display: flex;
    flex-direction: column;
  }
  
  .cs-hero-hp::after {
    top: 64px;
  }
  
  .cs-hero-hp__split {
    grid-template-columns: 1fr;
    min-height: auto;
    order: 1;
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
  
  .cs-hero-hp__left {
    padding: 64px 30px 30px 30px;
    position: relative;
    z-index: 2;
  }
  
  .cs-hero-hp__divider { 
    display: none; 
  }
  
  .cs-hero-hp__right { 
    display: none;
  }
  
  .cs-hero-hp__nav { 
    display: none; 
  }
  
  .cs-hero-hp__content {
    position: relative;
    z-index: 3;
  }

  .cs-hero-hp__split {
    position: relative;
    min-height: 480px;
  }

  .cs-hero-hp__graphics-layer--right {
     position: relative;
     order: 2;
     left: 0;
     width: 100%;
     max-width: 100%;
     height: 306px;
     margin-top: 30px;
     padding: 0;
     transform: none;
     z-index: 2;
     border-top: 1px solid rgb(46, 204, 113);
     display: block !important;
   }
 
   .cs-hero-hp__graphic--right {
     position: relative;
     left: 0;
     top: 0;
     width: 100%;
     max-width: 100%;
     height: 100%;
     margin: 0;
     display: block !important;
   }
   
   .cs-hero-hp__graphic--right img {
     display: block !important;
     width: 100%;
     height: 100%;
     object-fit: cover;
     object-position: center;
   }
 
   .cs-hero-hp__right {
     border-top: 1px solid rgb(46, 204, 113);
   }

  .cs-hero-hp__graphics-layer--left {
     position: absolute;
     order: 0;
     top: 0;
     left: 50%;
     width: 100vw;
     height: 100%;
     margin: 0;
     padding: 0;
     pointer-events: none;
     transform: translateX(-50%);
     z-index: 1;
   }
 
   .cs-hero-hp__graphic--left {
     position: absolute;
     inset: 0;
     width: 100vw;
     height: 100%;
     overflow: hidden;
   }
 
   .cs-hero-hp__graphic--left img {
     width: 100%;
     height: 100%;
     object-fit: cover;
     transform: none;
   }
}

@media (max-width: 780px) {
  .cs-hero-hp__split {
    grid-template-columns: 1fr;
  }
  
  .cs-hero-hp__headline .line {
    font-size: clamp(40px, 4.5vw, 56px);
  }
}


