/* ============================================================
   PANDEC DIGITAL — Main Stylesheet
   ============================================================ */

/* ---------- Reset & Variables ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
    --bg:       #080c0a;
    --bg-2:     #0e1410;
    --bg-card:  rgba(255,255,255,.04);
    --text:     #eef2eb;
    --text-muted: #8a9b84;
    --accent:   #8bd040;
    --accent-2: #a8e860;
    --gradient: linear-gradient(135deg, #6abf20 0%, #8bd040 50%, #b8f060 100%);
    --glass-bg: rgba(255,255,255,.06);
    --glass-border: rgba(255,255,255,.1);

    /* Typography */
    --font: 'Segoe UI', system-ui, -apple-system, sans-serif;
    --mono: 'Cascadia Code', 'Consolas', monospace;

    /* Spacing */
    --section-pad: clamp(80px, 10vw, 140px) clamp(20px, 5vw, 80px);
    --radius: 16px;
    --radius-sm: 10px;
}

html{scroll-behavior:smooth;font-size:16px}
body{
    font-family:var(--font);
    background:var(--bg);
    color:var(--text);
    line-height:1.6;
    overflow-x:hidden;
    cursor:none;
}

/* ---------- Particle Canvas Background ---------- */
#particleCanvas{
    position:fixed;inset:0;z-index:0;pointer-events:none;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
em{font-style:normal;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}

/* ---------- Page Loader ---------- */
.page-loader{
    position:fixed;inset:0;z-index:9999;
    background:var(--bg);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:30px;
    transition:opacity .6s ease, visibility .6s ease;
}
.page-loader.done{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo{width:100px;animation:pulse 1.5s ease infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.7}}
.loader-bar{width:200px;height:3px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.loader-fill{width:0;height:100%;background:var(--gradient);border-radius:2px;animation:loaderFill 1.5s ease forwards}
@keyframes loaderFill{to{width:100%}}

/* ---------- Custom Cursor ---------- */
.cursor{
    width:20px;height:20px;border:2px solid var(--accent);border-radius:50%;
    position:fixed;top:0;left:0;pointer-events:none;z-index:10000;
    transition: width .2s, height .2s, border-color .2s, transform .05s;
    transform:translate(-50%,-50%);
    mix-blend-mode:difference;
}
.cursor.hover{width:50px;height:50px;border-color:var(--accent-2)}

@media(pointer:coarse){.cursor{display:none}body{cursor:auto}}

/* ---------- Navbar ---------- */
.navbar{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    display:flex;align-items:center;justify-content:space-between;
    padding:16px clamp(20px,5vw,60px);
    background:rgba(10,10,20,.6);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,.05);
    transition:background .3s, padding .3s;
}
.navbar.scrolled{background:rgba(10,10,20,.95);padding:10px clamp(20px,5vw,60px)}
.nav-logo{display:flex;align-items:center;gap: 10px;transform:scale(1.5);transform-origin:left center}
.nav-logo-img{height:40px; width:40px}
.nav-logo-text{display:flex;flex-direction:column;line-height:1}
.logo-pandec{font-size:1.35rem;font-weight:800;color:#f0f0e8;letter-spacing:.5px}
.logo-digital{font-size:.55rem;font-weight:600;color:var(--accent);letter-spacing:5px;text-transform:uppercase}
.nav-links{list-style:none;display:flex;gap:30px}
.nav-links a{
    font-size:.9rem;font-weight:500;letter-spacing:.5px;
    position:relative;color:var(--text-muted);transition:color .3s;
}
.nav-links a::after{
    content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;
    background:var(--gradient);transition:width .3s;
}
.nav-links a:hover{color:var(--text)}
.nav-links a:hover::after{width:100%}
.nav-cta{
    padding:10px 24px;border-radius:100px;font-size:.85rem;font-weight:600;
    background:var(--gradient);color:#fff;
    transition:transform .3s, box-shadow .3s;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,208,64,.3)}
.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px}
.mobile-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:.3s}

/* ---------- Hero ---------- */
.hero{
    min-height:100vh;position:relative;
    display:flex;align-items:center;
    padding:120px clamp(20px,5vw,80px) 80px;
    overflow:hidden;
}
.hero-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero-shape{
    position:absolute;border-radius:50%;filter:blur(100px);opacity:.3;
    animation:float 15s ease-in-out infinite;
}
.shape-1{width:500px;height:500px;background:#8bd040;top:-100px;right:-100px;animation-delay:0s}
.shape-2{width:400px;height:400px;background:#5ea020;bottom:-100px;left:-100px;animation-delay:-5s}
.shape-3{width:300px;height:300px;background:#b8f060;top:40%;left:40%;animation-delay:-10s}
@keyframes float{
    0%,100%{transform:translate(0,0) scale(1)}
    33%{transform:translate(30px,-40px) scale(1.1)}
    66%{transform:translate(-20px,30px) scale(.9)}
}

.hero-content{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr 1fr;gap:60px;
    width:100%;max-width:1400px;margin:0 auto;
    align-items:center;
}

/* Hero Left */
.reveal-mask{overflow:hidden}
.reveal-mask>*{transform:translateY(100%);opacity:0;transition:transform .8s cubic-bezier(.16,1,.3,1), opacity .8s ease}
.reveal-mask.visible>*{transform:translateY(0);opacity:1}

.hero-tag{
    display:inline-block;font-size:.85rem;font-weight:600;color:var(--accent-2);
    letter-spacing:2px;text-transform:uppercase;margin-bottom:16px;
}
.hero-title{font-size:clamp(2.8rem,5vw,4.5rem);font-weight:800;line-height:1.1;letter-spacing:-1px}
.hero-title.accent{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{
    font-size:1.1rem;color:var(--text-muted);line-height:1.8;
    max-width:520px;margin:24px 0 32px;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.btn-primary{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 32px;background:var(--gradient);color:#fff;
    border-radius:100px;font-weight:600;font-size:.95rem;
    transition:transform .3s, box-shadow .3s;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(139,208,64,.35)}
.btn-outline{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 28px;border:1px solid var(--glass-border);
    border-radius:100px;font-weight:500;font-size:.95rem;color:var(--text-muted);
    transition:border-color .3s, color .3s;
}
.btn-outline:hover{border-color:var(--accent);color:var(--text)}
.play-circle{
    display:inline-flex;align-items:center;justify-content:center;
    width:28px;height:28px;background:var(--accent);color:#fff;
    border-radius:50%;font-size:.65rem;
}

/* Hero Stats */
.hero-stats{display:flex;gap:40px;margin-top:48px;padding-top:32px;border-top:1px solid var(--glass-border)}
.hero-stat{display:flex;flex-direction:column}
.stat-num{font-size:2rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat-plus{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;font-size:1.5rem}
.stat-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.5px}

/* Hero Right — Visual */
.hero-visual{position:relative;width:100%;aspect-ratio:1;max-width:540px;margin:0 auto}
.hero-mockup{
    position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:80%;background:var(--bg-2);border-radius:var(--radius);
    border:1px solid var(--glass-border);overflow:hidden;
    box-shadow:0 40px 80px rgba(0,0,0,.5);
}
.mockup-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:rgba(0,0,0,.3)}
.dot{width:10px;height:10px;border-radius:50%}
.dot.red{background:#f87171}.dot.yellow{background:#fbbf24}.dot.green{background:#34d399}
.mockup-url{font-size:.7rem;color:var(--text-muted);margin-left:8px;font-family:var(--mono)}
.mockup-body{padding:16px;display:flex;flex-direction:column;gap:10px}
.mockup-nav{height:8px;width:60%;background:rgba(255,255,255,.05);border-radius:4px}
.mockup-hero-block{height:60px;background:linear-gradient(135deg,rgba(139,208,64,.3),rgba(94,160,32,.2));border-radius:8px}
.mockup-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.mockup-card{height:40px;background:rgba(255,255,255,.04);border-radius:6px}

/* Glass floating cards */
.glass-card{
    background:var(--glass-bg);
    border:1px solid var(--glass-border);
    border-radius:var(--radius);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
}
.float-card{
    position:absolute;display:flex;align-items:center;gap:12px;padding:14px 18px;
    z-index:2;white-space:nowrap;
    animation:floatCard 6s ease-in-out infinite;
}
.float-card strong{font-size:.85rem;display:block}
.float-card span{font-size:.72rem;color:var(--text-muted)}
.fc-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff}
.fc-1{top:5%;right:0;animation-delay:0s}
.fc-2{bottom:30%;left:-10%;animation-delay:-2s}
.fc-3{bottom:5%;right:5%;animation-delay:-4s}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Scroll indicator */
.scroll-indicator{
    position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
    display:flex;flex-direction:column;align-items:center;gap:8px;
    color:var(--text-muted);font-size:.75rem;letter-spacing:2px;text-transform:uppercase;
}
.scroll-line{width:1px;height:40px;background:var(--glass-border);position:relative;overflow:hidden}
.scroll-line::after{
    content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;
    background:var(--accent);animation:scrollLine 2s ease infinite;
}
@keyframes scrollLine{0%{top:-50%}100%{top:150%}}

/* ---------- Marquee ---------- */
.marquee-section{
    padding:24px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);
    overflow:hidden;
}
.marquee-track{display:flex;width:max-content;animation:marquee 30s linear infinite}
.marquee-track span{
    font-size:clamp(1rem,2vw,1.4rem);font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;
    color:rgba(255,255,255,.08);white-space:nowrap;padding:0 20px;
}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ---------- Section Base ---------- */
.section{padding:var(--section-pad);max-width:1400px;margin:0 auto}
.section-header{text-align:center;margin-bottom:60px}
.section-header h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-1px;margin-top:12px}
.section-label{
    display:inline-block;font-size:.8rem;font-weight:600;
    letter-spacing:3px;text-transform:uppercase;
    color:var(--accent-2);
}
.section-header.light h2{color:#fff}

/* ---------- Diensten ---------- */
.diensten-grid{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;
}
.dienst-card{
    position:relative;padding:40px 32px;
    background:var(--bg-card);border:1px solid var(--glass-border);
    border-radius:var(--radius);
    transition:transform .4s, border-color .4s, box-shadow .4s;
    overflow:hidden;
}
.dienst-card::before{
    content:'';position:absolute;inset:0;
    background:var(--gradient);opacity:0;transition:opacity .4s;
    border-radius:inherit;
}
.dienst-card:hover{transform:translateY(-8px);border-color:var(--accent);box-shadow:0 20px 60px rgba(139,208,64,.15)}
.dienst-card:hover::before{opacity:.06}
.dienst-card>*{position:relative;z-index:1}
.dienst-icon{font-size:2rem;margin-bottom:20px}
.dienst-card h3{font-size:1.3rem;font-weight:700;margin-bottom:12px}
.dienst-card p{color:var(--text-muted);font-size:.95rem;line-height:1.7}
.dienst-arrow{
    position:absolute;top:32px;right:32px;font-size:1.4rem;color:var(--text-muted);
    transition:color .3s, transform .3s;
}
.dienst-card:hover .dienst-arrow{color:var(--accent);transform:translate(4px,-4px)}

/* ---------- Portfolio Bento Grid ---------- */
.bento-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:260px;
    gap:16px;
}
.bento-item{border-radius:var(--radius);overflow:hidden;position:relative;display:block}
.bento-item.bi-large{grid-column:span 2}
.bento-visual{
    width:100%;height:100%;position:relative;transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.bento-visual.has-preview{
    background:#0b120d;
}
.bento-shot{
    position:absolute;inset:0;
}
.bento-shot img{
    width:100%;height:100%;object-fit:cover;display:block;
    object-position:top center;
}
.bento-visual.has-preview::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(5,8,6,.08) 0%,rgba(5,8,6,.2) 35%,rgba(5,8,6,.88) 100%);
}
.bento-item:not(.bi-large) .bento-visual.has-preview::after{
    background:linear-gradient(180deg,rgba(5,8,6,.12) 0%,rgba(5,8,6,.28) 38%,rgba(5,8,6,.92) 100%);
}
.bento-item:hover .bento-visual{transform:scale(1.05)}
.bento-overlay{
    position:absolute;inset:0;padding:28px;
    display:flex;flex-direction:column;justify-content:flex-end;
    background:linear-gradient(transparent 40%,rgba(0,0,0,.7));
    opacity:0;transition:opacity .4s;
}
.bento-overlay.visible{opacity:1}
.bento-visual.has-preview .bento-overlay{background:none;z-index:1}
.bento-item:hover .bento-overlay{opacity:1}
.bento-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:rgba(255,255,255,.7);margin-bottom:8px}
.bento-overlay h3{font-size:1.3rem;font-weight:700;margin-bottom:4px}
.bento-overlay p{font-size:.85rem;color:rgba(255,255,255,.6)}

/* ---------- Werkwijze / Process ---------- */
.werkwijze-section{
    background:var(--bg-2);border-radius:var(--radius);
    padding:var(--section-pad);margin:80px auto;max-width:1400px;
}
.process-timeline{display:flex;flex-direction:column;gap:0;position:relative}
.process-timeline::before{
    content:'';position:absolute;top:0;bottom:0;left:42px;width:2px;
    background:var(--glass-border);
}
.process-step{
    display:grid;grid-template-columns:84px 1fr auto;gap:24px;
    align-items:center;padding:32px 0;
    border-bottom:1px solid var(--glass-border);
    opacity:0;transform:translateX(-30px);
    transition:opacity .6s, transform .6s;
}
.process-step.visible{opacity:1;transform:translateX(0)}
.process-step:last-child{border-bottom:none}
.step-number{
    width:84px;height:84px;display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;font-weight:800;background:var(--bg);
    border:2px solid var(--glass-border);border-radius:50%;
    position:relative;z-index:1;
    transition:border-color .3s, color .3s;
}
.process-step.visible .step-number{border-color:var(--accent);color:var(--accent)}
.step-content h3{font-size:1.3rem;font-weight:700;margin-bottom:8px}
.step-content p{color:var(--text-muted);font-size:.95rem;max-width:500px}
.step-duration{
    font-size:.8rem;font-weight:600;color:var(--accent-2);
    background:rgba(139,208,64,.1);padding:6px 16px;border-radius:100px;
    white-space:nowrap;
}

/* ---------- Over Ons ---------- */
.over-ons-content{
    display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;
}
.over-ons-left h2{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;margin:12px 0 20px;letter-spacing:-1px}
.over-ons-intro{font-size:1.05rem;color:var(--text-muted);line-height:1.8;margin-bottom:36px}
.usp-grid{display:flex;flex-direction:column;gap:20px}
.usp-item{display:flex;gap:16px;align-items:flex-start}
.usp-icon{
    width:32px;height:32px;min-width:32px;border-radius:8px;
    background:rgba(139,208,64,.15);color:var(--accent);
    display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:.9rem;margin-top:2px;
}
.usp-item strong{font-size:.95rem;display:block;margin-bottom:2px}
.usp-item p{font-size:.85rem;color:var(--text-muted);margin:0}

/* About card */
.about-card{
    padding:48px;text-align:center;
    display:flex;flex-direction:column;align-items:center;gap:16px;
}
.about-logo{width:160px;margin-bottom:100px}
.about-card h3{font-size:1.5rem;font-weight:700}
.about-card>p{color:var(--text-muted);font-size:.9rem}
.about-stats{
    display:flex;gap:32px;margin-top:24px;
    padding-top:24px;border-top:1px solid var(--glass-border);
    width:100%;justify-content:center;
}
.about-stats div{display:flex;flex-direction:column;align-items:center}
.about-stats strong{font-size:1.5rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.about-stats span{font-size:.75rem;color:var(--text-muted);letter-spacing:.5px}

/* ---------- Prijzen ---------- */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;align-items:start}
.pricing-card{
    background:var(--bg-card);border:1px solid var(--glass-border);
    border-radius:var(--radius);padding:40px 32px;
    position:relative;transition:transform .4s, box-shadow .4s;
}
.pricing-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(139,208,64,.12)}
.pricing-card.featured{
    border-color:var(--accent);
    background:linear-gradient(180deg,rgba(139,208,64,.08),transparent);
    box-shadow:0 0 80px rgba(139,208,64,.1);
}
.pricing-badge{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    padding:6px 20px;background:var(--gradient);color:#fff;
    font-size:.75rem;font-weight:700;border-radius:100px;text-transform:uppercase;letter-spacing:1px;
}
.pricing-header{text-align:center;margin-bottom:28px}
.pricing-header h3{font-size:1.2rem;font-weight:600;color:var(--text-muted);margin-bottom:8px}
.pricing-price{font-size:3rem;font-weight:800;letter-spacing:-1px}
.pricing-period{font-size:.85rem;color:var(--text-muted)}
.pricing-features{list-style:none;display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.pricing-features li{font-size:.9rem;color:var(--text-muted);display:flex;align-items:center;gap:10px}
.pricing-features li::before{display:none} /* Override any default */
.btn-pricing{
    display:block;text-align:center;
    padding:14px;border:1px solid var(--glass-border);
    border-radius:100px;font-weight:600;font-size:.9rem;
    transition:all .3s;
}
.btn-pricing:hover{border-color:var(--accent);color:var(--accent)}
.featured-btn{background:var(--gradient);color:#fff;border-color:transparent}
.featured-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,208,64,.3);color:#fff;border-color:transparent}

/* ---------- Testimonials ---------- */
.testimonials-section{background:var(--bg-2);border-radius:var(--radius);padding:var(--section-pad);margin:0 auto;max-width:1400px}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.testimonial-card{padding:32px;display:flex;flex-direction:column;gap:16px}
.stars{color:#fbbf24;font-size:1.1rem;letter-spacing:2px}
blockquote{font-size:1.05rem;line-height:1.8;color:var(--text);font-style:normal}
.testimonial-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.author-avatar{
    width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:.85rem;font-weight:700;color:#fff;
}
.testimonial-author strong{font-size:.9rem;display:block}
.testimonial-author span{font-size:.78rem;color:var(--text-muted)}

/* ---------- Contact ---------- */
.contact-section{padding-bottom:60px}
.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-left h2{font-size:clamp(2rem,3.5vw,2.8rem);font-weight:800;margin:12px 0 20px;letter-spacing:-1px}
.contact-left p{color:var(--text-muted);font-size:1.05rem;line-height:1.8;margin-bottom:36px}
.contact-info{display:flex;flex-direction:column;gap:16px}
.contact-item{display:flex;align-items:center;gap:14px;font-size:.95rem;color:var(--text-muted)}
.ci-icon{
    width:44px;height:44px;min-width:44px;border-radius:12px;
    background:rgba(139,208,64,.1);color:var(--accent);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;
}

/* Form */
.contact-form{padding:40px;display:flex;flex-direction:column;gap:20px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:.8rem;font-weight:600;letter-spacing:.5px;color:var(--text-muted)}
.form-group input,
.form-group select,
.form-group textarea{
    padding:14px 16px;background:rgba(255,255,255,.04);
    border:1px solid var(--glass-border);border-radius:var(--radius-sm);
    color:var(--text);font-size:.95rem;font-family:var(--font);
    outline:none;transition:border-color .3s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{border-color:var(--accent)}
.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239898b0' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.form-group select option{background:var(--bg);color:var(--text)}
.form-group textarea{resize:vertical;min-height:100px}
.btn-submit{
    padding:16px;background:var(--gradient);color:#fff;
    border:none;border-radius:100px;font-size:1rem;font-weight:600;
    cursor:none;font-family:var(--font);
    transition:transform .3s, box-shadow .3s;
}
.btn-submit:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(139,208,64,.3)}

/* ---------- Footer ---------- */
.footer{
    border-top:1px solid var(--glass-border);
    padding:60px clamp(20px,5vw,80px) 30px;
    max-width:1400px;margin:0 auto;
}
.footer-top{display:grid;grid-template-columns:1.5fr 2fr;gap:60px;margin-bottom:40px}
.footer-logo-img{height:36px;margin-bottom:16px}
.footer-brand p{font-size:.9rem;color:var(--text-muted);line-height:1.7;max-width:320px}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.footer-col h4{font-size:.85rem;font-weight:700;margin-bottom:16px;color:var(--text)}
.footer-col a{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:10px;transition:color .3s}
.footer-col a:hover{color:var(--accent)}
.footer-bottom{
    display:flex;justify-content:space-between;align-items:center;
    padding-top:24px;border-top:1px solid var(--glass-border);
    font-size:.8rem;color:var(--text-muted);
}

/* ---------- Scroll Reveal ---------- */
.sr{opacity:0;transform:translateY(40px);transition:opacity .7s ease, transform .7s cubic-bezier(.16,1,.3,1)}
.sr.visible{opacity:1;transform:translateY(0)}
.sr-delay-1{transition-delay:.1s}
.sr-delay-2{transition-delay:.2s}
.sr-delay-3{transition-delay:.3s}
.sr-delay-4{transition-delay:.4s}
.sr-delay-5{transition-delay:.5s}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
    .hero-content{grid-template-columns:1fr;text-align:center}
    .hero-left{order:2}
    .hero-right{order:1}
    .hero-desc{margin-left:auto;margin-right:auto}
    .hero-actions{justify-content:center}
    .hero-stats{justify-content:center}
    .hero-visual{max-width:400px}

    .bento-grid{grid-template-columns:1fr 1fr}
    .bento-item.bi-large{grid-column:span 2}

    .over-ons-content{grid-template-columns:1fr}
    .over-ons-right{order:-1}

    .contact-content{grid-template-columns:1fr}
}

@media(max-width:768px){
    .nav-logo{transform:scale(1.08)}
    .nav-links{
        position:fixed;top:0;right:-100%;width:70%;height:100vh;
        flex-direction:column;justify-content:center;align-items:center;gap:28px;
        background:rgba(10,10,20,.97);backdrop-filter:blur(20px);
        transition:right .4s cubic-bezier(.16,1,.3,1);z-index:999;
    }
    .nav-links.open{right:0}
    .mobile-toggle{display:block;z-index:1001}
    .mobile-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
    .mobile-toggle.active span:nth-child(2){opacity:0}
    .mobile-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
    .nav-cta{display:none}

    .bento-grid{grid-template-columns:1fr;grid-auto-rows:200px}
    .bento-item.bi-large{grid-column:span 1}
    .bento-item.bi-large{grid-row:span 1}
    .bento-overlay{opacity:1}

    .process-step{grid-template-columns:60px 1fr;gap:16px}
    .step-number{width:60px;height:60px;font-size:1.2rem}
    .step-duration{grid-column:2}
    .process-timeline::before{left:30px}

    .pricing-grid{grid-template-columns:1fr}
    .footer-top{grid-template-columns:1fr}
    .footer-cols{grid-template-columns:1fr 1fr}
    .footer-bottom{flex-direction:column;gap:8px;text-align:center}

    .hero-stats{flex-wrap:wrap;gap:24px}
    .float-card{display:none}
}

@media(max-width:480px){
    .diensten-grid{grid-template-columns:1fr}
    .testimonials-grid{grid-template-columns:1fr}
    .footer-cols{grid-template-columns:1fr}
}

/* ============================================================
    WEBSITES PAGE — moved from websites.html
    ============================================================ */
.ws-hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:140px 24px 100px;overflow:hidden}
.ws-hero-content{position:relative;z-index:1;text-align:center;max-width:900px}
.ws-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:4px;text-transform:uppercase;margin-bottom:28px;opacity:0;animation:slideUp .7s .3s forwards}
.ws-eyebrow::before,.ws-eyebrow::after{content:'';width:32px;height:1.5px;background:var(--accent)}
.ws-hero-title{font-size:clamp(3.2rem,8vw,6.5rem);font-weight:900;line-height:1;letter-spacing:-3px;margin-bottom:28px}
.ws-hero-title .line{display:block;overflow:hidden}
.ws-hero-title .line span{display:inline-block;opacity:0;transform:translateY(110%);animation:revealLine .9s cubic-bezier(.22,1,.36,1) forwards}
.ws-hero-title .line:nth-child(1) span{animation-delay:.4s}
.ws-hero-title .line:nth-child(2) span{animation-delay:.55s}
.ws-hero-title .line:nth-child(3) span{animation-delay:.7s}
@keyframes revealLine{to{opacity:1;transform:translateY(0)}}
.ws-hero-desc{font-size:1.15rem;color:var(--text-muted);line-height:1.85;max-width:580px;margin:0 auto 40px;opacity:0;animation:slideUp .8s .9s forwards;transform:translateY(24px)}
@keyframes slideUp{to{opacity:1;transform:translateY(0)}}
.ws-hero-cta{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--gradient);color:#fff;border-radius:100px;font-weight:700;font-size:1rem;text-decoration:none;opacity:0;animation:slideUp .7s 1.1s forwards;transform:translateY(20px);transition:transform .35s,box-shadow .35s}
.ws-hero-cta:hover{transform:translateY(-3px) !important;box-shadow:0 16px 48px rgba(139,208,64,.35)}
.ws-hero-cta svg{transition:transform .3s}
.ws-hero-cta:hover svg{transform:translateX(4px)}
.ws-scroll-hint{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-muted);font-size:.7rem;letter-spacing:3px;text-transform:uppercase;opacity:0;animation:slideUp .6s 1.6s forwards}
.ws-scroll-hint .scroll-bar{width:1px;height:48px;background:var(--glass-border);position:relative;overflow:hidden}
.ws-scroll-hint .scroll-bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;background:var(--accent);animation:scrollLine 2.2s ease infinite}
.ws-marquee{padding:28px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);overflow:hidden}
.ws-marquee-track{display:flex;width:max-content;animation:marqueeScroll 40s linear infinite}
.ws-marquee-track span{font-size:clamp(.9rem,1.5vw,1.2rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.06);white-space:nowrap;padding:0 24px}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ws-services{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1400px;margin:0 auto}
.ws-services .section-header{margin-bottom:64px}
.ws-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ws-service-card{position:relative;padding:44px 32px 36px;background:rgba(255,255,255,.025);border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.ws-service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.ws-service-card:hover{transform:translateY(-10px);border-color:rgba(139,208,64,.3);box-shadow:0 24px 64px rgba(0,0,0,.3),0 0 0 1px rgba(139,208,64,.1)}
.ws-service-card:hover::before{transform:scaleX(1)}
.ws-service-icon{width:52px;height:52px;border-radius:14px;background:rgba(139,208,64,.1);display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:1.4rem;transition:background .4s,transform .4s}
.ws-service-card:hover .ws-service-icon{background:rgba(139,208,64,.2);transform:scale(1.1) rotate(-5deg)}
.ws-service-card h3{font-size:1.2rem;font-weight:700;margin-bottom:12px;letter-spacing:-.3px}
.ws-service-card p{font-size:.9rem;color:var(--text-muted);line-height:1.75}
.ws-service-tag{display:inline-block;margin-top:18px;font-size:.72rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);opacity:.7}
.ws-portfolio{padding:clamp(60px,8vw,100px) 0}
.ws-portfolio .section-header{padding:0 clamp(20px,5vw,80px);margin-bottom:48px}
.ws-showcase{display:flex;gap:20px;padding:0 clamp(20px,5vw,80px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.ws-showcase::-webkit-scrollbar{display:none}
.ws-showcase-card{flex:0 0 380px;scroll-snap-align:start;border-radius:20px;overflow:hidden;border:1px solid var(--glass-border);background:var(--bg-2);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s;position:relative}
.ws-showcase-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 32px 64px rgba(0,0,0,.4)}
.ws-showcase-preview{height:240px;position:relative;overflow:hidden}
.ws-showcase-preview .preview-gradient{position:absolute;inset:0;transition:opacity .4s}
.ws-showcase-card:hover .preview-gradient{opacity:.85}
.ws-showcase-tag{position:absolute;top:16px;left:16px;padding:5px 14px;border-radius:100px;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.8)}
.ws-showcase-info{padding:24px}
.ws-showcase-info h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}
.ws-showcase-info p{font-size:.85rem;color:var(--text-muted);line-height:1.6}
.ws-showcase-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.82rem;font-weight:600;color:var(--accent);transition:gap .3s}
.ws-showcase-card:hover .ws-showcase-link{gap:10px}
.ws-process{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.ws-process .section-header{margin-bottom:64px}
.ws-steps{position:relative}
.ws-steps::before{content:'';position:absolute;top:0;bottom:0;left:39px;width:2px;background:linear-gradient(to bottom,transparent,var(--glass-border) 10%,var(--glass-border) 90%,transparent)}
.ws-step{display:grid;grid-template-columns:80px 1fr;gap:32px;align-items:start;padding:36px 0;position:relative;opacity:0;transform:translateX(-24px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.ws-step.visible{opacity:1;transform:translateX(0)}
.ws-step-num{width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:900;background:var(--bg);border:2px solid var(--glass-border);border-radius:50%;position:relative;z-index:1;transition:border-color .5s,color .5s,box-shadow .5s}
.ws-step.visible .ws-step-num{border-color:var(--accent);color:var(--accent);box-shadow:0 0 24px rgba(139,208,64,.15)}
.ws-step-content h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;letter-spacing:-.3px}
.ws-step-content p{font-size:.92rem;color:var(--text-muted);line-height:1.8;max-width:520px}
.ws-step-badge{display:inline-block;margin-top:12px;padding:5px 16px;border-radius:100px;background:rgba(139,208,64,.08);font-size:.72rem;font-weight:600;color:var(--accent);letter-spacing:1px;text-transform:uppercase}
.ws-layouts{padding:clamp(80px,10vw,120px) clamp(20px,5vw,80px);max-width:1400px;margin:0 auto}
.ws-layouts .section-header{margin-bottom:48px}
.ws-layout-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px}
.ws-layout-item{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:16/10;border:1px solid var(--glass-border);background:var(--bg-2);cursor:pointer;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.ws-layout-item:hover{transform:scale(1.03);box-shadow:0 24px 56px rgba(0,0,0,.35)}
.ws-layout-thumb{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.ws-layout-item:hover .ws-layout-thumb{transform:scale(1.08)}
.ws-layout-overlay{position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(8,12,10,.85));display:flex;flex-direction:column;justify-content:flex-end;padding:24px;opacity:0;transition:opacity .4s}
.ws-layout-item:hover .ws-layout-overlay{opacity:1}
.ws-layout-overlay h3{font-size:1.1rem;font-weight:700;margin-bottom:4px}
.ws-layout-overlay p{font-size:.8rem;color:rgba(255,255,255,.6)}
.ws-cta-banner{margin:0 clamp(20px,5vw,80px) clamp(60px,8vw,100px);padding:clamp(48px,6vw,80px) clamp(32px,4vw,64px);background:linear-gradient(135deg,rgba(139,208,64,.08),rgba(106,191,32,.04));border:1px solid rgba(139,208,64,.15);border-radius:24px;text-align:center;position:relative;overflow:hidden}
.ws-cta-banner::before{content:'';position:absolute;top:-50%;right:-20%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,208,64,.1),transparent 70%);animation:blobDrift 15s ease-in-out infinite}
.ws-cta-banner h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}
.ws-cta-banner p{font-size:1.05rem;color:var(--text-muted);line-height:1.8;max-width:520px;margin:0 auto 32px;position:relative}
.ws-cta-banner .ws-hero-cta{opacity:1;transform:none}
@media(max-width:1024px){.ws-service-grid{grid-template-columns:repeat(2,1fr)}.ws-showcase-card{flex:0 0 320px}}
@media(max-width:768px){.ws-hero-title{letter-spacing:-1.5px}.ws-service-grid{grid-template-columns:1fr}.ws-showcase-card{flex:0 0 85vw}.ws-layout-grid{grid-template-columns:1fr}.ws-step{grid-template-columns:60px 1fr;gap:20px}.ws-step-num{width:60px;height:60px;font-size:1.1rem}.ws-steps::before{left:29px}}

/* ============================================================
    WEBSHOPS PAGE — moved from webshops.html
    ============================================================ */
.shop-hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:140px clamp(20px,5vw,80px) 100px;overflow:hidden}
.shop-hero-left{position:relative;z-index:1}
.shop-hero-right{position:relative;z-index:1;display:flex;justify-content:center}
.shop-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:4px;text-transform:uppercase;margin-bottom:24px;opacity:0;animation:fadeIn .7s .3s forwards}
.shop-eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:dotPulse 2s ease infinite}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.shop-hero-title{font-size:clamp(2.8rem,6vw,5rem);font-weight:900;line-height:1.05;letter-spacing:-2px;margin-bottom:24px}
.shop-hero-title .word{display:inline-block;opacity:0;transform:translateY(50px) rotateZ(-2deg);animation:wordPop .8s cubic-bezier(.22,1,.36,1) forwards}
.shop-hero-title .word:nth-child(1){animation-delay:.4s}.shop-hero-title .word:nth-child(2){animation-delay:.5s}.shop-hero-title .word:nth-child(3){animation-delay:.6s}.shop-hero-title .word:nth-child(4){animation-delay:.7s}.shop-hero-title .word:nth-child(5){animation-delay:.8s}.shop-hero-title .word:nth-child(6){animation-delay:.9s}
@keyframes wordPop{to{opacity:1;transform:translateY(0) rotateZ(0)}}
@keyframes fadeIn{to{opacity:1}}
.shop-hero-desc{font-size:1.1rem;color:var(--text-muted);line-height:1.85;max-width:500px;margin-bottom:36px;opacity:0;animation:slideUp .8s 1s forwards;transform:translateY(20px)}
.shop-hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:slideUp .7s 1.2s forwards;transform:translateY(16px)}
.shop-btn-primary{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;background:var(--gradient);color:#fff;border-radius:100px;font-weight:700;font-size:.95rem;text-decoration:none;transition:transform .35s,box-shadow .35s}
.shop-btn-primary:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(139,208,64,.35)}
.shop-btn-outline{display:inline-flex;align-items:center;gap:8px;padding:15px 30px;border:1px solid var(--glass-border);border-radius:100px;font-weight:500;font-size:.95rem;color:var(--text-muted);text-decoration:none;transition:border-color .3s,color .3s}
.shop-btn-outline:hover{border-color:var(--accent);color:var(--text)}
.shop-mockup{width:340px;max-width:100%;background:var(--bg-2);border-radius:20px;border:1px solid var(--glass-border);overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.5);opacity:0;animation:mockupReveal 1s 1s forwards;transform:translateY(40px) rotateY(-8deg)}
@keyframes mockupReveal{to{opacity:1;transform:translateY(0) rotateY(0)}}
.shop-mockup-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;background:rgba(0,0,0,.3)}
.shop-mockup-bar .dot{width:10px;height:10px;border-radius:50%}
.sm-body{padding:20px;display:flex;flex-direction:column;gap:14px}
.sm-header{height:10px;width:55%;background:rgba(255,255,255,.06);border-radius:4px}
.sm-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sm-product{border-radius:10px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
.sm-product-img{height:70px;background:var(--gradient);opacity:.2}
.sm-product-info{padding:8px}
.sm-product-info .sm-line{height:6px;border-radius:3px;background:rgba(255,255,255,.06);margin-bottom:5px}
.sm-product-info .sm-line.short{width:60%}
.sm-product-info .sm-price{height:8px;width:40%;border-radius:3px;background:rgba(139,208,64,.3);margin-top:6px}
.sm-cart-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:10px;background:rgba(139,208,64,.08);border:1px solid rgba(139,208,64,.12)}
.sm-cart-text{height:7px;width:80px;background:rgba(255,255,255,.08);border-radius:3px}
.sm-cart-btn{height:28px;width:28px;border-radius:8px;background:var(--gradient);opacity:.6}
.shop-badge{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);white-space:nowrap;animation:badgeFloat 5s ease-in-out infinite}
.shop-badge strong{font-size:.85rem}
.shop-badge span{font-size:.7rem;color:var(--text-muted)}
.shop-badge-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff}
.sb-1{top:8%;right:-15%;animation-delay:0s}.sb-2{bottom:20%;left:-12%;animation-delay:-1.8s}.sb-3{bottom:2%;right:5%;animation-delay:-3.5s}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.shop-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}
.shop-stat{padding:40px 24px;text-align:center;border-right:1px solid var(--glass-border);transition:background .4s}
.shop-stat:last-child{border-right:none}
.shop-stat:hover{background:rgba(139,208,64,.03)}
.shop-stat-num{font-size:clamp(2rem,3.5vw,3rem);font-weight:900;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:6px}
.shop-stat-label{font-size:.8rem;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase}
.shop-features{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1400px;margin:0 auto}
.shop-features .section-header{margin-bottom:64px}
.shop-feat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.shop-feat-card{position:relative;padding:40px 32px;background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;display:flex;gap:20px;align-items:flex-start;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.shop-feat-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gradient);transform:scaleX(0);transform-origin:center;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.shop-feat-card:hover{transform:translateY(-6px);border-color:rgba(139,208,64,.25);box-shadow:0 20px 56px rgba(0,0,0,.25)}
.shop-feat-card:hover::after{transform:scaleX(1)}
.shop-feat-num{font-size:3rem;font-weight:900;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.15;line-height:1;min-width:60px}
.shop-feat-content h3{font-size:1.15rem;font-weight:700;margin-bottom:8px;letter-spacing:-.2px}
.shop-feat-content p{font-size:.9rem;color:var(--text-muted);line-height:1.75}
.shop-packages{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1300px;margin:0 auto}
.shop-packages .section-header{margin-bottom:56px}
.shop-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}
.shop-pack{background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;padding:40px 32px;position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.shop-pack:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.shop-pack.featured{border-color:var(--accent);background:linear-gradient(180deg,rgba(139,208,64,.06),transparent);box-shadow:0 0 80px rgba(139,208,64,.08)}
.shop-pack-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);padding:6px 22px;background:var(--gradient);color:#fff;font-size:.72rem;font-weight:700;border-radius:0 0 12px 12px;text-transform:uppercase;letter-spacing:1.5px}
.shop-pack-header{text-align:center;margin-bottom:32px}
.shop-pack-header h3{font-size:1.1rem;font-weight:600;color:var(--text-muted);margin-bottom:10px}
.shop-pack-price{font-size:2.8rem;font-weight:900;letter-spacing:-1px}
.shop-pack-period{font-size:.85rem;color:var(--text-muted)}
.shop-pack-features{list-style:none;padding:0;display:flex;flex-direction:column;gap:14px;margin-bottom:32px}
.shop-pack-features li{font-size:.88rem;color:var(--text-muted);display:flex;align-items:center;gap:10px}
.shop-pack-features li .check{color:var(--accent);font-weight:700;font-size:.9rem;min-width:18px}
.shop-pack-btn{display:block;text-align:center;padding:14px;border:1px solid var(--glass-border);border-radius:100px;font-weight:600;font-size:.9rem;text-decoration:none;color:var(--text-muted);transition:all .3s}
.shop-pack-btn:hover{border-color:var(--accent);color:var(--accent)}
.shop-pack.featured .shop-pack-btn{background:var(--gradient);color:#fff;border-color:transparent}
.shop-pack.featured .shop-pack-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(139,208,64,.3);color:#fff;border-color:transparent}
.shop-integrations{padding:clamp(60px,6vw,80px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto;text-align:center}
.shop-integrations h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;letter-spacing:-.5px;margin-bottom:16px}
.shop-integrations>p{font-size:.95rem;color:var(--text-muted);margin-bottom:40px}
.shop-logo-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}
.shop-logo-item{padding:20px 32px;background:rgba(255,255,255,.025);border:1px solid var(--glass-border);border-radius:14px;font-size:.9rem;font-weight:700;color:var(--text-muted);letter-spacing:.5px;transition:border-color .3s,color .3s,transform .3s}
.shop-logo-item:hover{border-color:rgba(139,208,64,.3);color:var(--text);transform:translateY(-4px)}
.shop-testimonials{padding:clamp(80px,10vw,120px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.shop-testimonials .section-header{margin-bottom:48px}
.shop-testi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.shop-testi{padding:32px;background:rgba(255,255,255,.025);border:1px solid var(--glass-border);border-radius:20px;display:flex;flex-direction:column;gap:16px;transition:transform .4s,box-shadow .4s}
.shop-testi:hover{transform:translateY(-6px);box-shadow:0 20px 56px rgba(0,0,0,.2)}
.shop-testi-stars{color:#fbbf24;font-size:1rem;letter-spacing:2px}
.shop-testi blockquote{font-size:1rem;line-height:1.8;color:var(--text);font-style:normal;margin:0}
.shop-testi-author{display:flex;align-items:center;gap:12px;margin-top:auto}
.shop-testi-avatar{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:#fff}
.shop-testi-author strong{font-size:.88rem;display:block}
.shop-testi-author span{font-size:.75rem;color:var(--text-muted)}
.shop-cta{margin:0 clamp(20px,5vw,80px) clamp(60px,8vw,100px);padding:clamp(48px,6vw,80px) clamp(32px,4vw,64px);background:linear-gradient(135deg,rgba(139,208,64,.07),rgba(106,191,32,.03));border:1px solid rgba(139,208,64,.12);border-radius:24px;text-align:center;position:relative;overflow:hidden}
.shop-cta::before{content:'';position:absolute;bottom:-40%;left:-15%;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,208,64,.08),transparent 70%);animation:orbFloat 20s ease-in-out infinite}
.shop-cta h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}
.shop-cta>p{font-size:1.05rem;color:var(--text-muted);line-height:1.8;max-width:520px;margin:0 auto 32px;position:relative}
@media(max-width:1100px){.shop-hero{grid-template-columns:1fr;text-align:center;padding-bottom:60px}.shop-hero-desc{margin-left:auto;margin-right:auto}.shop-hero-actions{justify-content:center}.shop-hero-right{margin-top:40px}.sb-1,.sb-2,.sb-3{display:none}.shop-stats{grid-template-columns:repeat(2,1fr)}.shop-stat:nth-child(2){border-right:none}}
@media(max-width:768px){.shop-feat-grid{grid-template-columns:1fr}.shop-pack-grid{grid-template-columns:1fr}.shop-stats{grid-template-columns:1fr}.shop-stat{border-right:none;border-bottom:1px solid var(--glass-border)}.shop-stat:last-child{border-bottom:none}.shop-mockup{width:280px}}

/* ============================================================
    OVER PAGE — moved from Over.html
    ============================================================ */
.over-hero{min-height:90vh;position:relative;display:flex;align-items:center;justify-content:center;padding:160px 24px 120px;overflow:hidden}
.over-hero-content{position:relative;z-index:1;text-align:center;max-width:800px}
.over-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:.78rem;font-weight:700;color:var(--accent);letter-spacing:4px;text-transform:uppercase;margin-bottom:28px;opacity:0;animation:fadeSlide .7s .3s forwards;transform:translateY(12px)}
.over-eyebrow::before,.over-eyebrow::after{content:'';width:28px;height:1.5px;background:var(--accent)}
@keyframes fadeSlide{to{opacity:1;transform:translateY(0)}}
.over-hero-title{font-size:clamp(3rem,7vw,5.5rem);font-weight:900;line-height:1.05;letter-spacing:-3px;margin-bottom:24px}
.over-hero-title .oh-line{display:block;overflow:hidden}
.over-hero-title .oh-line span{display:inline-block;opacity:0;transform:translateY(100%);animation:lineUp .9s cubic-bezier(.22,1,.36,1) forwards}
.over-hero-title .oh-line:nth-child(1) span{animation-delay:.4s}
.over-hero-title .oh-line:nth-child(2) span{animation-delay:.55s}
@keyframes lineUp{to{opacity:1;transform:translateY(0)}}
.over-hero-desc{font-size:1.15rem;color:var(--text-muted);line-height:1.85;max-width:560px;margin:0 auto;opacity:0;animation:fadeSlide .8s .85s forwards;transform:translateY(20px)}
.over-scroll-cue{position:absolute;bottom:40px;left:50%;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:0;animation:fadeSlide .6s 1.4s forwards;transform:translateX(-50%) translateY(10px)}
.over-scroll-cue .cue-line{width:1px;height:44px;background:var(--glass-border);position:relative;overflow:hidden}
.over-scroll-cue .cue-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:50%;background:var(--accent);animation:scrollLine 2.2s ease infinite}
.over-scroll-cue span{font-size:.68rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-muted)}
.over-marquee{padding:24px 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);overflow:hidden}
.over-marquee-track{display:flex;width:max-content;animation:marqueeRun 45s linear infinite}
.over-marquee-track span{font-size:clamp(.85rem,1.5vw,1.1rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.05);white-space:nowrap;padding:0 28px}
@keyframes marqueeRun{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.over-story{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1100px;margin:0 auto}
.over-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.over-story-visual{position:relative}
.over-story-card{padding:48px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:24px;text-align:center;position:relative;overflow:hidden;transition:transform .5s,box-shadow .5s}
.over-story-card:hover{transform:translateY(-6px);box-shadow:0 24px 64px rgba(0,0,0,.3)}
.over-story-card img{width:140px;margin:0 auto 24px;opacity:.85}
.over-story-card h3{font-size:1.5rem;font-weight:700;margin-bottom:8px}
.over-story-card>p{font-size:.85rem;color:var(--text-muted)}
.over-story-card .card-stats{display:flex;justify-content:center;gap:32px;margin-top:24px;padding-top:24px;border-top:1px solid var(--glass-border)}
.card-stats div{display:flex;flex-direction:column;align-items:center}
.card-stats strong{font-size:1.5rem;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.card-stats span{font-size:.72rem;color:var(--text-muted);letter-spacing:.5px}
.over-story-visual::before{content:'';position:absolute;top:-20px;right:-20px;width:100px;height:100px;background-image:radial-gradient(rgba(139,208,64,.2) 1.5px,transparent 1.5px);background-size:12px 12px;opacity:.4;z-index:-1}
.over-story-text h2{font-size:clamp(2rem,3.5vw,2.6rem);font-weight:800;letter-spacing:-1px;margin-bottom:20px;line-height:1.15}
.over-story-text p{font-size:1rem;color:var(--text-muted);line-height:1.85;margin-bottom:18px}
.over-story-text p:last-of-type{margin-bottom:0}
.over-values{padding:clamp(60px,8vw,100px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.over-values .section-header{margin-bottom:56px}
.over-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.over-value-card{padding:36px 28px;background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;text-align:center;position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .5s}
.over-value-card::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:40px;height:3px;background:var(--gradient);border-radius:0 0 4px 4px;transition:width .5s cubic-bezier(.16,1,.3,1)}
.over-value-card:hover{transform:translateY(-8px);border-color:rgba(139,208,64,.2);box-shadow:0 20px 56px rgba(0,0,0,.25)}
.over-value-card:hover::before{width:100%}
.over-value-icon{width:56px;height:56px;border-radius:16px;background:rgba(139,208,64,.08);display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin:0 auto 20px;transition:background .4s,transform .4s}
.over-value-card:hover .over-value-icon{background:rgba(139,208,64,.15);transform:scale(1.1) rotate(-5deg)}
.over-value-card h3{font-size:1.05rem;font-weight:700;margin-bottom:10px;letter-spacing:-.2px}
.over-value-card p{font-size:.85rem;color:var(--text-muted);line-height:1.7}
.over-timeline{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1000px;margin:0 auto}
.over-timeline .section-header{margin-bottom:56px}
.timeline-track{position:relative}
.timeline-track::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:linear-gradient(to bottom,transparent,var(--glass-border) 10%,var(--glass-border) 90%,transparent)}
.tl-item{display:flex;align-items:flex-start;gap:0;position:relative;margin-bottom:48px;opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.tl-item.visible{opacity:1;transform:translateY(0)}
.tl-item:last-child{margin-bottom:0}
.tl-item:nth-child(odd){flex-direction:row;text-align:right}
.tl-item:nth-child(even){flex-direction:row-reverse;text-align:left}
.tl-content{flex:1;padding:0 36px}
.tl-content h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}
.tl-content p{font-size:.88rem;color:var(--text-muted);line-height:1.7}
.tl-dot{position:relative;z-index:1;width:18px;height:18px;min-width:18px;border-radius:50%;background:var(--bg);border:3px solid var(--glass-border);margin-top:4px;transition:border-color .5s,box-shadow .5s}
.tl-item.visible .tl-dot{border-color:var(--accent);box-shadow:0 0 16px rgba(139,208,64,.25)}
.tl-year{display:inline-block;padding:4px 14px;border-radius:100px;background:rgba(139,208,64,.08);font-size:.72rem;font-weight:700;color:var(--accent);letter-spacing:1.5px;margin-bottom:8px}
.tl-content-spacer{flex:1}
.over-team{padding:clamp(80px,10vw,140px) clamp(20px,5vw,80px);max-width:1200px;margin:0 auto}
.over-team .section-header{margin-bottom:56px}
.over-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.over-team-card{padding:40px 28px;background:rgba(255,255,255,.02);border:1px solid var(--glass-border);border-radius:20px;text-align:center;position:relative;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s}
.over-team-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.over-team-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;color:#fff;position:relative}
.over-team-avatar::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(139,208,64,.2);animation:ringPulse 3s ease infinite}
@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:0}}
.over-team-card h3{font-size:1.1rem;font-weight:700;margin-bottom:4px}
.over-team-role{font-size:.8rem;color:var(--accent);font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;display:block}
.over-team-card p{font-size:.88rem;color:var(--text-muted);line-height:1.7}
.over-usp-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}
.over-usp{padding:40px 28px;text-align:center;border-right:1px solid var(--glass-border);transition:background .4s}
.over-usp:last-child{border-right:none}
.over-usp:hover{background:rgba(139,208,64,.025)}
.over-usp-icon{font-size:1.5rem;margin-bottom:12px;display:block}
.over-usp h4{font-size:.95rem;font-weight:700;margin-bottom:6px}
.over-usp p{font-size:.82rem;color:var(--text-muted);line-height:1.6}
.over-cta{margin:clamp(60px,8vw,100px) clamp(20px,5vw,80px);padding:clamp(48px,6vw,80px) clamp(32px,4vw,64px);background:linear-gradient(135deg,rgba(139,208,64,.07),rgba(106,191,32,.03));border:1px solid rgba(139,208,64,.12);border-radius:24px;text-align:center;position:relative;overflow:hidden}
.over-cta::before{content:'';position:absolute;top:-40%;right:-20%;width:450px;height:450px;border-radius:50%;background:radial-gradient(circle,rgba(139,208,64,.08),transparent 70%);animation:ohFloat 18s ease-in-out infinite}
.over-cta h2{font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:16px;position:relative}
.over-cta>p{font-size:1.05rem;color:var(--text-muted);line-height:1.8;max-width:520px;margin:0 auto 32px;position:relative}
.over-cta-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 36px;background:var(--gradient);color:#fff;border-radius:100px;font-weight:700;font-size:1rem;text-decoration:none;position:relative;transition:transform .35s,box-shadow .35s}
.over-cta-btn:hover{transform:translateY(-3px);box-shadow:0 16px 48px rgba(139,208,64,.35)}
@media(max-width:1024px){.over-values-grid{grid-template-columns:repeat(2,1fr)}.over-team-grid{grid-template-columns:repeat(2,1fr)}.over-usp-strip{grid-template-columns:repeat(2,1fr)}.over-usp:nth-child(2){border-right:none}}
@media(max-width:768px){.over-story-grid{grid-template-columns:1fr;gap:40px}.over-story-visual{order:-1}.over-values-grid{grid-template-columns:1fr}.over-team-grid{grid-template-columns:1fr}.over-usp-strip{grid-template-columns:1fr}.over-usp{border-right:none;border-bottom:1px solid var(--glass-border)}.over-usp:last-child{border-bottom:none}.timeline-track::before{left:9px}.tl-item,.tl-item:nth-child(odd),.tl-item:nth-child(even){flex-direction:row;text-align:left}.tl-content-spacer{display:none}.tl-content{padding:0 0 0 24px}.tl-dot{min-width:18px}}
