body{margin:0;background:#0F2A22;font-family:'Instrument Sans',system-ui,sans-serif;color:#0F2A22;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
input,select,textarea,button{font:inherit}
:focus-visible{outline:3px solid #5F9419;outline-offset:3px}
.nl:hover{color:#C6F36B}
.btn-o:hover{background:#DAFF8F}
.btn-w:hover{border-color:#C6F36B;color:#C6F36B}
.btn-k:hover{background:#22493C}
.btn-kl:hover{background:#0F2A22;color:#FFFFFF}
.lk:hover{color:#C6F36B}
.pl:hover{color:#FFFFFF}
.vc,.tc{transition:transform .2s ease,border-color .2s ease}
.vc:hover{border-color:#0F2A22;transform:translateY(-2px)}
.tc:hover{transform:translateY(-4px)}
.dots{background-image:radial-gradient(#1E4538 1.3px,transparent 1.3px);background-size:18px 18px}
@media (prefers-reduced-motion:reduce){.vc,.tc{transition:none}.vc:hover,.tc:hover{transform:none}}
.mq{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-1120px)}}
.mq-track{animation:mq 26s linear infinite}
.mq:hover .mq-track{animation-play-state:paused}
.lg img{opacity:.8;transition:opacity .3s ease}
.lg:hover img{opacity:1}
@media (prefers-reduced-motion:reduce){.mq-track{animation:none}.lg img{transition:none}}
.reset:hover{border-color:#0F2A22}
.vc{transition:transform .2s ease,border-color .2s ease}
@media (prefers-reduced-motion:reduce){.vc{transition:none}.vc:hover{transform:none}}
.jl{transition:border-color .2s ease,transform .2s ease}
.jl:hover{border-color:#C6F36B;transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.jl{transition:none}.jl:hover{transform:none}}
.tg:hover{border-color:#0F2A22}

/* ---- basis ---- */
html{scroll-behavior:smooth}
*{box-sizing:border-box}
img{max-width:100%}
.page{width:100%}
header{position:relative;z-index:20}
.hidden{display:none !important}
.menu-btn{display:none;width:44px;height:44px;border:0;background:transparent;color:#F3EFE6;cursor:pointer;align-items:center;justify-content:center;border-radius:6px}
.menu-btn:hover{background:#1C4236}
input,select,textarea{max-width:100%}
textarea{width:100%}
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230F2A22' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px !important}
.mq-track{will-change:transform}

/* ---- tablet ---- */
@media (max-width:1100px){
  header{padding-left:40px !important;padding-right:40px !important}
  section,footer{padding-left:40px !important;padding-right:40px !important}
  .mq{margin-left:-40px !important;margin-right:-40px !important}
  [style*="grid-template-columns: repeat(4"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [style*="grid-template-columns: repeat(3"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  [style*="grid-template-columns: 2fr 1fr 1fr 1.3fr"]{grid-template-columns:1fr 1fr !important}
  [style*="grid-template-columns: 1.55fr 1fr"],[style*="grid-template-columns: 1.4fr 1fr"],[style*="grid-template-columns: 1fr 1.35fr"]{grid-template-columns:1fr !important;gap:48px !important}
  h1{font-size:clamp(48px,8vw,96px) !important}
  h2[style*="font-size: 7"],h2[style*="font-size: 6"],h2[style*="font-size: 5"]{font-size:clamp(36px,5.5vw,64px) !important}
  nav[aria-label="Hoofdmenu"]{gap:24px !important}
}

/* ---- mobiel ---- */
@media (max-width:760px){
  header{padding-left:20px !important;padding-right:20px !important;height:72px !important}
  .menu-btn{display:inline-flex}
  .site-nav{display:none !important;position:absolute;top:72px;left:0;right:0;flex-direction:column !important;align-items:flex-start !important;gap:4px !important;padding:12px 20px 24px;background:#0F2A22;border-bottom:1px solid #1C4236}
  .site-nav.open{display:flex !important}
  .site-nav a{width:100%;padding:12px 0;font-size:18px !important}
  .site-nav a.btn-o{width:auto;margin-top:8px;padding:0 24px}
  section,footer{padding-left:20px !important;padding-right:20px !important;padding-top:56px !important;padding-bottom:56px !important}
  section[style*="padding: 120px 80px 0"]{padding-bottom:0 !important}
  section[style*="padding: 0 80px"]{padding-top:0 !important}
  footer{padding-top:56px !important;padding-bottom:28px !important}
  .mq{margin:40px -20px 0 !important}
  [style*="grid-template-columns"]{grid-template-columns:1fr !important;gap:20px !important}
  section[style*="justify-content: space-between"],section [style*="justify-content: space-between"],footer [style*="justify-content: space-between"]{flex-direction:column !important;align-items:flex-start !important;gap:20px !important}
  section [style*="display: flex"]:not([style*="flex-direction: column"]):not(.mq-track){flex-wrap:wrap}
  nav[aria-label="Diensten"]{flex-direction:column !important}
  section > svg[aria-hidden="true"]{display:none}
  h1{font-size:clamp(40px,11vw,60px) !important;letter-spacing:-0.03em !important;align-items:flex-start !important;text-align:left}
  section[style*="text-align: center"]{text-align:left !important;align-items:flex-start !important}
  h2[style*="font-size: 7"],h2[style*="font-size: 6"],h2[style*="font-size: 5"],h2[style*="font-size: 4"]{font-size:clamp(30px,8.5vw,44px) !important}
  h2[style*="text-transform: uppercase"]{font-size:26px !important;letter-spacing:0 !important;text-transform:none !important}
  h3[style*="font-size: 72px"]{font-size:48px !important}
  p[style*="font-size: 21px"],p[style*="font-size: 20px"],p[style*="font-size: 19px"]{font-size:17px !important}
  [style*="padding: 56px"],[style*="padding: 48px"],[style*="padding: 40px"]{padding:24px !important}
  [style*="padding: 36px"]{padding:20px !important}
  a.tc{height:auto !important;min-height:400px}
  a.vc{height:auto !important}
  [style*="min-height: 560px"]{min-height:300px !important}
  [style*="height: 460px"],[style*="height: 400px"]{height:240px !important}
  [style*="height: 240px"]{height:200px !important}
  section[style*="display: flex"]:not([style*="flex-direction: column"]){flex-wrap:wrap}
  section[aria-label="Filters"] > div{width:100% !important}
  section[aria-label="Filters"] button{width:100%}
  form [style*="display: flex; gap: 8px"]{flex-direction:column !important}
  form [style*="display: flex; gap: 8px"] > *{width:100%}
  [style*="height: 60px"],[style*="height: 56px"]{height:52px !important}
  a[style*="padding: 0 32px"],a[style*="padding: 0 28px"]{padding:0 20px !important;font-size:16px !important}
  [style*="max-width: 360px"],[style*="max-width: 440px"],[style*="max-width: 460px"],[style*="max-width: 480px"],[style*="max-width: 560px"],[style*="max-width: 620px"],[style*="max-width: 640px"],[style*="max-width: 680px"]{max-width:none !important}
  footer [style*="border-top"]{gap:8px !important}
  .lg{width:180px !important;height:72px !important}
  .lg img{transform:scale(.85)}
  @keyframes mq{from{transform:translateX(0)}to{transform:translateX(-800px)}}
}
