
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  font-family:'Inter',sans-serif;
  background:#050507;
  color:white;
  overflow-x:hidden;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 15% 10%, rgba(157,0,255,.22), transparent 28%),
    radial-gradient(circle at 85% 20%, rgba(255,0,183,.16), transparent 26%),
    radial-gradient(circle at 70% 90%, rgba(0,140,255,.12), transparent 30%);
  z-index:-2;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(to bottom, black, transparent 85%);
  z-index:-1;
}

.container{
  width:90%;
  max-width:1300px;
  margin:auto;
}

section{
  padding:120px 0;
}

img{
  max-width:100%;
  display:block;
}

a{
  text-decoration:none;
}

ul{
  list-style:none;
}

/* NAVBAR */
nav{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:90%;
  max-width:1300px;
  z-index:9999;
}

.nav-wrapper{
  height:74px;
  padding:0 22px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:rgba(10,10,14,.78);
  backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 20px 80px rgba(0,0,0,.35);
}

.logo{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.5px;
  color:white;
}

.logo span{
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:8px;
}

.nav-links a,
.drop-btn{
  color:#d8d8df;
  font-size:14px;
  font-weight:600;
  padding:12px 14px;
  border-radius:14px;
  transition:.25s;
  cursor:pointer;
}

.nav-links a:hover,
.drop-btn:hover{
  background:rgba(255,255,255,.07);
  color:white;
}

.dropdown{
  position:relative;
}

.dropdown-menu{
  position:absolute;
  top:48px;
  left:0;
  min-width:190px;
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  padding:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:.25s;
  box-shadow:0 25px 70px rgba(0,0,0,.45);
}

.dropdown:hover .dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.dropdown-menu a{
  display:block;
  padding:12px 14px;
  color:#cfcfd6;
}

.dropdown-menu a:hover{
  background:rgba(157,0,255,.16);
}

.nav-cta{
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  color:white!important;
  box-shadow:0 10px 30px rgba(157,0,255,.25);
}

/* MOBILE MENU */
.mobile-menu{
  display:none;
  color:white;
  font-weight:900;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  padding:10px 14px;
  border-radius:14px;
  cursor:pointer;
}

.mobile-panel{
  display:none;
  position:fixed;
  top:105px;
  left:50%;
  transform:translateX(-50%);
  width:90%;
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.10);
  border-radius:24px;
  padding:15px;
  z-index:9998;
}

.mobile-panel.active{
  display:block;
}

.mobile-panel a{
  display:block;
  color:white;
  padding:15px;
  border-radius:14px;
}

.mobile-panel a:hover{
  background:rgba(157,0,255,.16);
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:16px 26px;
  border-radius:16px;
  color:white;
  font-weight:800;
  transition:.3s;
}

.btn:hover{
  transform:translateY(-4px);
}

.btn-primary{
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  box-shadow:0 20px 60px rgba(157,0,255,.30);
}

.btn-secondary{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
}

/* HERO */
.hero{
  min-height:100vh;
  display:flex;
  align-items:center;
  padding-top:120px;
}

.hero-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:60px;
  align-items:center;
}

.badge{
  display:inline-flex;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  background:rgba(157,0,255,.12);
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  color:#efb8ff;
  font-size:13px;
  font-weight:700;
  margin-bottom:24px;
}

.hero h1{
  font-size:78px;
  line-height:1;
  letter-spacing:-3px;
  margin-bottom:28px;
}

.gradient{
  background:linear-gradient(90deg,#9d00ff,#ff00b7,#ffffff);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero p{
  color:#b9b9c4;
  font-size:19px;
  line-height:1.85;
  max-width:720px;
  margin-bottom:26px;
}

.hero-positioning{
  margin-bottom:34px;
  max-width:760px;
  padding:18px 22px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#d6d6df;
  line-height:1.8;
  font-size:15px;
}

.hero-buttons{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:36px;
}

.trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.trust-pill{
  padding:11px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#cfcfd8;
  font-size:13px;
}

/* DASHBOARD */
.dashboard{
  position:relative;
  background:rgba(13,13,17,.88);
  border:1px solid rgba(255,255,255,.10);
  border-radius:34px;
  padding:26px;
  box-shadow:0 30px 100px rgba(0,0,0,.45);
  overflow:hidden;
  animation:float 5s ease-in-out infinite;
}

@keyframes float{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-14px)}
}

.dashboard::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-130px;
  top:-120px;
  background:rgba(255,0,183,.18);
  filter:blur(80px);
}

.dash-top{
  display:flex;
  justify-content:space-between;
  margin-bottom:24px;
  position:relative;
}

.live{
  color:#22c55e;
  font-size:13px;
  font-weight:800;
}

.chart{
  height:170px;
  border-radius:24px;
  background:linear-gradient(180deg,rgba(157,0,255,.16),rgba(255,255,255,.025));
  border:1px solid rgba(255,255,255,.08);
  overflow:hidden;
  margin-bottom:20px;
  position:relative;
}

.chart svg{
  width:100%;
  height:100%;
}

.dash-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  position:relative;
}

.dash-card{
  background:#121218;
  border:1px solid rgba(255,255,255,.07);
  border-radius:22px;
  padding:22px;
}

.dash-card h2{
  color:#d15cff;
  font-size:38px;
  margin-bottom:8px;
}

.dash-card p{
  color:#b9b9c4;
  font-size:13px;
  line-height:1.5;
}

/* SECTION HEADERS */
.section-head{
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:end;
  margin-bottom:60px;
}

.section-title{
  font-size:56px;
  letter-spacing:-1.5px;
  line-height:1.08;
}

.section-sub{
  color:#b9b9c4;
  line-height:1.9;
  max-width:620px;
  font-size:17px;
}

.section-kicker{
  color:#d15cff;
  text-transform:uppercase;
  font-size:13px;
  font-weight:900;
  letter-spacing:1.6px;
  margin-bottom:14px;
}

/* CLIENTS */
.client-row{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:20px;
}

.client-box{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  padding:34px;
  text-align:center;
  font-size:22px;
  font-weight:900;
  transition:.35s;
}

.client-box:hover{
  transform:translateY(-8px);
  border-color:#d15cff;
}

/* SERVICES / PROOF / TOOLS */
.services-grid,
.proof-grid,
.tools-grid,
.testimonial-grid,
.case-grid,
.results,
.visual-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:28px;
}

.service-card,
.proof-card,
.tool-card,
.testimonial-card,
.case-card,
.result-box,
.visual-card{
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  transition:.35s;
}

.service-card,
.proof-card,
.tool-card,
.testimonial-card,
.case-card,
.result-box{
  padding:36px;
}

.service-card:hover,
.proof-card:hover,
.tool-card:hover,
.testimonial-card:hover,
.case-card:hover,
.result-box:hover,
.visual-card:hover{
  transform:translateY(-8px);
  border-color:#d15cff;
  box-shadow:0 25px 70px rgba(157,0,255,.12);
}

.service-icon{
  width:66px;
  height:66px;
  border-radius:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:28px;
  background:linear-gradient(135deg,#9d00ff,#ff00b7);
  margin-bottom:24px;
}

.service-card h3,
.proof-card h3,
.tool-card h3,
.testimonial-card h3,
.case-card h3{
  font-size:25px;
  margin-bottom:16px;
}

.service-card p,
.proof-card p,
.tool-card p,
.testimonial-card p,
.case-card li,
.result-box p{
  color:#b9b9c4;
  line-height:1.85;
}

/* FILTERS */
.project-filters{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-bottom:34px;
}

.filter-btn{
  padding:12px 18px;
  border:none;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  color:#d8d8df;
  font-weight:700;
  cursor:pointer;
  border:1px solid rgba(255,255,255,.08);
  transition:.25s;
}

.filter-btn:hover,
.filter-btn.active{
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  color:white;
}

/* PROJECTS */
.project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}

.project-card{
  display:flex;
  flex-direction:column;
  color:white;
  background:linear-gradient(180deg,rgba(13,13,18,.96),rgba(9,9,14,.98));
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  overflow:hidden;
  transition:.35s;
  position:relative;
}

.project-card.hide{
  display:none;
}

.project-card:hover{
  transform:translateY(-8px);
  border-color:rgba(209,92,255,.55);
  box-shadow:0 18px 55px rgba(157,0,255,.16);
}

.project-img{
  height:180px;
  overflow:hidden;
}

.project-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:.45s ease;
}

.project-card:hover .project-img img{
  transform:scale(1.06);
}

.project-content{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.project-category{
  color:#d15cff;
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:10px;
}

.project-content h3{
  font-size:22px;
  margin-bottom:12px;
}

.project-content p{
  color:#b9b9c4;
  font-size:14px;
  line-height:1.7;
}

.tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:16px 0;
}

.tag{
  padding:7px 12px;
  border-radius:999px;
  background:rgba(157,0,255,.14);
  color:#efc2ff;
  font-size:11px;
  font-weight:700;
}

.project-detail{
  margin-top:auto;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.06);
}

.project-detail span{
  display:block;
  color:#d15cff;
  font-size:11px;
  font-weight:900;
  margin-bottom:4px;
  text-transform:uppercase;
}

/* FEATURED CASE */
.featured-case{
  padding-top:40px;
}

.featured-case-box{
  background:linear-gradient(135deg,#0d0d12,#151520);
  border:1px solid rgba(255,255,255,.08);
  border-radius:38px;
  padding:50px;
}

.before-after{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-bottom:30px;
}

.before-box,
.after-box{
  padding:32px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
}

.before-box{
  background:rgba(255,255,255,.03);
}

.after-box{
  background:linear-gradient(135deg,rgba(157,0,255,.18),rgba(255,0,183,.12));
}

.before-box span,
.after-box span{
  display:inline-block;
  margin-bottom:14px;
  color:#d15cff;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}

.before-box h3,
.after-box h3{
  font-size:28px;
  margin-bottom:14px;
}

.before-box p,
.after-box p{
  color:#b9b9c4;
  line-height:1.85;
}

.featured-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:30px;
}

.metric-card{
  padding:28px;
  border-radius:24px;
  background:#101017;
  text-align:center;
}

.metric-card h2{
  font-size:48px;
  color:#d15cff;
}

.metric-card p{
  color:#b9b9c4;
}

/* CAROUSEL */
.carousel-section{
  overflow:hidden;
}

.carousel-track{
  display:flex;
  gap:24px;
  width:max-content;
  animation:slideCarousel 36s linear infinite;
}

.carousel-track:hover{
  animation-play-state:paused;
}

.carousel-card{
  min-width:340px;
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  overflow:hidden;
}

.carousel-card img{
  width:100%;
  height:230px;
  object-fit:cover;
}

.carousel-card div{
  padding:24px;
}

.carousel-card h3{
  margin-bottom:10px;
}

.carousel-card p{
  color:#b9b9c4;
  line-height:1.7;
}

@keyframes slideCarousel{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

/* VISUAL PROOF */
.visual-card{
  overflow:hidden;
}

.visual-card img{
  width:100%;
  height:330px;
  object-fit:cover;
}

.visual-card div{
  padding:24px;
}

.visual-card h3{
  margin-bottom:10px;
}

.visual-card p{
  color:#b9b9c4;
  line-height:1.7;
}

/* CASE STUDIES */
.case-study-box{
  background:linear-gradient(135deg,#0d0d12,#08080d);
  border:1px solid rgba(255,255,255,.09);
  border-radius:42px;
  padding:64px;
  overflow:hidden;
  position:relative;
  margin-bottom:60px;
}

.case-study-box::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:-150px;
  top:-150px;
  background:rgba(255,0,183,.13);
  filter:blur(90px);
}

.case-study-box > *{
  position:relative;
}

.case-study-box h2{
  font-size:54px;
  margin-bottom:20px;
  letter-spacing:-1px;
}

.case-study-box p{
  color:#b9b9c4;
  line-height:2;
  max-width:950px;
  margin-bottom:24px;
}

.case-grid{
  margin:46px 0;
}

.case-card ul{
  list-style:none;
}

.case-card li{
  margin-bottom:12px;
}

.case-card li::before{
  content:"✓";
  color:#22c55e;
  margin-right:10px;
  font-weight:900;
}

.result-box h2{
  font-size:56px;
  color:#d15cff;
  margin-bottom:12px;
}

/* CASE CTA */
.case-cta-box{
  margin-top:45px;
  padding:38px;
  border-radius:30px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
}

.case-cta-box h3{
  font-size:32px;
  margin-bottom:16px;
}

.case-cta-box p{
  color:#b9b9c4;
  line-height:1.9;
  max-width:760px;
  margin:0 auto 24px;
}

/* TIMELINE */
.timeline{
  position:relative;
}

.timeline::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  bottom:0;
  width:2px;
  background:#292936;
}

.timeline-item{
  width:50%;
  padding:28px;
  position:relative;
}

.timeline-item:nth-child(odd){
  left:0;
}

.timeline-item:nth-child(even){
  left:50%;
}

.timeline-card{
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:34px;
  transition:.35s;
}

.timeline-card:hover{
  transform:translateY(-6px);
  border-color:#d15cff;
}

.timeline-card h3{
  font-size:26px;
  margin-bottom:14px;
}

.timeline-card p{
  color:#b9b9c4;
  line-height:1.85;
}

/* TOOLS + CV */
.tool-list{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}

.tool-pill,
.skill{
  padding:13px 16px;
  border-radius:14px;
  background:#111117;
  border:1px solid rgba(255,255,255,.08);
  color:#d8d8e0;
}

.cv-box{
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:35px;
  align-items:center;
  background:linear-gradient(135deg,#0d0d12,#151520);
  border:1px solid rgba(255,255,255,.1);
  border-radius:40px;
  padding:50px;
}

.cv-list{
  display:grid;
  gap:14px;
}

.cv-item{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:18px;
  color:#cfcfd8;
}
/* ABOUT SECTION PREMIUM LAYOUT FIX */
.about-grid{
  display:grid;
  grid-template-columns:minmax(320px,430px) 1fr;
  gap:80px;
  align-items:center;
}

.about-content{
  max-width:720px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.about-content .section-title{
  margin-bottom:26px;
}

.about-content p{
  color:#b9b9c4;
  line-height:2;
  font-size:17px;
  margin-bottom:22px;
  max-width:680px;
}

.about-content p:last-of-type{
  margin-bottom:34px;
}

/* Skills mooier verdeeld */
.skills{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  max-width:700px;
}

.skill{
  padding:14px 18px;
  border-radius:16px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  color:#d8d8e0;
  font-size:14px;
  font-weight:700;
  transition:.3s;
}

.skill:hover{
  transform:translateY(-4px);
  border-color:#d15cff;
  box-shadow:0 12px 30px rgba(157,0,255,.12);
}

/* Betere visuele spacing tussen foto en tekst */
.about-image{
  justify-self:center;
}

/* Grote schermen */
@media(min-width:1300px){
  .about-grid{
    grid-template-columns:430px minmax(600px,1fr);
  }
}

/* Tablet */
@media(max-width:1000px){
  .about-grid{
    grid-template-columns:1fr;
    gap:45px;
    text-align:center;
  }

  .about-content{
    max-width:100%;
    align-items:center;
  }

  .about-content p{
    max-width:760px;
  }

  .skills{
    justify-content:center;
  }
}

/* Mobiel */
@media(max-width:800px){
  .about-grid{
    gap:35px;
  }

  .about-content .section-title{
    margin-bottom:18px;
  }

  .about-content p{
    font-size:16px;
    line-height:1.9;
    margin-bottom:18px;
  }

  .skills{
    gap:10px;
  }

  .skill{
    padding:12px 14px;
    font-size:13px;
  }
}

/* CONTACT */
.contact-box{
  background:linear-gradient(135deg,#0d0d12,#121218);
  border:1px solid rgba(255,255,255,.09);
  border-radius:42px;
  padding:70px;
  text-align:center;
}

.contact-box h2{
  font-size:56px;
  margin-bottom:20px;
}

.contact-box p{
  color:#b9b9c4;
  font-size:18px;
  margin-bottom:12px;
}

.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  margin-top:35px;
}

.contact-card{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  padding:30px;
  text-align:left;
}

.contact-card h3{
  margin-bottom:12px;
}

/* FOOTER + ANIM */
.footer{
  padding:38px 0;
  text-align:center;
  color:#666;
  border-top:1px solid rgba(255,255,255,.06);
}

.reveal{
  opacity:0;
  transform:translateY(55px);
  transition:1s ease;
}

.reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* RESPONSIVE */
@media(max-width:1100px){
  .project-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:1000px){
  .hero-grid,
  .about-grid,
  .cv-box,
  .before-after{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:56px;
  }

  .section-head{
    display:block;
  }

  .section-title{
    font-size:42px;
    margin-bottom:20px;
  }

  .timeline::before{
    left:0;
  }

  .timeline-item{
    width:100%;
    left:0!important;
    padding-left:28px;
  }
}

@media(max-width:800px){
  nav{
    top:10px;
  }

  .nav-links{
    display:none;
  }

  .mobile-menu{
    display:block;
  }

  .hero h1{
    font-size:43px;
    letter-spacing:-1.4px;
  }

  .hero p{
    font-size:17px;
  }

  section{
    padding:90px 0;
  }

  .case-study-box,
  .contact-box,
  .featured-case-box{
    padding:34px;
  }

  .case-study-box h2,
  .contact-box h2{
    font-size:36px;
  }

  .dash-grid,
  .contact-grid,
  .featured-metrics,
  .project-grid{
    grid-template-columns:1fr;
  }
}

.chart-line{
  fill:none;
  stroke:#d15cff;
  stroke-width:5;
  stroke-linecap:round;
  stroke-dasharray:700;
  stroke-dashoffset:700;
  animation:drawChart 3s ease-in-out infinite;
}

.chart-fill{
  fill:rgba(209,92,255,.16);
  opacity:0;
  animation:fillChart 3s ease-in-out infinite;
}

.chart-dot{
  fill:#ffffff;
  filter:drop-shadow(0 0 12px #d15cff);
  opacity:0;
  animation:dotPulse 3s ease-in-out infinite;
}

@keyframes drawChart{
  0%{
    stroke-dashoffset:700;
    opacity:.3;
  }

  55%{
    stroke-dashoffset:0;
    opacity:1;
  }

  100%{
    stroke-dashoffset:0;
    opacity:.9;
  }
}

@keyframes fillChart{
  0%,35%{
    opacity:0;
    transform:translateY(18px);
  }

  60%,100%{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes dotPulse{
  0%,45%{
    opacity:0;
    transform:scale(.7);
  }

  60%{
    opacity:1;
    transform:scale(1.2);
  }

  100%{
    opacity:1;
    transform:scale(1);
  }
}

/* MICRO INTERACTIONS + CONVERSION */

/* Paarse browser scrollbar */
::-webkit-scrollbar{
  width:12px;
}

::-webkit-scrollbar-track{
  background:#050507;
}

::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#9d00ff,#ff00b7,#006eff);
  border-radius:999px;
  border:3px solid #050507;
}

/* Scroll progress bar bovenaan */
.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:4px;
  width:0%;
  background:linear-gradient(90deg,#006eff,#9d00ff,#ff00b7);
  z-index:10000;
  box-shadow:0 0 18px rgba(157,0,255,.8);
}

/* Extra blauwe/paars/zwarte background vibe */
.bg-orb{
  position:fixed;
  border-radius:50%;
  filter:blur(90px);
  opacity:.22;
  pointer-events:none;
  z-index:-1;
  animation:orbFloat 12s ease-in-out infinite;
}

.bg-orb.one{
  width:320px;
  height:320px;
  background:#006eff;
  left:-80px;
  top:35%;
}

.bg-orb.two{
  width:360px;
  height:360px;
  background:#9d00ff;
  right:-120px;
  top:55%;
  animation-delay:2s;
}

@keyframes orbFloat{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-35px)}
}

/* Project hover glow */
.project-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--x,50%) var(--y,50%), rgba(209,92,255,.22), transparent 35%);
  opacity:0;
  transition:.25s;
  pointer-events:none;
}

.project-card:hover::before{
  opacity:1;
}

/* Sticky conversion buttons */
.sticky-actions{
  position:fixed;
  right:24px;
  bottom:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  z-index:9999;
}

.sticky-actions a,
.scroll-top{
  width:54px;
  height:54px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:white;
  background:linear-gradient(135deg,#9d00ff,#ff00b7);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 18px 45px rgba(157,0,255,.35);
  font-size:22px;
  cursor:pointer;
  transition:.3s;
}

.sticky-actions a:hover,
.scroll-top:hover{
  transform:translateY(-5px) scale(1.05);
}

.plan-call{
  width:auto!important;
  padding:0 18px;
  font-size:14px!important;
  font-weight:900;
  gap:8px;
}

.scroll-top{
  opacity:0;
  visibility:hidden;
}

.scroll-top.show{
  opacity:1;
  visibility:visible;
}

@media(max-width:800px){
  .sticky-actions{
    right:14px;
    bottom:14px;
  }

  .plan-call span{
    display:none;
  }

  .sticky-actions a,
  .scroll-top{
    width:50px;
    height:50px;
  }
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.why-card{
  background:linear-gradient(135deg,#0d0d12,#151520);
  border:1px solid rgba(255,255,255,.08);
  border-radius:30px;
  padding:36px;
  transition:.35s;
}

.why-card:hover{
  transform:translateY(-8px);
  border-color:#d15cff;
  box-shadow:0 25px 70px rgba(157,0,255,.12);
}

.why-card span{
  color:#d15cff;
  font-size:14px;
  font-weight:900;
}

.why-card h3{
  font-size:26px;
  margin:18px 0 14px;
}

.why-card p{
  color:#b9b9c4;
  line-height:1.85;
}

@media(max-width:900px){
  .why-grid{
    grid-template-columns:1fr;
  }
}

/* CREATIVE COMMAND CENTER */
.creative-lab{
  position:relative;
  overflow:hidden;
}

.creative-lab::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  background:rgba(157,0,255,.14);
  filter:blur(110px);
  left:-180px;
  top:120px;
  z-index:-1;
}

.lab-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.lab-orbit{
  height:620px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,rgba(13,13,18,.82),rgba(7,7,12,.95));
  border:1px solid rgba(255,255,255,.08);
  border-radius:42px;
  overflow:hidden;
}

.lab-orbit::before{
  content:"";
  position:absolute;
  inset:40px;
  background:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:34px 34px;
  opacity:.45;
  mask-image:radial-gradient(circle, black 35%, transparent 75%);
}

.orbit-ring{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.10);
}

.ring-one{
  width:430px;
  height:430px;
  animation:spinOrbit 18s linear infinite;
}

.ring-two{
  width:300px;
  height:300px;
  border-color:rgba(209,92,255,.25);
  animation:spinOrbitReverse 14s linear infinite;
}

.lab-core{
  width:230px;
  height:230px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 20%, rgba(255,0,183,.32), rgba(157,0,255,.16), #09090f 70%);
  border:1px solid rgba(255,255,255,.14);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
  position:relative;
  z-index:2;
  box-shadow:0 0 70px rgba(157,0,255,.28);
  animation:pulseCore 4s ease-in-out infinite;
}

.lab-core span{
  font-size:13px;
  font-weight:900;
  letter-spacing:2px;
  color:#d15cff;
  margin-bottom:12px;
}

.lab-core h3{
  font-size:24px;
  line-height:1.15;
  margin-bottom:10px;
}

.lab-core p{
  color:#b9b9c4;
  font-size:13px;
  line-height:1.5;
}

.orbit-item{
  position:absolute;
  padding:12px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:white;
  font-size:13px;
  font-weight:800;
  box-shadow:0 16px 50px rgba(0,0,0,.25);
  backdrop-filter:blur(16px);
  animation:floatBadge 4s ease-in-out infinite;
}

.item-1{top:95px;left:50%;transform:translateX(-50%)}
.item-2{top:190px;right:80px;animation-delay:.4s}
.item-3{bottom:150px;right:95px;animation-delay:.8s}
.item-4{bottom:95px;left:50%;transform:translateX(-50%);animation-delay:1.2s}
.item-5{bottom:150px;left:95px;animation-delay:1.6s}
.item-6{top:190px;left:80px;animation-delay:2s}

.lab-panel{
  display:grid;
  gap:18px;
}

.lab-step{
  display:grid;
  grid-template-columns:70px 1fr;
  gap:20px;
  align-items:start;
  padding:26px;
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.08);
  border-radius:26px;
  transition:.35s;
  position:relative;
  overflow:hidden;
}

.lab-step::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(157,0,255,.14),transparent);
  opacity:0;
  transition:.35s;
}

.lab-step:hover{
  transform:translateX(8px);
  border-color:#d15cff;
}

.lab-step:hover::before{
  opacity:1;
}

.lab-step span{
  width:52px;
  height:52px;
  border-radius:18px;
  background:linear-gradient(135deg,#9d00ff,#ff00b7);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  position:relative;
  z-index:1;
}

.lab-step div{
  position:relative;
  z-index:1;
}

.lab-step h3{
  font-size:22px;
  margin-bottom:8px;
}

.lab-step p{
  color:#b9b9c4;
  line-height:1.75;
}

@keyframes spinOrbit{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

@keyframes spinOrbitReverse{
  from{transform:rotate(360deg)}
  to{transform:rotate(0deg)}
}

@keyframes pulseCore{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 70px rgba(157,0,255,.28);
  }
  50%{
    transform:scale(1.04);
    box-shadow:0 0 95px rgba(255,0,183,.34);
  }
}

@keyframes floatBadge{
  0%,100%{margin-top:0}
  50%{margin-top:-12px}
}

@media(max-width:1000px){
  .lab-grid{
    grid-template-columns:1fr;
  }

  .lab-orbit{
    height:520px;
  }

  .ring-one{
    width:360px;
    height:360px;
  }

  .ring-two{
    width:250px;
    height:250px;
  }
}

@media(max-width:700px){
  .lab-orbit{
    height:430px;
  }

  .lab-core{
    width:190px;
    height:190px;
  }

  .orbit-item{
    font-size:11px;
    padding:9px 12px;
  }

  .item-2{right:35px}
  .item-3{right:45px}
  .item-5{left:45px}
  .item-6{left:35px}

  .lab-step{
    grid-template-columns:1fr;
  }
}

/* CONTENT IN MOTION */
.content-motion{
  position:relative;
  overflow:hidden;
}

.motion-grid{
  display:grid;
  grid-template-columns:330px 330px 1fr;
  gap:30px;
  align-items:center;
}

.phone-mockup{
  height:620px;
  border-radius:48px;
  padding:16px;
  background:linear-gradient(145deg,#191923,#050507);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 35px 90px rgba(0,0,0,.55);
  position:relative;
  overflow:hidden;
}

.phone-top{
  position:absolute;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:95px;
  height:25px;
  background:#050507;
  border-radius:999px;
  z-index:5;
}

.reel-screen{
  width:100%;
  height:100%;
  border-radius:36px;
  overflow:hidden;
  position:relative;
  background:#000;
}

.reel-screen video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
  animation:reelZoomVideo 8s ease-in-out infinite;
}

.reel-screen::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.15) 45%,transparent 70%);
  z-index:2;
}

.reel-screen::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.10),transparent 42%);
  animation:reelShine 3.8s ease-in-out infinite;
  z-index:3;
}

.reel-overlay{
  position:absolute;
  left:22px;
  right:22px;
  bottom:34px;
  z-index:4;
}

.reel-overlay span{
  display:inline-block;
  color:#efb8ff;
  font-size:12px;
  font-weight:900;
  letter-spacing:1.5px;
  margin-bottom:12px;
}

.reel-overlay h3{
  font-size:30px;
  line-height:1.05;
  margin-bottom:10px;
}

.reel-overlay p{
  color:#d8d8df;
  font-size:14px;
}

.reel-progress{
  position:absolute;
  left:22px;
  right:22px;
  bottom:18px;
  height:4px;
  background:rgba(255,255,255,.18);
  border-radius:999px;
  overflow:hidden;
  z-index:5;
}

.reel-progress::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  animation:reelProgress 6s linear infinite;
}

.motion-info{
  display:grid;
  gap:18px;
}

.motion-card{
  background:#0d0d12;
  border:1px solid rgba(255,255,255,.08);
  border-radius:28px;
  padding:28px;
  transition:.35s;
}

.motion-card:hover{
  transform:translateX(8px);
  border-color:#d15cff;
}

.motion-card span{
  color:#d15cff;
  font-size:13px;
  font-weight:900;
}

.motion-card h3{
  font-size:24px;
  margin:12px 0;
}

.motion-card p{
  color:#b9b9c4;
  line-height:1.8;
}

@keyframes reelZoomVideo{
  0%,100%{
    transform:scale(1.02);
  }
  50%{
    transform:scale(1.10);
  }
}

@keyframes reelShine{
  0%{
    transform:translateX(-100%);
  }
  55%,100%{
    transform:translateX(100%);
  }
}

@keyframes reelProgress{
  0%{
    width:0%;
  }
  100%{
    width:100%;
  }
}

@media(max-width:1150px){
  .motion-grid{
    grid-template-columns:1fr 1fr;
  }

  .motion-info{
    grid-column:1 / -1;
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:850px){
  .motion-grid{
    grid-template-columns:1fr;
  }

  .phone-mockup{
    max-width:340px;
    margin:auto;
    height:560px;
  }

  .motion-info{
    grid-template-columns:1fr;
  }
}

/* PREMIUM FOOTER */
.footer{
  margin-top:80px;
  padding:70px 0 30px;
  border-top:1px solid rgba(255,255,255,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.01),rgba(13,13,18,.55));
}

.footer-grid{
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr 1fr;
  gap:40px;
  margin-bottom:50px;
}

.footer-brand h3{
  font-size:30px;
  margin-bottom:16px;
}

.footer-brand h3 span{
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.footer-brand p{
  color:#b9b9c4;
  line-height:1.9;
  max-width:340px;
}

.footer-links h4{
  margin-bottom:18px;
  font-size:17px;
}

.footer-links a{
  display:block;
  color:#b9b9c4;
  margin-bottom:12px;
  transition:.25s;
}

.footer-links a:hover{
  color:#d15cff;
  transform:translateX(4px);
}

.footer-bottom{
  padding-top:28px;
  border-top:1px solid rgba(255,255,255,.06);
  text-align:center;
}

.footer-bottom p{
  color:#7e7e8f;
  font-size:14px;
  letter-spacing:.3px;
}

@media(max-width:1000px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .footer-grid{
    grid-template-columns:1fr;
    text-align:center;
  }

  .footer-brand p{
    margin:auto;
  }

  .footer-links a:hover{
    transform:none;
  }
}

/* FIX REELS / VIDEO FORMATS MOBILE */
@media (max-width: 850px){
  .content-motion{
    overflow:hidden;
  }

  .motion-grid{
    grid-template-columns:1fr !important;
    gap:28px;
  }

  .phone-mockup{
    width:100%;
    max-width:300px;
    height:540px;
    margin:0 auto;
    border-radius:42px;
    padding:12px;
  }

  .reel-screen{
    border-radius:30px;
  }

  .reel-overlay{
    left:18px;
    right:18px;
    bottom:32px;
  }

  .reel-overlay h3{
    font-size:24px;
  }

  .reel-overlay p{
    font-size:13px;
  }

  .motion-info{
    grid-template-columns:1fr !important;
    width:100%;
  }

  .motion-card{
    padding:24px;
  }
}

@media (max-width: 420px){
  .phone-mockup{
    max-width:270px;
    height:500px;
  }

  .reel-overlay h3{
    font-size:21px;
  }
}

.footer{
  padding:70px 0 30px;
  background:linear-gradient(180deg,rgba(13,13,18,.75),#050507);
  border-top:1px solid rgba(255,255,255,.08);
  text-align:left;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:38px;
}

.footer-brand h2{
  font-size:32px;
  margin-bottom:16px;
}

.footer-brand h2 span{
  background:linear-gradient(90deg,#9d00ff,#ff00b7);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.footer-brand p{
  color:#b9b9c4;
  line-height:1.9;
  max-width:460px;
}

.footer-socials{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:22px;
}

.footer-socials a{
  padding:11px 15px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.09);
  color:white;
  font-weight:800;
  font-size:13px;
}

.footer-links{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.footer-links h4{
  color:white;
  margin-bottom:8px;
}

.footer-links a,
.footer-links span{
  color:#b9b9c4;
  font-size:14px;
}

.footer-links a:hover{
  color:#d15cff;
}

.footer-bottom{
  margin-top:48px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.07);
  text-align:center;
  color:#777;
}

@media(max-width:900px){
  .footer-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .footer{
    padding:55px 0 24px;
  }

  .footer-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .footer-brand h2{
    font-size:28px;
  }
}


/* CUSTOM CURSOR */
@media (min-width: 900px){
  body{
    cursor:none;
  }

  a, button, .btn, .filter-btn, .project-card, .mobile-menu{
    cursor:none;
  }

  .custom-cursor{
    position:fixed;
    top:0;
    left:0;
    width:14px;
    height:14px;
    border-radius:50%;
    background:white;
    pointer-events:none;
    z-index:30000;
    transform:translate(-50%,-50%);
    transition:width .25s ease, height .25s ease, background .25s ease;
    mix-blend-mode:difference;
  }

  .custom-cursor-glow{
    position:fixed;
    top:0;
    left:0;
    width:46px;
    height:46px;
    border-radius:50%;
    background:rgba(157,0,255,.22);
    pointer-events:none;
    z-index:29999;
    transform:translate(-50%,-50%);
    filter:blur(8px);
    transition:.12s ease;
  }

  .custom-cursor.active{
    width:34px;
    height:34px;
    background:linear-gradient(135deg,#9d00ff,#ff00b7);
    mix-blend-mode:normal;
  }

  .custom-cursor-glow.active{
    width:72px;
    height:72px;
    background:rgba(255,0,183,.25);
  }
}

@media (min-width: 901px){
  body{
    cursor:none;
  }

  #cursor{
    position:fixed;
    width:12px;
    height:12px;
    background:#fff;
    border-radius:50%;
    pointer-events:none;
    z-index:999999;
    left:0;
    top:0;
    transform:translate(-50%,-50%);
    mix-blend-mode:difference;
  }

  #cursorGlow{
    position:fixed;
    width:55px;
    height:55px;
    background:rgba(157,0,255,.25);
    border-radius:50%;
    pointer-events:none;
    z-index:999998;
    left:0;
    top:0;
    transform:translate(-50%,-50%);
    filter:blur(10px);
    transition:.08s linear;
  }

  #cursor.big{
    width:34px;
    height:34px;
    background:linear-gradient(135deg,#9d00ff,#ff00b7);
    mix-blend-mode:normal;
  }
}

@media (max-width: 900px){
  #cursor,
  #cursorGlow{
    display:none;
  }
}
/* PRELOADER FORCE FIX */
.loader{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  background:#050507 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  z-index:999999 !important;
}

.loader.hide{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  display:none !important;
}

.loader-logo{
  color:white !important;
  font-size:32px !important;
  font-weight:900 !important;
  text-align:center !important;
}

.loader-logo span{
  color:#ff00b7 !important;
}

@media(max-width:700px){
  .loader-logo{
    display:none;
  }
}

.loader-line{
  margin-top:22px !important;
  width:160px !important;
  height:4px !important;
  background:linear-gradient(90deg,#006eff,#9d00ff,#ff00b7) !important;
  border-radius:999px !important;
}