
*{margin:0;padding:0;box-sizing:border-box;}
:root{--blue:#5189d9;--purple:#713aff;--cyan:#05eab8;--pink:#eb34ff;--white:#f6f7f7;--dark:#08060f;--dark2:#110e1f;--dark3:#1a1630;}
html{scroll-behavior:smooth;}
body{background:var(--dark);color:var(--white);font-family:'DM Sans',sans-serif;overflow-x:hidden;}
h1,h2,h3,h4,.btn,.section-label{font-family:'Saira Extra Condensed',sans-serif;}

/* ── POPUP ── */
#site-popup{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.85);align-items:center;justify-content:center;padding:20px;}
#site-popup.active{display:flex;animation:fadeIn .3s ease;}
.popup-box{background:var(--dark2);border:1px solid rgba(113,58,255,.4);border-radius:20px;max-width:500px;width:100%;overflow:hidden;position:relative;animation:popUp .4s cubic-bezier(.34,1.56,.64,1) both;}
.popup-banner{width:100%;max-height:220px;object-fit:cover;display:block;}
.popup-body{padding:28px 28px 24px;text-align:center;}
.popup-close{position:absolute;top:12px;right:14px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.2);border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;cursor:pointer;z-index:10;}
#popup-title{font-family:'Saira Extra Condensed',sans-serif;font-size:34px;font-weight:900;text-transform:uppercase;margin-bottom:8px;background:linear-gradient(90deg,var(--blue),var(--purple),var(--pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
#popup-text{font-size:15px;color:rgba(246,247,247,.7);margin-bottom:20px;line-height:1.7;}
#popup-btn{display:inline-block;padding:11px 28px;background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;font-family:'Saira Extra Condensed',sans-serif;font-size:20px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:8px;text-decoration:none;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:12px 36px;background:rgba(8,6,15,.92);backdrop-filter:blur(18px);border-bottom:1px solid transparent;background-clip:padding-box;transition:padding .3s;box-shadow:0 1px 0 0 rgba(113,58,255,.35),0 2px 20px rgba(113,58,255,.12);}
nav::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(113,58,255,.6) 20%,rgba(5,234,184,.5) 50%,rgba(235,52,255,.5) 80%,transparent 100%);}
.nav-logo img{height:44px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(113,58,255,.5));transition:filter .3s;}
.nav-logo img:hover{filter:drop-shadow(0 0 24px rgba(113,58,255,.9));}
.nav-links{display:flex;gap:14px;list-style:none;}
.nav-links a{color:rgba(246,247,247,.6);text-decoration:none;font-size:14px;letter-spacing:.5px;font-weight:700;text-transform:uppercase;transition:all .2s;position:relative;padding:4px 0;white-space:nowrap;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--purple),var(--cyan));transform:scaleX(0);transition:transform .22s;border-radius:2px;}
.nav-links a:hover{color:#fff;text-shadow:0 0 12px rgba(113,58,255,.6);}
.nav-links a:hover::after{transform:scaleX(1);}
.nav-right{display:flex;align-items:center;gap:12px;}
.nav-social{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;border:1px solid rgba(255,255,255,.12);transition:all .2s;text-decoration:none;overflow:hidden;}
.nav-social:hover{border-color:rgba(113,58,255,.5);background:rgba(113,58,255,.15);transform:translateY(-2px) scale(1.05);}
.nav-social svg{width:19px;height:19px;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.hamburger span{width:26px;height:2px;background:#fff;border-radius:2px;transition:.3s;}
.nav-solliciteer{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pink),var(--purple),var(--blue));color:#fff;border:none;padding:8px 16px;font-family:'Saira Extra Condensed',sans-serif;font-size:16px;font-weight:900;letter-spacing:1.5px;text-transform:uppercase;border-radius:7px;text-decoration:none;white-space:nowrap;animation:sollPulse 1.8s ease-in-out infinite;box-shadow:0 0 22px rgba(235,52,255,.6),0 0 44px rgba(113,58,255,.3);}
.nav-solliciteer::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);animation:sollShimmer 2.2s ease-in-out infinite;}
.nav-solliciteer:hover{animation:none;box-shadow:0 0 36px rgba(235,52,255,.9),0 0 72px rgba(113,58,255,.5);transform:translateY(-2px) scale(1.05);}
@keyframes sollPulse{0%,100%{box-shadow:0 0 18px rgba(235,52,255,.55),0 0 36px rgba(113,58,255,.25);transform:scale(1);}50%{box-shadow:0 0 34px rgba(235,52,255,.95),0 0 68px rgba(113,58,255,.5);transform:scale(1.04);}}
@keyframes sollShimmer{0%{left:-100%;}60%,100%{left:150%;}}

/* ── HERO ── */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.28;transform:scale(1.05);animation:heroZoom 20s ease-in-out infinite alternate;}
@keyframes heroZoom{from{transform:scale(1.05);}to{transform:scale(1.12);}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,15,.55) 0%,rgba(8,6,15,.18) 45%,rgba(8,6,15,.92) 100%);}
.hero-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.particle{position:absolute;border-radius:50%;animation:float linear infinite;opacity:0;}
.hero-content{position:relative;text-align:center;padding:0 20px;}
.hero-logo{width:480px;max-width:88vw;margin:0 auto 16px;display:block;animation:logoPulse 3.5s ease-in-out infinite, fadeUp .9s ease both;filter:drop-shadow(0 0 60px rgba(113,58,255,.7));}
.hero-tagline{font-size:clamp(16px,2.5vw,26px);font-weight:600;text-transform:uppercase;letter-spacing:4px;color:rgba(246,247,247,.7);margin-bottom:10px;animation:fadeUp .9s .15s ease both;}
.hero-tagline .grad{background:linear-gradient(90deg,var(--cyan),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hero-sub{font-size:14px;color:rgba(246,247,247,.4);margin-bottom:32px;letter-spacing:.5px;animation:fadeUp .9s .25s ease both;}
.hero-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;animation:fadeUp .9s .35s ease both;align-items:center;}
.btn{display:inline-flex;align-items:center;gap:7px;padding:12px 28px;font-size:21px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:8px;text-decoration:none;transition:all .25s;cursor:pointer;border:none;font-family:'Saira Extra Condensed',sans-serif;}
.btn-primary{background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;box-shadow:0 4px 20px rgba(113,58,255,.3);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 35px rgba(113,58,255,.5);}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(246,247,247,.25);}
.btn-outline:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px);}
.btn-hero{min-width:160px;justify-content:center;font-size:22px;padding:13px 28px;}
.scroll-arrow-btn{width:44px;height:44px;border-radius:50%;background:rgba(113,58,255,.15);border:2px solid rgba(113,58,255,.35);color:#fff;font-size:20px;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;}
.scroll-arrow-btn:hover{background:rgba(113,58,255,.35);border-color:var(--purple);transform:scale(1.1);}
.event-card-highlight{border-color:rgba(235,52,255,.5)!important;box-shadow:0 0 30px rgba(235,52,255,.25),0 0 60px rgba(113,58,255,.15)!important;}
.event-card-highlight::before{opacity:1!important;background:linear-gradient(135deg,rgba(235,52,255,.08),transparent)!important;}
.weekend-badge{position:absolute;bottom:12px;right:12px;background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px;font-family:'Saira Extra Condensed',sans-serif;z-index:1;animation:blink 1.8s ease-in-out infinite;}
.hero-socials{display:flex;gap:12px;justify-content:center;animation:fadeUp .9s .45s ease both;}
.hero-social-btn{display:flex;align-items:center;gap:9px;padding:10px 20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:9px;color:#fff;text-decoration:none;font-size:16px;transition:all .25s;font-weight:500;}
.hero-social-btn:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(113,58,255,.3);}
.hero-social-btn.ig:hover{background:rgba(193,53,132,.15);border-color:rgba(193,53,132,.5);}
.hero-social-btn.fb:hover{background:rgba(24,119,242,.15);border-color:rgba(24,119,242,.5);}
.hero-social-btn svg{width:18px;height:18px;flex-shrink:0;}
.hero-scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:rgba(246,247,247,.3);font-size:10px;letter-spacing:2px;text-transform:uppercase;animation:bounce 2.5s infinite;}

/* ── GENERAL ── */
section{padding:100px 40px;}
.section-label{font-family:'Saira Extra Condensed',sans-serif;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;font-weight:700;}
.section-title{font-family:'Saira Extra Condensed',sans-serif;font-size:clamp(38px,5.5vw,70px);font-weight:900;text-transform:uppercase;line-height:1;margin-bottom:20px;}
.container{max-width:1180px;margin:0 auto;}

/* ── OVER ── */
.over-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.over-text p{font-size:16px;line-height:1.9;color:rgba(246,247,247,.7);margin-bottom:16px;}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;}
.stat{background:rgba(113,58,255,.07);border:1px solid rgba(113,58,255,.15);border-radius:12px;padding:18px;transition:all .35s;cursor:default;}
.stat:hover{border-color:rgba(113,58,255,.5);background:rgba(113,58,255,.14);transform:translateY(-3px);box-shadow:0 12px 30px rgba(113,58,255,.15);}
.stat-num{font-family:'Saira Extra Condensed',sans-serif;font-size:42px;font-weight:900;background:linear-gradient(135deg,var(--blue),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;}
.stat-label{font-size:12px;color:rgba(246,247,247,.4);margin-top:2px;}
.over-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.over-photo{overflow:hidden;border-radius:10px;cursor:pointer;}
.over-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform .5s;}
.over-photo:first-child{grid-column:1/-1;}
.over-photo:first-child img{aspect-ratio:16/9;}
.over-photo:hover img{transform:scale(1.06);}

/* ── EVENTS ── */
#evenementen{background:var(--dark2);}
.events-grid{display:flex;gap:18px;margin-top:44px;overflow-x:auto;padding-bottom:16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(113,58,255,.5) rgba(255,255,255,.05);}
.events-grid::-webkit-scrollbar{height:6px;}
.events-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.04);border-radius:3px;}
.events-grid::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--purple),var(--blue));border-radius:3px;}
.events-grid .event-card{flex:0 0 300px;scroll-snap-align:start;}
.event-card{background:var(--dark3);border:1px solid rgba(113,58,255,.15);border-radius:16px;overflow:hidden;cursor:pointer;transition:all .3s;position:relative;}
.event-card:hover{transform:translateY(-6px);border-color:rgba(113,58,255,.5);box-shadow:0 24px 60px rgba(113,58,255,.18);}
.event-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(113,58,255,.06),transparent);opacity:0;transition:opacity .3s;z-index:0;border-radius:16px;}
.event-card:hover::before{opacity:1;}
.event-img{position:relative;overflow:hidden;aspect-ratio:16/9;width:100%;}
.event-img img{width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;transition:transform .5s,opacity .3s;background:#0a0715;}
.event-card:hover .event-img img{transform:scale(1.04);opacity:.95;}
.event-date-badge{position:absolute;top:14px;left:14px;background:linear-gradient(135deg,var(--purple),var(--blue));padding:7px 13px;border-radius:8px;text-align:center;z-index:1;box-shadow:0 4px 14px rgba(113,58,255,.4);}
.event-date-badge .day{font-family:'Saira Extra Condensed',sans-serif;font-size:30px;font-weight:900;line-height:1;}
.event-date-badge .month{font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:.85;}
.event-tag-pill{position:absolute;top:14px;right:14px;background:rgba(5,234,184,.12);border:1px solid rgba(5,234,184,.3);color:var(--cyan);font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:20px;font-family:'Saira Extra Condensed',sans-serif;font-weight:700;z-index:1;}
.ticket-pill{position:absolute;bottom:14px;left:14px;background:rgba(235,52,255,.18);border:1px solid rgba(235,52,255,.4);color:var(--pink);font-size:10px;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:20px;font-family:'Saira Extra Condensed',sans-serif;font-weight:700;z-index:1;animation:blink 1.8s ease-in-out infinite;}
.event-body{padding:18px 22px;position:relative;z-index:1;}
.event-name{font-family:'Saira Extra Condensed',sans-serif;font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;}
.event-meta-small{font-size:12px;color:rgba(246,247,247,.42);margin-bottom:10px;}
.event-desc-short{font-size:13px;color:rgba(246,247,247,.58);line-height:1.5;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.event-footer{display:flex;align-items:center;justify-content:space-between;}
.event-cta-text{font-family:'Saira Extra Condensed',sans-serif;font-size:15px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--cyan);}
.event-arrow{font-size:18px;color:var(--cyan);transition:transform .25s;}
.event-card:hover .event-arrow{transform:translateX(5px);}

/* ── EVENT MODAL ── */
#event-modal{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.88);align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
#event-modal.active{display:flex;animation:fadeIn .25s ease;}
#share-modal.active{display:flex!important;animation:fadeIn .25s ease;}
.modal-box{background:var(--dark2);border:1px solid rgba(113,58,255,.3);border-radius:22px;max-width:560px;width:100%;overflow:hidden;animation:slideUp .38s cubic-bezier(.34,1.36,.64,1) both;position:relative;}
.modal-img{height:230px;position:relative;overflow:hidden;}
.modal-img img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.modal-img-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,var(--dark2) 100%);}
.modal-badge{position:absolute;top:16px;left:16px;background:linear-gradient(135deg,var(--purple),var(--blue));padding:8px 14px;border-radius:9px;text-align:center;box-shadow:0 6px 20px rgba(113,58,255,.4);}
.modal-badge .day{font-family:'Saira Extra Condensed',sans-serif;font-size:36px;font-weight:900;line-height:1;}
.modal-badge .month{font-size:11px;letter-spacing:2px;text-transform:uppercase;}
.modal-close{position:absolute;top:14px;right:14px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;cursor:pointer;transition:all .2s;z-index:10;}
.modal-close:hover{background:rgba(255,255,255,.15);}
.modal-body{padding:22px 28px 28px;}
.modal-title{font-family:'Saira Extra Condensed',sans-serif;font-size:40px;font-weight:900;text-transform:uppercase;line-height:1;margin-bottom:5px;}
.modal-subtitle{font-size:13px;color:rgba(246,247,247,.4);margin-bottom:20px;}
.modal-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px;}
.modal-info-item{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);border-radius:9px;padding:12px 14px;}
.modal-info-label{font-family:'Saira Extra Condensed',sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin-bottom:3px;font-weight:700;}
.modal-info-value{font-size:17px;font-weight:500;color:#fff;}
.modal-acties{margin-bottom:18px;}
.modal-acties-label{font-family:'Saira Extra Condensed',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--cyan);margin-bottom:10px;font-weight:700;}
.actie-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 12px;background:rgba(255,255,255,.04);border-radius:8px;margin-bottom:6px;font-size:14px;}
.actie-qty{font-family:'Saira Extra Condensed',sans-serif;font-size:22px;font-weight:900;color:var(--cyan);min-width:28px;text-align:center;}
.actie-product{color:rgba(246,247,247,.85);}
.actie-price{font-family:'Saira Extra Condensed',sans-serif;font-size:17px;font-weight:700;color:var(--pink);white-space:nowrap;}
.modal-desc{font-size:15px;color:rgba(246,247,247,.62);line-height:1.75;margin-bottom:20px;}
.modal-actions{display:flex;gap:10px;flex-wrap:wrap;}
.btn-share{background:linear-gradient(135deg,#c13584,#833ab4);color:#fff;}
.btn-ticket{background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;animation:blink 1.8s ease-in-out infinite;}
.btn-ticket:hover{animation:none;opacity:.85;}

/* ── GALLERY ── */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:210px;gap:7px;margin-top:44px;}
.gallery-item{overflow:hidden;border-radius:10px;cursor:pointer;position:relative;}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .45s;}
.gallery-item:hover img{transform:scale(1.07);}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-overlay{position:absolute;inset:0;background:rgba(113,58,255,.38);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;font-size:28px;}
.gallery-item.tall{grid-row:span 2;}
.gallery-item.wide{grid-column:span 2;}
.gallery-cta{text-align:center;margin-top:28px;}
.fb-album-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 30px;border:2px solid rgba(24,119,242,.45);border-radius:9px;color:#fff;text-decoration:none;font-family:'Saira Extra Condensed',sans-serif;font-size:21px;font-weight:700;letter-spacing:1px;text-transform:uppercase;transition:all .25s;background:rgba(24,119,242,.07);}
.fb-album-btn:hover{background:rgba(24,119,242,.2);border-color:#1877f2;transform:translateY(-2px);box-shadow:0 8px 24px rgba(24,119,242,.2);}
.fb-icon-circle{width:26px;height:26px;background:#1877f2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff;font-family:'DM Sans',sans-serif;flex-shrink:0;}

/* ── TICKETS ── */
#tickets{background:var(--dark2);}
.tickets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-top:40px;}
.ticket-card{background:var(--dark3);border:1px solid rgba(235,52,255,.2);border-radius:14px;padding:22px;position:relative;overflow:hidden;transition:all .3s;}
.ticket-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--purple),var(--pink));}
.ticket-card:hover{transform:translateY(-4px);border-color:rgba(235,52,255,.45);box-shadow:0 16px 40px rgba(235,52,255,.1);}
.ticket-event-name{font-family:'Saira Extra Condensed',sans-serif;font-size:26px;font-weight:900;text-transform:uppercase;margin-bottom:4px;}
.ticket-event-date{font-size:13px;color:rgba(246,247,247,.4);margin-bottom:14px;}
.ticket-price{font-family:'Saira Extra Condensed',sans-serif;font-size:36px;font-weight:900;background:linear-gradient(135deg,var(--pink),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px;}
.ticket-buy-btn{display:block;width:100%;padding:11px;background:linear-gradient(135deg,var(--pink),var(--purple));color:#fff;font-family:'Saira Extra Condensed',sans-serif;font-size:20px;font-weight:700;letter-spacing:1px;text-transform:uppercase;border-radius:8px;text-decoration:none;text-align:center;transition:opacity .2s;animation:blink 2s ease-in-out infinite;}
.ticket-buy-btn:hover{animation:none;opacity:.85;}
.no-tickets{text-align:center;padding:64px 20px;}
.no-tickets-icon{font-size:52px;margin-bottom:16px;opacity:.25;}
.no-tickets-text{font-family:'Saira Extra Condensed',sans-serif;font-size:30px;font-weight:900;text-transform:uppercase;color:rgba(246,247,247,.25);margin-bottom:8px;}
.no-tickets-sub{font-size:14px;color:rgba(246,247,247,.2);}

/* ── SCHOOLFEEST ── */
#schoolfeesten{background:var(--dark);}
.school-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;margin-top:44px;}
.school-info h3{font-family:'Saira Extra Condensed',sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;margin-bottom:12px;}
.school-info p{font-size:16px;color:rgba(246,247,247,.68);line-height:1.85;margin-bottom:16px;}
.school-features{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
.feature-item{display:flex;align-items:center;gap:12px;font-size:15px;color:rgba(246,247,247,.72);}
.feature-dot{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--cyan),var(--blue));flex-shrink:0;}
.card-form{background:var(--dark3);border:1px solid rgba(113,58,255,.15);border-radius:16px;padding:28px;}
.card-form h3{font-family:'Saira Extra Condensed',sans-serif;font-size:24px;font-weight:900;text-transform:uppercase;margin-bottom:4px;}
.card-form>p{font-size:13px;color:rgba(246,247,247,.38);margin-bottom:20px;}
.form-group{margin-bottom:12px;}
.form-group label{display:block;font-family:'Saira Extra Condensed',sans-serif;font-size:11px;color:rgba(246,247,247,.38);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;font-weight:700;}
.form-group input,.form-group select,.form-group textarea{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:7px;padding:10px 12px;color:#fff;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;transition:border-color .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--purple);background:rgba(113,58,255,.07);}
.form-group textarea{resize:vertical;min-height:80px;}
.form-group select option{background:var(--dark2);}
.btn-form{width:100%;background:linear-gradient(135deg,var(--purple),var(--blue));color:#fff;border:none;padding:13px;font-family:'Saira Extra Condensed',sans-serif;font-size:22px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:8px;cursor:pointer;transition:all .25s;margin-top:6px;}
.btn-form:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 8px 24px rgba(113,58,255,.3);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* ── VACATURES ── */
#vacatures{background:var(--dark2);}
.vacatures-intro p{font-size:16px;color:rgba(246,247,247,.65);line-height:1.85;max-width:580px;}
.vacature-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-top:40px;}
.vacature-card{background:var(--dark3);border:1px solid rgba(113,58,255,.12);border-radius:12px;padding:20px;transition:all .3s;}
.vacature-card:hover{border-color:rgba(113,58,255,.4);transform:translateY(-3px);box-shadow:0 12px 30px rgba(113,58,255,.12);}
.vacature-icon{font-size:26px;margin-bottom:12px;}
.vacature-card h3{font-family:'Saira Extra Condensed',sans-serif;font-size:20px;font-weight:900;text-transform:uppercase;margin-bottom:5px;}
.vacature-card p{font-size:13px;color:rgba(246,247,247,.52);line-height:1.6;margin-bottom:12px;}
.vacature-tag{display:inline-block;background:rgba(5,234,184,.07);border:1px solid rgba(5,234,184,.2);color:var(--cyan);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:2px 9px;border-radius:20px;font-family:'Saira Extra Condensed',sans-serif;font-weight:700;}

/* ── CONTACT ── */
#contact{background:var(--dark);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:44px;}
.contact-info h3{font-family:'Saira Extra Condensed',sans-serif;font-size:32px;font-weight:900;text-transform:uppercase;margin-bottom:20px;}
.contact-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;}
.contact-icon{width:38px;height:38px;background:rgba(113,58,255,.1);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:17px;transition:all .3s;}
.contact-item:hover .contact-icon{background:rgba(113,58,255,.25);transform:scale(1.1);}
.contact-item h4{font-family:'Saira Extra Condensed',sans-serif;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:rgba(246,247,247,.35);font-weight:700;margin-bottom:2px;}
.contact-item p,.contact-item a{font-size:15px;color:#fff;text-decoration:none;transition:color .2s;}
.contact-item a:hover{color:var(--cyan);}
.ot-box{background:var(--dark3);border:1px solid rgba(113,58,255,.1);border-radius:12px;padding:20px;margin-top:20px;}
.ot-box h4{font-family:'Saira Extra Condensed',sans-serif;font-size:18px;font-weight:900;text-transform:uppercase;margin-bottom:12px;letter-spacing:1px;}
.ot-row{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:14px;}
.ot-row:last-child{border-bottom:none;}
.ot-day{color:rgba(246,247,247,.4);}
.ot-time{color:#fff;font-weight:500;}
.ot-closed{color:rgba(246,247,247,.18);}
.socials{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.social-btn{display:flex;align-items:center;gap:8px;padding:9px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#fff;text-decoration:none;font-size:14px;transition:all .25s;}
.social-btn svg{width:17px;height:17px;flex-shrink:0;}
.social-btn.ig:hover{background:rgba(193,53,132,.15);border-color:rgba(193,53,132,.4);transform:translateY(-2px);}
.social-btn.fb:hover{background:rgba(24,119,242,.15);border-color:rgba(24,119,242,.4);transform:translateY(-2px);}

/* ── FOOTER ── */
footer{background:var(--dark);border-top:1px solid rgba(113,58,255,.1);padding:36px 40px;text-align:center;}
.footer-logo{height:46px;margin:0 auto 14px;display:block;filter:drop-shadow(0 0 20px rgba(113,58,255,.35));animation:logoPulse 4s ease-in-out infinite;}
.footer-text{font-size:12px;color:rgba(246,247,247,.22);}
.footer-text a{color:rgba(246,247,247,.38);text-decoration:none;}

/* ── LIGHTBOX ── */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:999;align-items:center;justify-content:center;animation:fadeIn .2s ease;}
.lightbox.open{display:flex;}
.lightbox img{max-width:92vw;max-height:92vh;border-radius:8px;object-fit:contain;animation:popUp .3s ease;}
.lightbox-close{position:fixed;top:16px;right:20px;color:#fff;font-size:30px;cursor:pointer;background:rgba(255,255,255,.1);border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;}

/* ── KEYFRAMES ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(32px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes slideUp{from{opacity:0;transform:translateY(45px);}to{opacity:1;transform:translateY(0);}}
@keyframes popUp{from{opacity:0;transform:scale(.88);}to{opacity:1;transform:scale(1);}}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(9px);}}
@keyframes logoPulse{0%,100%{filter:drop-shadow(0 0 40px rgba(113,58,255,.5));}50%{filter:drop-shadow(0 0 90px rgba(113,58,255,.95)) drop-shadow(0 0 40px rgba(5,234,184,.45));}}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.5;}}
@keyframes float{0%{transform:translateY(100vh) rotate(0deg);opacity:0;}10%{opacity:.6;}90%{opacity:.3;}100%{transform:translateY(-10vh) rotate(720deg);opacity:0;}}
@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px);}to{opacity:1;transform:translateX(0);}}
@keyframes slideInRight{from{opacity:0;transform:translateX(40px);}to{opacity:1;transform:translateX(0);}}
@keyframes scaleIn{from{opacity:0;transform:scale(.9);}to{opacity:1;transform:scale(1);}}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .65s ease,transform .65s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-36px);transition:opacity .65s ease,transform .65s ease;}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(36px);transition:opacity .65s ease,transform .65s ease;}
.reveal-right.visible{opacity:1;transform:translateX(0);}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .55s ease,transform .55s ease;}
.reveal-scale.visible{opacity:1;transform:scale(1);}

/* ── MOBILE ── */
@media(max-width:1100px){
  nav{padding:12px 18px;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(8,6,15,.98);flex-direction:column;padding:18px;gap:14px;border-bottom:1px solid rgba(113,58,255,.2);}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  .nav-social{display:none;}
  .nav-solliciteer{display:none;}
  section{padding:64px 18px;}
  .over-grid,.school-grid,.contact-grid,.form-row{grid-template-columns:1fr;gap:28px;}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;}
  .gallery-item.wide,.gallery-item.tall{grid-column:span 1;grid-row:span 1;}
  .stats{grid-template-columns:1fr 1fr;}
  .over-photos{grid-template-columns:1fr;}
  .modal-info-grid{grid-template-columns:1fr 1fr;}
  .hero-logo{width:300px;}
  .modal-actions{flex-direction:column;}
  .modal-actions .btn{width:100%;justify-content:center;}
  .vacature-cards{grid-template-columns:1fr 1fr;}
}

@media(max-width:640px){
  .vj-fg2, .vj-fg3, .fg-triple{
    grid-template-columns:1fr !important;
  }
}



.sec-emoji-layer {
  position:absolute;
  inset:0;
  pointer-events:none;
  overflow:hidden;
  z-index:0;
}
.sec-emoji-layer .fe {
  position:absolute;
  bottom:-60px;
  font-size:28px;
  opacity:0;
  animation:floatUp linear forwards;
  user-select:none;
}
@keyframes floatUp {
  0%   { transform:translateY(0) rotate(0deg);   opacity:0; }
  5%   { opacity:var(--op); }
  90%  { opacity:var(--op); }
  100% { transform:translateY(-110vh) rotate(360deg); opacity:0; }
}
