/* Frame: navbar en footer. Selectors zijn gescoped op header.nav / footer.footer
   zodat pagina-eigen CSS met dezelfde klassenamen het niet kan overrulen. */

@font-face{font-family:'Montserrat';src:url('fonts/montserrat-var-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
header.nav,footer.footer{
  --navy:#0f1c29;          
  --navy-2:#02223d;        
  --navy-3:#16283a;        
  --ink:#33414f;           
  --ink-soft:#4b5968;
  --bg:#eef2f7;            
  --white:#ffffff;
  --orange:#e4b268;        
  --orange-deep:#96661f;   
  --orange-soft:#e4b268;   
  --green:#658844;
  --line:#dbe3ec;
  --line-dark:rgba(255,255,255,.12);
  --radius:16px;
  --shadow:0 14px 40px -18px rgba(2,34,61,.28);
  --wrap:1200px;
}header.nav .btn svg,footer.footer .btn svg{width:1.05em;height:1.05em;flex:none;transition:transform .18s ease}header.nav .btn:hover svg,footer.footer .btn:hover svg{transform:translateX(4px)}header.nav .btn-o,footer.footer .btn-o{background:var(--orange);color:var(--navy);box-shadow:0 6px 16px -10px rgba(228,178,104,.3)}header.nav .btn-o:hover,footer.footer .btn-o:hover{background:#d3a054;transform:translateY(-2px)}header.nav .btn-ghost,footer.footer .btn-ghost{border-color:rgba(255,255,255,.45);color:#fff}header.nav .btn-ghost:hover,footer.footer .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}header.nav .btn-navy,footer.footer .btn-navy{background:var(--navy-2);color:#fff}header.nav .btn-navy:hover,footer.footer .btn-navy:hover{background:#0b3155;transform:translateY(-2px)}header.nav .btn-line,footer.footer .btn-line{border-color:var(--navy-2);color:var(--navy-2)}header.nav .btn-line:hover,footer.footer .btn-line:hover{background:var(--navy-2);color:#fff;transform:translateY(-2px)}header.nav .btn:focus-visible,footer.footer .btn:focus-visible,header.nav a:focus-visible,footer.footer a:focus-visible,header.nav summary:focus-visible,footer.footer summary:focus-visible,header.nav button:focus-visible,footer.footer button:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}header.nav{position:sticky;top:0;z-index:60;background:var(--navy);border-bottom:1px solid var(--line-dark)}header.nav .nav-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter,24px);height:78px;display:flex;align-items:center;gap:2rem}header.nav .nav-logo img{height:44px;width:auto;filter:brightness(0) invert(1)}header.nav .nav-links{display:flex;align-items:center;gap:1.6rem;margin-left:auto}header.nav .nav-links > a,header.nav .nav-drop > button{color:#e8edf3;font-weight:700;font-size:.98rem;background:none;border:0;font-family:inherit;cursor:pointer;display:flex;align-items:center;gap:.35rem;padding:.4rem 0}header.nav .nav-links > a:hover,header.nav .nav-drop > button:hover{color:#fff}header.nav .nav-cta{margin-left:.4rem}header.nav .nav-cta .btn{padding:.85rem 1.4rem;font-size:.95rem}header.nav .nav-drop{position:relative}header.nav .nav-drop svg{width:.8em;height:.8em;transition:transform .18s}header.nav .nav-drop:hover svg,header.nav .nav-drop:focus-within svg{transform:rotate(180deg)}header.nav .drop-list{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);background:#fff;border-radius:14px;box-shadow:0 24px 60px -20px rgba(2,34,61,.4);padding:.6rem;min-width:250px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s}header.nav .nav-drop:hover .drop-list,header.nav .nav-drop:focus-within .drop-list{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}header.nav .drop-list a{display:block;padding:.6rem .9rem;border-radius:9px;font-weight:700;font-size:.95rem;color:var(--navy-2)}header.nav .drop-list a:hover{background:var(--bg);color:var(--orange-deep)}header.nav .nav-burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;padding:10px}header.nav .nav-burger span{display:block;width:26px;height:3px;background:#fff;border-radius:2px;margin:5px 0;transition:transform .2s,opacity .2s}header.nav .mobile-menu{display:none;background:var(--navy);border-top:1px solid var(--line-dark);padding:1rem var(--gutter,24px) 2rem;max-height:calc(100dvh - 78px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}header.nav .mobile-menu a{display:block;padding:.7rem 0;color:#e8edf3;font-weight:700;border-bottom:1px solid var(--line-dark)}header.nav .mobile-menu .mm-group{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#7f93a5;font-weight:700;padding:1.1rem 0 .3rem;border:0}header.nav .mobile-menu .btn{margin-top:1.2rem;justify-content:center;display:inline-flex;width:100%}body.menu-open .mobile-menu{display:block}body.menu-open .nav-burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}body.menu-open .nav-burger span:nth-child(2){opacity:0}body.menu-open .nav-burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}footer.footer .f-bottom a[href*="openstreetmap"]{text-decoration:underline}footer.footer .c-row{display:flex;gap:1rem;align-items:flex-start;padding:.85rem 0;border-top:1px solid var(--line-dark)}footer.footer .c-row:first-of-type{border-top:0}footer.footer .c-row svg{width:1.35rem;height:1.35rem;flex:none;stroke:var(--orange-soft);margin-top:.2rem}footer.footer .c-row b{display:block;color:#fff;font-size:.95rem}footer.footer .c-row span,footer.footer .c-row a{color:#9fb1c0;font-size:.95rem;font-weight:500}footer.footer .c-row a:hover{color:#fff}footer.footer .c-note{margin-top:1.3rem;font-size:.88rem;color:#7f93a5;font-weight:500}footer.footer{background:#08131d;color:#9fb1c0;padding:4.5rem 0 0}footer.footer .f-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.6rem}footer.footer .f-col h3{color:#fff;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}footer.footer .f-col a{display:block;padding:.32rem 0;font-weight:500;font-size:.95rem;color:#9fb1c0}footer.footer .f-col a:hover{color:#fff}footer.footer .f-bottom{margin-top:3.5rem;border-top:1px solid rgba(255,255,255,.08);padding:1.6rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.88rem;font-weight:500}footer.footer .f-bottom a{color:#9fb1c0}footer.footer .f-bottom a:hover{color:#fff}footer.footer .f-logo{display:flex;align-items:center;gap:.9rem;margin-bottom:1.5rem}footer.footer .f-logo img{height:44px;width:auto}footer.footer .f-logo b{color:#fff;font-size:1.15rem;display:block;line-height:1.2}footer.footer .f-logo small{color:#7f93a5;font-weight:700}footer.footer .f-contact a{display:flex;align-items:center;gap:.6rem}footer.footer .f-certs{display:flex;gap:1rem;margin-top:1.4rem;flex-wrap:wrap;align-items:center}footer.footer .f-certs img{height:52px;width:auto;background:#fff;border-radius:10px;padding:.45rem}
@media (max-width:1020px){footer.footer .f-grid{grid-template-columns:1fr 1fr}header.nav .nav-links{display:none}header.nav .nav-burger{display:block}}
@media (max-width:600px){footer.footer .f-grid{grid-template-columns:1fr;gap:2rem}.btn{padding:.95rem 1.35rem;font-size:.95rem}}header.nav .wrap,footer.footer .wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter,24px)}header.nav a,header.nav .mobile-menu a,footer.footer a{text-decoration:none}header.nav a:hover,header.nav .mobile-menu a:hover,footer.footer a:hover{text-decoration:none}
