/* RESET */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html{
scroll-behavior:smooth;
scroll-padding-top:100px;
-webkit-font-smoothing:antialiased;
}

body{
-webkit-overflow-scrolling:touch;
}



/* FOOTER */
.site-footer {
  background: #111827;
  color: white;
  padding: 40px 0;
  text-align: center;
}



/* HERO RESET FIX */






/* FORCE GRID FIX */


.demo-card{
  background:#111 !important;
  padding:35px !important;
  border-radius:18px !important;
}

.demo-btn{
  display:inline-block !important;
  margin-top:15px !important;
  background:#ff9900 !important;
  color:black !important;
  padding:10px 22px !important;
  border-radius:25px !important;
  text-decoration:none !important;
}

.demo-grid{
  width:100%;
}
/* === DEMO GRID === */

.demo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:30px;
  margin-top:40px;
}



.demo-card:hover{
  transform:translateY(-8px);
  box-shadow:0 0 30px rgba(255,153,0,0.3);
}

.demo-card h3{
  color:#ff9900;
  margin-bottom:10px;
}

.demo-card p{
  color:#ccc;
  margin-bottom:10px;
}

.demo-card ul{
  padding-left:18px;
}

.demo-card li{
  margin-bottom:6px;
}

.demo-btn{
  display:inline-block;
  margin-top:18px;
  padding:10px 22px;
  background:#ff9900;
  color:black;
  border-radius:25px;
  text-decoration:none;
  font-weight:600;
}

.demo-btn:hover{
  background:white;
}

.card,
.demo-card,
.section,
.hero,
header{
opacity:0;
transform:translateY(70px) scale(.98);
filter:blur(6px);

transition:
opacity 1s ease,
transform 1.1s cubic-bezier(.16,1,.3,1),
filter 1s ease;

will-change:transform, opacity;
}

.card.show,
.demo-card.show,
.section.show,
.hero.show,
header.show{
opacity:1;
transform:translateY(0) scale(1);
filter:blur(0);
}
.card.show:nth-child(1){transition-delay:.05s;}
.card.show:nth-child(2){transition-delay:.1s;}
.card.show:nth-child(3){transition-delay:.15s;}
.card.show:nth-child(4){transition-delay:.2s;}
.card.show:nth-child(5){transition-delay:.25s;}
.card.show:nth-child(6){transition-delay:.3s;}

.demo-card.show:nth-child(1){transition-delay:.05s;}
.demo-card.show:nth-child(2){transition-delay:.1s;}
.demo-card.show:nth-child(3){transition-delay:.15s;}
.demo-card.show:nth-child(4){transition-delay:.2s;}
.hero::before{
content:"";
position:absolute;
width:500px;
height:500px;
background:radial-gradient(circle, rgba(255,153,0,0.45), transparent 60%);
top:-120px;
left:-120px;
filter:blur(80px);
animation:floatGlow 12s infinite alternate ease-in-out;
}

.hero::after{
content:"";
position:absolute;
width:400px;
height:400px;
background:radial-gradient(circle, rgba(168,85,247,0.35), transparent 60%);
bottom:-100px;
right:-100px;
filter:blur(70px);
animation:floatGlow 16s infinite alternate ease-in-out;
}

@keyframes floatGlow{
0%{transform:translate(0,0);}
100%{transform:translate(120px,80px);}
}.hero{
position:relative;
overflow:hidden;
}
/* MOBILE CENTER FIX */
@media (max-width:600px){

.card-grid{
display:flex;
flex-direction:column;
align-items:center;
}

.card{
width:100%;
max-width:340px;
}

.demo-card{
width:100%;
max-width:340px;
}

}.card{
transition:transform .35s ease, box-shadow .35s ease, border .35s ease;
}

.card:hover{
transform:translateY(-8px) scale(1.02);
box-shadow:
0 0 18px rgba(255,153,0,0.45),
0 0 35px rgba(168,85,247,0.35);
border:1px solid rgba(255,153,0,0.4);
}@media (max-width:600px){

section{
padding:70px 18px;
}

.card-grid{
gap:20px;
}

}#scroll-progress{
position:fixed;
top:0;
left:0;
height:3px;
width:0%;
background:linear-gradient(90deg,#ff9900,#a855f7);
z-index:9999;
transition:width .1s ease;
}.cursor-glow{
position:fixed;
width:250px;
height:250px;
border-radius:50%;
pointer-events:none;
background:radial-gradient(circle,
rgba(255,153,0,0.35),
rgba(168,85,247,0.25),
transparent 70%);
transform:translate(-50%,-50%);
z-index:0;
filter:blur(60px);
opacity:.7;
}

/* PORTFOLIO GRID */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:25px;
  margin-top:30px;
}

/* KAART */
.portfolio-card{
  background:#111;
  padding:18px;
  border-radius:14px;
  border:1px solid #222;
  transition:0.35s;
}

.portfolio-card:hover{
  transform:translateY(-6px);
  box-shadow:0 0 25px rgba(255,153,0,0.45);
}

/* AFBEELDING / VIDEO */
.portfolio-card img,
.portfolio-card video{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:12px;
  display:block;
}

/* TITEL & TEKST */
.portfolio-card h4{margin:6px 0;}
.portfolio-card p{color:#aaa;}

/* FORCE PORTFOLIO AFBEELDINGEN */

.portfolio-card img{
  display:block !important;
  width:100% !important;
  height:190px !important;
  object-fit:cover !important;
  border-radius:10px !important;
  margin-bottom:12px !important;
}


:root{
--accent-orange:#ff9900;
--accent-purple:#a855f7;
}
/* ===================== */
/* WEBSITE VOORBEELDEN */
/* ===================== */

.demo-section{
padding:100px 20px;
background:#0b0b0b;
text-align:center;
max-width:1100px;
margin:0 auto;
}

.demo-section h2{
font-size:42px;
margin-bottom:10px;
}

.demo-subtitle{
color:#aaa;
margin-bottom:50px;
}

.demo-grid{
display:grid;
grid-template-columns:repeat(auto-fit, minmax(280px,1fr));
gap:40px;
}

.demo-card{
background:#111;
padding:30px;
border-radius:18px;
box-shadow:0 0 20px rgba(255,153,0,0.12);
transition:0.3s;
text-align:left;
}

.demo-card:hover{
transform:translateY(-8px);
box-shadow:0 0 30px rgba(255,153,0,0.3);
}

.demo-card h3{
color:#ff9900;
margin-bottom:10px;
}

.demo-card p{
color:#ccc;
margin-bottom:10px;
}

.demo-card ul{
padding-left:18px;
margin-bottom:15px;
}

.demo-card li{
margin-bottom:6px;
}

.demo-btn{
display:inline-block;
margin-top:10px;
padding:10px 22px;
background:#ff9900;
color:black;
border-radius:25px;
text-decoration:none;
font-weight:600;
transition:0.25s;
}

.demo-btn:hover{
background:white;
color:black;
}

body{
margin:0;
font-family:Arial, sans-serif;
background:#000;
color:#fff;
overflow-x:hidden;
}

/* NAV */
nav{
position:sticky;
top:0;
display:flex;
align-items:center;
padding:0 20px;

background:rgba(0,0,0,0.65);
backdrop-filter:blur(12px);
-webkit-backdrop-filter:blur(12px);

border-bottom:1px solid rgba(255,255,255,0.08);

z-index:1000;
}

.nav-logo{
height:70px;
margin-right:20px;
}

nav ul{
margin:0;
padding:15px;
display:flex;
justify-content:flex-start;
gap:25px;
list-style:none;
flex:1;

overflow-x:auto;
white-space:nowrap;
-webkit-overflow-scrolling:touch;
}
nav ul::-webkit-scrollbar{
display:none;
}

nav a{
color:#fff;
text-decoration:none;
font-weight:bold;
letter-spacing:0.5px;
}

nav a:hover{color:var(--accent-orange);text-shadow:0 0 6px rgba(168,85,247,0.6);}

/* HEADER */
header{
background:#000;
padding:70px 20px;
text-align:center;
border-bottom:2px solid #ff9900;
}

header h1{
font-size:2.8rem;
margin:0;
color:var(--accent-orange);
text-shadow:0 0 8px rgba(255,153,0,0.6);
}
@media (min-width:900px){

nav ul{
justify-content:center;
overflow-x:visible;
}

}

header p{color:#ccc;font-size:1.1rem;}

/* HERO */
.hero{
padding:120px 20px 120px;
text-align:center;
background:linear-gradient(180deg,#000,#111);
}

.hero-inner{
max-width:900px;
margin:0 auto;
display:flex;
flex-direction:column;
align-items:center;
text-align:center;
}

.hero-left{
display:flex;
flex-direction:column;
align-items:center;
}

.hero-right{
max-width:650px;
margin-top:20px;
color:#aaa;
line-height:1.6;
text-align:center;
}

.buttons{
display:flex;
gap:20px;
justify-content:center;
margin-top:35px;
flex-wrap:wrap;
}

.hero h2{font-size:2.3rem;margin-bottom:10px;animation:heroFloat 3s ease-in-out infinite;text-shadow:0 0 10px rgba(168,85,247,0.7);}

.hero h2::after{
content:"";
display:block;
width:120px;
height:3px;
margin:12px auto 0;
background:linear-gradient(90deg,var(--accent-orange),var(--accent-purple));
border-radius:4px;
}

@keyframes heroFloat{
0%{transform:translateY(0);} 
50%{transform:translateY(-6px);} 
100%{transform:translateY(0);} 
}



.buttons a{
display:inline-block;
margin:10px;
padding:16px 36px;
background:var(--accent-orange);
color:#000;
text-decoration:none;
border-radius:999px;
font-weight:bold;
position:relative;
overflow:hidden;

box-shadow:0 0 15px rgba(255,153,0,0.45);
transition:transform .3s ease, box-shadow .3s ease;
}

.buttons a:hover{
transform:translateY(-3px) scale(1.04);
box-shadow:
0 0 20px rgba(255,153,0,0.7),
0 0 40px rgba(168,85,247,0.5);
}


/* SECTIONS */
.section{
max-width:1100px;
margin:auto;
padding:80px 20px;
border-top:1px solid rgba(255,255,255,0.06);
}

.section h3{
color:#ff9900;
font-size:1.9rem;
border-bottom:2px solid #222;
padding-bottom:10px;
}

.card-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:25px;
margin-top:35px;
}

.card{
background:#111;
padding:25px;
border-radius:12px;
border:1px solid #222;
transition:transform .3s ease, box-shadow .3s ease;
cursor:pointer;
}

.card:hover{
animation:wiggle 0.35s ease;
transform:translateY(-6px) scale(1.03);
box-shadow:0 0 18px rgba(255,153,0,0.45), 0 0 28px rgba(168,85,247,0.45);
}

@keyframes wiggle{
0%{transform:translateY(-6px) scale(1.03) rotate(0deg);} 
25%{transform:translateY(-6px) scale(1.03) rotate(1deg);} 
50%{transform:translateY(-6px) scale(1.03) rotate(-1deg);} 
75%{transform:translateY(-6px) scale(1.03) rotate(1deg);} 
100%{transform:translateY(-6px) scale(1.03) rotate(0deg);} 
}

.price{font-size:1.7rem;color:#ff9900;font-weight:bold;}

ul{padding-left:20px;} li{margin:8px 0;}

form input, form textarea{
width:100%;
padding:12px;
margin:8px 0;
border-radius:6px;
border:none;
min-height:50px;
}

form textarea{
min-height:140px;
resize:vertical;
}

form button{
background:var(--accent-orange);box-shadow:0 0 10px rgba(168,85,247,0.4);
border:none;
padding:14px 30px;
border-radius:6px;
font-weight:bold;
cursor:pointer;
}

form button:hover{background:#ffaa22;}

footer{
background:#000;
border-top:2px solid #ff9900;
padding:35px;
text-align:center;
color:#aaa;
}

/* Animaties */
.fade-in{opacity:0;transform:translateY(30px);animation:fadeUp 1s ease forwards;}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

.buttons a{transition:background .3s ease, transform .3s ease;}
.buttons a:hover{background:#ffaa22;transform:scale(1.05);}



/* FLOATING CORNER LOGO */
.floating-logo-wrapper{
position:fixed;
bottom:25px;
right:25px;
width:70px;
height:70px;
border-radius:50%;
background:#000;
box-shadow:0 0 25px rgba(168,85,247,0.7);
z-index:999;
display:flex;
align-items:center;
justify-content:center;
transition:transform .3s ease, box-shadow .3s ease;
}

.floating-logo-t{
width:90px;
height:90px;
animation: logoSpinFlat 7s linear infinite; /* zelfde draai als hiervoor */
}

@keyframes logoSpinFlat{
from{transform:rotate(0deg);} 
to{transform:rotate(360deg);} 
}

.floating-logo-wrapper:hover{
transform:scale(1.15);
box-shadow:0 0 25px rgba(168,85,247,0.7), 0 0 30px rgba(255,153,0,0.7);
}

.floating-logo-wrapper:active{
transform:scale(1.18);
box-shadow:0 0 30px rgba(168,85,247,0.8), 0 0 40px rgba(255,153,0,0.9);
} 



.step-link{
scroll-margin-top:120px;
color:#fff;
text-decoration:none;
border:2px solid var(--accent-orange);
box-shadow:0 0 20px rgba(255,153,0,0.6);
}

.step-link:hover{
box-shadow:0 0 25px rgba(255,153,0,0.8),0 0 35px rgba(168,85,247,0.6);
}



.step-link-green{
color:#fff;
text-decoration:none;
border:2px solid #22c55e;
box-shadow:0 0 18px rgba(34,197,94,0.7);
}

.step-link-green:hover{
box-shadow:0 0 25px rgba(34,197,94,0.9),0 0 35px rgba(168,85,247,0.5);
}
/* SUBTIELE GLOW VOOR STAP 2 BIJ AANKOMST */
#stap2-prijs:target{
  animation: step2Glow 1.4s ease;
}
#stap-prijs{
  scroll-margin-top: 110px;
}

@keyframes step2Glow{
  0%{
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
  40%{
    box-shadow:
      0 0 18px rgba(255,200,80,0.9),
      0 0 35px rgba(255,170,40,0.8);
  }
  100%{
    box-shadow: 0 0 0 rgba(0,0,0,0);
  }
}
/* GLOBAL ANCHOR OFFSET FIX */
[id]{
  scroll-margin-top: 220px;
}

.step2-highlight{
  color:#ff9900;
}
.price-badge{
  display:block;
  color:#ff9900;
  font-size:0.8rem;
  font-weight:600;
  margin-top:04px;
}
.card h4{
  margin-bottom:4px;
}
/* PORTFOLIO */

/* ========== PORTFOLIO ========== */

/* PORTFOLIO GRID */
.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:25px;
  margin-top:30px;
}

/* KAART */
.portfolio-card{
  background:#111;
  padding:18px;
  border-radius:14px;
  border:1px solid #222;
  transition:0.35s;
}

.portfolio-card:hover{
  transform:translateY(-6px);
  box-shadow:0 0 25px rgba(255,153,0,0.45);
}

/* AFBEELDING / VIDEO */
.portfolio-card img,
.portfolio-card video{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:10px;
  margin-bottom:12px;
  display:block;
}

/* TITEL & TEKST */
.portfolio-card h4{margin:6px 0;}
.portfolio-card p{color:#aaa;}



/* Video subtiele beweging */
.portfolio-card video{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:10px;
  animation: slowPan 12s ease-in-out infinite alternate;
}

/* Extra zachte zoom beweging */
@keyframes slowPan{
  0%{
    transform: scale(1);
  }
  100%{
    transform: scale(1.08);
  }
}
.hero{
position:relative;
overflow:hidden;
}

.hero::before{
content:"";
position:absolute;
width:500px;
height:500px;
background:radial-gradient(circle, rgba(255,153,0,0.35), transparent 60%);
top:-150px;
left:-150px;
filter:blur(80px);
animation:heroGlow 10s ease-in-out infinite alternate;
}

.hero::after{
content:"";
position:absolute;
width:450px;
height:450px;
background:radial-gradient(circle, rgba(168,85,247,0.35), transparent 60%);
bottom:-150px;
right:-150px;
filter:blur(80px);
animation:heroGlow 14s ease-in-out infinite alternate;
}

@keyframes heroGlow{
0%{transform:translate(0,0);}
100%{transform:translate(120px,80px);}
}.hero-left{
display:flex;
flex-direction:column;
align-items:center;
}
.hero-description{
max-width:520px;
margin:22px auto 0;
color:#aaa;
line-height:1.6;
font-size:1.05rem;
text-align:center;
}

.buttons{
order:3;
display:flex;
gap:20px;
justify-content:center;
margin-top:25px;
flex-wrap:wrap;
}