/* ============================================================
   Piekfijn Jobs — demo, verlof-shell (breed, zijbalk, kopjes)
   ============================================================ */
:root {
  --zwart:#1D1D1F; --tekst:#1D1D1F; --tekst-zacht:#6E6E73; --tekst-licht:#A1A1A6;
  --accent:#33363b; --accent-tint:#f1f2f0; --accent-rand:#dcdedb; --accent-tekst:#33363b; --accent-diep:#5c6066;
  --wit:#FFFFFF; --bg:linear-gradient(180deg,#FAFAFB 0%,#F3F4F6 100%);
  --lijn:#E8E8ED; --lijn-donker:#D2D2D7; --grijs-1:#F0F0F2;
  --schaduw:none;
  --radius:16px;
  --font:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,'Helvetica Neue',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{min-height:100%;}
body{font-family:var(--font);background:var(--bg);background-attachment:fixed;color:var(--tekst);font-size:15px;-webkit-font-smoothing:antialiased;line-height:1.5;}
button,input,select,textarea{font-family:inherit;} button{cursor:pointer;}
h1,h2,h3{font-weight:600;letter-spacing:-.022em;}
.icoon{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}

/* ---------- App-shell ---------- */
.app{display:flex;min-height:100vh;}
.zijbalk{width:240px;background:rgba(255,255,255,.8);backdrop-filter:blur(20px);border-right:1px solid var(--lijn);
  display:flex;flex-direction:column;padding:28px 14px;position:sticky;top:0;height:100vh;flex-shrink:0;}
.zijbalk-sub{font-size:11px;color:var(--tekst-licht);padding:0 14px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:2px;}
.zijbalk-logo{font-weight:700;font-size:21px;letter-spacing:-.022em;padding:0 14px;margin-bottom:30px;}
.zijbalk-logo .punt{color:var(--accent);}
.zijbalk-nav{display:flex;flex-direction:column;gap:2px;}
.nav-knop{display:flex;align-items:center;gap:11px;width:100%;background:none;border:none;color:var(--tekst-zacht);
  padding:10px 14px;border-radius:11px;font-size:14.5px;font-weight:500;text-align:left;transition:background .12s,color .12s;}
.nav-knop:hover{background:rgba(0,0,0,.045);color:var(--tekst);}
.nav-knop.actief{background:var(--accent-tint);color:var(--accent-tekst);font-weight:600;}
.nav-tekst{display:inline;}
.zijbalk-onder{margin-top:auto;padding:0 14px;}
.zijbalk-gebruiker{font-size:13.5px;font-weight:600;}
.zijbalk-rol{font-size:12px;color:var(--tekst-licht);margin-bottom:12px;}
.knop-uitloggen{background:none;border:1px solid var(--lijn-donker);color:var(--tekst-zacht);padding:8px 14px;border-radius:980px;font-size:13px;width:100%;}

.inhoud{flex:1;padding:40px 48px;max-width:1180px;}
.pagina-kop{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;flex-wrap:wrap;gap:14px;}
.pagina-kop h1{font-size:26px;}
.screen{display:none;} .screen.actief{display:block;animation:fade .25s ease;}
@keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

/* ---------- Knoppen ---------- */
.knop{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:linear-gradient(180deg,#EFF4F1 0%,var(--accent-tint) 100%);
  color:var(--accent-tekst);border:1px solid var(--accent-rand);padding:11px 22px;border-radius:980px;font-weight:500;font-size:14px;
  box-shadow:0 1px 2px rgba(31,42,38,.05);transition:filter .15s;}
.knop:hover{filter:brightness(.97);}
.knop--vol{width:100%;padding:13px;font-size:15px;}
.knop-stil{background:var(--wit);border:1px solid var(--lijn-donker);color:var(--tekst);padding:10px 20px;border-radius:980px;font-weight:500;font-size:14px;}
.knop-stil:hover{border-color:var(--zwart);}
.switch{display:inline-flex;gap:3px;background:var(--grijs-1);border-radius:980px;padding:3px;}
.switch button{background:none;border:none;font-size:13px;font-weight:500;color:var(--tekst-zacht);padding:7px 16px;border-radius:980px;}
.switch button.actief{background:var(--wit);color:var(--tekst);box-shadow:0 1px 2px rgba(31,42,38,.05);}

/* ---------- Stat-kaarten ---------- */
.saldo-rij{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:28px;}
.saldo-kaart{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:20px;box-shadow:var(--schaduw);}
.saldo-kaart.accent{background:var(--accent-tint);border-color:var(--accent-rand);}
.saldo-label{font-size:12.5px;font-weight:500;color:var(--tekst-zacht);margin-bottom:10px;}
.saldo-getal{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.1;}
.saldo-detail{font-size:13px;color:var(--tekst-zacht);margin-top:8px;}

/* ---------- Panelen / lijsten ---------- */
.paneel{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);overflow:hidden;margin-bottom:22px;box-shadow:var(--schaduw);}
.paneel-kop{padding:16px 22px;border-bottom:1px solid var(--lijn);font-weight:600;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.rij{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;border-bottom:1px solid var(--lijn);}
.rij:last-child{border-bottom:none;}
.rij:hover{background:#FAFAFC;}
.rij .titel{font-size:15px;font-weight:500;margin-bottom:8px;}
.metas{display:flex;gap:7px;flex-wrap:wrap;}
.meta{font-size:12.5px;font-weight:500;padding:4px 12px;border-radius:99px;background:var(--grijs-1);color:var(--tekst-zacht);}
.filters{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;}
.chip{font-size:13px;font-weight:500;padding:7px 15px;border-radius:980px;background:var(--wit);color:var(--tekst);border:1px solid var(--lijn-donker);}
.chip.actief{background:var(--accent-tint);color:var(--accent-tekst);border-color:var(--accent-rand);}

/* ---------- App-icoontjes (modern, 3D-vibe) ---------- */
.appicon{width:46px;height:46px;flex-shrink:0;}

/* ---------- Tegels ---------- */
.tegels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.tegel{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:18px;box-shadow:var(--schaduw);display:flex;gap:14px;align-items:center;text-align:left;}
.tegel .lab{font-size:12.5px;color:var(--tekst-zacht);}
.tegel .val{font-size:17px;font-weight:600;letter-spacing:-.015em;margin-top:1px;}
.tegel .hint{font-size:12px;color:var(--tekst-licht);margin-top:2px;}

/* ---------- Tracker ---------- */
.stap{display:flex;gap:14px;}
.stap .col{display:flex;flex-direction:column;align-items:center;}
.stap .bol{width:26px;height:26px;border-radius:50%;background:var(--wit);border:1px solid var(--lijn-donker);display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;}
.stap.done .bol{background:var(--accent);border-color:var(--accent);}
.stap.nu .bol{border:2px solid var(--accent);}
.stap.nu .bol::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent);}
.stap .lijn{width:2px;flex:1;min-height:20px;background:var(--lijn);margin:3px 0;}
.stap.done .lijn{background:var(--accent);}
.stap .inhoud{flex:1;padding-bottom:18px;}
.stap .st-titel{font-size:15px;font-weight:500;}
.stap.nu .st-titel{color:var(--accent-tekst);font-weight:600;}
.stap.toekomst .st-titel{color:var(--tekst-licht);}
.stap .st-sub{font-size:13px;color:var(--tekst-licht);margin-top:2px;}
.stap .mini{margin-top:11px;}

/* ---------- Flow-kaart (apply / training / video) ---------- */
.flow-wrap{max-width:520px;}
.kaart-flow{background:var(--wit);border:1px solid var(--lijn);border-radius:20px;box-shadow:var(--schaduw);padding:24px;}
.voortgang{height:6px;border-radius:999px;background:var(--grijs-1);overflow:hidden;margin-bottom:8px;}
.voortgang span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .3s;}
.stap-tel{font-size:12.5px;color:var(--tekst-licht);font-weight:500;margin-bottom:22px;}
.vraag{font-size:21px;font-weight:500;letter-spacing:-.015em;line-height:1.3;margin-bottom:20px;}
.veld input{width:100%;padding:13px 15px;border:1px solid var(--lijn-donker);border-radius:12px;font-size:15px;color:var(--tekst);margin-bottom:24px;}
.veld input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint);}
.opties{display:flex;flex-direction:column;gap:10px;margin-bottom:22px;}
.optie{display:flex;align-items:center;gap:12px;border:1px solid var(--lijn-donker);border-radius:14px;padding:14px 16px;font-size:15px;background:var(--wit);text-align:left;width:100%;}
.optie .bol{width:18px;height:18px;border-radius:50%;border:1px solid #C7C7CC;flex-shrink:0;}
.optie.gekozen{border-color:var(--accent-rand);background:var(--accent-tint);color:var(--accent-tekst);font-weight:500;}
.optie.gekozen .bol{border:5px solid var(--accent);}
.optie.fout{border-color:#E6C2BC;background:#FAEFED;color:#8A3A30;}
.flow-knoppen{display:flex;align-items:center;gap:10px;}
.flow-knoppen .knop{flex:1;}
.center{text-align:center;}
.klaar-ic{margin:8px auto 18px;}

/* ---------- Training-foto ---------- */
.train-foto{width:100%;height:180px;border-radius:14px;object-fit:cover;margin-bottom:18px;display:block;background:#dfe3e0;}
.train-top{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.train-top .voortgang{flex:1;margin:0;}
.cat{font-size:11px;font-weight:500;padding:4px 11px;border-radius:980px;background:var(--accent-tint);color:var(--accent-tekst);white-space:nowrap;}
.feedback{background:var(--accent-tint);border:1px solid var(--accent-rand);border-radius:14px;padding:14px 16px;margin-bottom:16px;display:none;}
.feedback.toon{display:block;}
.feedback .fk{font-size:13.5px;font-weight:600;color:var(--accent-tekst);margin-bottom:6px;}
.feedback p{font-size:13.5px;color:var(--accent-tekst);}

/* ---------- Videovragen ---------- */
.video-vraagblok{display:flex;gap:12px;align-items:flex-start;background:var(--grijs-1);border-radius:14px;padding:14px 16px;margin-bottom:16px;}
.video-vraagblok .av{width:40px;height:40px;border-radius:50%;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);font-weight:600;}
.video-vraagblok .vv-label{font-size:12px;color:var(--tekst-licht);}
.video-vraagblok .vv-tekst{font-size:15px;font-weight:500;margin-top:2px;}
.opname{position:relative;border-radius:16px;overflow:hidden;background:#2A2E2C;aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  background-image:linear-gradient(160deg,#3a423e,#232826);}
.opname .rec{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;color:#fff;font-size:12px;font-weight:500;background:rgba(0,0,0,.35);padding:4px 10px;border-radius:99px;}
.opname .rec i{width:8px;height:8px;border-radius:50%;background:#E2554B;display:inline-block;}
.opname .opnameknop{width:60px;height:60px;border-radius:50%;background:#fff;border:4px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;}
.opname .opnameknop span{width:22px;height:22px;border-radius:50%;background:#E2554B;}
.video-acties{display:flex;gap:10px;}
.video-acties .knop-stil,.video-acties .knop{flex:1;}

/* ============================================================
   MOBIEL — tabbalk onderaan, brede layout valt weg
   ============================================================ */
@media (max-width:860px){
  .app{flex-direction:column;}
  .zijbalk{position:sticky;top:0;z-index:30;width:100%;height:auto;flex-direction:row;align-items:center;gap:8px 10px;flex-wrap:wrap;
    padding:calc(env(safe-area-inset-top) + 11px) 16px 11px;border-right:none;border-bottom:1px solid var(--lijn);background:rgba(255,255,255,.86);}
  .zijbalk-logo{font-size:17px;margin:0;flex:1;}
  .zijbalk-sub,.zijbalk-gebruiker,.zijbalk-rol{display:none;}
  .zijbalk-onder{margin:0;padding:0;}
  .zijbalk-onder .knop-uitloggen{width:auto;padding:8px 12px;font-size:12.5px;}
  .zijbalk-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;flex-direction:row;gap:2px;
    padding:7px 6px calc(env(safe-area-inset-bottom) + 7px);background:rgba(255,255,255,.93);backdrop-filter:blur(22px);border-top:1px solid var(--lijn);}
  .nav-knop{flex:1 1 0;min-width:0;flex-direction:column;gap:3px;justify-content:center;align-items:center;text-align:center;padding:5px 2px;border-radius:12px;}
  .nav-knop:hover{background:none;}
  .nav-tekst{font-size:10.5px;line-height:1.1;}
  .inhoud{padding:22px 18px calc(env(safe-area-inset-bottom) + 96px);max-width:none;}
  .pagina-kop h1{font-size:22px;}
  .saldo-rij{grid-template-columns:1fr 1fr;}
  .flow-wrap{max-width:none;}
}

/* ============================================================
   PUBLIEKE CAREERS-SITE (zonder login)
   ============================================================ */
.pub-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;
  padding:15px 32px;background:rgba(255,255,255,.82);backdrop-filter:blur(20px);border-bottom:1px solid var(--lijn);}
.pub-top .logo{font-weight:700;font-size:19px;letter-spacing:-.022em;}
.pub-top .logo .punt{color:var(--accent);}
.pub-top .rechts{margin-left:auto;display:flex;align-items:center;gap:12px;}
.pub-main{max-width:1200px;margin:0 auto;padding:0 32px 90px;}

/* Hero */
.hero{position:relative;overflow:hidden;border-radius:26px;padding:64px 48px 56px;margin:30px 0 26px;
  background:linear-gradient(165deg,#EFF3F1 0%,#E7EEEA 55%,#E4EBF0 100%);border:1px solid var(--lijn);}
.hero .blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:.55;z-index:0;}
.hero .blob.b1{width:300px;height:300px;background:#BcD3C7;top:-90px;right:-40px;}
.hero .blob.b2{width:240px;height:240px;background:#cfe0d6;bottom:-110px;left:30%;opacity:.45;}
.hero .inner{position:relative;z-index:1;max-width:640px;}
.hero .eyebrow{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-diep);margin-bottom:14px;}
.hero h1{font-size:42px;line-height:1.05;letter-spacing:-.03em;margin-bottom:16px;}
.hero p.lead{font-size:17px;color:var(--tekst-zacht);max-width:520px;margin-bottom:26px;line-height:1.55;}
.hero .zoek{display:flex;gap:10px;max-width:480px;}
.hero .zoek input{flex:1;padding:14px 18px;border:1px solid var(--lijn-donker);border-radius:980px;background:rgba(255,255,255,.9);font-size:15px;}
.hero .zoek input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint);}
.hero .avatars{display:flex;align-items:center;gap:10px;margin-top:26px;}
.hero .avatars .stapel{display:flex;}
.hero .avatars .stapel span{width:34px;height:34px;border-radius:50%;border:2px solid #fff;margin-left:-10px;background:linear-gradient(160deg,#9fb6aa,#6e8c7c);}
.hero .avatars .stapel span:first-child{margin-left:0;}
.hero .avatars small{font-size:13.5px;color:var(--tekst-zacht);}

/* Sectie-kop */
.sectie{margin:42px 0 18px;}
.sectie h2{font-size:21px;letter-spacing:-.02em;}
.sectie .sub{font-size:14px;color:var(--tekst-zacht);margin-top:4px;}

/* Stats */
.stats-rij{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.statkaart{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:20px;box-shadow:var(--schaduw);}
.statkaart .g{font-size:28px;font-weight:600;letter-spacing:-.02em;}
.statkaart .l{font-size:13px;color:var(--tekst-zacht);margin-top:4px;}

/* Categorieën */
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;}
.catkaart{display:flex;align-items:center;gap:14px;background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:18px;box-shadow:var(--schaduw);text-align:left;transition:transform .12s,border-color .12s;}
.catkaart:hover{transform:translateY(-2px);border-color:var(--accent-rand);}
.catkaart .t{font-size:15px;font-weight:500;}
.catkaart .c{font-size:12.5px;color:var(--tekst-licht);margin-top:2px;}

/* Vacaturekaarten (clean, hele kaart klikbaar) */
.home-jobs{display:flex;flex-direction:column;gap:12px;}
.jobkaart{display:flex;align-items:center;gap:16px;background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);
  padding:18px 22px;box-shadow:var(--schaduw);text-align:left;width:100%;transition:transform .12s,border-color .12s;}
.jobkaart:hover{transform:translateY(-2px);border-color:var(--accent-rand);}
.jobkaart .body{flex:1;}
.jobkaart .titel{font-size:16px;font-weight:500;letter-spacing:-.01em;margin-bottom:9px;}
.jobkaart .pijl{color:var(--accent);flex-shrink:0;}

/* Waarom Piekfijn */
.waarom{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
.voordeel{background:var(--wit);border:1px solid var(--lijn);border-radius:var(--radius);padding:20px;box-shadow:var(--schaduw);}
.voordeel .t{font-size:15px;font-weight:500;margin:12px 0 5px;}
.voordeel p{font-size:13.5px;color:var(--tekst-zacht);line-height:1.5;}

/* Social strip */
.social{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.social .tegel-foto{aspect-ratio:1;border-radius:14px;background:linear-gradient(160deg,#c9d3cd,#e6ebe8);position:relative;overflow:hidden;}
.social .tegel-foto::after{content:'@piekfijn';position:absolute;left:10px;bottom:8px;font-size:11px;color:#4a6555;font-weight:500;}

/* Footer */
.pub-footer{margin-top:54px;padding-top:24px;border-top:1px solid var(--lijn);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:13px;color:var(--tekst-licht);}

@media (max-width:860px){
  .pub-top{padding:13px 18px;}
  .pub-main{padding:0 18px 70px;}
  .hero{padding:40px 24px 36px;border-radius:20px;margin:18px 0;}
  .hero h1{font-size:30px;}
  .hero p.lead{font-size:15px;}
  .hero .zoek{flex-direction:column;}
  .hero .zoek .knop{width:100%;}
}

/* ============================================================
   VISUELE UPGRADE v4 — meer diepte, kleur, vectors (overrides)
   ============================================================ */
.appicon{filter:drop-shadow(0 6px 12px rgba(74,101,85,.28));}

/* Hero: salie-gradient + 3D-vormen + witte tekst */
.hero{background:linear-gradient(150deg,#6E8C7C 0%,#4E6A58 55%,#3C5446 100%);border:none;color:#fff;padding:72px 48px 64px;}
.hero .eyebrow{color:rgba(255,255,255,.82);}
.hero h1{color:#fff;font-size:46px;}
.hero p.lead{color:rgba(255,255,255,.86);}
.hero .zoek input{background:rgba(255,255,255,.95);border:1px solid transparent;}
.hero .zoek .knop{background:#fff;color:#3E5A4A;border:1px solid #fff;}
.hero .avatars small{color:rgba(255,255,255,.82);}
.hero .avatars .stapel span{border-color:#46604f;background:linear-gradient(160deg,#d6e2db,#9fb6aa);}
.hero-shapes{position:absolute;inset:0;overflow:hidden;z-index:0;}
.hsp{position:absolute;border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.38),rgba(255,255,255,.04));box-shadow:0 18px 50px rgba(0,0,0,.12);}
.hsp.s1{width:170px;height:170px;right:64px;top:36px;transform:rotate(16deg);}
.hsp.s2{width:120px;height:120px;right:200px;bottom:26px;transform:rotate(-12deg);opacity:.75;}
.hsp.s3{width:96px;height:96px;border-radius:50%;right:34px;bottom:64px;background:radial-gradient(circle at 34% 28%,#e7efe9,#6e8c7c);box-shadow:0 16px 40px rgba(0,0,0,.18);}

/* Stat-kaarten: zachte gradient + icoon-badge */
.statkaart{background:linear-gradient(165deg,#FFFFFF 0%,#F1F5F3 100%);display:flex;align-items:center;gap:14px;}
.statkaart .g{font-size:24px;}
.statkaart .l{margin-top:2px;}

/* Categorie-icoon iets groter */
.catkaart .appicon{width:44px;height:44px;}

/* Feature-kaarten (Elevate-stijl: kleur / donker / licht + vector + nummer) */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;}
.fcard{border-radius:18px;padding:22px;min-height:236px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--schaduw);}
.fcard .num{font-size:12px;font-weight:600;letter-spacing:.06em;opacity:.65;}
.fcard h3{font-size:18px;margin-top:14px;}
.fcard p{font-size:13.5px;margin-top:6px;line-height:1.5;}
.fcard.kleur{background:linear-gradient(160deg,#6E8C7C,#46604F);color:#fff;}
.fcard.donker{background:#1D1D1F;color:#fff;}
.fcard.licht{background:#fff;border:1px solid var(--lijn);color:var(--tekst);}
.fcard.kleur p,.fcard.donker p{color:rgba(255,255,255,.82);}
.fcard.licht p{color:var(--tekst-zacht);}

/* Logo-strip */
.logos-sectie{margin-top:30px;text-align:center;}
.logos-label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--tekst-licht);font-weight:600;}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:34px;margin-top:16px;opacity:.7;}
.logos svg{height:26px;width:auto;color:var(--tekst-zacht);}

@media (max-width:860px){
  .hero h1{font-size:30px;}
  .hsp.s1{width:110px;height:110px;right:-10px;top:auto;bottom:-20px;opacity:.6;}
  .hsp.s2,.hsp.s3{display:none;}
  .logos{gap:22px;}
}

/* ============================================================
   v5 — Piekfijn-merk (geel/charcoal/grijs), Apple-rustig + awsmd-diepte (PUBLIEK)
   ============================================================ */
:root{--geel:#c6fb3b;--geel-diep:#a3d92e;--inkt:#1E2125;--inkt-2:#2A2D31;}
.appicon{filter:drop-shadow(0 6px 12px rgba(20,24,22,.22));}
#public-shell .knop{background:var(--geel);color:#1A1A1A;border:1px solid var(--geel);}
#public-shell .knop:hover{filter:brightness(.96);}

/* Hero: charcoal + geel accent */
.hero{background:var(--inkt);color:#fff;border:none;}
.hero .eyebrow{color:var(--geel);}
.hero h1{color:#fff;font-size:48px;}
.hero p.lead{color:rgba(255,255,255,.72);}
.hero .zoek input{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;}
.hero .zoek input::placeholder{color:rgba(255,255,255,.5);}
.hero .zoek .knop{background:var(--geel);color:#1A1A1A;}
.hero .avatars small{color:rgba(255,255,255,.72);}
.hero .avatars .stapel span{border-color:var(--inkt);background:linear-gradient(160deg,#5b5f63,#2a2d31);}
.hsp{background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.02));box-shadow:0 18px 50px rgba(0,0,0,.25);}
.hsp.s3{background:radial-gradient(circle at 34% 28%,var(--geel),#b88f12);opacity:.92;}

/* Donkere band (Waarom Piekfijn) — awsmd-ritme */
.dark-band{background:var(--inkt);border-radius:22px;padding:34px 30px;margin:44px 0 0;}
.dark-band h2{color:#fff;margin-bottom:18px;}
.dark-band .features{margin:0;}
.fcard.geel{background:var(--geel);color:#1A1A1A;}
.fcard.geel .num{opacity:.55;}
.fcard.geel p{color:rgba(0,0,0,.7);}
.fcard.donker{background:var(--inkt-2);color:#fff;}
.fcard.licht{background:#fff;color:var(--tekst);}

/* Rijke vacaturepagina */
.dethero{position:relative;border-radius:22px;overflow:hidden;min-height:280px;background:linear-gradient(155deg,#2a2d31,#161819);display:flex;align-items:flex-end;padding:30px;margin:14px 0 22px;}
.dethero .deco{position:absolute;right:-30px;top:-40px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,203,45,.45),transparent 70%);}
.dethero .ov{position:relative;z-index:1;}
.dethero h1{color:#fff;font-size:34px;letter-spacing:-.025em;margin-bottom:12px;}
.dethero .metas .meta{background:rgba(255,255,255,.16);color:#fff;}
.det-grid{max-width:760px;}
.benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.benefit{display:flex;gap:12px;align-items:center;background:var(--wit);border:1px solid var(--lijn);border-radius:14px;padding:13px 15px;box-shadow:var(--schaduw);}
.benefit .bt{font-size:14px;font-weight:500;}
.locatie{display:flex;gap:0;background:var(--wit);border:1px solid var(--lijn);border-radius:16px;overflow:hidden;box-shadow:var(--schaduw);}
.locatie .kaartje{width:170px;flex-shrink:0;background:linear-gradient(160deg,#dfe7e2,#eef1ef);position:relative;}
.locatie .kaartje::after{content:'';position:absolute;left:50%;top:50%;width:16px;height:16px;border-radius:50% 50% 50% 0;transform:translate(-50%,-65%) rotate(-45deg);background:var(--geel);box-shadow:0 0 0 5px rgba(255,203,45,.3);}
.locatie .info{padding:18px 20px;}
.galerij{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;}
.galerij .g{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.det-cta{position:sticky;bottom:16px;margin-top:18px;}

@media (max-width:860px){
  .hero h1{font-size:32px;}
  .dethero h1{font-size:26px;}
  .locatie{flex-direction:column;}
  .locatie .kaartje{width:100%;height:120px;}
}

/* ============================================================
   v6 — beweging + echte foto's (awsmd-flex)
   ============================================================ */
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes scrollx{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hsp{animation:floaty 6s ease-in-out infinite;}
.hsp.s2{animation-duration:7.5s;}
.hsp.s3{animation-duration:5s;}
.tekst-foto{display:inline-block;vertical-align:middle;width:108px;height:58px;border-radius:40px;object-fit:cover;margin:0 8px;box-shadow:0 10px 26px rgba(0,0,0,.4);animation:floaty 5s ease-in-out infinite;}

/* Foto-marquee (Instagram-strip die beweegt) */
.social{display:block;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.marquee-track{display:flex;gap:14px;width:max-content;animation:scrollx 38s linear infinite;}
.social:hover .marquee-track{animation-play-state:paused;}
.marquee-track .foto{width:248px;height:160px;border-radius:16px;object-fit:cover;flex-shrink:0;}

/* Logo-marquee */
.logos{display:block;overflow:hidden;opacity:.85;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.logo-track{display:flex;align-items:center;gap:64px;width:max-content;animation:scrollx 42s linear infinite;}
.logo-track svg{height:26px;width:auto;flex-shrink:0;color:var(--tekst-zacht);}

/* Vacaturekaart-thumbnail + hover-zoom */
.jobkaart .thumb{width:66px;height:66px;border-radius:13px;object-fit:cover;flex-shrink:0;}
.galerij .g{overflow:hidden;padding:0;}
.galerij .g img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.galerij .g:hover img{transform:scale(1.07);}

/* Detail-hero met foto + leesbare overlay */
.dethero{background-size:cover;background-position:center;}

/* ============================================================
   v7 — hero met sfeerfoto + fallback-onderlagen (nooit lege gaten)
   ============================================================ */
.hero{position:relative;overflow:hidden;}
.hero .inner{max-width:520px;position:relative;z-index:2;}
.hero-foto{position:absolute;right:22px;top:22px;bottom:22px;width:40%;border-radius:18px;overflow:hidden;z-index:1;
  background:linear-gradient(160deg,#3a4f44,#1f2a24);box-shadow:0 18px 50px rgba(0,0,0,.3);}
.hero-foto img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-foto::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,rgba(30,33,37,.75),rgba(30,33,37,0) 55%);}
.hero-foto .bol{position:absolute;left:-26px;bottom:34px;width:80px;height:80px;border-radius:50%;z-index:2;
  background:radial-gradient(circle at 34% 28%,#FFD86A,#E9B41C);box-shadow:0 14px 34px rgba(0,0,0,.35);animation:floaty 5s ease-in-out infinite;}

/* Fallback-onderlaag: als een foto niet laadt, zie je een nette gradient i.p.v. niets */
.thumb,.marquee-track .foto{background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.galerij .g{background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.dethero{background-color:#1f2a24;}

@media (max-width:900px){
  .hero-foto{display:none;}
  .hero .inner{max-width:none;}
}

/* ============================================================
   v8 — awsmd-stijl homepage (pill-header, groot hero, donkere klussen, blogs)
   ============================================================ */
.pub-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 30px;}
.pub-top .logo{justify-self:start;}
.pub-top .rechts{justify-self:end;}
.navpill{justify-self:center;display:flex;gap:4px;background:#fff;border:1px solid var(--lijn);border-radius:999px;padding:5px;box-shadow:var(--schaduw);}
.navpill a{font-size:14px;font-weight:500;color:var(--tekst);padding:8px 17px;border-radius:999px;cursor:pointer;}
.navpill a:hover,.navpill a.act{background:#1E2125;color:#fff;}

/* Hero */
.ahero{position:relative;overflow:hidden;border-radius:24px;margin:14px 0 0;padding:52px 44px 40px;min-height:500px;
  background:radial-gradient(130% 120% at 80% 6%, #EEE9F6 0%, #ECEAF3 34%, #F1F1F3 64%, #F6F6F7 100%);
  display:flex;flex-direction:column;justify-content:flex-end;}
.ahero .reel{position:absolute;right:34px;top:38px;width:44%;max-width:520px;height:300px;border-radius:20px;overflow:hidden;
  box-shadow:0 30px 70px rgba(60,40,110,.18);background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.ahero .reel img{width:100%;height:100%;object-fit:cover;display:block;}
.ahero .eyebrow{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-diep);margin-bottom:14px;position:relative;z-index:2;}
.ahero h1{font-size:74px;line-height:.94;letter-spacing:-.04em;font-weight:700;color:#1b1b24;max-width:13ch;margin-bottom:22px;position:relative;z-index:2;}
.ahero .lead{font-size:17px;color:#5b5b6b;max-width:460px;margin-bottom:24px;line-height:1.5;position:relative;z-index:2;}
.ahero-cta{display:flex;align-items:center;gap:16px;position:relative;z-index:2;}
.play{width:60px;height:60px;border-radius:50%;background:var(--geel);border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(233,180,28,.45);cursor:pointer;}
.rating{display:flex;align-items:center;gap:10px;margin-top:24px;position:relative;z-index:2;}
.sterren{color:var(--geel);letter-spacing:2px;font-size:15px;}

/* Donkere klussen-sectie */
.acases{background:#16181A;border-radius:24px;margin:18px 0 0;padding:42px 36px;color:#fff;}
.acases .kop{margin-bottom:26px;}
.acases .eyebrow{color:rgba(255,255,255,.5);font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;}
.acases h2{color:#fff;font-size:34px;letter-spacing:-.03em;}
.acards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;}
.acard{text-align:left;background:none;border:none;cursor:pointer;padding:0;}
.acard .img{aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#2a2d31,#1a1c1e);}
.acard .img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.acard:hover .img img{transform:scale(1.05);}
.acard h3{color:#fff;font-size:18px;letter-spacing:-.01em;margin:16px 0 9px;}
.acard .metas .meta{background:rgba(255,255,255,.12);color:#fff;}
.acard p{color:rgba(255,255,255,.6);font-size:14px;margin-top:10px;line-height:1.5;}
.acases-onder{display:flex;justify-content:space-between;align-items:center;margin-top:28px;gap:14px;flex-wrap:wrap;}

/* Blogs */
.ablog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.ablog{text-align:left;background:#fff;border:1px solid var(--lijn);border-radius:18px;overflow:hidden;box-shadow:var(--schaduw);cursor:pointer;padding:0;}
.ablog .img{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.ablog .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.ablog:hover .img img{transform:scale(1.05);}
.ablog .b{padding:16px 18px 18px;}
.ablog .tag{font-size:12px;color:var(--accent-tekst);font-weight:600;}
.ablog h3{font-size:16px;letter-spacing:-.01em;margin:8px 0 6px;}
.ablog p{font-size:13.5px;color:var(--tekst-zacht);line-height:1.45;}

@media (max-width:860px){
  .navpill{display:none;}
  .pub-top{grid-template-columns:1fr auto;}
  .ahero{padding:36px 22px 30px;min-height:auto;}
  .ahero .reel{position:relative;right:auto;top:auto;width:100%;height:200px;margin-bottom:24px;}
  .ahero h1{font-size:40px;}
  .acases h2,.ablogs h2{font-size:26px;}
}

/* ============================================================
   v9 — bento-kaarten met wit label-balkje + pijl (awsmd-cards)
   ============================================================ */
.eyebrow2{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-diep);margin-bottom:8px;}
.bento-sectie{margin-top:46px;}
.bento-kop{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px;}
.bento-kop h2{font-size:34px;letter-spacing:-.03em;}
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:190px;gap:16px;}
.bento-card{position:relative;border-radius:22px;overflow:hidden;cursor:pointer;border:none;padding:0;background:#1a1c1e;box-shadow:var(--schaduw);transition:transform .25s ease;}
.bento-card:hover{transform:translateY(-3px);}
.bento-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.bento-card:hover img{transform:scale(1.06);}
.bento-card .label{position:absolute;left:14px;right:14px;bottom:14px;background:#fff;border-radius:16px;padding:11px 11px 11px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 12px 30px rgba(0,0,0,.22);}
.bento-card .label .t{font-size:15px;font-weight:600;color:#16181a;letter-spacing:-.01em;text-align:left;line-height:1.25;}
.bento-card .arrow{width:38px;height:38px;border-radius:50%;background:#F0F0F2;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease;}
.bento-card:hover .arrow{background:var(--geel);}
.b-lg{grid-column:span 2;grid-row:span 2;}
.b-wide{grid-column:span 2;grid-row:span 1;}
.b-sm{grid-column:span 1;grid-row:span 1;}
.ablog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.ablog-grid .bento-card{aspect-ratio:2/3;min-height:0;}
@media (max-width:860px){
  .bento{grid-template-columns:1fr;grid-auto-rows:auto;}
  .b-lg,.b-wide,.b-sm{grid-column:span 1;grid-row:span 1;}
  .bento-card{min-height:240px;}
  .bento-kop h2{font-size:26px;}
}

/* ============================================================
   v10 — Apple-UX polish: groot hero, draaiend play-ring, kaart-overlays, diepte
   ============================================================ */
.ahero{min-height:600px;}
.ahero h1{font-size:clamp(46px,7.4vw,92px);line-height:.9;letter-spacing:-.045em;font-weight:700;max-width:none;}
.ahero .reel{height:330px;top:44px;}
.ahero-cta{align-items:center;gap:22px;}

.playring{position:relative;width:112px;height:112px;flex-shrink:0;}
.playring .ring{position:absolute;inset:0;width:100%;height:100%;animation:spin 16s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.playring .rt{font-size:9.5px;fill:#5b5b6b;letter-spacing:2.5px;font-weight:600;}
.playring .playbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:var(--geel);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(233,180,28,.45);}
.scrollcue{position:absolute;right:40px;bottom:30px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(0,0,0,.14);display:flex;align-items:center;justify-content:center;color:#5b5b6b;animation:floaty 3s ease-in-out infinite;z-index:2;}

/* Kaart-overlays: frosted labels + diepte-gradient */
.bento-card .grad{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,12,14,.30) 0%,rgba(10,12,14,0) 28%,rgba(10,12,14,0) 52%,rgba(10,12,14,.42) 100%);}
.bento-card .chips{position:absolute;top:14px;left:14px;right:14px;display:flex;gap:6px;flex-wrap:wrap;z-index:2;}
.bento-card .chips span{background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:#16181a;font-size:11px;font-weight:600;padding:5px 11px;border-radius:99px;}
.bento-card .label{z-index:2;}

/* ============================================================
   v11 — extra secties (statement, stats-bento, werk-op-elk-vlak, testimonials, alles-in-1-app)
   ============================================================ */
.grad{background:linear-gradient(90deg,#5E9B8A 0%,#3E8AC0 60%,#7A6AD0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.sectiekop{text-align:center;margin:70px 0 30px;}
.sectiekop h2{font-size:clamp(30px,4.2vw,46px);letter-spacing:-.035em;font-weight:700;}
.sectiekop .sub{font-size:16px;color:var(--tekst-zacht);margin-top:8px;}

/* 2 — Statement met foto-in-kop */
.statement{padding:74px 0 14px;text-align:center;}
.statement h2{font-size:clamp(28px,4.4vw,52px);line-height:1.18;letter-spacing:-.03em;font-weight:600;max-width:18ch;margin:0 auto;}
.kopfoto{display:inline-block;vertical-align:middle;width:104px;height:58px;border-radius:40px;object-fit:cover;margin:0 6px;box-shadow:0 8px 20px rgba(31,42,38,.16);animation:floaty 6s ease-in-out infinite;}
.statement .smut{color:#9DB0A6;}

/* 3 — Stats-bento */
.sbento{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:152px;gap:16px;}
.scard{border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:var(--schaduw);}
.scard .num{font-size:clamp(32px,4.2vw,50px);font-weight:600;letter-spacing:-.03em;line-height:1;}
.scard .lab{font-size:14.5px;opacity:.9;}
.scard .si{position:absolute;top:22px;right:22px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18);}
.s-big{grid-row:span 2;background:#1E2125;color:#fff;}
.s-big .si{width:46px;height:46px;border:3px solid rgba(255,255,255,.25);border-top-color:rgba(255,255,255,.7);background:none;animation:spin 4s linear infinite;}
.s-geel{background:#FFCB2D;color:#1A1A1A;}.s-geel .si{background:rgba(0,0,0,.08);}
.s-wit{background:#fff;border:1px solid var(--lijn);}.s-wit .si{background:var(--grijs-1);}
.s-lila{background:#ECEAF6;color:#2C2A4A;}.s-lila .si{background:rgba(90,80,150,.12);}
.s-wide{grid-column:1 / span 2;}

/* 4 — Werk op elk vlak */
.vlak{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px 22px;}
.vlak-item{text-align:center;}
.vlak-item .img{aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.vlak-item .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.vlak-item:hover .img img{transform:scale(1.06);}
.vlak-item .cap{margin-top:14px;font-size:14px;color:var(--tekst-zacht);}
.vlak-item .cap b{color:var(--tekst);font-weight:600;}

/* 6 — Testimonials */
.testi{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;}
.testi-item .img{aspect-ratio:5/4;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.testi-item .img img{width:100%;height:100%;object-fit:cover;}
.testi-item .txt{margin-top:18px;font-size:17px;line-height:1.5;color:var(--tekst-zacht);max-width:90%;}
.testi-item .txt b{color:var(--tekst);font-weight:600;}

/* 7 — Alles in één app */
.eenapp-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:stretch;}
.eenapp .foto{border-radius:22px;overflow:hidden;min-height:360px;background:linear-gradient(160deg,#cdd6d0,#e9ecea);}
.eenapp .foto img{width:100%;height:100%;object-fit:cover;display:block;}
.eenapp .glass{border-radius:22px;background:radial-gradient(120% 100% at 80% 0%, #2c3340 0%, #16181a 60%);color:#fff;padding:26px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;}
.eenapp .glass .glow{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,203,45,.35),transparent 70%);right:-40px;top:-50px;}
.eenapp .glass h3{font-size:22px;letter-spacing:-.02em;position:relative;}
.eenapp .glass .gsub{font-size:13.5px;color:rgba(255,255,255,.6);margin-top:6px;position:relative;}
.gchips{display:flex;flex-wrap:wrap;gap:8px;position:relative;}
.gchips span{font-size:12.5px;font-weight:500;padding:7px 13px;border-radius:99px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);}
.gchips span.actief{background:var(--geel);color:#1a1a1a;border-color:var(--geel);}
.apptabs{display:flex;justify-content:center;gap:4px;background:#fff;border:1px solid var(--lijn);border-radius:999px;padding:5px;margin:24px auto 0;width:max-content;max-width:100%;box-shadow:var(--schaduw);flex-wrap:wrap;}
.apptabs span{font-size:13.5px;font-weight:500;color:var(--tekst);padding:8px 17px;border-radius:999px;}
.apptabs span.actief{background:#1E2125;color:#fff;}
.eenapp-tekst{text-align:center;font-size:15px;color:var(--tekst-zacht);max-width:560px;margin:18px auto 0;}

@media (max-width:860px){
  .statement h2{font-size:26px;} .kopfoto{width:62px;height:36px;margin:0 4px;}
  .sbento{grid-template-columns:1fr;} .s-big{grid-row:span 1;} .s-wide{grid-column:1;}
  .eenapp-grid{grid-template-columns:1fr;} .eenapp .foto{min-height:240px;}
  .sectiekop h2{font-size:26px;}
}

/* ============================================================
   v12 — hero fix: tekst links eigen ruimte, foto rechts (geen overlap)
   ============================================================ */
.ahero{padding:54px 0 42px 44px; padding-right:46%;}
.ahero h1{font-size:clamp(40px,5.4vw,72px);max-width:560px;}
.ahero .lead{max-width:460px;}
@media (max-width:900px){
  .ahero{padding:36px 22px 30px;}
  .ahero h1{font-size:34px;max-width:none;}
}

/* ============================================================
   v13 — type-harmonie + kleur i.p.v. zwart + app-icoon-raster
   ============================================================ */
.scard .num{font-size:clamp(26px,2.8vw,36px);}
.s-big .num{font-size:clamp(34px,3.6vw,44px);}
.scard .lab{font-size:14px;}
.statement h2{font-size:clamp(26px,3.6vw,42px);}
/* geen plat zwart meer: indigo-gradient i.p.v. #1E2125 */
.s-big{background:linear-gradient(150deg,#6E6AE0 0%,#4F46C9 100%);color:#fff;}
.s-big .si{border-color:rgba(255,255,255,.35);border-top-color:#fff;}
.eenapp .glass{background:radial-gradient(120% 110% at 82% 0%, #3b3f6e 0%, #26294a 48%, #1c1e38 100%);}

/* App-icoon-raster (blok 11) */
.appgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:16px 12px;margin-top:24px;}
.apptile{display:flex;flex-direction:column;align-items:center;gap:9px;}
.apptile .appicon{width:56px;height:56px;}
.apptile .lab{font-size:12px;color:var(--tekst-zacht);text-align:center;line-height:1.25;}

/* ============================================================
   v14 — echte foto's: immersive hero (Ken-Burns), story-cards, jobs-filter
   ============================================================ */
.ahero{position:relative;overflow:hidden;color:#fff;padding:0;min-height:600px;display:flex;flex-direction:column;justify-content:flex-end;border-radius:24px;margin-top:14px;background:#16181a;}
.ahero .heroimg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;animation:kenburns 20s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1.02)}to{transform:scale(1.14)}}
.ahero .heroov{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(12,13,15,.5) 0%,rgba(12,13,15,.12) 32%,rgba(12,13,15,.55) 70%,rgba(12,13,15,.88) 100%);}
.ahero .heroinner{position:relative;z-index:2;padding:0 46px 46px;max-width:720px;}
.ahero .eyebrow{color:var(--geel);}
.ahero h1{color:#fff;font-size:clamp(40px,5.6vw,76px);max-width:none;}
.ahero .lead{color:rgba(255,255,255,.85);max-width:480px;}
.ahero .rating{color:#fff;}
.ahero .rating span{color:rgba(255,255,255,.85)!important;}
.ahero .scrollcue{border-color:rgba(255,255,255,.4);color:#fff;}
.ahero .reel{display:none;}
.playring .rt{fill:rgba(255,255,255,.85);}

/* Jobs-filter pills (onder de klussen-kop) */
#jobfilters{margin:-6px 0 18px;}

/* Story-cards (Verhalen — social-media stijl, blok 5) */
.verhalen{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.story{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4;cursor:pointer;box-shadow:var(--schaduw);background:#cdd6d0;}
.story img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.story:hover img{transform:scale(1.06);}
.story .sov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,transparent 28%,transparent 50%,rgba(0,0,0,.8) 100%);}
.story .stop{position:absolute;top:15px;left:15px;display:flex;align-items:center;gap:9px;z-index:2;color:#fff;}
.story .sav{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.6);object-fit:cover;}
.story .shandle{font-size:13.5px;font-weight:600;line-height:1.1;}
.story .ssub{font-size:11px;color:rgba(255,255,255,.75);}
.story .sq{position:absolute;left:17px;right:17px;bottom:17px;z-index:2;color:#fff;font-size:16.5px;font-weight:500;line-height:1.32;letter-spacing:-.01em;}
.story .splay{position:absolute;left:17px;bottom:17px;}

@media (max-width:860px){
  .ahero{min-height:480px;}
  .ahero .heroinner{padding:0 22px 30px;}
}

/* ============================================================
   v15 — full-screen hero, stats-2x2 (image2), merk-logo-marquee, quote, blogs-cards
   ============================================================ */
#public-shell{overflow-x:hidden;}

/* Hero full-bleed / dekkend */
.ahero{margin:0;width:100vw;margin-left:calc(50% - 50vw);border-radius:0;min-height:92vh;}
.ahero .heroinner{width:100%;max-width:1180px;margin:0 auto;padding:0 6vw 70px;}
.herocard{position:absolute;right:6vw;bottom:72px;z-index:3;width:290px;background:rgba(255,255,255,.97);border-radius:18px;box-shadow:0 28px 64px rgba(0,0,0,.35);padding:16px 16px 14px;animation:floaty 6s ease-in-out infinite;}
.herocard .hc-kop{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.herocard .hc-kop b{font-size:14px;}
.herocard .hc-kop .dot{width:22px;height:22px;border-radius:50%;background:var(--geel);}
.herocard .hc-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--lijn);font-size:13px;color:var(--tekst-zacht);}
.herocard .hc-row i{width:9px;height:9px;border-radius:50%;background:var(--accent);display:inline-block;}
.herocard .hc-row.done i{background:#34C759;} .herocard .hc-row.todo i{background:#D2D2D7;}

/* Stats 2x2 — identiek aan referentie (licht grijs, groot getal, 3D-object) */
.sbento{grid-template-columns:1fr 1fr;grid-auto-rows:minmax(230px,auto);gap:18px;}
.scard,.s-big,.s-geel,.s-lila,.s-wit{background:#F1F1F3!important;color:#1D1D1F!important;border:none!important;grid-row:auto!important;grid-column:auto!important;align-items:flex-start;justify-content:flex-start;}
.scard .si{display:none!important;}
.scard .num{font-size:clamp(42px,4.8vw,66px)!important;font-weight:700;letter-spacing:-.04em;color:#1D1D1F;}
.scard .lab{color:var(--tekst-zacht);font-size:15px;max-width:60%;margin-top:12px;}
.scard .obj{position:absolute;right:18px;bottom:16px;width:118px;height:118px;border-radius:50%;filter:drop-shadow(0 12px 24px rgba(40,30,80,.22));}

/* Merk-logo marquee (monochroom, bewegend) */
.logo-track{gap:72px;align-items:center;}
.logoword{font-size:26px;font-weight:700;letter-spacing:-.02em;color:#1D1D1F;opacity:.82;white-space:nowrap;flex-shrink:0;}

/* Quote met fototje */
.quote{max-width:860px;margin:74px auto 0;text-align:center;padding:0 20px;}
.quote .q{font-size:clamp(24px,3.2vw,38px);font-weight:500;letter-spacing:-.02em;line-height:1.32;color:var(--tekst);}
.quote .q .grad{font-weight:500;}
.quote .who{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:26px;}
.quote .who img{width:50px;height:50px;border-radius:50%;object-fit:cover;}
.quote .who .n{text-align:left;}
.quote .who b{font-weight:600;font-size:14.5px;} .quote .who span{display:block;font-size:13px;color:var(--tekst-zacht);}

/* Blogs in kaart-stijl (cases) */
.bloglabel{position:absolute;left:14px;right:14px;bottom:14px;background:#fff;border-radius:16px;padding:13px 15px;box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:2;}
.bloglabel .tag{font-size:11px;font-weight:600;color:var(--accent-tekst);text-transform:uppercase;letter-spacing:.04em;}
.bloglabel .t{font-size:14.5px;font-weight:600;color:#16181a;margin-top:4px;line-height:1.25;}

@media (max-width:900px){
  .herocard{display:none;}
  .ahero{min-height:78vh;}
  .ahero .heroinner{padding:0 22px 40px;}
  .sbento{grid-template-columns:1fr;}
  .scard .lab{max-width:70%;}
}

/* ============================================================
   v16 — moderne vacaturepagina (detail)
   ============================================================ */
.dethero .det-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--geel);margin-bottom:10px;}
.det-hero-acties{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.det-share{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:#fff;padding:11px 20px;border-radius:980px;font-weight:500;font-size:14px;backdrop-filter:blur(6px);}
.det-share:hover{background:rgba(255,255,255,.26);}
.det-layout{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start;margin-top:30px;max-width:980px;}
.det-blok{margin-bottom:32px;}
.det-blok h3{font-size:21px;letter-spacing:-.02em;margin-bottom:12px;}
.det-blok p{color:var(--tekst-zacht);font-size:15.5px;line-height:1.75;}
.det-blok ul{list-style:none;}
.det-blok li{display:flex;gap:12px;padding:8px 0;font-size:15px;color:var(--tekst);line-height:1.5;}
.det-blok li .ck{width:22px;height:22px;border-radius:50%;background:var(--accent-tint);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.det-blok li .ck svg{width:13px;height:13px;stroke:var(--accent-tekst);}
.det-side{position:sticky;top:88px;}
.det-card{background:var(--wit);border:1px solid var(--lijn);border-radius:18px;padding:20px;box-shadow:var(--schaduw);}
.det-card-kop{font-size:15px;font-weight:600;margin-bottom:6px;}
.det-prow{display:flex;gap:12px;align-items:center;padding:11px 0;border-top:1px solid var(--lijn);}
.det-prow .di{width:36px;height:36px;border-radius:10px;background:var(--grijs-1);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.det-prow .di svg{width:18px;height:18px;stroke:var(--tekst);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.det-prow .pl{font-size:11.5px;color:var(--tekst-licht);}
.det-prow .pv{font-size:14px;font-weight:500;line-height:1.3;}
.det-card .knop{margin-top:18px;}
.det-card-note{font-size:12.5px;color:var(--tekst-licht);margin-top:12px;line-height:1.5;text-align:center;}
@media (max-width:860px){.det-layout{grid-template-columns:1fr;} .det-side{position:static;}}

/* ============================================================
   v17 — feedbackronde: kleinere hero, ronde kopfoto, bewegende stats, video-portal, grotere logo's
   ============================================================ */
.ahero{min-height:68vh;}
/* Statement-foto's rond (rond kader) */
.kopfoto{width:66px;height:66px;border-radius:50%;object-fit:cover;margin:0 8px;border:3px solid #fff;box-shadow:0 8px 20px rgba(31,42,38,.2);}
/* Stats: kleinere cijfers + bewegende objecten */
.scard .num{font-size:clamp(30px,3.2vw,44px)!important;}
.scard .obj{width:104px;height:104px;animation:floaty 5s ease-in-out infinite;}
.scard:nth-child(2) .obj{animation:spin 10s linear infinite;}
.scard:nth-child(3) .obj{animation:floaty 6.5s ease-in-out infinite;}
.scard:nth-child(4) .obj{animation:floaty 4.5s ease-in-out infinite .3s;}
/* Logo's groter */
.logoword{font-size:30px;opacity:.78;}
.logos-label{font-size:12px;letter-spacing:.08em;}
/* Alles in één app: kleiner + video-portal */
.eenapp-grid{grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;max-width:940px;margin:0 auto;}
.eenapp .foto{min-height:300px;max-height:420px;border-radius:22px;}
.portalvid{position:relative;border-radius:22px;overflow:hidden;min-height:300px;background:#1c1e38;box-shadow:var(--schaduw);}
.portalvid video{width:100%;height:100%;object-fit:cover;display:block;}
.portalvid .pv-ov{position:absolute;left:0;right:0;bottom:0;padding:22px;background:linear-gradient(180deg,transparent,rgba(10,12,20,.82));color:#fff;}
.portalvid .pv-kop{font-size:21px;font-weight:600;letter-spacing:-.01em;}
.portalvid .pv-sub{font-size:13.5px;color:rgba(255,255,255,.82);margin-top:5px;}
@media (max-width:860px){.eenapp-grid{grid-template-columns:1fr;} .ahero{min-height:62vh;}}

/* ============================================================
   v18 — gestaffelde bento (schets) + nette spacing
   ============================================================ */
/* Spacing-ritme: meer lucht, consistent */
.statement{padding:96px 0 16px;}
.statement h2{line-height:1.5;}
.logos-sectie{margin-top:40px!important;}
.bento-sectie{margin-top:88px;}
.sectiekop{margin:88px 0 28px;}
.pub-main{padding:0 32px 110px;}
.eenapp{margin-top:8px;}
.quote{margin-top:88px;}

/* Gestaffelde bento (zoals de schets) */
.bento{grid-template-columns:repeat(4,1fr);grid-auto-rows:148px;grid-auto-flow:dense;gap:18px;}
.b-tall{grid-column:span 1;grid-row:span 2;}
.b-lg{grid-column:span 2;grid-row:span 2;}
.b-wide{grid-column:span 2;grid-row:span 1;}
.b-sm{grid-column:span 1;grid-row:span 1;}
@media (max-width:860px){
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:120px;}
  .b-lg,.b-wide{grid-column:span 2;}
  .b-tall{grid-column:span 1;grid-row:span 2;}
  .statement{padding:60px 0 12px;}
}

/* ============================================================
   v19 — jobs in Veloretti-stijl (3-up), logo-kaders, minder apple
   ============================================================ */
/* Jobs: 3 naast elkaar, balk onderaan met titel + subtitel + pijl rechts */
.jobgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 16px;margin-bottom:22px;}
.jobcard{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:2/3;display:block;text-align:left;box-shadow:var(--schaduw);cursor:pointer;background:var(--grijs-1);border:none;padding:0;}
.jobcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease;}
.jobcard:hover img{transform:scale(1.045);}
.joblabel{position:absolute;left:14px;right:14px;bottom:14px;background:#fff;border-radius:16px;padding:12px 12px 12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:0 10px 26px rgba(0,0,0,.18);}
.joblabel .jt{display:flex;flex-direction:column;font-weight:600;font-size:18px;line-height:1.2;color:var(--tekst);min-width:0;}
.joblabel .js{font-weight:400;font-size:13px;color:var(--tekst-licht);margin-top:5px;}
.jarrow{width:40px;height:40px;border-radius:50%;background:#F0F0F2;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s ease, transform .25s ease;}
.jobcard:hover .jarrow{background:var(--geel);transform:translate(2px,-2px);}
.jarrow svg{width:17px;height:17px;}
@media (min-width:861px) and (max-width:1100px){.jobgrid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:860px){.jobgrid{grid-template-columns:1fr;}}
/* Logo's: witte kaders, tikkie groter, meer spacing */
.logos-sectie{margin-top:30px!important;}
.logos-label{display:block;margin-bottom:16px;font-size:12px;letter-spacing:.08em;color:var(--tekst-licht);}
.logos .logo-track{gap:20px;}
.logoword{font-size:23px!important;opacity:1!important;color:var(--tekst);background:#fff;border:1px solid var(--lijn);border-radius:16px;padding:18px 30px;box-shadow:var(--schaduw);display:inline-flex;align-items:center;white-space:nowrap;}
/* "Alles in één app" minder apple: video kalmer met zachte overlay */
.portalvid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,22,40,.18),rgba(20,22,40,.05) 40%);pointer-events:none;}

/* ============================================================
   v20 — hero-tekst omhoog (centreren i.p.v. onderaan)
   ============================================================ */
.ahero{justify-content:center;}
.ahero .heroinner{max-width:1200px;}
@media (max-width:860px){.ahero{justify-content:flex-end;}}

/* ============================================================
   v21 — zelfde grijze pijl op "Lees verder"-kaarten
   ============================================================ */
.bloglabel{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 18px;text-align:left;}
.bloglabel .blogtxt{display:flex;flex-direction:column;min-width:0;}
.bloglabel .tag{text-align:left;}
.bloglabel .t{margin-top:4px;text-align:left;}
.bento-card:hover .jarrow{background:var(--geel);transform:translate(2px,-2px);}

/* ============================================================
   v22 — detailpagina: zachte icoon-badges, diepte, vibe
   ============================================================ */
/* Squircle icoon-badges (Ai-stijl: licht grijs, afgerond, diepte, geen bollen) */
.det-prow .di{width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#ffffff,#eceef1);box-shadow:0 5px 14px rgba(20,22,24,.08),inset 0 1px 0 rgba(255,255,255,.95),inset 0 -3px 6px rgba(20,22,24,.05);border:1px solid rgba(20,22,24,.05);}
.det-prow .di svg{width:21px;height:21px;stroke:#33363b;stroke-width:1.7;}
.det-prow{align-items:center;gap:14px;}

/* Genummerde blok-koppen — structuur + speels */
.det-blok h3,.det-bieden h3{display:flex;align-items:center;gap:12px;}
.det-blok h3 .nr,.det-bieden h3 .nr{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 9px;border-radius:10px;background:var(--geel);color:#16181a;font-size:13px;font-weight:700;letter-spacing:-.01em;flex-shrink:0;box-shadow:0 4px 10px rgba(163,217,46,.35);}

/* Scroll-/open-reveal (gestaffeld) */
#screen-detail .reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);}
#screen-detail .reveal.in{opacity:1;transform:none;}

/* "Wat we bieden" als getinte kaart — speelt met blokken */
.det-bieden{background:linear-gradient(160deg,#f7faf0,#edf3e3);border:1px solid #e4eed4;border-radius:20px;padding:22px 24px 24px;margin-bottom:32px;}
.det-bieden h3{font-size:21px;letter-spacing:-.02em;margin-bottom:16px;}
.det-bieden ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:11px 22px;}
.det-bieden li{display:flex;gap:11px;align-items:center;font-size:14.5px;color:var(--tekst);line-height:1.35;}
.det-bieden li .ck{width:27px;height:27px;border-radius:9px;background:#fff;box-shadow:0 3px 9px rgba(20,22,24,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.det-bieden li .ck svg{width:14px;height:14px;stroke:#5a7d2a;}
@media (max-width:560px){.det-bieden ul{grid-template-columns:1fr;}}

/* Sticky kaart: lime accent-rand + meer diepte */
.det-card{box-shadow:0 20px 48px rgba(20,22,24,.11);position:relative;overflow:hidden;}
.det-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--geel),#a3d92e);}
.det-card .det-card-kop{padding-top:4px;}

/* WhatsApp-knop "App voor vragen" */
.knop-wa{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;margin-top:10px;padding:13px;border-radius:980px;background:#fff;border:1px solid var(--lijn);color:var(--tekst);font-weight:600;font-size:14.5px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;text-decoration:none;}
.knop-wa:hover{background:#f3f9ec;border-color:#cfe6a8;transform:translateY(-1px);}
.knop-wa svg{width:19px;height:19px;flex-shrink:0;}

/* Hero detail: subtiele lime-glow voor diepte */
.dethero{position:relative;overflow:hidden;}
.dethero .ov{position:relative;z-index:2;}
.dethero::after{content:"";position:absolute;right:-70px;bottom:-90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(198,251,59,.35),transparent 68%);z-index:1;pointer-events:none;}

/* ============================================================
   v23 — Portal: lime + wit/grijs/zwart, zakelijk, meer diepte
   (alles gescoped op #app-shell zodat de publieke groene accenten blijven)
   ============================================================ */
#app-shell{--accent:#1e2125;--accent-tint:#f1f2f0;--accent-rand:#e4e6e2;--accent-tekst:#1e2125;--accent-diep:#1e2125;background:#f6f7f5;}

/* Sidebar: lime logo-punt + lime indicator op actief item */
#app-shell .zijbalk-logo .punt{color:#9bd61f;}
#app-shell .nav-knop.actief{background:#eef0ec;color:#1e2125;position:relative;}
#app-shell .nav-knop.actief::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--geel);}

/* Status-kaarten: meer diepte + hover-lift; actief = lime accent-rand */
#app-shell .saldo-rij{gap:16px;}
#app-shell .saldo-kaart{border-radius:18px;box-shadow:0 6px 20px rgba(20,22,24,.05);transition:transform .2s ease,box-shadow .2s ease;}
#app-shell .saldo-kaart:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,22,24,.10);}
#app-shell .saldo-kaart.accent{background:var(--wit);border-color:#e7f1c8;position:relative;overflow:hidden;}
#app-shell .saldo-kaart.accent::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--geel);}
#app-shell .saldo-label{font-size:12.5px;color:var(--tekst-licht);}
#app-shell .saldo-getal{letter-spacing:-.02em;}

/* Hoofdpaneel: zachtere, diepere schaduw */
#app-shell .paneel{border-radius:18px;box-shadow:0 10px 32px rgba(20,22,24,.06);}

/* Voortgang-timeline: done = charcoal, huidige = lime */
#app-shell .stap .bol{width:28px;height:28px;}
#app-shell .stap.done .bol{background:#1e2125;border-color:#1e2125;}
#app-shell .stap.done .lijn{background:#cdd0cb;}
#app-shell .stap.nu .bol{border:2px solid var(--geel);box-shadow:0 0 0 5px rgba(198,251,59,.22);}
#app-shell .stap.nu .bol::after{background:#1e2125;width:9px;height:9px;}
#app-shell .voortgang span{background:var(--geel);}

/* Primaire actie-knoppen in portal = lime (rustig, één accent) */
#app-shell .knop{background:var(--geel);color:#16181a;border:1px solid var(--geel);box-shadow:0 6px 16px rgba(198,251,59,.32);}
#app-shell .knop:hover{background:#bdf52f;transform:translateY(-1px);}
#app-shell .knop.mini{box-shadow:0 4px 12px rgba(198,251,59,.34);}

/* Onder-tegels: diepte + hover-lift */
#app-shell .tegels{gap:16px;}
#app-shell .tegel{border-radius:18px;box-shadow:0 6px 20px rgba(20,22,24,.05);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;}
#app-shell .tegel:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(20,22,24,.10);}

/* Pagina-kop iets ruimer */
#app-shell .pagina-kop h1{letter-spacing:-.03em;}

/* ============================================================
   v24 — detail rustiger/zakelijk: witte tekstkaarten, clean/apple
   ============================================================ */
#screen-detail .det-blok{background:#fff;border:1px solid var(--lijn);border-radius:18px;padding:26px 30px;margin-bottom:18px;box-shadow:0 6px 22px rgba(20,22,24,.045);}
#screen-detail .det-blok h3{font-size:20px;letter-spacing:-.02em;margin-bottom:13px;display:block;}
#screen-detail .det-blok p{color:var(--tekst-zacht);font-size:15.5px;line-height:1.8;}

/* ============================================================
   v25 — detail-feedback: grijs i.p.v. groen/geel waar gevraagd,
   jobs donkere overlay, nieuwe duotone-iconen, hero moderner
   ============================================================ */
/* Jobs: zelfde donkere overlay als "Lees verder" */
.jobcard .grad{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,12,14,.34) 0%,rgba(10,12,14,0) 30%,rgba(10,12,14,0) 50%,rgba(10,12,14,.45) 100%);}
.jobcard .joblabel{z-index:2;}

/* Sticky-kaart "Solliciteer nu" (rechts) = grijs; alleen de hero-knop blijft geel */
#public-shell .det-card .knop{background:#ECEEF0;color:#1E2125;border:1px solid #e0e2df;box-shadow:none;}
#public-shell .det-card .knop:hover{background:#e3e6e8;transform:translateY(-1px);}
/* Praktische zaken: geen gele rand meer */
.det-card::before{display:none!important;}

/* Meer spacing tekst↔witte achtergrond + iets kleiner font (titels blijven) */
#screen-detail .det-blok{padding:34px 38px;}
#screen-detail .det-blok p{font-size:14.5px;line-height:1.85;}
@media (max-width:560px){#screen-detail .det-blok{padding:24px 22px;}}

/* Icoon-badges: nette rand + nieuwe duotone-iconen (geen saaie outlines) */
#screen-detail .det-prow .di{width:48px;height:48px;border-radius:14px;background:#fff;border:1px solid #e2e4e0;box-shadow:0 3px 10px rgba(20,22,24,.05);}
#screen-detail .det-prow .di svg{width:25px;height:25px;stroke:none;fill:none;}
#screen-detail .det-prow{gap:15px;padding:13px 0;}

/* Detail-hero: moderner + meer jeux */
#screen-detail .dethero{min-height:340px;border-radius:24px;padding:38px;box-shadow:0 24px 60px rgba(20,22,24,.18);}
#screen-detail .dethero .deco{background:radial-gradient(circle at 35% 30%,rgba(198,251,59,.5),transparent 70%);}
#screen-detail .dethero h1{font-size:42px;letter-spacing:-.03em;line-height:1.02;}
#screen-detail .dethero .det-eyebrow{display:inline-flex;align-items:center;gap:9px;}
#screen-detail .dethero .det-eyebrow::before{content:"";width:20px;height:2px;border-radius:2px;background:var(--geel);}

/* ============================================================
   v26 — hero-cijferkaart (i.p.v. funnel) + video in "Lees verder"
   ============================================================ */
.herocard .hc-stats{display:grid;grid-template-columns:1fr 1fr;gap:15px 12px;margin-top:6px;}
.herocard .hc-stat .n{font-size:23px;font-weight:700;letter-spacing:-.03em;color:#16181a;line-height:1;}
.herocard .hc-stat .l{font-size:11.5px;color:var(--tekst-licht);margin-top:4px;line-height:1.25;}
.herocard .hc-kop .dot{width:14px!important;height:14px!important;}
.bento-card video{width:100%;height:100%;object-fit:cover;display:block;}

.herocard{color:#16181a;}
.herocard .hc-kop b{color:#16181a;}

/* ============================================================
   v27 — glassy icons, tegels zonder icoon, spacing/contrast
   ============================================================ */
/* Glassy icoon-badges (magnific-stijl): badge = de glassy SVG zelf */
#screen-detail .det-prow .di{width:50px;height:50px;background:none;border:none;box-shadow:none;border-radius:0;}
#screen-detail .det-prow .di svg{width:48px;height:48px;stroke:none;fill:none;filter:drop-shadow(0 5px 11px rgba(20,22,24,.15));}
#screen-detail .det-prow{gap:16px;}

/* Tekst-tegels in portal (zonder icoon) */
#app-shell .tegel--tekst{padding:18px 20px;}

/* Detail: meer verticale lucht in de blokken, blokken dichter op elkaar */
#screen-detail .det-blok{padding:42px 38px;margin-bottom:12px;}
#screen-detail .det-layout{margin-top:36px;}
#screen-detail #vac-galerij{margin-top:8px;}
@media (max-width:560px){#screen-detail .det-blok{padding:30px 24px;}}

/* ============================================================
   v28 — gezichten-sectie (bewegend B&W), footer + socials, lichte kaders
   ============================================================ */
/* Heel lichte kader om de blokken om ze te scheiden */
.eenapp .foto,.eenapp .portalvid{border:1px solid rgba(20,22,24,.07);}
.quote{border:1px solid rgba(20,22,24,.05);background:rgba(255,255,255,.5);border-radius:24px;padding:46px 40px;}

/* Gezichten achter Piekfijn — donker, gestaffeld, bewegend */
.faces-sectie{background:#16181a;border-radius:28px;margin:96px 0 0;padding:60px 40px 76px;text-align:center;overflow:hidden;}
.faces-eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px;}
.faces-kop h2{color:#fff;font-size:34px;letter-spacing:-.03em;margin-bottom:44px;}
.faces{display:flex;justify-content:center;align-items:flex-start;gap:34px;flex-wrap:wrap;}
.face{margin:0;border-radius:18px;overflow:hidden;width:228px;background:#262626;box-shadow:0 24px 56px rgba(0,0,0,.5);}
.face img{width:100%;height:100%;object-fit:cover;display:block;}
.face.f1{height:300px;animation:floaty 6s ease-in-out infinite;}
.face.f2{height:262px;margin-top:64px;animation:floaty 7s ease-in-out infinite .6s;}
.face.f3{height:322px;animation:floaty 6.5s ease-in-out infinite 1.1s;}
@media (max-width:760px){.face.f2{margin-top:0;} .face{width:42%;height:auto!important;aspect-ratio:3/4;}}

/* Footer met socials + contact */
.pub-footer{display:block;margin-top:64px;padding-top:30px;border-top:1px solid var(--lijn);color:var(--tekst-licht);}
.pub-footer .ft-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px;}
.pub-footer .ft-merk{font-weight:700;font-size:22px;letter-spacing:-.02em;color:var(--tekst);}
.pub-footer .ft-merk .punt{color:var(--geel);}
.pub-footer .ft-soc{display:flex;gap:10px;}
.pub-footer .ft-soc a{width:42px;height:42px;border-radius:50%;border:1px solid var(--lijn-donker);display:flex;align-items:center;justify-content:center;color:var(--tekst);transition:background .2s ease,border-color .2s ease,color .2s ease;}
.pub-footer .ft-soc a:hover{background:var(--geel);border-color:var(--geel);color:#16181a;}
.pub-footer .ft-soc svg{width:18px;height:18px;}
.pub-footer .ft-onder{display:flex;gap:8px 20px;flex-wrap:wrap;font-size:13px;align-items:center;}
.pub-footer .ft-onder a{color:var(--tekst-zacht);text-decoration:none;}
.pub-footer .ft-onder a:hover{color:var(--tekst);}

/* ============================================================
   v29 — hero-koppen, faces-carousel, logos-titel, spacing, clean shadows
   ============================================================ */
@keyframes bobs{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* Hero-kaart = 4 zwevende B&W koppen op witte achtergrond */
.herocard.herofaces{width:188px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px;animation:none;box-shadow:var(--schaduw);background:#E7E8E5;transform:rotate(-2.5deg);}
.herofaces .hf{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:9px;border:2px solid #fff;background:#dcddda;box-shadow:0 2px 6px rgba(20,22,24,.12);}
.herofaces .hf1{animation:bobs 5.5s ease-in-out infinite;}
.herofaces .hf2{animation:bobs 6.5s ease-in-out infinite .4s;}
.herofaces .hf3{animation:bobs 6s ease-in-out infinite .8s;}
.herofaces .hf4{animation:bobs 7s ease-in-out infinite .2s;}

/* Faces-carousel onderaan: gelijke grootte, rustige scroll */
.faces-eyebrow{color:rgba(255,255,255,.6)!important;}
.faces-carousel{overflow:hidden;margin-top:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
.faces-track{display:flex;gap:22px;width:max-content;animation:scrollx 60s linear infinite;}
.faces-track .face{margin:0;width:208px;height:272px;flex-shrink:0;border-radius:18px;overflow:hidden;background:#262626;}
.faces-track .face img{width:100%;height:100%;object-fit:cover;display:block;}

/* "We werken o.a. voor": titel zo groot als andere koppen + veel spacing */
.logos-sectie{margin:104px 0!important;text-align:center;}
.logos-titel{font-size:34px;letter-spacing:-.03em;font-weight:700;color:var(--tekst);margin-bottom:42px;}
.logos{margin-top:0!important;}

/* Quote: meer lucht eromheen */
.quote{margin:120px auto!important;}

/* Eén consistente, clean schaduw overal (geen zware/ouderwetse) */
.herocard{box-shadow:var(--schaduw);}
#screen-detail .dethero{box-shadow:var(--schaduw);}
.det-card{box-shadow:var(--schaduw)!important;}
#screen-detail .det-blok{box-shadow:var(--schaduw);}
.joblabel,.bloglabel,.det-card .knop,.jarrow{box-shadow:0 8px 24px rgba(20,22,24,.10);}
#screen-detail .det-prow .di svg{filter:drop-shadow(0 6px 14px rgba(20,22,24,.10));}

/* ============================================================
   v31 — Hireflix video-flow + recruiter beoordeel-scherm
   ============================================================ */
.vidwrap{max-width:920px;}
/* Welkom / klaar-kaart */
.vid-card{display:grid;grid-template-columns:1.05fr 1fr;background:var(--wit);border:1px solid var(--lijn);border-radius:22px;overflow:hidden;box-shadow:var(--schaduw);}
.vid-stage{position:relative;background:#16181a;min-height:300px;}
.vid-stage video{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0;}
.vid-stage.sm{min-height:200px;border-radius:16px;overflow:hidden;}
.vid-badge{position:absolute;left:14px;top:14px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);font-size:12px;font-weight:600;padding:6px 12px;border-radius:99px;color:#16181a;}
.vid-body{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:6px;}
.vid-body.center{text-align:center;align-items:center;}
.vid-eyebrow{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tekst-licht);}
.vid-body h2{font-size:26px;letter-spacing:-.02em;margin:4px 0 6px;}
.vid-body p{color:var(--tekst-zacht);font-size:14.5px;line-height:1.6;margin-bottom:18px;}
.vid-body .knop{align-self:flex-start;}
.vid-body.center .knop{align-self:center;}
/* Vraag + camera */
.vid-top{margin-bottom:18px;}
.vid-progress{height:6px;border-radius:999px;background:var(--grijs-1);overflow:hidden;}
.vid-progress span{display:block;height:100%;background:var(--geel);border-radius:999px;transition:width .4s;}
.vid-tel{font-size:12.5px;color:var(--tekst-licht);font-weight:500;margin-top:8px;}
.vid-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start;}
.vid-vraagpaneel,.vid-camerapaneel{background:var(--wit);border:1px solid var(--lijn);border-radius:20px;padding:16px;box-shadow:var(--schaduw);}
.vid-vraagtekst{font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.35;margin-top:14px;padding:0 4px 4px;}
.vid-cam{position:relative;border-radius:16px;overflow:hidden;background:#16181a;aspect-ratio:4/3;}
.vid-cam video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1);}
.vid-cam-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:14px;text-align:center;padding:20px;}
.vid-cam.rec{box-shadow:0 0 0 3px #ff4d4f, var(--schaduw);}
.vid-cam-acties{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;flex-wrap:wrap;}
.vid-hint{font-size:13px;color:var(--tekst-licht);display:inline-flex;align-items:center;gap:7px;}
.dot-rec{width:9px;height:9px;border-radius:50%;background:#ff4d4f;animation:pulse 1.1s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.knop-stop{display:inline-flex;align-items:center;gap:7px;background:#ff4d4f;color:#fff;border:1px solid #ff4d4f;padding:11px 22px;border-radius:980px;font-weight:600;font-size:14px;cursor:pointer;}
.knop-stop:hover{filter:brightness(.95);}
@media (max-width:860px){.vid-card{grid-template-columns:1fr;} .vid-grid{grid-template-columns:1fr;}}

/* Recruiter beoordeel-scherm */
.beo-kaart{background:var(--wit);border:1px solid var(--lijn);border-radius:20px;box-shadow:var(--schaduw);overflow:hidden;}
.beo-kop{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 24px;border-bottom:1px solid var(--lijn);flex-wrap:wrap;}
.beo-pers{display:flex;align-items:center;gap:13px;}
.beo-av{width:44px;height:44px;border-radius:50%;background:#1e2125;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:15px;}
.beo-pers b{font-size:15.5px;} .beo-pers span{display:block;font-size:12.5px;color:var(--tekst-licht);margin-top:2px;}
.beo-status{font-size:12.5px;font-weight:600;padding:6px 13px;border-radius:99px;background:var(--grijs-1);color:var(--tekst-zacht);}
.beo-status.s-uitgenodigd{background:#eafbe0;color:#3c6b16;}
.beo-status.s-afgewezen{background:#fbeaea;color:#9a3b34;}
.beo-videos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;padding:22px 24px;}
.beo-vid{display:flex;flex-direction:column;}
.beo-vraag{font-size:13.5px;font-weight:600;line-height:1.35;margin-bottom:9px;display:flex;gap:8px;align-items:flex-start;}
.beo-nr{flex-shrink:0;width:21px;height:21px;border-radius:6px;background:var(--geel);color:#16181a;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.beo-vid video{width:100%;border-radius:12px;background:#16181a;aspect-ratio:4/3;object-fit:cover;}
.beo-leeg{font-size:12.5px;color:var(--tekst-licht);background:var(--grijs-1);border-radius:12px;padding:22px 16px;text-align:center;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;}
.beo-duur{font-size:11.5px;color:var(--tekst-licht);margin-top:7px;}
.beo-acties{display:flex;justify-content:flex-end;gap:12px;padding:18px 24px;border-top:1px solid var(--lijn);flex-wrap:wrap;}

/* ============================================================
   v32 — immersive Hireflix-studio (gecentreerd, gekaderd, diep)
   ============================================================ */
.vidwrap{max-width:none;}
.vid-studio{max-width:600px;margin:10px auto 0;display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;}
/* voortgang */
.vid-dots{display:flex;gap:8px;}
.vid-dots span{width:30px;height:5px;border-radius:99px;background:var(--lijn-donker);transition:background .3s;}
.vid-dots span.nu{background:var(--geel);}
.vid-dots span.done{background:#1e2125;}
.vid-tel{font-size:13px;color:var(--tekst-licht);font-weight:600;margin-top:-6px;}
/* vraag-kop */
.vid-vraagkop{display:flex;gap:12px;align-items:center;text-align:left;background:var(--wit);border:1px solid var(--lijn);border-radius:16px;padding:14px 18px;box-shadow:var(--schaduw);width:100%;}
.vid-mini{width:40px;height:40px;border-radius:50%;background:#1e2125;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.vid-mini-label{font-size:11.5px;color:var(--tekst-licht);font-weight:600;}
.vid-vraagtekst{font-size:16px;font-weight:600;letter-spacing:-.01em;line-height:1.32;margin-top:2px;color:var(--tekst);}
/* het "scherm" = camera, gekaderd met diepte */
.vid-screen{position:relative;width:100%;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:#0c0d0f;border:7px solid #16181a;box-shadow:0 34px 80px rgba(0,0,0,.42);}
.vid-screen video{width:100%;height:100%;object-fit:cover;display:block;}
.vid-screen:not(.welkom) video{transform:scaleX(-1);}
.vid-cam-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:14px;text-align:center;padding:24px;}
.vid-screen.rec{border-color:#ff4d4f;box-shadow:0 0 0 3px rgba(255,77,79,.35),0 34px 80px rgba(0,0,0,.42);}
.vid-timer{position:absolute;top:14px;right:14px;background:rgba(0,0,0,.62);color:#fff;font-size:14px;font-weight:600;padding:6px 13px;border-radius:99px;backdrop-filter:blur(6px);font-variant-numeric:tabular-nums;display:none;}
.vid-screen.rec .vid-timer{display:block;}
/* welkom/klaar overlay op het scherm */
.vid-screen.welkom{aspect-ratio:16/10;}
.vid-screen-ov{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.6));color:#fff;padding:24px;}
.vid-screen-ov h2{color:#fff;font-size:28px;letter-spacing:-.02em;}
.vid-screen-ov .vid-eyebrow{color:var(--geel);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;}
.vid-grootemoji{font-size:42px;}
/* controls */
.vid-ctrl{display:flex;flex-direction:column;align-items:center;gap:13px;width:100%;}
.vid-intro{color:var(--tekst-zacht);font-size:14.5px;line-height:1.6;max-width:450px;margin:0;}
.vid-recbtn{display:inline-flex;align-items:center;gap:11px;background:var(--geel);color:#16181a;border:none;padding:16px 34px;border-radius:980px;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 10px 26px rgba(198,251,59,.4);transition:transform .15s ease;}
.vid-recbtn:hover{transform:translateY(-2px);}
.vid-recbtn.lg{padding:18px 42px;font-size:17px;}
.vid-recbtn .vrb-dot{width:13px;height:13px;border-radius:50%;background:#ff4d4f;}
.vid-recbtn.stop{background:#ff4d4f;color:#fff;box-shadow:0 10px 26px rgba(255,77,79,.4);}
.vid-recbtn.stop .vrb-sq{width:12px;height:12px;border-radius:3px;background:#fff;}
.vid-hint{font-size:13px;color:var(--tekst-licht);display:inline-flex;align-items:center;gap:7px;}

/* ============================================================
   v33 — Apple-store flat (geen schaduw) + hero met titel-kader
   ============================================================ */
.ahero .herovid{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;}
.ahero{justify-content:center;}
.ahero .heroinner{max-width:1200px;width:100%;}
.heropanel{max-width:600px;background:rgba(16,18,22,.40);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.16);border-radius:26px;padding:38px 40px;}
.heropanel .eyebrow{color:var(--geel);margin-bottom:14px;}
.heropanel h1{color:#fff;margin-bottom:16px;}
.heropanel .lead{color:rgba(255,255,255,.88);max-width:none;margin-bottom:22px;}
.ahero-cta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.knop-hero{background:var(--geel);color:#16181a;border:none;padding:15px 30px;border-radius:980px;font-weight:700;font-size:15.5px;cursor:pointer;transition:transform .15s ease;}
.knop-hero:hover{transform:translateY(-1px);}
.knop-ghost{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.30);color:#fff;padding:15px 26px;border-radius:980px;font-weight:600;font-size:15px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s ease;}
.knop-ghost:hover{background:rgba(255,255,255,.26);}
.heropanel .rating{margin-top:22px;color:#fff;}
.heropanel .rating span{color:rgba(255,255,255,.85)!important;}
.heropanel .rating .sterren{color:var(--geel);}
/* Diepte zonder schaduw: randen + lagen (Apple-store) */
.vid-screen{box-shadow:none;}
.herocard,.herocard.herofaces{box-shadow:none;border:1px solid rgba(0,0,0,.06);}

/* ============================================================
   v34 — caption in beide app-plaatjes, doorzichtig/lijn-stijl
   ============================================================ */
.eenapp .foto{position:relative;overflow:hidden;border-radius:22px;}
.eenapp .foto img{width:100%;height:100%;object-fit:cover;display:block;}
.app-cap{position:absolute;left:16px;right:16px;bottom:16px;padding:14px 18px;border:1px solid rgba(255,255,255,.5);border-radius:16px;color:#fff;background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-shadow:0 1px 10px rgba(0,0,0,.35);}
.app-cap .ac-kop{font-size:18px;font-weight:600;letter-spacing:-.01em;}
.app-cap .ac-sub{font-size:13px;color:rgba(255,255,255,.88);margin-top:4px;line-height:1.4;}

/* ============================================================
   v35 — Hero A: foto links + video rechts, tekst gecentreerd eronder
   ============================================================ */
.ahero-a{padding:18px 0 8px;}
.ha-media{display:flex;gap:16px;height:clamp(300px,40vw,440px);}
.ha-foto,.ha-vid{flex:1;border-radius:20px;overflow:hidden;background:#e7e8ea;}
.ha-foto{background-size:cover;background-position:center;}
.ha-vid{background:#16181a;}
.ha-vid video{width:100%;height:100%;object-fit:cover;display:block;}
.ha-txt{text-align:center;padding:30px 0 10px;max-width:680px;margin:0 auto;}
.ha-txt .eyebrow{font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--tekst-licht);}
.ha-txt h1{font-size:clamp(34px,5vw,56px);letter-spacing:-.035em;line-height:1.02;color:var(--tekst);margin:12px 0 14px;}
.ha-txt .lead{font-size:16px;line-height:1.6;color:var(--tekst-zacht);max-width:520px;margin:0 auto 22px;}
.ha-cta{display:flex;gap:11px;justify-content:center;flex-wrap:wrap;}
.knop-licht{background:var(--wit);border:1px solid var(--lijn-donker);color:var(--tekst);font-size:15px;font-weight:500;padding:13px 26px;border-radius:980px;cursor:pointer;transition:background .2s ease,border-color .2s ease;}
.knop-licht:hover{background:var(--grijs-1);border-color:#bdbfc4;}
.ha-rating{margin-top:18px;font-size:13px;color:var(--tekst-licht);}
.ha-rating .sterren{color:#3a3d42;letter-spacing:1px;margin-right:7px;}
@media (max-width:760px){.ha-media{flex-direction:column;height:auto;gap:12px;}.ha-foto,.ha-vid{height:230px;}.ha-txt{padding:24px 0 6px;}}

/* ============================================================
   v36 — Hero A paginabreed (full-bleed)
   ============================================================ */
.ahero-a{width:100vw;margin-left:calc(50% - 50vw);padding:18px clamp(16px,3vw,40px) 8px;}
.ha-media{height:clamp(320px,44vw,540px);gap:18px;}
@media (max-width:760px){.ahero-a{padding:14px 16px 4px;}.ha-media{height:auto;}}

/* ============================================================
   v37 — Piekfijn-pagina: flex/HQ-scheiding, zwarte funnel, cases, FAQ
   ============================================================ */
.knop-geel{background:var(--geel);color:#16181a;border:none;padding:13px 26px;border-radius:980px;font-size:15px;font-weight:600;cursor:pointer;transition:filter .2s ease,transform .15s ease;}
.knop-geel:hover{filter:brightness(.96);transform:translateY(-1px);}

/* Twee paden: flex breed, HQ verticaal */
.paden{display:grid;grid-template-columns:1.6fr 1fr;gap:20px;margin-top:22px;align-items:start;}
.pad{background:var(--wit);border:1px solid var(--lijn);border-radius:20px;overflow:hidden;}
.pad-foto{background-size:cover;background-position:center;position:relative;}
.pad--flex .pad-foto{aspect-ratio:16/9;}
.pad--hq .pad-foto{aspect-ratio:3/4;}
.pad-tag{position:absolute;left:14px;top:14px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:500;padding:6px 13px;border-radius:99px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);}
.pad-body{padding:22px 24px 24px;}
.pad-body h3{font-size:21px;letter-spacing:-.02em;margin-bottom:8px;}
.pad-body p{font-size:14.5px;color:var(--tekst-zacht);line-height:1.55;margin-bottom:16px;}
@media(max-width:760px){.paden{grid-template-columns:1fr;} .pad--hq .pad-foto{aspect-ratio:16/9;}}

/* Zwarte funnel met gele accenten */
.funnel{background:#16181a;border-radius:24px;padding:48px 40px;margin-top:66px;color:#fff;}
.funnel-eye{color:var(--geel);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;}
.funnel-kop h2{color:#fff;font-size:30px;letter-spacing:-.03em;}
.funnel-stappen{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:34px 0 30px;}
.fstap{border-top:1px solid rgba(255,255,255,.16);padding-top:16px;}
.fstap .fnr{font-size:24px;font-weight:700;color:var(--geel);letter-spacing:-.02em;}
.fstap h4{font-size:16px;margin:9px 0 6px;color:#fff;}
.fstap p{font-size:13.5px;color:rgba(255,255,255,.62);line-height:1.5;}
@media(max-width:760px){.funnel{padding:34px 22px;} .funnel-stappen{grid-template-columns:1fr 1fr;}}

/* Cases */
.cases{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px;}
.case{background:var(--wit);border:1px solid var(--lijn);border-radius:20px;overflow:hidden;}
.case-foto{aspect-ratio:16/10;background-size:cover;background-position:center;position:relative;}
.case-tag{position:absolute;left:14px;top:14px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;font-weight:500;padding:6px 12px;border-radius:99px;}
.case-body{padding:22px 24px 24px;}
.case-body h3{font-size:20px;letter-spacing:-.02em;margin-bottom:8px;}
.case-pf{font-size:14.5px;color:var(--tekst-zacht);line-height:1.6;margin-bottom:16px;}
.case-quote{border-left:2px solid var(--geel);padding-left:14px;font-size:14.5px;color:var(--tekst);line-height:1.5;border-radius:0;}
.case-wie{display:block;font-size:12.5px;color:var(--tekst-licht);margin-top:7px;}
@media(max-width:760px){.cases{grid-template-columns:1fr;}}

/* FAQ accordion */
.faq{max-width:820px;margin-top:8px;}
.faq-item{border-bottom:1px solid var(--lijn);}
.faq-v{width:100%;background:none;border:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 4px;font-size:16.5px;font-weight:500;color:var(--tekst);cursor:pointer;letter-spacing:-.01em;}
.faq-ic{font-size:22px;color:var(--tekst-licht);flex-shrink:0;transition:transform .2s ease;}
.faq-item.open .faq-ic{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:260px;}
.faq-a p{padding:0 4px 20px;font-size:14.5px;color:var(--tekst-zacht);line-height:1.65;max-width:700px;margin:0;}

/* ============================================================
   v39 — brede flex-kaart, verhalen-carousel, kantoorteam-balkjes,
   geel app-rondje, sterkere foto-gradient + hover
   ============================================================ */
/* Brede Flexteam-kaart (zelfde design, full width) */
.flexwide{margin-bottom:16px;}
.jobcard--wide{aspect-ratio:auto;height:clamp(280px,30vw,360px);width:100%;}
.jobcard--wide .joblabel{right:auto;width:auto;max-width:min(420px,70%);}

/* Sterkere zwarte gradient onderaan + lichter bij hover */
.jobcard .grad{background:linear-gradient(180deg,rgba(10,12,14,.30) 0%,rgba(10,12,14,0) 28%,rgba(10,12,14,0) 44%,rgba(10,12,14,.64) 100%);transition:opacity .3s ease;}
.jobcard img{transition:transform .55s ease, filter .3s ease;}
.jobcard:hover img{filter:brightness(1.09);}
.jobcard:hover .grad{opacity:.8;}

/* Verhalen-carousel (zelfde kaarten, doorscrollend) */
.verhalen-carousel{overflow:hidden;margin-top:6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.verhalen-track{display:flex;gap:18px;width:max-content;animation:scrollx 60s linear infinite;}
.verhalen-track .bento-card{width:300px;flex-shrink:0;aspect-ratio:2/3;}

/* Kantoorteam: balkje met naam + functie (2 regels) + pijl */
.faces-track .face{position:relative;}
.facelabel{position:absolute;left:10px;right:10px;bottom:10px;background:#fff;border-radius:13px;padding:9px 10px 9px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.facelabel .ft{display:flex;flex-direction:column;min-width:0;}
.facelabel .fn{font-size:14px;font-weight:600;color:#16181a;line-height:1.15;}
.facelabel .ff{font-size:11.5px;color:var(--tekst-licht);margin-top:2px;}
.facelabel .jarrow{width:32px;height:32px;}
.facelabel .jarrow svg{width:15px;height:15px;}
.faces-track .face:hover .jarrow{background:var(--geel);}

/* "Alles in één app": geel pijl-rondje op de captions */
.app-cap{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.ac-txt{min-width:0;}
.ac-arrow{width:38px;height:38px;border-radius:50%;background:var(--geel);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ac-arrow svg{width:17px;height:17px;}

/* ============================================================
   v40 — analoge film-look (middenweg) op de foto's
   ============================================================ */
.ha-foto,.jobcard img,.bento-card img,.faces-track .face img,.case-foto,.pad-foto,.eenapp .foto img,.quote .who img,.dethero{
  filter:sepia(.17) saturate(.85) contrast(.92) brightness(1.05);
}
.jobcard:hover img{filter:sepia(.10) saturate(.92) contrast(.95) brightness(1.12);}
/* fijne korrel + warme rand-vignette */
.ha-foto::after,.jobcard::after,.bento-card::after,.faces-track .face::after,.eenapp .foto::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;border-radius:inherit;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.10;mix-blend-mode:overlay;
}
.faces-track .face .facelabel,.jobcard .joblabel,.bento-card .bloglabel{z-index:3;}

/* ============================================================
   v41 — origineel beeld terug, hero-accent, glassy 2-laags team, FAQ-kader
   ============================================================ */
/* Analoge look uit — originele foto's */
.ha-foto,.jobcard img,.bento-card img,.faces-track .face img,.case-foto,.pad-foto,.eenapp .foto img,.quote .who img,.dethero{filter:none;}
.jobcard:hover img{filter:brightness(1.08);}
.ha-foto::after,.jobcard::after,.bento-card::after,.faces-track .face::after,.eenapp .foto::after{display:none;}

/* Hero-accent: lime marker onder "events" (geen rainbow, geen streepje) */
.acc-geel{background:linear-gradient(transparent 62%, rgba(198,251,59,.85) 62%);padding:0 .04em;}

/* Kantoorteam: 2 rijen, tegendraads, kleinere tussenruimte, glassy label */
.faces-carousel.two{overflow:hidden;display:flex;flex-direction:column;gap:12px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.faces-carousel.two .faces-track{display:flex;gap:12px;width:max-content;animation:scrollx 70s linear infinite;}
.faces-carousel.two .faces-track.rev{animation:scrollx-rev 70s linear infinite;}
@keyframes scrollx-rev{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.faces-track .face{width:188px;height:240px;}
.facelabel{position:absolute;left:10px;bottom:10px;right:auto;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:12px;padding:8px 13px;display:block;text-shadow:0 1px 8px rgba(0,0,0,.45);}
.facelabel .fn{font-size:13.5px;font-weight:600;color:#fff;display:block;line-height:1.15;}
.facelabel .ff{font-size:11px;color:rgba(255,255,255,.88);display:block;margin-top:1px;}

/* Verhalen: alleen projectnaam (label = naam + pijl) */
.verhalen-track .bloglabel .t{font-size:15px;font-weight:600;}

/* FAQ in wit afgerond kader met spacing */
.faq-card{background:#fff;border:1px solid var(--lijn);border-radius:22px;padding:8px 30px;max-width:880px;}
.faq-card .faq{max-width:none;margin-top:0;}
.faq-card .faq-item:last-child{border-bottom:none;}

/* Event-logo's: gevarieerde merk-achtige lettertypes */
.logoword.lw0{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.03em;font-weight:400;}
.logoword.lw1{font-family:'Playfair Display',serif;font-style:italic;font-weight:600;}
.logoword.lw2{font-family:'Archivo Black',sans-serif;text-transform:uppercase;letter-spacing:-.01em;font-weight:400;}
.logoword.lw3{font-weight:600;font-style:italic;letter-spacing:.02em;}

/* ============================================================
   v42 — verhalen handmatig 3-up, grotere flex-knop, hero-lucht, story
   ============================================================ */
.facelabel{text-align:left;}
.faces-track .face{flex-shrink:0;}
.faq-v{color:#3a3d42;}

/* Verhalen: handmatige scroll (pijlen), 3 zichtbaar, meer hoogte, geen fade */
.carr-nav{display:flex;gap:8px;}
.carr-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--lijn-donker);background:#fff;color:#16181a;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;}
.carr-btn:hover{background:var(--grijs-1);}
.carr-btn svg{width:18px;height:18px;}
.verhalen-scroll{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-top:10px;scrollbar-width:none;}
.verhalen-scroll::-webkit-scrollbar{display:none;}
.verhalen-scroll .bento-card{flex:0 0 calc((100% - 84px)/4);scroll-snap-align:start;aspect-ratio:auto;height:clamp(380px,40vw,560px);}
@media(max-width:860px){.verhalen-scroll .bento-card{flex:0 0 64%;height:420px;}}

/* Brede flex-kaart: grotere knop/pijl + titel */
.jobcard--wide .joblabel{padding:16px 16px 16px 24px;}
.jobcard--wide .joblabel .jt{font-size:21px;}
.jobcard--wide .joblabel .js{font-size:13.5px;}
.jobcard--wide .jarrow{width:52px;height:52px;}
.jobcard--wide .jarrow svg{width:22px;height:22px;}

/* Hero-tekstblok meer lucht (spacing is key) */
.ha-txt{padding:42px 0 16px;}
.ha-txt h1{margin:16px 0 20px;}
.ha-txt .lead{margin-bottom:28px;}

/* Verhaal (blogpost-pagina) */
.vh-hero{position:relative;border-radius:24px;min-height:430px;background-size:cover;background-position:center;display:flex;align-items:flex-end;margin:14px 0 32px;}
.vh-hero-ov{padding:40px;}
.vh-hero-ov .vh-eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--geel);margin-bottom:10px;}
.vh-hero-ov h1{color:#fff;font-size:clamp(34px,5vw,54px);letter-spacing:-.03em;line-height:1.03;}
.vh-body{max-width:680px;margin:0 auto;}
.vh-body p{font-size:17px;line-height:1.8;color:var(--tekst-zacht);margin-bottom:20px;}
.vh-cta{max-width:680px;margin:18px auto 0;}

/* ============================================================
   v44 — Flex-split: event-foto links + carrousel rechts (1 geheel)
   ============================================================ */
.flexsplit{display:grid;grid-template-columns:0.9fr 1.1fr;gap:12px;height:clamp(300px,34vw,400px);margin-top:4px;}
.flexsplit > div{height:100%;min-width:0;}
.jobcard--half{aspect-ratio:auto;height:100%;width:100%;}
.flex-carr{overflow:hidden;border-radius:22px;}
.flex-carr-track{display:flex;gap:10px;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;}
.flex-carr-track::-webkit-scrollbar{display:none;}
.flex-ev{position:relative;flex:0 0 46%;height:100%;border-radius:22px;overflow:hidden;border:none;padding:0;cursor:pointer;scroll-snap-align:start;background:var(--grijs-1);}
.flex-ev img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.flex-ev:hover img{transform:scale(1.04);}
.flex-ev .grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,12,14,.06),rgba(10,12,14,.58));pointer-events:none;}
.flex-ev-lab{position:absolute;left:14px;bottom:14px;color:#fff;font-size:15px;font-weight:600;letter-spacing:-.01em;text-shadow:0 1px 8px rgba(0,0,0,.45);z-index:2;}
@media(max-width:760px){.flexsplit{grid-template-columns:1fr;height:auto;gap:10px;} .flexsplit #home-flex .jobcard{height:240px;} .flex-carr{height:200px;} .flex-ev{flex:0 0 72%;}}

/* Hero-titel + lead iets groter (in verhouding) */
.ha-txt h1{font-size:clamp(40px,5.6vw,64px);}
.ha-txt .lead{font-size:17.5px;max-width:560px;}

/* ============================================================
   v45 — Hero slideshow + rechts foto/video split, zwart kader-titel,
         paginabreedte = hero, HQ-filterchips, mini-vacaturekaarten,
         grotere sfeerimpressie, nette praktische-knop
   ============================================================ */
/* Pagina even breed als de hero */
.pub-main{max-width:1480px;}
.ahero-a{width:auto;margin-left:0;padding:6px 0 8px;}

/* Hero media: links slideshow (50%), rechts foto + verticale video (elk 25%) */
.ha-media{display:grid;grid-template-columns:1fr 1fr;gap:14px;height:clamp(340px,40vw,520px);}
.ha-right{display:grid;grid-template-columns:1fr 1fr;gap:14px;min-width:0;}
.ha-foto,.ha-foto2,.ha-vid{border-radius:22px;overflow:hidden;background:#e7e8ea;}
.ha-foto2{background-size:cover;background-position:center;}
.ha-slideshow{background-size:cover;background-position:center;}
.ha-vid{background:#16181a;}

/* Zwart kader-titel met witte letters + geel blok */
.ha-txt-wrap{display:flex;justify-content:center;padding:26px 0 8px;}
.ha-txt{background:#141618;border-radius:30px;padding:clamp(36px,4.6vw,58px) clamp(30px,5vw,68px);max-width:780px;text-align:center;margin:0;}
.ha-txt .eyebrow{color:rgba(255,255,255,.58);}
.ha-txt h1{color:#fff;font-size:clamp(40px,5.4vw,64px);margin:13px 0 16px;}
.ha-txt .lead{color:rgba(255,255,255,.72);font-size:18px;max-width:560px;}
.ha-txt .acc-geel{color:#fff;}

/* Witte knop met geel pijl-rondje (op zwart) + dezelfde knop op de detailkaart */
.knop-licht-d,.knop-cta{display:inline-flex;align-items:center;gap:12px;background:#fff;color:#16181a;border:1px solid rgba(0,0,0,.1);font-size:15px;font-weight:600;border-radius:980px;cursor:pointer;transition:transform .2s ease,border-color .2s ease;}
.knop-licht-d{padding:8px 8px 8px 24px;border:none;}
.knop-licht-d:hover,.knop-cta:hover{transform:translateY(-1px);}
.knop-cta{justify-content:space-between;width:100%;padding:8px 8px 8px 22px;margin-top:6px;}
.knop-cta:hover{border-color:#bdbfc4;}
.cta-arr{width:36px;height:36px;border-radius:50%;background:#c6fb3b;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.cta-arr svg{width:17px;height:17px;}

/* HQ-filterchips */
.dchips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.dchip{background:var(--grijs-1);border:1px solid var(--lijn);color:var(--tekst-zacht);font-size:13.5px;font-weight:500;padding:7px 16px;border-radius:980px;cursor:pointer;transition:background .18s,color .18s,border-color .18s;}
.dchip:hover{border-color:#bdbfc4;}
.dchip.on{background:#16181a;color:#fff;border-color:#16181a;}

/* Andere vacatures minder prominent (mini-kaarten) */
.jobgrid--mini{grid-template-columns:repeat(3,1fr);gap:14px;}
.jobcard--mini{aspect-ratio:4/3;}
.jobcard--mini .joblabel{padding:12px;}
.jobcard--mini .jt{font-size:15px;}
.jobcard--mini .jarrow{width:34px;height:34px;}
@media(max-width:680px){.jobgrid--mini{grid-template-columns:1fr 1fr;}}

/* Sfeerimpressie groter */
.galerij{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;}
.galerij .g{aspect-ratio:4/5;border-radius:16px;}

@media(max-width:760px){
  .ha-media{grid-template-columns:1fr;height:auto;}
  .ha-right{grid-template-columns:1fr 1fr;height:220px;}
  .ha-foto.ha-slideshow{height:240px;}
  .ha-txt{border-radius:24px;padding:30px 22px;}
}

/* ============================================================
   v46 — Hero terug naar licht (zwart kader weg), 1 foto links +
         video rechts; HQ-blok kleiner/ingekaderd; kantoorteam
         statisch 6-per-rij; meer rust/spacing tussen blokken
   ============================================================ */
/* Hero-tekst weer licht/gecentreerd */
.ha-txt{background:none;border-radius:0;padding:34px 0 12px;max-width:700px;margin:0 auto;text-align:center;}
.ha-cta{justify-content:center;}
.ha-foto,.ha-foto2{background-position:center;background-size:cover;}
.ha-txt .eyebrow{color:var(--tekst-licht);}
.ha-txt h1{color:var(--tekst);}
.ha-txt .lead{color:var(--tekst-zacht);}
.ha-txt .acc-geel{color:inherit;}

/* HQ-vacatures subtieler: smaller container + meer lucht boven */
.hq-blok{max-width:1060px;margin:112px auto 0;}

/* Kantoorteam statisch, 6 per rij */
.faces-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;}
.faces-grid .face{position:relative;min-width:0;width:100%;height:clamp(220px,17vw,264px);border-radius:18px;overflow:hidden;background:var(--grijs-1);margin:0;}
.faces-grid .face img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);}
@media(max-width:1000px){.faces-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:620px){.faces-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}}

/* Meer rust tussen de blokken */
.logos-sectie{margin-top:116px;margin-bottom:116px;}
.quote{margin-top:120px;margin-bottom:120px;}
.faces-sectie{margin-top:120px;}
.verhalen-scroll{margin-bottom:8px;}
.eenapp{margin-bottom:8px;}

/* ============================================================
   v51 — Hero-overlap fix (verticale video spilde uit de nested grid),
         blog met diepte (lead/kopjes/streepjes/quote/highlight),
         praktische-kaart rebrand (grijze bol-pijl knoppen)
   ============================================================ */
/* Hero: verticale video dwong de rechter-grid hoger dan de media → clippen + rijen vastzetten */
.ahero-a{display:block;}
.ha-media{overflow:hidden;}
.ha-right{height:100%;grid-template-rows:100%;min-height:0;}
.ha-right > *{height:100%;min-height:0;overflow:hidden;}
.ha-txt{padding-top:40px;}

/* Blog: diepte */
.vh-lead{font-size:20px;line-height:1.6;color:var(--tekst);}
.vh-h2{font-size:24px;letter-spacing:-.02em;color:var(--tekst);margin:4px 0 2px;font-weight:650;line-height:1.2;}
.vh-hr{border:none;border-top:1px solid var(--lijn);margin:34px 0 28px;}
.vh-quote{font-size:23px;line-height:1.42;letter-spacing:-.01em;color:var(--tekst);border-left:3px solid #c6fb3b;padding:2px 0 2px 22px;margin:30px 0;font-weight:500;}
.vh-quote cite{display:block;font-size:14px;color:var(--tekst-licht);font-style:normal;font-weight:500;margin-top:12px;}

/* Praktische-kaart: beide knoppen wit + grijze bol met pijl, links uitgelijnd */
.knop-cta{text-decoration:none;color:#16181a;}
.cta-lbl{display:inline-flex;align-items:center;gap:9px;}
.cta-wa{width:18px;height:18px;flex:0 0 auto;}
.cta-arr{background:#eceef0;transition:background .18s ease;}
.knop-cta:hover .cta-arr{background:#c6fb3b;}

/* ============================================================
   v52 — Praktische rijen: grijze pijl i.p.v. gekleurde icoontjes;
         alle event/job-foto's iets donkerder + lichter bij hover
         (hero + HQ-koppen uitgezonderd); blog-openingstitel
   ============================================================ */
.det-prow{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:13px 0;}
#screen-detail .det-prow .pl{font-size:14px;color:var(--tekst-licht);font-weight:400;}
#screen-detail .det-prow .pv{font-size:15px;font-weight:600;color:var(--tekst);text-align:right;}

.jobcard img,.flex-ev img,.verhalen-scroll .bento-card img,.eenapp .foto img,.portalvid video{filter:brightness(.88);transition:filter .45s ease,transform .5s ease;}
.jobcard:hover img,.flex-ev:hover img,.verhalen-scroll .bento-card:hover img,.eenapp .foto:hover img{filter:brightness(1.03);}

/* v55 — detail-blokken met bullets (echte vacatureteksten) */
.det-blok #det-b1 p,.det-blok #det-b2 p,.det-blok #det-b3 p,.det-blok #det-b4 p{margin:0 0 12px;}
.det-blok #det-b1 p:last-child,.det-blok #det-b2 p:last-child,.det-blok #det-b3 p:last-child,.det-blok #det-b4 p:last-child{margin-bottom:0;}
.det-ul{list-style:none;margin:6px 0 2px;padding:0;display:flex;flex-direction:column;gap:9px;}
.det-ul li{position:relative;padding-left:24px;line-height:1.5;}
.det-ul li::before{content:"";position:absolute;left:3px;top:9px;width:7px;height:7px;border-radius:50%;background:var(--geel,#c6fb3b);}

/* v57 — "Alles in één app": asymmetrische tegels + 1 gecentreerde knop */
.eenapp-grid--asym{grid-template-columns:1.4fr 0.85fr;}
.eenapp-cta{display:flex;justify-content:center;margin-top:24px;}
.eenapp-cta .knop-cta{width:auto;min-width:300px;}
@media(max-width:760px){.eenapp-grid--asym{grid-template-columns:1fr;}.eenapp-cta .knop-cta{width:100%;min-width:0;}}

/* v59 — Portal-reis: klikbare tegels, diensten, contract, gegevens, mini-toast */
.tegel--klik{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:border-color .15s,transform .12s,box-shadow .15s;}
.tegel--klik:hover{transform:translateY(-1px);border-color:#bdbfc4;}
.tegel-arr{width:34px;height:34px;border-radius:50%;background:#eceef0;display:flex;align-items:center;justify-content:center;flex:0 0 auto;transition:background .15s;}
.tegel-arr svg{width:16px;height:16px;}
.tegel--klik:hover .tegel-arr{background:var(--geel,#c6fb3b);}

.shifts-lijst{display:flex;flex-direction:column;gap:14px;}
.shift-kaart{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--lijn);border-radius:16px;padding:14px;}
.shift-foto{width:104px;height:76px;border-radius:12px;background-size:cover;background-position:center;flex:0 0 104px;}
.shift-mid{flex:1;min-width:0;}
.shift-naam{font-weight:650;font-size:16px;letter-spacing:-.01em;}
.shift-meta{color:var(--tekst-zacht);font-size:13px;margin-top:3px;}
.shift-tags{display:flex;gap:7px;margin-top:9px;}
.shift-tag{font-size:12px;font-weight:600;border:1px solid var(--lijn-donker);color:var(--tekst-zacht);border-radius:999px;padding:3px 10px;}
.shift-tag.geld{background:#f3fbe2;border-color:#dcefb0;color:#5c7416;}
.shift-btn{max-width:150px;flex:0 0 auto;}
.shift-btn.done{background:#e9f7ef;color:#1aa862;}
@media(max-width:600px){.shift-kaart{flex-wrap:wrap}.shift-foto{width:100%;flex-basis:100%;height:130px}.shift-btn{width:100%;max-width:none}}

.contract-kaart,.geg-kaart{max-width:560px;padding:24px 26px;}
.contract-kop{font-size:18px;font-weight:650;margin-bottom:14px;}
.contract-rij{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--lijn);font-size:14.5px;}
.contract-rij span{color:var(--tekst-licht);}
.contract-note{color:var(--tekst-licht);font-size:13px;margin:14px 0;}
.contract-akkoord{display:flex;align-items:center;gap:9px;font-size:14px;margin:6px 0 16px;cursor:pointer;}
.contract-akkoord input{width:auto;}
.geg-rij{margin-bottom:14px;}
.geg-rij label{display:block;font-size:13px;color:var(--tekst-licht);margin-bottom:5px;}
.geg-rij input{width:100%;border:1px solid var(--lijn-donker);border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;color:var(--tekst);}
.knop--vol.done{background:#e9f7ef;color:#1aa862;}

.mini-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#16181a;color:#fff;padding:12px 20px;border-radius:999px;font-size:14px;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;transition:opacity .2s,transform .2s;z-index:200;pointer-events:none;}
.mini-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* v60 — detail centreren + knop-spacing + label/value-contrast + bullets niet geel */
#screen-detail .det-layout{margin-left:auto;margin-right:auto;}
.det-card .knop-cta:first-of-type{margin-top:18px;}
#screen-detail .det-prow .pl{color:var(--tekst-zacht);}
#screen-detail .det-prow .pv{color:#3a3d42;}
.det-ul li::before{background:#33363b;}

/* v61 — Portal: veel minder geel (knoppen charcoal i.p.v. lime), klein accent blijft */
#app-shell .knop, #app-shell .knop--vol, #app-shell .knop.mini{background:#16181a;color:#fff;border:none;}
#app-shell .knop:hover, #app-shell .knop--vol:hover, #app-shell .knop.mini:hover{background:#2a2d31;}
#app-shell .knop--vol.done, #app-shell .knop.mini.done{background:#eef0f2;color:#3a3d42;}
/* Info- en huisregelkaart */
.info-kaart,.hr-kaart{max-width:620px;padding:26px 28px;}
.info-kop{font-size:18px;font-weight:650;margin-bottom:12px;letter-spacing:-.01em;}
.info-kaart p{color:var(--tekst-zacht);line-height:1.6;margin-bottom:12px;}
.info-sub{font-size:13px;color:var(--tekst-licht);}
.hr-lijst{list-style:none;margin:6px 0 18px;padding:0;display:flex;flex-direction:column;gap:12px;}
.hr-lijst li{position:relative;padding-left:26px;line-height:1.5;color:var(--tekst);}
.hr-lijst li::before{content:"";position:absolute;left:4px;top:8px;width:7px;height:7px;border-radius:50%;background:#33363b;}

/* v62 — Video Hireflix-afwerking (minder geel, review/retake) + portal-diepte */
.vid-recbtn{background:#16181a;color:#fff;box-shadow:0 10px 26px rgba(20,22,24,.22);}
.vid-recbtn:hover{transform:translateY(-2px);}
.vid-recbtn.dark{background:#16181a;color:#fff;}
.vid-recbtn.ghost{background:#fff;color:#16181a;border:1px solid var(--lijn-donker);box-shadow:0 6px 18px rgba(20,22,24,.06);}
.vid-recbtn.ghost:hover{border-color:#bdbfc4;}
.vid-recbtn.stop{background:#ff4d4f;color:#fff;box-shadow:0 10px 26px rgba(255,77,79,.35);}
.vid-dots span.nu{background:#16181a;}
.vid-mini.check{background:#1aa862;}
.vid-review-knoppen{display:flex;gap:11px;flex-wrap:wrap;justify-content:center;}
.vid-screen.review{border-color:#16181a;box-shadow:0 24px 60px rgba(0,0,0,.28);}
.vid-screen.review video{transform:none;object-fit:contain;background:#000;}

/* Portal: meer diepte, kaders, rondingen (admin-niveau) */
#app-shell .saldo-kaart,#app-shell .paneel,#app-shell .tegel{box-shadow:0 1px 2px rgba(20,22,24,.04),0 6px 18px rgba(20,22,24,.05);border:1px solid #ebedee;border-radius:18px;}
#app-shell .tegel--klik{transition:box-shadow .16s,transform .12s,border-color .16s;}
#app-shell .tegel--klik:hover{box-shadow:0 12px 32px rgba(20,22,24,.10);transform:translateY(-2px);border-color:#dde0e4;}
#app-shell .paneel{border-radius:20px;}
#app-shell .info-kaart,#app-shell .hr-kaart,#app-shell .contract-kaart,#app-shell .geg-kaart{box-shadow:0 1px 2px rgba(20,22,24,.04),0 8px 24px rgba(20,22,24,.06);border:1px solid #ebedee;}

/* v65 — portal-knoppen: lime-gloed neutraliseren (charcoal, zoals career-page) */
#app-shell .knop, #app-shell .knop--vol, #app-shell .knop.mini{box-shadow:0 6px 16px rgba(20,22,24,.14);}

/* v67 — video 3-2-1 aftelling */
.vid-aftel{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:100px;font-weight:800;color:#fff;background:rgba(0,0,0,.5);z-index:6;letter-spacing:-.03em;}

/* v68 — kandidaat-portal: onboarding-formulier + handtekening-pad */
.geg-tweekol{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.geg-tweekol .geg-rij{margin-bottom:0}
.geg-veilig{font-size:11px;color:#8a8f96;font-weight:500;margin-left:6px;letter-spacing:.01em}
.geg-klaar{margin-top:6px;background:#f1f8e8;border:1px solid #d9ecbb;color:#46611a;border-radius:12px;padding:13px 16px;font-size:14.5px;font-weight:600}
.sign-wrap{position:relative;margin:6px 0 4px}
.sign-canvas{width:100%;height:160px;background:#fafbfb;border:1.5px dashed var(--lijn-d,#D2D2D7);border-radius:14px;touch-action:none;cursor:crosshair;display:block}
.sign-hint{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#b3b7bd;font-size:14px;pointer-events:none}
.sign-clear{position:absolute;top:10px;right:10px;background:#fff;border:1px solid var(--lijn-d,#D2D2D7);border-radius:999px;padding:5px 13px;font-size:12.5px;font-weight:600;color:#5a5e64;cursor:pointer;box-shadow:0 1px 2px rgba(20,22,24,.05)}
.sign-clear:hover{background:#f4f5f6}

/* v69 — app-download eindstap */
.app-klaar{padding:0;overflow:hidden}
.app-hero{text-align:center;padding:38px 30px 26px;background:linear-gradient(180deg,#f6f8f3,#fff);border-bottom:1px solid var(--lijn,#E8E8ED)}
.app-emoji{font-size:46px;margin-bottom:8px}
.app-hero h2{font-size:24px;letter-spacing:-.02em;margin-bottom:8px}
.app-hero p{color:var(--tekst-zacht,#6E6E73);max-width:440px;margin:0 auto;line-height:1.55}
.app-foto-blok{display:flex;align-items:center;gap:18px;padding:24px 30px;border-bottom:1px solid var(--lijn,#E8E8ED)}
.app-foto{width:74px;height:74px;flex:0 0 74px;border-radius:50%;background:#eef0f2 center/cover no-repeat;display:flex;align-items:center;justify-content:center;border:2px dashed #cfd2d6}
.app-foto span{font-size:30px;color:#aeb2b8;font-weight:300}
.app-foto-t{font-weight:650;font-size:16px}
.app-foto-s{color:var(--tekst-zacht,#6E6E73);font-size:13.5px;margin:2px 0 10px;max-width:320px}
.app-foto-btn{display:inline-flex;cursor:pointer}
.app-check{padding:20px 30px;display:flex;flex-direction:column;gap:11px;border-bottom:1px solid var(--lijn,#E8E8ED)}
.app-check-rij{display:flex;align-items:center;gap:11px;font-size:15px}
.ac-ok,.ac-no{width:22px;height:22px;flex:0 0 22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.ac-ok{background:#2bbf73;color:#fff}
.ac-no{background:#e6e7ea;color:#a1a1a6}
.app-stores{display:flex;gap:12px;padding:24px 30px 8px;flex-wrap:wrap}
.app-store{flex:1;min-width:170px;display:flex;align-items:center;gap:12px;background:#16181a;color:#fff;border:none;border-radius:14px;padding:12px 18px;cursor:pointer;transition:transform .12s,opacity .15s}
.app-store:hover{transform:translateY(-1px);opacity:.94}
.app-store .as-ic{font-size:24px;line-height:1}
.app-store span span,.app-store>span{display:flex;flex-direction:column;align-items:flex-start;font-weight:650;font-size:17px;letter-spacing:-.01em}
.app-store small{font-weight:400;font-size:11px;opacity:.8;letter-spacing:0}
.app-note{text-align:center;color:var(--licht,#A1A1A6);font-size:13px;padding:8px 30px 26px}

/* v72 — inlog-modal (magic link) */
.inlog-overlay{position:fixed;inset:0;background:rgba(20,22,24,.42);z-index:200;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px)}
.inlog-overlay.open{display:flex}
.inlog-box{position:relative;background:#fff;border-radius:22px;padding:34px 32px 30px;width:100%;max-width:380px;box-shadow:0 24px 60px rgba(20,22,24,.22);text-align:center}
.inlog-x{position:absolute;top:14px;right:16px;background:none;border:none;font-size:24px;color:#b3b7bd;cursor:pointer;line-height:1}
.inlog-ic{font-size:40px;margin-bottom:8px}
.inlog-kop{font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}
.inlog-sub{color:var(--tekst-zacht,#6E6E73);font-size:14.5px;line-height:1.5;margin-bottom:18px}
.inlog-box input{width:100%;border:1px solid var(--lijn-d,#D2D2D7);border-radius:12px;padding:13px 15px;font-size:15px;margin-bottom:12px;outline:none;text-align:center}
.inlog-box input:focus{border-color:#16181a}
.inlog-foot{margin-top:16px;font-size:13.5px;color:var(--tekst-zacht,#6E6E73)}
.inlog-foot a{color:#16181a;font-weight:600;text-decoration:underline;cursor:pointer}

/* ===== v73 — achterkant rustiger: grijs/zwart, geel = fluistering (PackUp-systeem, géén paars). Gescoped op #app-shell ===== */
#app-shell{--accent:#1D1D1F;--accent-tint:#F2F2F4;--accent-rand:#E6E6E9;--accent-tekst:#1D1D1F;background:#EFEFF1;}
#app-shell .zijbalk{background:rgba(255,255,255,.85);}
/* geel uit standaard beeld -> charcoal */
#app-shell .nav-knop.actief::before{background:#1D1D1F;}
#app-shell .saldo-kaart.accent::before{background:#1D1D1F;}
#app-shell .stap.nu .bol{border:2px solid #1D1D1F;box-shadow:0 0 0 4px rgba(29,29,31,.08);}
#app-shell .stap.nu .bol::after{background:#1D1D1F;}
#app-shell .voortgang span{background:#1D1D1F;}
/* primaire knoppen: charcoal (nooit geel) */
#app-shell .knop{background:#1D1D1F;color:#fff;border:1px solid #1D1D1F;box-shadow:0 1px 2px rgba(20,22,24,.06);}
#app-shell .knop:hover{background:#000;transform:translateY(-1px);}
#app-shell .knop.mini{box-shadow:none;}
/* kaarten/panelen vlakker & koeler (diepte via grijslagen + dunne lijn) */
#app-shell .saldo-kaart,#app-shell .tegel{box-shadow:0 1px 2px rgba(20,22,24,.04);}
#app-shell .saldo-kaart:hover,#app-shell .tegel:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,22,24,.07);}
#app-shell .paneel{box-shadow:0 1px 2px rgba(20,22,24,.04);}
#app-shell .saldo-kaart.accent{border-color:#E6E6E9;}
/* hover-fluistering geel op de nav-iconen */
#app-shell .nav-knop:not(.actief):hover .icoon{color:#7e9e1f;}
#app-shell .zijbalk-logo .punt{color:#7e9e1f;}
/* video-achterkant: donkere knop ipv evt. lime */
#app-shell .vid-recbtn{background:#1D1D1F;color:#fff;}
#app-shell .vid-recbtn.dark{background:#1D1D1F;}
#app-shell .vid-screen-ov .vid-eyebrow{color:#cfd2cb;}

/* ===== v74 — achterkant verfijning (Jony-Ive: dun, lijntjes, grijze blokjes, pijl-knoppen die geel worden + bewegen). Gescoped op #app-shell ===== */
/* dunnere, elegantere typografie */
#app-shell .pagina-kop h1{font-weight:550;letter-spacing:-.035em;}
#app-shell .saldo-getal{font-weight:540;letter-spacing:-.03em;}
#app-shell .saldo-label{font-weight:450;letter-spacing:.01em;}
#app-shell .paneel-kop{font-weight:550;letter-spacing:-.02em;}
#app-shell .stap .st-titel{font-weight:500;letter-spacing:-.015em;}
#app-shell .stap.nu .st-titel{font-weight:560;}
#app-shell .tegel .val{font-weight:540;letter-spacing:-.02em;}
#app-shell .info-kop,#app-shell .geg-kaart,#app-shell .contract-kop{font-weight:550;}

/* status-kaarten = lichtgrijze 'blokjes' (mockup info-vlak) ipv wit, dunne lijn, subtiele diepte */
#app-shell .saldo-kaart{background:#F6F6F8;border:1px solid #E6E6E9;box-shadow:none;}
#app-shell .saldo-kaart:hover{background:#F2F2F5;transform:none;box-shadow:0 4px 14px rgba(20,22,24,.05);}
#app-shell .saldo-kaart.accent{background:#fff;}

/* hoofdpanelen: wit, dunne lijn, hele zachte diepte */
#app-shell .paneel{background:#fff;border:1px solid #E6E6E9;box-shadow:0 1px 2px rgba(20,22,24,.04);}

/* ---- KNOPPEN: echt grijs + dun, met diagonale pijl die geel wordt en beweegt bij hover ---- */
#app-shell .knop, #app-shell .knop.mini, #app-shell .knop--vol{
  background:#F2F2F4;color:#1D1D1F;border:1px solid #E2E2E5;font-weight:500;letter-spacing:-.01em;
  box-shadow:none;gap:9px;padding:11px 17px;border-radius:12px;transition:background .2s,border-color .2s;
}
#app-shell .knop::after{
  content:"";width:15px;height:15px;flex:0 0 15px;margin-left:1px;background:#1D1D1F;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .24s cubic-bezier(.34,1.3,.5,1),background .2s;
}
#app-shell .knop:hover, #app-shell .knop.mini:hover, #app-shell .knop--vol:hover{background:#ECECEF;border-color:#CFCFD3;transform:none;}
#app-shell .knop:hover::after, #app-shell .knop.mini:hover::after, #app-shell .knop--vol:hover::after{background:#c6fb3b;transform:translate(3px,-3px);}
#app-shell .knop:active::after{transform:translate(1px,-1px);}
#app-shell .knop.mini{padding:8px 14px;font-size:13px;border-radius:10px;}
#app-shell .knop--vol{justify-content:space-between;padding:14px 18px;font-size:15px;}
/* secundaire/ghost knop ook met pijl */
#app-shell .knop-stil{background:#fff;border:1px solid #E2E2E5;color:#1D1D1F;font-weight:500;display:inline-flex;align-items:center;gap:8px;}
#app-shell .knop-stil::after{content:"";width:14px;height:14px;background:#9A9A9E;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .24s cubic-bezier(.34,1.3,.5,1),background .2s;}
#app-shell .knop-stil:hover{border-color:#CFCFD3;}
#app-shell .knop-stil:hover::after{background:#c6fb3b;transform:translate(2px,-2px);}

/* ---- LIJNTJES tussen regels + lichtgrijze blokjes ---- */
/* huisregels: rij met dunne scheidingslijn ipv kale bullets */
#app-shell .hr-lijst{list-style:none;padding:0;margin:6px 0 4px;}
#app-shell .hr-lijst li{position:relative;border-top:1px solid #ECECEF;padding:13px 0 13px 22px;font-size:14.5px;color:#3a3a3d;}
#app-shell .hr-lijst li:first-child{border-top:none;}
#app-shell .hr-lijst li::before{content:"";position:absolute;left:2px;top:19px;width:7px;height:7px;border-radius:2px;background:#D6D6DA;}
/* akkoord-checkbox los van de lijst met een lijn erboven, in lichtgrijs blok */
#app-shell .contract-akkoord{margin-top:6px;padding:14px;background:#F6F6F8;border:1px solid #ECECEF;border-radius:12px;font-size:14px;}
/* gegevens-velden met dunne scheidingslijnen */
#app-shell .geg-rij{padding:12px 0;border-top:1px solid #ECECEF;}
#app-shell .geg-rij:first-child{border-top:none;}
#app-shell .geg-rij label{font-weight:450;}
/* contract-regels al lijntjes — net iets luchtiger */
#app-shell .contract-rij{border-color:#ECECEF;}
#app-shell .geg-klaar{background:#F2F7EA;border-color:#DCEBC6;}

/* dunnere nav-iconen */
#app-shell .nav-knop .icoon{stroke-width:1.6;}

/* ===== v76 — video + training in dezelfde verfijnde achterkant-stijl (grijze pijl-knoppen, geen groot zwart) ===== */
#app-shell .vid-recbtn{background:#F2F2F4;color:#1D1D1F;border:1px solid #E2E2E5;box-shadow:none;font-weight:500;gap:10px;}
#app-shell .vid-recbtn.dark{background:#F2F2F4;color:#1D1D1F;border:1px solid #E2E2E5;}
#app-shell .vid-recbtn:hover{background:#ECECEF;border-color:#CFCFD3;transform:translateY(-1px);}
#app-shell .vid-recbtn:not(.stop)::after{content:"";width:16px;height:16px;flex:0 0 16px;background:#1D1D1F;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .24s cubic-bezier(.34,1.3,.5,1),background .2s;}
#app-shell .vid-recbtn:not(.stop):hover::after{background:#c6fb3b;transform:translate(3px,-3px);}
/* record-knop met rode stip krijgt geen pijl (het is geen 'ga'-actie) */
#app-shell .vid-recbtn:has(.vrb-dot)::after{display:none;}
/* stop blijft rood (signaal) */
#app-shell .vid-recbtn.stop{background:#ff4d4f;color:#fff;border-color:#ff4d4f;}
#app-shell .vid-intro{color:var(--tekst-zacht);}
#app-shell .vid-screen-ov .vid-eyebrow{color:#d4d6cf;font-weight:600;}
/* training: rustige lichtgrijze kaart + dunne kop */
#app-shell .info-kaart{background:#fff;border:1px solid #E6E6E9;box-shadow:0 1px 2px rgba(20,22,24,.04);}
#app-shell .info-kaart .info-kop{font-weight:550;letter-spacing:-.02em;}
#app-shell .info-kaart p{color:#4a4a4d;}
#app-shell .info-kaart .info-sub{color:var(--tekst-licht);border-top:1px solid #F0F0F2;padding-top:13px;margin-top:6px;}

/* ===== v77 — portal polish: uitlijning, verhoudingen, echte diepte, JUISTE groen ===== */
/* juiste 'huis'-groen (clean, zoals planningsapp) — 1 plek om te wijzigen */
#app-shell{--g:#34C759;--g-bg:#EAF6E9;--g-tx:#1E7A33;--g-bd:#A7E0AE;}

/* FIX: tracker-titel stond 40px scheef door .inhoud class-botsing met hoofdcontent */
#app-shell .stap{gap:16px;}
#app-shell .stap .inhoud{padding-top:3px !important;padding-bottom:24px;}
#app-shell .stap .bol{width:28px;height:28px;font-size:13px;align-self:flex-start;}
/* afgeronde stappen = juiste groen (positieve voortgang), huidige = charcoal ring */
#app-shell .stap.done .bol{background:var(--g);border-color:var(--g);}
#app-shell .stap.done .lijn{background:var(--g);}
#app-shell .stap.nu .bol{border:2px solid #1D1D1F;box-shadow:0 0 0 4px rgba(29,29,31,.07);}
#app-shell .stap.nu .bol::after{background:#1D1D1F;width:9px;height:9px;}
#app-shell .stap .st-titel{font-size:15.5px;font-weight:550;letter-spacing:-.015em;}
#app-shell .stap.toekomst .st-titel{color:#AFAFB4;font-weight:500;}
#app-shell .stap .st-sub{font-size:13.5px;color:#8C8C90;}

/* groen-blokken: juiste groen */
#app-shell .geg-klaar{background:var(--g-bg);border-color:var(--g-bd);color:var(--g-tx);font-weight:550;}

/* STATUS-KAARTEN: compacter, consistente verhouding, witte 'focus'-kaart pakt diepte */
#app-shell .saldo-rij{gap:14px;margin-bottom:26px;}
#app-shell .saldo-kaart{background:#F4F4F6;border:1px solid #E6E6E9;border-radius:16px;padding:15px 17px;box-shadow:none;}
#app-shell .saldo-kaart.accent{background:#fff;border-color:#E6E6E9;box-shadow:0 2px 10px rgba(20,22,24,.07);}
#app-shell .saldo-kaart.accent::before{display:none;}
#app-shell .saldo-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#9A9A9E;margin-bottom:9px;}
#app-shell .saldo-getal{font-size:21px;font-weight:550;letter-spacing:-.025em;line-height:1.15;}
#app-shell .saldo-detail{font-size:12.5px;color:#8C8C90;margin-top:6px;}

/* PANELEN + tegels: echte (subtiele) diepte ipv plat wit */
#app-shell .paneel{border-radius:18px;border:1px solid #E6E6E9;box-shadow:0 1px 3px rgba(20,22,24,.05),0 8px 24px rgba(20,22,24,.04);}
#app-shell .paneel-kop{padding:18px 24px;font-weight:600;font-size:14.5px;letter-spacing:-.01em;border-bottom:1px solid #F0F0F2;}
#app-shell .tegel{border-radius:16px;box-shadow:0 1px 3px rgba(20,22,24,.05),0 6px 18px rgba(20,22,24,.04);}

/* H1 + koppen: nette verhouding */
#app-shell .pagina-kop{margin-bottom:24px;}
#app-shell .pagina-kop h1{font-size:25px;font-weight:600;letter-spacing:-.035em;}

/* tracker-paneel iets meer lucht */
#app-shell #tracker{padding:22px 24px 8px !important;}

/* ===== v78 — lime + grijs subtieler; géén losse groen; lime leeft op donker, zwart zachter ===== */
/* tijdlijn: zachte charcoal bolletjes + LIME accent (lime-op-donker = brand). geen groen. */
#app-shell .stap .bol{color:#fff;}
#app-shell .stap.done .bol{background:#26282B;border-color:#26282B;color:#c6fb3b;}
#app-shell .stap.nu .bol{background:#26282B;border:none;box-shadow:0 0 0 4px rgba(198,251,59,.18);}
#app-shell .stap.nu .bol::after{content:'';width:9px;height:9px;border-radius:50%;background:#c6fb3b;}
#app-shell .stap.done .lijn,#app-shell .stap .lijn{background:#DADADF;}
#app-shell .stap.toekomst .bol{background:#fff;border:1px solid #D2D2D7;}
/* zwart zachter in grote elementen */
#app-shell .saldo-getal{color:#26282B;font-weight:540;}
#app-shell .pagina-kop h1{color:#1F2024;}
/* 'klaar/akkoord' = licht grijs blok i.p.v. groen */
#app-shell .geg-klaar{background:#F6F6F8;border:1px solid #E6E6E9;color:#2A2D31;font-weight:550;}
/* focus-status-kaart: subtiel lime-accentstreepje bovenaan */
#app-shell .saldo-kaart.accent{position:relative;}
#app-shell .saldo-kaart.accent::before{content:"";display:block;position:absolute;left:17px;right:17px;top:0;height:2.5px;border-radius:0 0 3px 3px;background:#c6fb3b;}

/* ===== v79 — Boomer-stijl: ronde pijl-knoppen, géén losse iconen, lijntjes, kleiner/dunner, meer grijze blokjes + diepte ===== */
/* NAV: geen iconen (tekst, zoals Boomer), kleiner */
#app-shell .nav-knop .icoon{display:none !important;}
#app-shell .nav-knop{font-size:13.5px;padding:9px 13px;font-weight:500;}
#app-shell .nav-knop.actief{font-weight:600;}
#app-shell .zijbalk-logo{font-size:18px;}
#app-shell .zijbalk-sub{font-size:10px;}

/* TYPOGRAFIE: dunner + kleiner */
#app-shell .pagina-kop h1{font-size:21px;font-weight:550;letter-spacing:-.03em;color:#1F2024;}
#app-shell .saldo-label{font-size:10px;font-weight:600;letter-spacing:.06em;color:#A0A0A5;}
#app-shell .saldo-getal{font-size:18px;font-weight:550;letter-spacing:-.02em;color:#26282B;}
#app-shell .saldo-detail{font-size:11.5px;color:#9A9A9E;}
#app-shell .paneel-kop{font-size:13px;font-weight:600;letter-spacing:.01em;}
#app-shell .stap .st-titel{font-size:14.5px;font-weight:550;}
#app-shell .stap .st-sub{font-size:12.5px;color:#9A9A9E;}

/* STATUS-KAARTEN: compacte grijze tiles, witte focus-tile met diepte */
#app-shell .saldo-rij{gap:12px;margin-bottom:22px;}
#app-shell .saldo-kaart{background:#F3F3F5;border:1px solid #EAEAEC;border-radius:14px;padding:13px 15px;box-shadow:none;}
#app-shell .saldo-kaart.accent{background:#fff;border-color:#EAEAEC;box-shadow:0 1px 2px rgba(20,22,24,.04),0 10px 24px rgba(20,22,24,.05);}
#app-shell .saldo-label{margin-bottom:7px;}

/* PANELEN: meer diepte */
#app-shell .paneel{border-radius:18px;border:1px solid #EAEAEC;box-shadow:0 1px 2px rgba(20,22,24,.04),0 12px 30px rgba(20,22,24,.05);}
#app-shell .paneel-kop{padding:16px 22px;border-bottom:1px solid #F0F0F2;}
#app-shell #tracker{padding:8px 22px 4px !important;}

/* TRACKER: lijntjes tussen stappen (structuur), kleinere bol */
#app-shell .stap{border-top:1px solid #F2F2F4;padding-top:18px;}
#app-shell .stap:first-child{border-top:none;}
#app-shell .stap .inhoud{padding-top:1px !important;padding-bottom:18px;}
#app-shell .stap .bol{width:24px;height:24px;font-size:12px;}
#app-shell .stap.nu .bol::after{width:8px;height:8px;}
#app-shell .stap .col{padding-top:0;}

/* ===== RONDE PIJL-KNOPPEN (lime = primair, grijs = secundair). géén pill, tekst + cirkel ===== */
#app-shell .knop, #app-shell .knop.mini, #app-shell .knop--vol{
  background:transparent !important;border:none !important;box-shadow:none !important;padding:0 !important;
  display:inline-flex;align-items:center;gap:11px;font-size:13.5px;font-weight:550;color:#1F2024;letter-spacing:-.01em;border-radius:0;
}
#app-shell .knop--vol{width:100%;justify-content:space-between;}
#app-shell .knop::after{
  content:"";width:34px;height:34px;flex:0 0 34px;border-radius:50%;
  background:#c6fb3b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2024' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/15px 15px no-repeat;
  -webkit-mask:none !important;mask:none !important;
  transition:transform .22s cubic-bezier(.34,1.3,.5,1),box-shadow .2s;
}
#app-shell .knop:hover::after{transform:translate(2px,-2px);box-shadow:0 5px 14px rgba(198,251,59,.5);}
#app-shell .knop.mini::after{width:30px;height:30px;flex:0 0 30px;background-size:13px 13px;}
/* secundair (Mijn gegevens e.d.) = grijze cirkel */
#app-shell .knop-stil{background:transparent;border:none;padding:0;display:inline-flex;align-items:center;gap:10px;font-size:13.5px;font-weight:550;color:#1F2024;}
#app-shell .knop-stil::after{
  content:"";width:32px;height:32px;flex:0 0 32px;border-radius:50%;
  background:#ECECEF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F2024' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center/14px no-repeat;
  -webkit-mask:none !important;mask:none !important;transition:transform .22s cubic-bezier(.34,1.3,.5,1),background-color .2s;
}
#app-shell .knop-stil:hover::after{transform:translate(2px,-2px);background-color:#E3E3E6;}

/* v79b — schonere lijst: verticale timeline-lijn weg (horizontale lijntjes dragen de structuur) */
#app-shell .stap .lijn{display:none;}
#app-shell .stap{gap:14px;align-items:flex-start;}
#app-shell .stap .col{padding-top:1px;}
#app-shell .saldo-kaart.accent::before{left:15px;right:15px;height:2px;}

/* ===== v81 — portal-home in echte template-taal: plat-gelaagd (géén schaduw), grijze info-blokken, lime pill-knoppen, dunne functionele icoontjes ===== */
#app-shell{background:#EFEFF1;}
#app-shell .paneel,#app-shell .saldo-kaart,#app-shell .saldo-kaart.accent,#app-shell .tegel{box-shadow:none !important;}
/* status = compacte KPI-tiles */
#app-shell .saldo-rij{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-bottom:18px;}
#app-shell .saldo-kaart{background:#F7F7F8;border:1px solid #E3E3E5;border-radius:12px;padding:12px 14px;}
#app-shell .saldo-kaart.accent{background:#F2FBDD;border-color:#DCEFA6;}
#app-shell .saldo-kaart.accent::before{display:none;}
#app-shell .saldo-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9A9A9E;margin-bottom:7px;}
#app-shell .saldo-kaart.accent .saldo-label{color:#5b7016;}
#app-shell .saldo-getal{font-size:19px;font-weight:550;letter-spacing:-.02em;color:#1D1D1F;}
#app-shell .saldo-detail{font-size:11.5px;color:#9A9A9E;margin-top:5px;}
#app-shell .saldo-bar{height:5px;border-radius:99px;background:#E6E6E9;margin-top:10px;overflow:hidden;}
#app-shell .saldo-bar i{display:block;height:100%;background:#1D1D1F;border-radius:99px;}
/* paneel plat + eyebrow-kop */
#app-shell .paneel{background:#fff;border:1px solid #E3E3E5;border-radius:16px;}
#app-shell .paneel-kop{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#9A9A9E;padding:15px 20px;border-bottom:1px solid #EFEFF1;}
#app-shell #tracker{padding:4px 20px 12px !important;}
/* voortgang-stappen */
#app-shell .vstep{display:grid;grid-template-columns:24px 1fr;gap:14px;padding:15px 0;border-top:1px solid #F1F1F3;}
#app-shell .vstep:first-child{border-top:none;}
#app-shell .vstep-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;background:#fff;border:1.5px solid #CFCFD3;color:transparent;margin-top:1px;flex:0 0 24px;}
#app-shell .vstep.done .vstep-dot{background:#26282B;border-color:#26282B;color:#c6fb3b;}
#app-shell .vstep.nu .vstep-dot{background:#26282B;border:none;box-shadow:0 0 0 4px rgba(198,251,59,.22);}
#app-shell .vstep.nu .vstep-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:#c6fb3b;}
#app-shell .vstep-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
#app-shell .vstep-titel{font-size:14.5px;font-weight:550;color:#1D1D1F;letter-spacing:-.015em;}
#app-shell .vstep.toekomst .vstep-titel{color:#B6B6BA;font-weight:500;}
#app-shell .vsub{font-size:12.5px;color:#9A9A9E;margin-top:3px;}
#app-shell .vstep.toekomst .vsub{color:#BFBFC3;}
#app-shell .vpill{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:8px;border:1px solid #E3E3E5;background:#fff;color:#5F5F63;display:inline-flex;align-items:center;gap:4px;}
#app-shell .vpill.ok{background:#F2FBDD;border-color:#DCEFA6;color:#52691a;}
/* grijs info-blok (template .info) */
#app-shell .vblok{background:#F7F7F8;border:1px solid #E3E3E5;border-radius:12px;padding:10px 12px;margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
#app-shell .vblok-l{font-size:12.5px;color:#5F5F63;display:flex;align-items:center;gap:8px;min-width:0;}
#app-shell .vblok-l svg{width:16px;height:16px;flex:0 0 16px;color:#9A9A9E;}
/* lime pill-knop met pijl (template .btn-p) */
#app-shell .vbtn{display:inline-flex;align-items:center;gap:7px;background:#c6fb3b;color:#1D1D1F;border:none;border-radius:10px;padding:9px 14px;font-size:12.5px;font-weight:600;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:transform .15s,box-shadow .2s;flex:0 0 auto;}
#app-shell .vbtn svg{width:15px;height:15px;flex:0 0 15px;color:#1D1D1F;transition:transform .2s;}
#app-shell .vbtn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(198,251,59,.5);}
#app-shell .vbtn:hover svg{transform:translate(2px,-2px);}
