:root{
  --nmg-navy:#14284B;
  --nmg-navy-dark:#0B1730;
  --nmg-navy-2:#1C355F;
  --nmg-navy-soft:#E9EEF6;
  --nmg-navy-tint:#C9D4E6;
  --nmg-goud:#E0A526;
  --nmg-goud-dark:#B98614;
  --nmg-goud-soft:#FBF1D6;
  --nmg-goud-ink:#7A5A0E;
  --nmg-ink:#0F172A;
  --nmg-ink-2:#475569;
  --nmg-muted:#64748B;
  --nmg-grey:#F4F6FA;
  --nmg-grey-2:#EBEFF5;
  --nmg-border:#E3E8F0;
  --nmg-green:#1B9E6D;
  --nmg-green-soft:#E3F5EC;
  --nmg-red:#C0392B;
  --nmg-red-soft:#FDECEA;
  --nmg-red-border:#F5C6C0;
  --nmg-on-dark:#AFBBD0;
  --nmg-on-dark-2:#DCE3EF;
  --nmg-radius-card:18px;
  --nmg-radius-box:22px;
  --nmg-radius-btn:10px;
  --nmg-shadow-card:0 6px 24px rgba(15,23,42,.07);
  --nmg-shadow-pop:0 18px 48px rgba(15,23,42,.16);
  --nmg-font:'Manrope','Segoe UI',-apple-system,sans-serif;
  --nmg-kop:'Manrope','Segoe UI',-apple-system,sans-serif;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:hidden; }
body.nmgBody{
  margin:0; padding:0;
  font-family:var(--nmg-font);
  font-size:17px; line-height:1.65;
  color:var(--nmg-ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  max-width:100%;
}
.nmgBody img{ max-width:100%; height:auto; }
.nmgBody a{ color:var(--nmg-navy); text-decoration:none; }
.nmgBody h1,.nmgBody h2{ font-family:var(--nmg-kop); font-weight:600; letter-spacing:-.02em; color:var(--nmg-ink); margin:0; text-wrap:balance; }
.nmgBody h3,.nmgBody h4{ font-family:var(--nmg-font); font-weight:700; color:var(--nmg-ink); margin:0; text-wrap:balance; }
.nmgBody p,.nmgBody li,.nmgBody dd{ text-wrap:pretty; }
.nmgBody ::selection{ background:var(--nmg-goud-soft); }
.nmgBody button{ font-family:var(--nmg-font); }

.nmgContainer{ max-width:1200px; margin:0 auto; padding:0 24px; }
.nmgContainer--sm{ max-width:960px; }
.nmgContainer--xs{ max-width:720px; }
.nmgSkip{ position:absolute; left:-9999px; }
.nmgSkip:focus{ left:12px; top:12px; z-index:9999; background:#fff; padding:10px 16px; border-radius:8px; box-shadow:var(--nmg-shadow-pop); }
.nmgVisueelWeg{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

.nmgBtn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:14px 24px;
  border:0; border-radius:var(--nmg-radius-btn);
  font-family:var(--nmg-font); font-size:15.5px; font-weight:700; line-height:1.2;
  cursor:pointer; text-decoration:none !important;
  transition:background .16s, box-shadow .16s, border-color .16s, color .16s;
  white-space:nowrap;
}
.nmgBtn svg{ width:18px; height:18px; flex-shrink:0; }
.nmgBtn--primary{ background:var(--nmg-navy); color:#fff !important; box-shadow:0 8px 20px -8px rgba(20,40,75,.6); }
.nmgBtn--primary:hover{ background:var(--nmg-navy-dark); }
.nmgBtn--goud{ background:var(--nmg-goud); color:var(--nmg-navy-dark) !important; font-weight:800; }
.nmgBtn--goud:hover{ background:#EBB43A; }
.nmgBtn--white{ background:#fff; color:var(--nmg-navy) !important; border:1px solid var(--nmg-border); box-shadow:0 4px 14px rgba(15,23,42,.06); }
.nmgBtn--white:hover{ border-color:var(--nmg-navy-tint); box-shadow:0 8px 20px rgba(15,23,42,.1); }
.nmgBtn--outline{ background:transparent; color:var(--nmg-navy) !important; border:1.5px solid var(--nmg-navy); }
.nmgBtn--outline:hover{ background:var(--nmg-navy-soft); }
.nmgBtn--ghost{ background:rgba(255,255,255,.08); color:#fff !important; border:1.5px solid rgba(255,255,255,.4); }
.nmgBtn--ghost:hover{ background:rgba(255,255,255,.16); }
.nmgBtn--support{ background:#fff; color:var(--nmg-navy) !important; border:1px solid var(--nmg-navy); border-radius:50px; padding:10px 21px; font-size:15px; }
.nmgBtn--support:hover{ background:var(--nmg-navy-soft); }
.nmgBtn--sm{ padding:10px 16px; font-size:14.5px; border-radius:9px; }
.nmgBtn--lg{ padding:17px 30px; font-size:17px; border-radius:12px; }
.nmgBtn--block{ width:100%; }
.nmgBtn[disabled]{ opacity:.6; cursor:wait; }
.nmgLink{ display:inline-flex; align-items:center; gap:7px; font-weight:800; color:var(--nmg-navy); font-size:15px; }
.nmgLink svg{ width:15px; height:15px; transition:transform .15s; }
.nmgLink:hover svg{ transform:translateX(3px); }

.nmgHeader{ position:sticky; top:0; z-index:900; background:#fff; box-shadow:0 1px 0 var(--nmg-border); transition:box-shadow .2s; }
.nmgHeader.is-scrolled{ box-shadow:0 2px 18px rgba(15,23,42,.1); }
.nmgTop{ max-width:1280px; margin:0 auto; padding:0 24px; height:70px; display:flex; align-items:center; gap:20px; }
.nmgLogo{ display:inline-flex; align-items:center; gap:10px; color:var(--nmg-ink) !important; text-decoration:none !important; flex-shrink:0; line-height:1; }
.nmgLogo__mark{ width:44px; height:44px; color:var(--nmg-navy); display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.nmgLogo__mark svg{ width:44px; height:44px; display:block; }
.nmgMerk__punt{ fill:var(--nmg-goud); }
.nmgLogo__woord{ font-family:var(--nmg-font); font-size:22px; font-weight:800; letter-spacing:-.6px; color:var(--nmg-ink); white-space:nowrap; }
.nmgLogo__woord span{ color:var(--nmg-goud-dark); }
.nmgUtil{ margin-left:auto; display:flex; align-items:center; gap:4px; }
.nmgUtil > a{ display:inline-flex; align-items:center; gap:7px; padding:10px 13px; border-radius:10px; font-size:15px; font-weight:700; color:var(--nmg-ink); }
.nmgUtil > a:hover{ color:var(--nmg-navy); background:var(--nmg-navy-soft); }
.nmgUtil > a svg{ width:17px; height:17px; }
.nmgUtil .nmgBtn{ margin-left:8px; padding:11px 18px; font-size:14.5px; }
.nmgBurger{ display:none; width:44px; height:44px; align-items:center; justify-content:center; background:none; border:0; cursor:pointer; color:var(--nmg-ink); border-radius:10px; margin-left:4px; }
.nmgBurger:hover{ background:var(--nmg-grey); }
.nmgBurger svg{ width:24px; height:24px; }

.nmgBand{ background:var(--nmg-navy); position:relative; z-index:890; }
.nmgBand__inner{ max-width:1280px; margin:0 auto; padding:0 24px; display:flex; justify-content:center; }
.nmgNav{ display:flex; align-items:center; }
.nmgMenu{ list-style:none; margin:0; padding:0; display:flex; align-items:stretch; gap:2px; }
.nmgMenuItem{ position:static; }
.nmgMenuItem > a{ display:inline-flex; align-items:center; gap:7px; padding:0 20px; height:52px; font-size:15.5px; font-weight:700; color:#fff; position:relative; cursor:pointer; letter-spacing:.1px; }
.nmgMenuItem > a::after{ content:''; position:absolute; left:20px; right:20px; bottom:0; height:3px; border-radius:3px 3px 0 0; background:var(--nmg-goud); opacity:0; transition:opacity .16s; }
.nmgMenuItem > a:hover::after, .nmgMenuItem.is-open > a::after, .nmgMenuItem.is-actief > a::after{ opacity:1; }
.nmgMenuItem > a .nmgChev{ width:13px; height:13px; transition:transform .18s; }
.nmgMenuItem.is-open > a .nmgChev{ transform:rotate(180deg); }

.nmgMega{ position:absolute; left:0; right:0; top:100%; display:none; justify-content:center; padding:14px 24px 0; z-index:901; }
.nmgMenuItem.is-open .nmgMega{ display:flex; }
.nmgMega__panel{ width:100%; max-width:1100px; background:#fff; border-radius:20px; box-shadow:0 24px 60px -18px rgba(15,23,42,.35), 0 4px 18px rgba(15,23,42,.08); border:1px solid var(--nmg-border); display:grid; grid-template-columns:300px 1fr; overflow:hidden; }
.nmgMega__intro{ background:var(--nmg-grey); padding:30px 30px 32px; display:flex; flex-direction:column; gap:14px; }
.nmgMega__art{ width:150px; height:150px; border-radius:50%; background:linear-gradient(135deg, var(--nmg-navy-soft), var(--nmg-navy-tint)); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.nmgMega__art svg{ width:112px; height:112px; }
.nmgMega__art--goud{ background:linear-gradient(135deg, var(--nmg-goud-soft), #F3D98A); }
.nmgMega__intro h3{ font-size:22px; font-weight:700; letter-spacing:-.4px; }
.nmgMega__intro p{ font-size:14.5px; line-height:1.55; color:var(--nmg-ink-2); margin:0; font-weight:500; }
.nmgMega__intro a{ font-size:14.5px; font-weight:800; color:var(--nmg-navy); display:inline-flex; align-items:center; gap:6px; margin-top:auto; }
.nmgMega__intro a svg{ width:14px; height:14px; }
.nmgMega__grid{ padding:26px 28px; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px 18px; align-content:start; }
.nmgMegaItem{ display:flex; align-items:flex-start; gap:14px; padding:12px 14px; border-radius:14px; color:var(--nmg-ink) !important; transition:background .14s; }
.nmgMegaItem:hover, .nmgMegaItem.is-uitgelicht{ background:var(--nmg-navy-soft); }
.nmgMegaItem__icon{ width:56px; height:42px; border-radius:10px; flex-shrink:0; background:var(--nmg-navy-soft); color:var(--nmg-navy); display:inline-flex; align-items:center; justify-content:center; overflow:hidden; }
.nmgMegaItem__icon img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.nmgMegaItem__icon svg{ width:21px; height:21px; }
.nmgMegaItem__tekst{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.nmgMegaItem__tekst strong{ font-size:15.5px; font-weight:800; }
.nmgMegaItem__tekst span{ font-size:13.5px; line-height:1.45; color:var(--nmg-muted); font-weight:500; }
.nmgMega__leeg{ padding:26px 28px; font-size:15px; color:var(--nmg-muted); font-weight:500; }
.nmgMega__leeg a{ font-weight:800; }
.nmgMega__voet{ grid-column:2; padding:0 28px 22px; display:flex; gap:10px; flex-wrap:wrap; }
.nmgMega__panel--lijst{ grid-template-rows:auto auto; }
.nmgMega__panel--lijst .nmgMega__intro{ grid-row:1/3; }

.nmgDrawerScrim{ position:fixed; inset:0; z-index:898; background:rgba(15,23,42,.55); display:none; }
html.nmg-nav-open .nmgDrawerScrim{ display:block; }
html.nmg-nav-open{ overflow:hidden; }

@media (max-width:1060px){
  .nmgTop{ height:64px; gap:10px; padding:0 16px; }
  .nmgLogo{ gap:8px; min-width:0; }
  .nmgLogo__mark{ width:38px; height:38px; }
  .nmgLogo__mark svg{ width:38px; height:38px; }
  .nmgLogo__woord{ font-size:19px; }
  .nmgUtil{ min-width:0; gap:0; }
  .nmgUtil > a:not(.nmgBtn){ display:none; }
  .nmgUtil .nmgBtn{ padding:9px 14px; font-size:13.5px; border-radius:50px; box-shadow:none; min-width:0; overflow:hidden; text-overflow:ellipsis; margin-left:0; }
  .nmgBurger{ display:inline-flex; flex-shrink:0; }
  .nmgBand{ display:none; position:fixed; top:64px; left:0; right:0; bottom:0; background:#fff; overflow-y:auto; z-index:899; padding:14px 18px 40px; }
  .nmgBand.is-open{ display:block; }
  .nmgBand__inner{ display:block; padding:0; }
  .nmgNav{ display:block; }
  .nmgMenu{ flex-direction:column; align-items:stretch; gap:0; }
  .nmgMenuItem{ position:relative; }
  .nmgMenuItem > a{ width:100%; height:auto; justify-content:space-between; padding:15px 6px; font-size:18px; color:var(--nmg-ink); border-bottom:1px solid var(--nmg-border); }
  .nmgMenuItem > a::after{ display:none; }
  .nmgMega{ position:static; display:none; padding:0; }
  .nmgMenuItem.is-open .nmgMega{ display:block; }
  .nmgMega__panel{ display:block; box-shadow:none; border:0; border-radius:0; max-width:none; }
  .nmgMega__intro{ display:block; padding:0; background:none; gap:0; }
  .nmgMega__intro .nmgMega__art, .nmgMega__intro h3, .nmgMega__intro p{ display:none; }
  .nmgMega__intro a{ display:flex; align-items:center; padding:12px 14px; font-size:15.5px; margin:6px 0 0; background:var(--nmg-navy-soft); border-radius:12px; }
  .nmgMega__grid{ grid-template-columns:1fr; padding:6px 0 10px; gap:2px; }
  .nmgMega__voet{ padding:0 0 16px; }
  .nmgMobielExtra{ display:flex; flex-direction:column; gap:10px; margin-top:20px; }
  .nmgMobielExtra .nmgBtn{ width:100%; }
}
@media (min-width:1061px){ .nmgMobielExtra{ display:none; } }
@media (max-width:440px){ .nmgUtil .nmgBtn{ display:none; } }

.nmgCrumbs{ padding:14px 0; font-size:13.5px; background:var(--nmg-grey); }
.nmgCrumbs ol{ display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; color:var(--nmg-muted); }
.nmgCrumbs li{ display:flex; align-items:center; gap:6px; }
.nmgCrumbs li+li::before{ content:"\203A"; color:var(--nmg-muted); }
.nmgCrumbs a{ color:var(--nmg-muted); font-weight:600; }
.nmgCrumbs a:hover{ color:var(--nmg-navy); }
.nmgCrumbs li[aria-current]{ color:var(--nmg-ink); font-weight:700; }

.nmgMock{ background:#fff; border-radius:14px; overflow:hidden; border:1px solid var(--nmg-border); box-shadow:0 22px 50px -22px rgba(15,23,42,.45), 0 4px 16px rgba(15,23,42,.08); }
.nmgMock__bar{ display:flex; align-items:center; gap:8px; padding:9px 12px; background:var(--nmg-grey-2); border-bottom:1px solid var(--nmg-border); }
.nmgMock__bar i{ width:9px; height:9px; border-radius:50%; background:#CBD2DE; display:inline-block; }
.nmgMock__bar i:nth-child(1){ background:#F87171; } .nmgMock__bar i:nth-child(2){ background:#FBBF24; } .nmgMock__bar i:nth-child(3){ background:#34D399; }
.nmgMock__url{ flex:1; margin-left:6px; background:#fff; border-radius:6px; padding:3px 10px; font-size:11.5px; font-weight:600; color:var(--nmg-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nmgMock__beeld{ aspect-ratio:16/10; background:var(--nmg-grey); overflow:hidden; position:relative; }
.nmgMock__beeld img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.nmgMock__open{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:6px; color:var(--nmg-muted); flex-shrink:0; }
.nmgMock__open:hover{ color:var(--nmg-navy); background:#fff; }
.nmgMock__open svg{ width:13px; height:13px; }
.nmgMock__live{ position:absolute; left:0; top:0; width:1280px; height:800px; border:0; background:transparent; transform-origin:0 0; transform:scale(var(--nmg-schaal, .5)); }
@media (max-width:640px){ .nmgMock__live{ width:820px; height:512.5px; } }
.nmgPhone{ width:min(100%, 330px); margin:0 auto; background:var(--nmg-navy-dark); border-radius:42px; padding:12px; position:relative; box-shadow:0 34px 70px -28px rgba(11,23,48,.6), 0 8px 24px rgba(11,23,48,.14); }
.nmgPhone::before{ content:''; position:absolute; left:50%; top:22px; transform:translateX(-50%); width:84px; height:22px; border-radius:12px; background:var(--nmg-navy-dark); z-index:2; }
.nmgPhone__scherm{ border-radius:32px; overflow:hidden; background:#fff; position:relative; }
.nmgMock__beeld--tel{ aspect-ratio:390/844; }
.nmgMock__beeld--tel .nmgMock__live{ width:390px; height:844px; }
.nmgMock__start{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:3; display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:50px; background:rgba(11,23,48,.88); color:#fff; font-family:inherit; font-size:14px; font-weight:800; line-height:1; border:0; cursor:pointer; box-shadow:0 12px 30px -10px rgba(0,0,0,.6); transition:background .14s, transform .14s; }
.nmgMock__start:hover{ background:var(--nmg-navy); transform:translate(-50%,-50%) scale(1.04); }
.nmgMock__start svg{ width:15px; height:15px; }
.nmgMock__start[hidden]{ display:none; }
.nmgMock__beeld:not(.is-live){ cursor:pointer; }
.nmgMock__beeld--tel .nmgMock__start{ font-size:12.5px; padding:9px 13px; gap:6px; }
.nmgDuo{ display:grid; grid-template-columns:minmax(0,1fr) 200px; gap:26px; align-items:end; margin:34px 0 12px; }
.nmgDuo__laptop, .nmgDuo__telefoon{ min-width:0; }
.nmgDuo .nmgPhone{ width:100%; padding:8px; border-radius:30px; }
.nmgDuo .nmgPhone::before{ top:15px; width:56px; height:14px; border-radius:8px; }
.nmgDuo .nmgPhone__scherm{ border-radius:23px; }
@media (max-width:600px){ .nmgDuo{ grid-template-columns:1fr; } .nmgDuo .nmgPhone{ width:min(100%, 240px); } }
.nmgMock__leeg{ width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; background:linear-gradient(135deg, var(--nmg-navy-soft), var(--nmg-navy-tint)); color:var(--nmg-navy); font-weight:800; font-size:15px; }
.nmgMock__leeg svg{ width:40px; height:40px; }
.nmgMock--donker{ border-color:rgba(255,255,255,.14); }

.nmgCarousel{ position:relative; }
.nmgCarousel__spoor{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding:6px 4px 14px; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
.nmgCarousel__spoor::-webkit-scrollbar{ display:none; }
.nmgCarousel__spoor > *{ flex:0 0 100%; scroll-snap-align:start; }
.nmgCarousel--half .nmgCarousel__spoor > *{ flex-basis:calc(50% - 9px); }
.nmgCarousel--derde .nmgCarousel__spoor > *{ flex-basis:calc(33.333% - 12px); }
.nmgCarousel--slides .nmgCarousel__spoor{ gap:24px; padding:4px 1px 16px; }
.nmgSlide{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:48px; align-items:center; background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); padding:32px; }
.nmgSlide__media, .nmgSlide__tekst{ min-width:0; }
.nmgSlide h3{ font-size:clamp(24px, 2.6vw, 32px); font-weight:600; letter-spacing:-.8px; line-height:1.15; margin:0 0 10px; }
.nmgSlide h3 a{ color:var(--nmg-ink); }
.nmgSlide p{ font-size:16.5px; line-height:1.65; color:var(--nmg-ink-2); margin:0 0 16px; }
@media (max-width:900px){ .nmgSlide{ grid-template-columns:1fr; gap:22px; padding:18px; } }
.nmgCarousel__knoppen{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.nmgCarousel__knop{ width:40px; height:40px; border-radius:50%; border:1px solid var(--nmg-border); background:#fff; color:var(--nmg-navy); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:background .14s, border-color .14s; }
.nmgCarousel__knop:hover{ background:var(--nmg-navy-soft); border-color:var(--nmg-navy-tint); }
.nmgCarousel__knop svg{ width:18px; height:18px; }
.nmgCarousel__stip{ margin-left:auto; display:flex; gap:6px; }
.nmgCarousel__stip i{ width:8px; height:8px; border-radius:50%; background:var(--nmg-navy-tint); display:inline-block; transition:background .14s, width .14s; }
.nmgCarousel__stip i.is-aan{ background:var(--nmg-navy); width:22px; border-radius:4px; }
.nmgCarousel--donker .nmgCarousel__knop{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.3); color:#fff; }
.nmgCarousel--donker .nmgCarousel__stip i{ background:rgba(255,255,255,.3); }
.nmgCarousel--donker .nmgCarousel__stip i.is-aan{ background:var(--nmg-goud); }
@media (max-width:900px){ .nmgCarousel--half .nmgCarousel__spoor > *, .nmgCarousel--derde .nmgCarousel__spoor > *{ flex-basis:84%; } }

.nmgHero{ position:relative; background:var(--nmg-navy-dark); color:#fff; padding:88px 0 100px; overflow:hidden; }
.nmgHero__net{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.nmgHero__grid{ position:relative; display:grid; grid-template-columns:1fr 1.05fr; gap:56px; align-items:center; }
.nmgHero h1{ color:#fff; font-size:clamp(36px, 4.6vw, 56px); font-weight:600; line-height:1.1; letter-spacing:-1.4px; margin:0 0 22px; }
.nmgHero h1 em{ font-style:normal; color:var(--nmg-goud); }
.nmgHero__sub{ font-size:18.5px; line-height:1.65; color:var(--nmg-on-dark-2); margin:0 0 30px; max-width:32em; font-weight:500; }
.nmgHero__sub strong{ color:#fff; font-weight:700; }
.nmgCtaRow{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.nmgHero__feit{ display:flex; flex-wrap:wrap; gap:10px 26px; margin:36px 0 0; padding:0; list-style:none; }
.nmgHero__feit li{ display:flex; align-items:center; gap:9px; font-size:14px; font-weight:600; color:var(--nmg-on-dark); }
.nmgHero__feit svg{ width:16px; height:16px; color:var(--nmg-goud); flex-shrink:0; }
.nmgCollage{ position:relative; height:460px; }
.nmgCollage .nmgMock{ position:absolute; width:66%; transition:transform .3s ease; }
.nmgCollage .nmgMock:hover{ transform:translateY(-8px) rotate(0deg) !important; z-index:5; }
.nmgCollage .nmgMock--1{ left:0; top:0; transform:rotate(-3deg); z-index:1; }
.nmgCollage .nmgMock--2{ right:0; top:78px; transform:rotate(2.5deg); z-index:2; }
.nmgCollage .nmgMock--3{ left:14%; bottom:0; transform:rotate(-1deg); z-index:3; }
@media (max-width:980px){
  .nmgHero{ padding:56px 0 64px; }
  .nmgHero__grid{ grid-template-columns:1fr; gap:44px; }
  .nmgCollage{ height:380px; max-width:560px; margin:0 auto; width:100%; }
}
@media (max-width:560px){
  .nmgCtaRow .nmgBtn{ flex:1 1 100%; white-space:normal; text-align:center; }
  .nmgCollage{ height:300px; }
  .nmgCollage .nmgMock{ width:72%; }
}

.nmgSection{ padding:92px 0; background:#fff; }
.nmgSection--grey{ background:var(--nmg-grey); }
.nmgSection--soft{ background:var(--nmg-navy-soft); }
.nmgSection--navy{ background:var(--nmg-navy-dark); color:#fff; }
.nmgSection--navy .nmgKop h2{ color:#fff; }
.nmgSection--navy .nmgKop p{ color:var(--nmg-on-dark); }
.nmgSection--tight{ padding:64px 0; }
.nmgKop{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; margin-bottom:44px; }
.nmgKop h2{ font-size:clamp(28px, 3.2vw, 40px); font-weight:600; line-height:1.15; letter-spacing:-1px; margin:0 0 10px; max-width:680px; }
.nmgKop p{ font-size:17px; color:var(--nmg-ink-2); max-width:580px; line-height:1.6; margin:0; font-weight:500; }
.nmgKop--midden{ flex-direction:column; align-items:center; text-align:center; }
.nmgKop--midden h2, .nmgKop--midden p{ max-width:760px; }
.nmgKop__acties{ flex-shrink:0; display:flex; gap:10px; flex-wrap:wrap; }
.nmgSectionFoot{ text-align:center; margin-top:44px; }
@media (max-width:760px){ .nmgSection{ padding:64px 0; } .nmgKop{ margin-bottom:30px; flex-direction:column; align-items:stretch; gap:16px; } .nmgKop--midden{ align-items:center; } .nmgKop__acties{ width:100%; flex-shrink:1; } .nmgKop__acties .nmgBtn{ flex:1 1 auto; justify-content:center; min-width:0; white-space:normal; text-align:center; } }

.nmgShowcase{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:56px; align-items:center; padding:48px 0; border-top:1px solid var(--nmg-border); }
.nmgShowcase:first-of-type{ border-top:0; padding-top:0; }
.nmgShowcase__media{ min-width:0; }
.nmgShowcase__tekst{ min-width:0; }
.nmgShowcase--rev .nmgShowcase__media{ order:2; }
.nmgShowcase__tekst h2{ font-size:clamp(26px, 3vw, 36px); line-height:1.15; letter-spacing:-.9px; margin:0 0 10px; }
.nmgShowcase__tekst h2 a{ color:var(--nmg-ink); }
.nmgShowcase__tekst p{ font-size:17px; line-height:1.65; color:var(--nmg-ink-2); margin:0 0 18px; }
.nmgShowcase__usps{ list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; gap:9px; }
.nmgShowcase__usps li{ display:flex; align-items:flex-start; gap:11px; font-size:15.5px; color:var(--nmg-ink-2); font-weight:500; }
.nmgShowcase__usps li strong{ color:var(--nmg-ink); font-weight:800; }
.nmgShowcase__usps svg{ width:18px; height:18px; flex-shrink:0; color:var(--nmg-goud-dark); margin-top:3px; }
.nmgShowcase__stappen{ list-style:none; margin:0 0 24px; padding:0; display:flex; flex-direction:column; }
.nmgShowcase__stappen li{ display:grid; grid-template-columns:150px minmax(0,1fr); gap:14px; padding:12px 0; border-top:1px solid var(--nmg-border); font-size:15px; line-height:1.55; color:var(--nmg-ink-2); }
.nmgShowcase__stappen li:last-child{ border-bottom:1px solid var(--nmg-border); }
.nmgShowcase__stappen b{ color:var(--nmg-ink); font-weight:800; font-size:14px; padding-top:1px; }
@media (max-width:560px){ .nmgShowcase__stappen li{ grid-template-columns:1fr; gap:4px; } }
.nmgShowcase--tel{ grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); }
.nmgShowcase--tel.nmgShowcase--rev{ grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); }
@media (max-width:980px){ .nmgShowcase{ grid-template-columns:1fr; gap:28px; padding:36px 0; } .nmgShowcase--rev .nmgShowcase__media{ order:0; } }

.nmgFotoGrid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.nmgFotoGrid--2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.nmgFoto{ position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); overflow:hidden; box-shadow:var(--nmg-shadow-card); transition:transform .2s ease, box-shadow .2s ease; }
.nmgFoto:hover{ transform:translateY(-4px); box-shadow:var(--nmg-shadow-pop); }
.nmgFoto[hidden]{ display:none; }
.nmgFoto__beeld{ position:relative; aspect-ratio:16/10; background:var(--nmg-grey); overflow:hidden; display:block; }
.nmgFoto__beeld img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .4s ease; }
.nmgFoto:hover .nmgFoto__beeld img{ transform:scale(1.03); }
.nmgFoto__leeg{ width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, var(--nmg-navy-soft), var(--nmg-navy-tint)); color:var(--nmg-navy); }
.nmgFoto__leeg svg{ width:54px; height:54px; }
.nmgFoto__body{ padding:22px 24px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.nmgFoto__body h3{ font-size:20px; font-weight:700; letter-spacing:-.4px; line-height:1.25; }
.nmgFoto__body h3 a{ color:var(--nmg-ink); }
.nmgFoto__meta{ display:flex; flex-wrap:wrap; gap:6px 14px; font-size:13.5px; font-weight:600; color:var(--nmg-muted); }
.nmgFoto__meta span{ display:inline-flex; align-items:center; gap:6px; }
.nmgFoto__meta i{ width:7px; height:7px; border-radius:50%; background:var(--nmg-muted); display:inline-block; }
.nmgFoto__meta i.is-actief, .nmgFoto__meta i.is-open{ background:var(--nmg-green); }
.nmgFoto__meta i.is-prelaunch{ background:var(--nmg-goud); }
.nmgFoto__meta i.is-idee{ background:var(--nmg-navy); }
.nmgFoto__meta i.is-dicht{ background:var(--nmg-muted); }
.nmgFoto__body p{ margin:0; font-size:15.5px; line-height:1.6; color:var(--nmg-ink-2); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.nmgFoto__feiten{ display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; padding:12px 14px; background:var(--nmg-grey); border-radius:12px; }
.nmgFoto__feiten div{ display:flex; flex-direction:column; gap:1px; }
.nmgFoto__feiten small{ font-size:11.5px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--nmg-muted); }
.nmgFoto__feiten b{ font-size:14.5px; font-weight:800; color:var(--nmg-ink); }
.nmgFoto__knoppen{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-top:auto; padding-top:10px; }
.nmgFoto__knoppen .nmgBewaar{ margin-left:auto; }
@media (max-width:980px){ .nmgFotoGrid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .nmgFotoGrid, .nmgFotoGrid--2{ grid-template-columns:1fr; } }

.nmgBewaar{ position:relative; z-index:2; width:40px; height:40px; border-radius:10px; border:1px solid var(--nmg-border); background:#fff; color:var(--nmg-muted); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; transition:color .14s, border-color .14s, background .14s; flex-shrink:0; }
.nmgBewaar svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.nmgBewaar:hover{ color:var(--nmg-navy); border-color:var(--nmg-navy-tint); }
.nmgBewaar.is-aan{ color:var(--nmg-navy); background:var(--nmg-navy-soft); border-color:var(--nmg-navy-tint); }
.nmgBewaar.is-aan svg{ fill:currentColor; }
.nmgLeeg{ text-align:center; padding:56px 24px; background:var(--nmg-grey); border-radius:var(--nmg-radius-box); color:var(--nmg-ink-2); font-weight:500; }
.nmgLeeg h3{ font-size:20px; margin-bottom:8px; }
.nmgLeeg p{ margin:0 0 18px; }
.nmgLeeg--navy{ background:rgba(255,255,255,.06); color:var(--nmg-on-dark); border:1px solid rgba(255,255,255,.12); }
.nmgLeeg--navy h3{ color:#fff; }

.nmgFilters{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:28px; }
.nmgFilters__groep{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.nmgFilters__label{ font-size:13px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:var(--nmg-muted); margin-right:4px; }
.nmgChip{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:50px; border:1px solid var(--nmg-border); background:#fff; font-size:14px; font-weight:700; color:var(--nmg-ink-2); cursor:pointer; transition:background .14s, color .14s, border-color .14s; font-family:var(--nmg-font); }
.nmgChip:hover{ border-color:var(--nmg-navy-tint); color:var(--nmg-navy); }
.nmgChip.is-aan{ background:var(--nmg-navy); color:#fff; border-color:var(--nmg-navy); }
.nmgFilters__zoek{ margin-left:auto; position:relative; min-width:240px; }
.nmgFilters__zoek input{ width:100%; padding:10px 14px 10px 38px; border:1px solid var(--nmg-border); border-radius:50px; font:inherit; font-size:15px; font-weight:600; color:var(--nmg-ink); background:#fff; }
.nmgFilters__zoek input:focus{ outline:none; border-color:var(--nmg-navy); box-shadow:0 0 0 3px var(--nmg-navy-soft); }
.nmgFilters__zoek svg{ position:absolute; left:14px; top:50%; width:16px; height:16px; transform:translateY(-50%); color:var(--nmg-muted); }
.nmgFilters__teller{ font-size:14px; font-weight:700; color:var(--nmg-muted); flex-basis:100%; }
@media (max-width:760px){ .nmgFilters__zoek{ margin-left:0; flex-basis:100%; } }

.nmgVerhaal{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
.nmgStap{ position:relative; background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); padding:30px 28px 28px; box-shadow:var(--nmg-shadow-card); }
.nmgStap__nr{ font-family:var(--nmg-kop); font-size:46px; font-weight:600; line-height:1; letter-spacing:-2px; color:var(--nmg-navy-tint); margin:0 0 12px; }
.nmgStap h3{ font-size:19px; font-weight:700; margin:0 0 8px; }
.nmgStap p{ font-size:15.5px; line-height:1.65; color:var(--nmg-ink-2); margin:0; }
.nmgStap--oud .nmgStap__nr{ color:var(--nmg-navy-tint); }
.nmgStap--pijn .nmgStap__nr{ color:#F3D98A; }
.nmgStap--nieuw .nmgStap__nr{ color:#A9DEC6; }
.nmgSection--navy .nmgStap{ background:rgba(255,255,255,.05); border-color:rgba(255,255,255,.12); box-shadow:none; }
.nmgSection--navy .nmgStap h3{ color:#fff; }
.nmgSection--navy .nmgStap p{ color:var(--nmg-on-dark); }
.nmgVerhaal--2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
@media (max-width:900px){ .nmgVerhaal, .nmgVerhaal--2{ grid-template-columns:1fr; } }

.nmgRijen{ display:flex; flex-direction:column; gap:12px; }
.nmgRij{ display:flex; align-items:center; gap:18px; background:#fff; border:1px solid var(--nmg-border); border-radius:16px; padding:14px 18px 14px 14px; transition:box-shadow .18s, border-color .18s; }
.nmgRij:hover{ box-shadow:var(--nmg-shadow-card); border-color:var(--nmg-navy-tint); }
.nmgRij[hidden]{ display:none; }
.nmgRij__beeld{ width:84px; height:64px; border-radius:12px; overflow:hidden; flex-shrink:0; background:var(--nmg-grey); }
.nmgRij__beeld img{ width:100%; height:100%; object-fit:cover; object-position:top; display:block; }
.nmgRij__beeld .nmgFoto__leeg svg{ width:28px; height:28px; }
.nmgRij__tx{ flex:1; min-width:0; }
.nmgRij__tx b{ display:block; font-size:16.5px; font-weight:800; letter-spacing:-.2px; }
.nmgRij__tx b a{ color:var(--nmg-ink); }
.nmgRij__tx span{ font-size:13.5px; color:var(--nmg-muted); font-weight:600; }
.nmgRij .nmgBtn{ flex-shrink:0; }
@media (max-width:640px){ .nmgRij{ flex-wrap:wrap; } .nmgRij .nmgBtn{ width:100%; } }

.nmgPrincipes{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 48px; margin:0; padding:0; list-style:none; counter-reset:principe; }
.nmgPrincipes li{ counter-increment:principe; display:flex; gap:18px; padding:20px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.nmgPrincipes li::before{ content:counter(principe, decimal-leading-zero); font-family:var(--nmg-kop); font-size:15px; font-weight:700; letter-spacing:1px; color:var(--nmg-goud); flex-shrink:0; padding-top:3px; }
.nmgPrincipes b{ display:block; font-size:17px; font-weight:700; color:#fff; margin-bottom:4px; }
.nmgPrincipes span{ font-size:14.5px; line-height:1.6; color:var(--nmg-on-dark); }
@media (max-width:760px){ .nmgPrincipes{ grid-template-columns:1fr; } }

.nmgSection--cta{ background:#fff; padding:80px 0; }
.nmgCtaBand{ background:var(--nmg-navy); color:#fff; padding:64px 56px; border-radius:24px; position:relative; overflow:hidden; }
.nmgCtaBand::before{ content:''; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border-radius:50%; border:60px solid rgba(224,165,38,.12); pointer-events:none; }
.nmgCtaBand__inner{ position:relative; max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.nmgCtaBand h2{ color:#fff; font-size:clamp(26px, 3.2vw, 38px); font-weight:600; letter-spacing:-.9px; line-height:1.15; margin:0 0 10px; max-width:640px; }
.nmgCtaBand p{ color:var(--nmg-on-dark-2); font-size:17px; margin:0; max-width:560px; font-weight:500; }
.nmgCtaBand .nmgCtaRow{ flex-shrink:0; }
@media (max-width:760px){ .nmgSection--cta{ padding:56px 0; } .nmgCtaBand{ padding:40px 22px; border-radius:18px; } .nmgCtaBand__inner{ gap:26px; } .nmgCtaBand .nmgCtaRow{ flex-shrink:1; width:100%; } .nmgCtaBand .nmgBtn{ flex:1 1 100%; white-space:normal; text-align:center; } .nmgCtaBand .nmgBtn--lg{ padding:15px 20px; font-size:16px; } }

.nmgLijstKop{ padding:60px 0 46px; background:var(--nmg-grey); border-bottom:1px solid var(--nmg-border); }
.nmgLijstKop h1{ font-size:clamp(32px, 4.2vw, 50px); font-weight:600; letter-spacing:-1.3px; line-height:1.1; margin:0 0 14px; }
.nmgLijstKop p{ font-size:18px; color:var(--nmg-ink-2); max-width:44em; margin:0; line-height:1.6; font-weight:500; }
.nmgLijstKop .nmgCtaRow{ margin:22px 0 0; }
.nmgLijstKop__grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:center; }
.nmgLijstKop__aside{ display:flex; gap:14px; flex-wrap:wrap; justify-content:flex-end; }
.nmgTelKaart{ background:#fff; border:1px solid var(--nmg-border); border-radius:16px; padding:16px 20px; min-width:130px; box-shadow:var(--nmg-shadow-card); }
.nmgTelKaart b{ display:block; font-family:var(--nmg-kop); font-size:30px; font-weight:700; letter-spacing:-.8px; color:var(--nmg-navy); line-height:1.1; }
.nmgTelKaart span{ font-size:13.5px; font-weight:600; color:var(--nmg-muted); }
@media (max-width:900px){ .nmgLijstKop__grid{ grid-template-columns:1fr; gap:22px; } .nmgLijstKop__aside{ justify-content:flex-start; } }

.nmgPlatformKop{ background:var(--nmg-navy-dark); color:#fff; padding:72px 0; overflow:hidden; }
.nmgPlatformKop__grid{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:56px; align-items:center; }
.nmgPlatformKop h1{ color:#fff; font-size:clamp(34px, 4.4vw, 54px); font-weight:600; letter-spacing:-1.3px; line-height:1.08; margin:0 0 16px; }
.nmgPlatformKop p{ font-size:18px; line-height:1.65; color:var(--nmg-on-dark-2); margin:0 0 26px; font-weight:500; }
.nmgPlatformKop__tekst{ min-width:0; }
.nmgPlatformKop__media{ position:relative; min-width:0; }
.nmgPlatformKop__media .nmgMock{ border-color:rgba(255,255,255,.16); box-shadow:0 30px 70px -28px rgba(0,0,0,.7); }
@media (max-width:980px){ .nmgPlatformKop{ padding:48px 0; } .nmgPlatformKop__grid{ grid-template-columns:1fr; gap:28px; } }

.nmgDetail{ display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:44px; align-items:start; }
.nmgDetail__hoofd h1{ font-size:clamp(30px, 4vw, 46px); font-weight:600; letter-spacing:-1.2px; line-height:1.1; margin:0 0 14px; }
.nmgDetail__meta{ display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; margin:0 0 22px; font-size:14.5px; font-weight:600; color:var(--nmg-muted); }
.nmgDetail__meta span{ display:inline-flex; align-items:center; gap:7px; }
.nmgDetail__meta i{ width:8px; height:8px; border-radius:50%; background:var(--nmg-muted); display:inline-block; }
.nmgDetail__meta i.is-actief, .nmgDetail__meta i.is-open{ background:var(--nmg-green); }
.nmgDetail__meta i.is-prelaunch{ background:var(--nmg-goud); }
.nmgDetail__meta i.is-idee{ background:var(--nmg-navy); }
.nmgDetail__meta a{ font-weight:700; }
.nmgDetail__intro{ font-size:19px; line-height:1.65; color:var(--nmg-ink-2); margin:0 0 26px; font-weight:500; }
.nmgDetail__beeld{ margin:0 0 30px; }
.nmgDetail h2.nmgH2{ font-size:26px; font-weight:600; letter-spacing:-.7px; margin:40px 0 16px; }
.nmgAside{ position:sticky; top:140px; display:flex; flex-direction:column; gap:16px; }
.nmgAsideKaart{ background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); padding:24px; box-shadow:var(--nmg-shadow-card); }
.nmgAsideKaart h3{ font-size:17px; font-weight:700; margin:0 0 14px; }
.nmgAsideKaart .nmgBtn{ width:100%; margin-top:6px; }
.nmgFeiten{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.nmgFeiten li{ display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--nmg-border); font-size:14.5px; }
.nmgFeiten li:last-child{ border-bottom:0; }
.nmgFeiten span{ color:var(--nmg-muted); font-weight:600; flex-shrink:0; }
.nmgFeiten b{ color:var(--nmg-ink); font-weight:800; text-align:right; text-wrap:balance; overflow-wrap:anywhere; }
.nmgAsideKaart--soft{ background:var(--nmg-navy-soft); border-color:var(--nmg-navy-tint); }
.nmgAsideKaart--soft p{ font-size:14.5px; color:var(--nmg-ink-2); margin:0 0 12px; line-height:1.55; }
@media (max-width:980px){ .nmgDetail{ grid-template-columns:1fr; gap:32px; } .nmgAside{ position:static; } }

.nmgProse{ font-size:17px; line-height:1.72; color:var(--nmg-ink-2); }
.nmgProse h2{ font-size:26px; font-weight:600; letter-spacing:-.7px; margin:38px 0 12px; color:var(--nmg-ink); }
.nmgProse h2:first-child{ margin-top:0; }
.nmgProse h3{ font-size:20px; font-weight:700; margin:28px 0 8px; color:var(--nmg-ink); }
.nmgProse p{ margin:0 0 16px; }
.nmgProse ul, .nmgProse ol{ margin:0 0 18px; padding-left:22px; }
.nmgProse li{ margin-bottom:6px; }
.nmgProse strong{ color:var(--nmg-ink); font-weight:800; }
.nmgProse a{ font-weight:700; }
.nmgProse blockquote{ margin:0 0 18px; padding:16px 22px; border-left:4px solid var(--nmg-goud); background:var(--nmg-grey); border-radius:0 12px 12px 0; font-weight:600; color:var(--nmg-ink); }
.nmgProse table{ width:100%; border-collapse:collapse; font-size:15px; margin:0 0 18px; }
.nmgProse th, .nmgProse td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--nmg-border); vertical-align:top; }
.nmgProse th{ font-weight:800; color:var(--nmg-ink); background:var(--nmg-grey); }
.nmgVinkLijst{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:10px; }
.nmgVinkLijst li{ display:flex; align-items:flex-start; gap:12px; font-size:16px; color:var(--nmg-ink-2); }
.nmgVinkLijst li strong{ color:var(--nmg-ink); font-weight:800; }
.nmgCheck{ width:24px; height:24px; flex-shrink:0; margin-top:1px; border-radius:50%; background:var(--nmg-goud-soft); display:inline-flex; align-items:center; justify-content:center; }
.nmgCheck svg{ width:12px; height:12px; stroke:var(--nmg-goud-dark); }

.nmgForm{ display:flex; flex-direction:column; gap:16px; }
.nmgForm__rij{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.nmgField{ display:flex; flex-direction:column; gap:6px; }
.nmgField label{ font-size:14px; font-weight:800; color:var(--nmg-ink); }
.nmgField label small{ font-weight:600; color:var(--nmg-muted); }
.nmgField input[type=text], .nmgField input[type=email], .nmgField input[type=password], .nmgField input[type=tel], .nmgField input[type=url], .nmgField textarea, .nmgField select{
  width:100%; padding:12px 14px; border:1px solid var(--nmg-border); border-radius:10px;
  font:inherit; font-size:16px; color:var(--nmg-ink); background:#fff;
  transition:border-color .14s, box-shadow .14s;
}
.nmgField textarea{ min-height:130px; resize:vertical; }
.nmgField input:focus, .nmgField textarea:focus, .nmgField select:focus{ outline:none; border-color:var(--nmg-navy); box-shadow:0 0 0 3px var(--nmg-navy-soft); }
.nmgField select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:16px; padding-right:38px; }
.nmgField .nmgHint{ font-size:13px; color:var(--nmg-muted); font-weight:600; }
.nmgField[hidden]{ display:none; }
.nmgField input[type=file]{ font-size:14px; font-weight:600; color:var(--nmg-ink-2); padding:12px 14px; border:1px dashed var(--nmg-border); border-radius:12px; background:var(--nmg-grey); width:100%; box-sizing:border-box; }
.nmgField input[type=file]::file-selector-button{ font:inherit; font-weight:800; color:var(--nmg-navy); background:#fff; border:1px solid var(--nmg-border); border-radius:8px; padding:7px 12px; margin-right:12px; cursor:pointer; }
.nmgVink{ display:flex; align-items:flex-start; gap:10px; font-size:15px; color:var(--nmg-ink-2); font-weight:600; cursor:pointer; }
.nmgVink input{ width:18px; height:18px; margin-top:3px; accent-color:var(--nmg-navy); flex-shrink:0; }
.nmgVinkGroep{ display:flex; flex-wrap:wrap; gap:8px; }
.nmgVinkGroep label{ display:inline-flex; align-items:center; gap:8px; padding:9px 14px; border:1px solid var(--nmg-border); border-radius:50px; font-size:14.5px; font-weight:700; color:var(--nmg-ink-2); cursor:pointer; background:#fff; }
.nmgVinkGroep label:has(input:checked){ background:var(--nmg-navy-soft); border-color:var(--nmg-navy); color:var(--nmg-navy); }
.nmgVinkGroep input{ accent-color:var(--nmg-navy); }
.nmgVal{ position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
.nmgForm__foot{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.nmgForm__foot small{ font-size:13px; color:var(--nmg-muted); font-weight:600; }
.nmgNotice{ padding:14px 16px; border-radius:12px; font-size:15px; font-weight:700; display:flex; gap:10px; align-items:flex-start; }
.nmgNotice svg{ width:18px; height:18px; flex-shrink:0; margin-top:2px; }
.nmgNotice--ok{ background:var(--nmg-green-soft); color:var(--nmg-green); border:1px solid #BFE6D2; }
.nmgNotice--fout{ background:var(--nmg-red-soft); color:var(--nmg-red); border:1px solid var(--nmg-red-border); }
.nmgNotice--info{ background:var(--nmg-navy-soft); color:var(--nmg-navy); border:1px solid var(--nmg-navy-tint); }
.nmgNotice[hidden]{ display:none; }
.nmgFormKaart{ background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); padding:30px 30px 32px; box-shadow:var(--nmg-shadow-card); }
.nmgFormKaart h2{ font-size:24px; font-weight:600; letter-spacing:-.6px; margin:0 0 6px; }
.nmgFormKaart > p{ font-size:15px; color:var(--nmg-muted); margin:0 0 20px; font-weight:500; }
@media (max-width:640px){ .nmgForm__rij{ grid-template-columns:1fr; } .nmgFormKaart{ padding:24px 20px; } }

.nmgAuth{ padding:56px 0 88px; background:var(--nmg-grey); min-height:60vh; }
.nmgAuth__kaart{ max-width:480px; margin:0 auto; background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); padding:36px 34px 34px; box-shadow:var(--nmg-shadow-pop); }
.nmgAuth__kaart--breed{ max-width:640px; }
.nmgAuth__kaart h1{ font-size:28px; font-weight:600; letter-spacing:-.8px; margin:0 0 6px; }
.nmgAuth__kaart > p{ font-size:15.5px; color:var(--nmg-muted); margin:0 0 22px; font-weight:500; }
.nmgAuth__wissel{ text-align:center; font-size:15px; color:var(--nmg-ink-2); margin-top:22px; font-weight:600; }
.nmgAuth__wissel a{ font-weight:800; }
@media (max-width:640px){ .nmgAuth__kaart{ padding:26px 20px; } }

.nmgAccount{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:36px; align-items:start; }
.nmgAccount__zij{ position:sticky; top:140px; display:flex; flex-direction:column; gap:14px; }
.nmgProfiel{ background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); padding:20px; display:flex; align-items:center; gap:12px; }
.nmgProfiel__av{ width:46px; height:46px; border-radius:50%; background:var(--nmg-navy); color:var(--nmg-goud); font-weight:800; font-size:17px; display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; }
.nmgProfiel__tx{ min-width:0; }
.nmgProfiel__tx b{ display:block; font-size:16px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nmgProfiel__tx span{ font-size:13px; color:var(--nmg-muted); font-weight:600; }
.nmgZijNav{ list-style:none; margin:0; padding:6px; background:#fff; border:1px solid var(--nmg-border); border-radius:var(--nmg-radius-card); display:flex; flex-direction:column; gap:2px; }
.nmgZijNav a{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:12px; font-size:15px; font-weight:700; color:var(--nmg-ink); }
.nmgZijNav a svg{ width:17px; height:17px; color:var(--nmg-muted); }
.nmgZijNav a:hover{ background:var(--nmg-grey); }
.nmgZijNav a.is-actief{ background:var(--nmg-navy-soft); color:var(--nmg-navy); }
.nmgZijNav a.is-actief svg{ color:var(--nmg-navy); }
.nmgAccount__kop{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:22px; }
.nmgAccount__kop h1{ font-size:30px; font-weight:600; letter-spacing:-.9px; margin:0 0 4px; }
.nmgAccount__kop p{ margin:0; color:var(--nmg-muted); font-weight:500; font-size:15.5px; }
.nmgVoorkeurBalk{ display:flex; align-items:center; gap:12px; padding:14px 16px; background:var(--nmg-navy-soft); border:1px solid var(--nmg-navy-tint); border-radius:12px; margin-bottom:22px; font-size:14.5px; font-weight:700; color:var(--nmg-navy); flex-wrap:wrap; }
.nmgVoorkeurBalk a{ margin-left:auto; font-weight:800; }
@media (max-width:900px){ .nmgAccount{ grid-template-columns:1fr; } .nmgAccount__zij{ position:static; } .nmgZijNav{ flex-direction:row; flex-wrap:wrap; } }

.nmgFooter{ background:var(--nmg-navy-dark); color:var(--nmg-on-dark); }
.nmgFooter__content{ max-width:1240px; margin:0 auto; padding:70px 24px 56px; display:grid; grid-template-columns:1.35fr 1fr 1fr 1fr 1fr; gap:40px; }
.nmgFooter__brand .nmgLogo__mark{ color:#fff; }
.nmgFooter__brand .nmgLogo__woord{ color:#fff; }
.nmgFooter__brand .nmgLogo__woord span{ color:var(--nmg-goud); }
.nmgFooter__brand p{ font-size:14.5px; line-height:1.65; margin:18px 0 20px; color:var(--nmg-on-dark); }
.nmgFooter__btns{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
.nmgFooter__btns .nmgBtn--support{ background:transparent; color:#fff !important; border-color:rgba(255,255,255,.4); }
.nmgFooter__btns .nmgBtn--support:hover{ background:rgba(255,255,255,.1); }
.nmgFooter__meta{ font-size:13.5px; color:var(--nmg-on-dark); line-height:1.7; }
.nmgFooterHead{ font-size:16.5px; font-weight:800; color:#fff; margin-bottom:16px; }
.nmgFooterHead a{ color:inherit; }
.nmgFooter ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.nmgFooter ul a{ font-size:15px; font-weight:600; color:var(--nmg-on-dark); transition:color .15s; }
.nmgFooter ul a:hover{ color:#fff; }
.nmgFootBar{ background:var(--nmg-goud); }
.nmgFootBar__inner{ max-width:1240px; margin:0 auto; padding:15px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:14px; font-weight:700; color:var(--nmg-navy-dark); }
.nmgFootBar__inner a{ color:var(--nmg-navy-dark); font-weight:800; }
.nmgFootBar__inner a:hover{ text-decoration:underline; }
.nmgFootCopy{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.nmgFootCopy i{ opacity:.5; font-style:normal; }
.nmgFootSocial{ display:flex; align-items:center; gap:14px; }
@media (max-width:1020px){ .nmgFooter__content{ grid-template-columns:1fr 1fr; gap:36px; } .nmgFooter__brand{ grid-column:1/-1; max-width:440px; } }
@media (max-width:520px){ .nmgFooter__content{ grid-template-columns:1fr; padding:52px 22px 40px; } }

.nmg404{ padding:72px 0 84px; text-align:center; }
.nmg404__code{ font-family:var(--nmg-kop); font-size:clamp(74px, 12vw, 132px); font-weight:600; line-height:1; letter-spacing:-5px; color:var(--nmg-navy); margin:0 0 6px; }
.nmg404 h1{ font-size:32px; margin:0 0 10px; }
.nmg404 p{ color:var(--nmg-ink-2); font-size:17px; margin:0 auto 26px; max-width:36em; }
.nmg404 .nmgCtaRow{ justify-content:center; }
@media (max-width:640px){ .nmg404{ padding:52px 0 60px; } }

.nmgSplit{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.nmgSplit--rev > :first-child{ order:2; }
.nmgSplit h2{ font-size:clamp(26px, 3vw, 36px); font-weight:600; letter-spacing:-.9px; line-height:1.15; margin:0 0 14px; }
.nmgSplit p{ font-size:17px; line-height:1.65; color:var(--nmg-ink-2); margin:0 0 18px; }
@media (max-width:900px){ .nmgSplit{ grid-template-columns:1fr; gap:28px; } .nmgSplit--rev > :first-child{ order:0; } }

.nmgFaq{ border:1px solid var(--nmg-border); border-radius:14px; background:#fff; margin-bottom:10px; }
.nmgFaq summary{ cursor:pointer; list-style:none; padding:16px 44px 16px 18px; font-size:16.5px; font-weight:700; position:relative; }
.nmgFaq summary::-webkit-details-marker{ display:none; }
.nmgFaq summary::after{ content:'+'; position:absolute; right:18px; top:50%; transform:translateY(-50%); font-size:22px; color:var(--nmg-navy); font-weight:800; }
.nmgFaq[open] summary::after{ content:'\2212'; }
.nmgFaq[open]{ border-color:var(--nmg-navy-tint); }
.nmgFaq p{ margin:0; padding:0 18px 18px; font-size:15.5px; line-height:1.65; color:var(--nmg-ink-2); }

.nmgBlokIn{ margin:24px 0; }
.nmgBlokIn .nmgFotoGrid{ margin-top:14px; }

@media (prefers-reduced-motion: reduce){
  .nmgBody *{ transition:none !important; animation:none !important; }
  .nmgCarousel__spoor{ scroll-behavior:auto; }
}
