/* JitVision — hoofdnavigatie met submenu's (homepage, gedeelde pagina's, /tools) */
.jvn{
  --jvn-ink:#0B2545;--jvn-body:#475569;--jvn-mute:#64748B;--jvn-line:#E4EAF2;--jvn-soft:#F5F9FE;
  --jvn-b50:#EAF3FE;--jvn-b500:#3580BD;--jvn-b700:#1F5A8C;
  position:sticky;top:0;z-index:60;font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);
  border-bottom:1px solid var(--jvn-line);padding-top:env(safe-area-inset-top);
  transition:background-color .3s ease,border-color .3s ease
}
.jvn *{box-sizing:border-box}
.jvn a{text-decoration:none;color:inherit}
.jvn button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.jvn :focus-visible{outline:2px solid var(--jvn-b500);outline-offset:2px;border-radius:10px}
.jvn-bar{position:relative;display:flex;align-items:center;gap:28px;height:68px;max-width:1200px;margin:0 auto;padding:0 max(clamp(16px,4vw,40px),env(safe-area-inset-left))}
.jvn-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:19px;letter-spacing:-.03em;color:var(--jvn-ink);flex:none}
.jvn-brand svg{width:30px;height:30px;display:block}
.jvn-menu{flex:1;display:flex;align-items:center;justify-content:center;gap:24px;min-width:0}
.jvn-list{display:flex;align-items:center;gap:2px;margin:0;padding:0;list-style:none}
.jvn .jvn-top{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 13px;border-radius:999px;font-size:14.5px;font-weight:500;color:var(--jvn-body);transition:color .2s,background-color .2s;white-space:nowrap}
.jvn-top:hover,.jvn-item.is-open>.jvn-top{color:var(--jvn-ink);background:var(--jvn-soft)}
.jvn-top[aria-current="page"]{color:var(--jvn-ink)}
.jvn-top svg{width:14px;height:14px;transition:transform .25s ease;opacity:.7}
.jvn-item.is-open>.jvn-top svg{transform:rotate(180deg)}
.jvn-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 18px;border-radius:12px;font-size:14.5px;font-weight:600;color:#fff!important;background:var(--jvn-b700);box-shadow:0 8px 20px -10px rgba(31,90,140,.8);transition:background-color .2s,transform .2s;white-space:nowrap}
.jvn-cta:hover{background:var(--jvn-ink);transform:translateY(-1px)}
.jvn-cta svg{width:15px;height:15px}
.jvn-burger{display:none;width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center;color:var(--jvn-ink);border:1px solid var(--jvn-line)!important;background:#fff!important;margin-left:auto}
.jvn-burger svg{width:20px;height:20px}
.jvn-burger .x{display:none}

/* submenu panel (desktop) */
.jvn-sub{position:absolute;top:calc(100% - 6px);left:50%;width:min(760px,calc(100vw - 32px));transform:translate(-50%,8px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s}
.jvn-item.is-open>.jvn-sub{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition:opacity .18s ease,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s}
.jvn-panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:8px;padding:8px;border-radius:20px;background:#fff;border:1px solid var(--jvn-line);box-shadow:0 30px 70px -30px rgba(11,37,69,.35),0 2px 6px rgba(11,37,69,.05)}
.jvn-links{display:grid;gap:2px;padding:6px;margin:0;list-style:none}
.jvn-link{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:center;padding:10px 12px;border-radius:14px;transition:background-color .18s}
.jvn-link:hover{background:var(--jvn-soft)}
.jvn-link i{width:40px;height:40px;border-radius:11px;background:var(--jvn-b50);display:grid;place-items:center;color:var(--jvn-b700);transition:background-color .18s,color .18s}
.jvn-link:hover i{background:var(--jvn-b700);color:#fff}
.jvn-link i svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jvn .jvn-link b{display:block;font-size:15px;font-weight:600;color:var(--jvn-ink);letter-spacing:-.01em;line-height:1.3}
.jvn .jvn-link small{display:block;font-size:13px;color:var(--jvn-mute);line-height:1.4;margin-top:1px}
.jvn-feat{display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:22px;border-radius:14px;background:var(--jvn-ink);color:#C6D6EA;position:relative;overflow:hidden;min-height:100%}
.jvn-feat::after{content:"";position:absolute;right:-60px;top:-70px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(119,178,248,.45),transparent 65%);pointer-events:none}
.jvn-feat>*{position:relative;z-index:1}
.jvn .jvn-feat em{font-style:normal;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#77B2F8}
.jvn .jvn-feat b{display:block;margin-top:8px;font-size:18px;line-height:1.25;letter-spacing:-.02em;color:#fff;font-weight:650}
.jvn .jvn-feat p{color:#C6D6EA;margin:8px 0 0;font-size:13.5px;line-height:1.5}
.jvn .jvn-feat span{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:#fff}
.jvn-feat span svg{width:15px;height:15px;transition:transform .2s}
.jvn-feat:hover span svg{transform:translateX(3px)}
.jvn .jvn-all{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-radius:12px;background:var(--jvn-soft);font-size:13.5px;color:var(--jvn-mute)}
.jvn-all a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--jvn-b700)}
.jvn-all a svg{width:14px;height:14px}

/* dark overlay variant: transparent over a dark hero until you scroll */
.jvn--overlay{position:fixed;inset:0 0 auto;background:transparent;border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.jvn--overlay:not(.is-scrolled):not(.is-menu) .jvn-brand{color:#fff}
.jvn--overlay:not(.is-scrolled):not(.is-menu) .jvn-top{color:rgba(255,255,255,.82)}
.jvn--overlay:not(.is-scrolled):not(.is-menu) .jvn-top:hover,.jvn--overlay:not(.is-scrolled):not(.is-menu) .jvn-item.is-open>.jvn-top{color:#fff;background:rgba(255,255,255,.12)}
.jvn--overlay:not(.is-scrolled):not(.is-menu) .jvn-cta{background:#fff;color:var(--jvn-ink)!important;box-shadow:0 8px 24px -10px rgba(6,22,40,.5)}
.jvn--overlay:not(.is-scrolled):not(.is-menu) .jvn-burger{color:#fff;background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.3)!important}
.jvn--overlay.is-scrolled,.jvn--overlay.is-menu{background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:var(--jvn-line)}

/* mobile */
@media (max-width:940px){
  .jvn-burger{display:inline-flex}
  .jvn-bar>.jvn-cta{display:none}
  .jvn-menu{position:fixed;left:0;right:0;top:calc(68px + env(safe-area-inset-top));bottom:0;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:8px max(16px,env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom));background:#fff;overflow-y:auto;overscroll-behavior:contain;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s linear .25s}
  .jvn.is-menu .jvn-menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.2,1),visibility 0s}
  .jvn.is-menu .jvn-burger .x{display:block}.jvn.is-menu .jvn-burger .m{display:none}
  .jvn-list{flex-direction:column;align-items:stretch;gap:0}
  .jvn-item{border-bottom:1px solid var(--jvn-line)}
  .jvn-top,.jvn--overlay .jvn-top{width:100%;justify-content:space-between;height:58px;padding:0 4px;font-size:18px;font-weight:600;color:var(--jvn-ink)!important;border-radius:0;background:none!important}
  .jvn-top svg{width:18px;height:18px}
  .jvn-sub{position:static;width:auto;transform:none;opacity:1;visibility:visible;pointer-events:auto;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.2,.7,.2,1)}
  .jvn-item.is-open>.jvn-sub{transform:none;grid-template-rows:1fr}
  .jvn-sub>.jvn-panel{overflow:hidden;min-height:0;grid-template-columns:1fr;padding:0;border:0;box-shadow:none;border-radius:0;gap:0}
  .jvn-item.is-open>.jvn-sub>.jvn-panel{padding-bottom:12px}
  .jvn-links{padding:0}
  .jvn-link{padding:10px 4px}
  .jvn-feat{margin-top:6px;padding:18px}
  .jvn-all{margin-top:8px}
  .jvn-menu>.jvn-cta{display:flex;margin-top:24px;min-height:52px;font-size:16px}
}
@media (min-width:941px){.jvn-menu>.jvn-cta{display:none}}
@media (min-width:941px) and (max-width:1060px){.jvn-bar{gap:16px}.jvn-top{padding:0 10px;font-size:14px}}
html.jvn-lock,html.jvn-lock body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.jvn *,.jvn{transition:none!important}}
/* a backdrop-filter turns the header into the containing block of the fixed mobile menu; use a solid bar on mobile */
@media (max-width:940px){
  .jvn,.jvn--overlay.is-scrolled,.jvn--overlay.is-menu{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}
  .jvn--overlay:not(.is-scrolled):not(.is-menu){background:transparent}
}
