/* bedrijfafval.com — huisstijl v2. Geen framework, mobile-first. */
@font-face{font-family:"Figtree";src:url(/fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}
@font-face{font-family:"Bricolage Grotesque";src:url(/fonts/bricolage.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Figtree Fallback";src:local("Arial");size-adjust:103%;ascent-override:92%;descent-override:24%}
:root{--o:#E8641F;--o2:#C24E12;--ink:#1B1A17;--g:#5F5D57;--line:#E6E4DF;--st:#F6F5F2;--w:#fff;
--t-o:#FFEDE3;--t-b:#E6ECFF;--t-y:#FFF4D1;--t-g:#E1F4E9;--t-br:#F3E8DC;--t-r:#FDE7E5;--t-gr:#EFEFED;
--rest:#6E6C66;--pap:#3456E8;--pmd:#FFC53D;--gft:#12824A;--hout:#8A5A2B;--gev:#D92D20;
--ease:cubic-bezier(.2,.8,.2,1);--r:20px;--sh:0 4px 0 var(--ink)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{margin:0;background:var(--w);color:var(--ink);font:400 18px/1.6 "Figtree","Figtree Fallback",system-ui,sans-serif}
img,svg{max-width:100%;height:auto}
a{color:var(--ink);text-underline-offset:3px;text-decoration-thickness:2px}
a:hover{color:var(--o2)}
:focus-visible{outline:3px solid var(--o);outline-offset:3px}
h1,h2,h3,.d{font-family:"Bricolage Grotesque","Figtree Fallback",system-ui,sans-serif;letter-spacing:-.025em;line-height:1.05;font-weight:800;margin:0}
h1{font-size:clamp(38px,6vw,84px);letter-spacing:-.045em;line-height:.95}
h2{font-size:clamp(30px,4.2vw,52px)}
h3{font-size:24px}
p{margin:0}
.n{font-variant-numeric:tabular-nums}
.k{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--o2)}
.muted{color:var(--g)}
.small{font-size:14px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;z-index:99;background:var(--w);padding:8px 14px;border:2px solid var(--ink);border-radius:10px}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.sec{padding-top:72px;padding-bottom:72px}
.sec-h{text-align:center;max-width:800px;margin:0 auto 36px;display:flex;flex-direction:column;gap:12px;align-items:center}
.stack{display:flex;flex-direction:column;gap:16px}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:600px){.g2,.g3,.g4,.g6{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:980px){.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g6{grid-template-columns:repeat(6,minmax(0,1fr))}.split{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}.split>aside{position:sticky;top:110px}}
.split{display:grid;gap:40px}
.tint-o{background:var(--t-o)}.tint-b{background:var(--t-b)}.tint-y{background:var(--t-y)}.tint-g{background:var(--t-g)}.tint-br{background:var(--t-br)}.tint-r{background:var(--t-r)}.tint-gr{background:var(--t-gr)}.tint-st{background:var(--st)}.dark{background:var(--ink);color:#fff}.dark a{color:#fff}.dark .muted{color:#D6D2C9}
.bt{border-top:2px solid var(--ink)}.bb{border-bottom:2px solid var(--ink)}
/* Knoppen */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 22px;border:2px solid var(--ink);border-radius:16px;background:var(--w);color:var(--ink);font:800 17px/1 "Figtree",sans-serif;text-decoration:none;cursor:pointer;box-shadow:var(--sh);transition:transform .12s var(--ease),box-shadow .12s}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--ink);color:var(--ink)}
.btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.btn-o{background:var(--o)}
.dark .btn{border-color:#fff;box-shadow:0 4px 0 #fff}
.link{font-weight:800}
/* Kaarten */
.card{display:flex;flex-direction:column;gap:10px;padding:22px;border:2px solid var(--ink);border-radius:var(--r);background:var(--w);text-decoration:none;color:var(--ink);transition:transform .2s var(--ease),box-shadow .2s}
a.card:hover{transform:translateY(-4px);box-shadow:0 8px 0 var(--ink);color:var(--ink)}
.card .more{margin-top:auto;font-weight:800}
.plain{border:0;background:var(--st)}
.chip{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--ink);border-radius:999px;padding:3px 12px;font-size:14px;font-weight:800;background:var(--w);color:var(--ink);text-decoration:none}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.dot{display:inline-block;width:12px;height:12px;border-radius:4px;border:2px solid var(--ink);flex:none}
.lid{transform-box:fill-box;transform-origin:0 100%;transition:transform .32s var(--ease)}
a:hover .lid,.hov:hover .lid{transform:rotate(-22deg)}
@keyframes bob{0%,72%,100%{transform:rotate(0)}80%{transform:rotate(-24deg)}88%{transform:rotate(-6deg)}}
.bob{animation:bob 4s var(--ease) infinite}
@keyframes roll{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:none}}
.roll{animation:roll .8s var(--ease) both}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
/* Strook en header */
.hdr{position:sticky;top:0;z-index:40;background:var(--w);border-bottom:2px solid var(--ink)}
.hdr .wrap{display:flex;align-items:center;gap:16px;min-height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);margin-right:auto;flex-shrink:0;white-space:nowrap}.logo svg{flex-shrink:0}
.logo .d{font-size:24px;letter-spacing:-.04em}
.logo em,.wm em{font-style:normal;color:var(--o)}
.nav{display:none}
.nav>ul{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.nav button,.nav>ul>li>a{display:flex;align-items:center;gap:6px;height:46px;padding:0 12px;border:0;border-radius:12px;background:none;font:700 16px "Figtree",sans-serif;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap}
.nav button:hover,.nav>ul>li>a:hover{background:var(--st)}
.nav [aria-expanded=true],.nav [aria-current]{background:var(--t-o);box-shadow:inset 0 -3px 0 var(--o)}
.nav button svg{transition:transform .2s}.nav [aria-expanded=true] svg{transform:rotate(180deg)}
.hdr-cta{display:none}
.ibtn{width:48px;height:48px;border:2px solid var(--ink);border-radius:14px;background:var(--w);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font:800 15px "Figtree",sans-serif;color:var(--ink)}
.menu-btn{width:auto;padding:0 14px}
@media(min-width:1040px){.nav{display:block}.hdr-cta{display:inline-flex;white-space:nowrap}.menu-btn{display:none}}
@media(min-width:1040px) and (max-width:1239px){.hdr .wrap{gap:10px}.nav button,.nav>ul>li>a{padding:0 9px;font-size:15px}.logo .d{font-size:21px}}
.mega{position:absolute;left:0;right:0;top:100%;background:var(--w);border-bottom:2px solid var(--ink);box-shadow:0 30px 40px -28px rgba(27,26,23,.4);animation:drop .2s var(--ease)}
.mega[hidden]{display:none}
.mega .wrap{display:grid;grid-template-columns:230px 1fr 300px;gap:28px;padding-top:26px;padding-bottom:24px;align-items:start}
.mg-tabs{display:flex;flex-direction:column;gap:4px;border-right:2px solid var(--st);padding-right:18px}
.mg-tabs button{display:flex;justify-content:space-between;align-items:center;height:46px;padding:0 14px;border:0;border-radius:12px;background:none;font:800 16px "Figtree",sans-serif;color:var(--ink);cursor:pointer;text-align:left}
.mg-tabs button[aria-selected=true]{background:var(--ink);color:#fff}
.mg-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
.mg-links[hidden]{display:none}
.mg-links a{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border-radius:14px;text-decoration:none;color:var(--ink);line-height:1.3}
.mg-links a:hover{background:var(--st)}
.mg-links .ic{flex:none;width:34px;height:34px;border-radius:10px;border:2px solid var(--ink)}
.mg-links small{display:block;font-size:14px;color:var(--g)}
.mg-foot{grid-column:1/-1;border-top:2px solid var(--st);padding-top:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:15px}
.scrim{position:fixed;inset:0;top:auto;height:0}
.mm{position:fixed;inset:0;z-index:60;background:var(--w);overflow:auto;padding:16px 20px 40px}
.mm[hidden]{display:none}
.mm-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mm details{border:2px solid var(--ink);border-radius:16px;margin-bottom:10px;overflow:hidden}
.mm summary{min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-weight:800;font-size:18px;cursor:pointer;list-style:none}
.mm summary::-webkit-details-marker{display:none}
.mm details[open] summary{background:var(--t-o)}
.mm details a{display:flex;min-height:44px;align-items:center;padding:0 16px;font-weight:700;text-decoration:none}
/* Bouwstenen */
.bc{font-size:15px;font-weight:700;padding:18px 0 0}
.bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.bc li+li::before{content:"/";margin-right:8px;color:var(--g)}
.hero{padding-top:24px;padding-bottom:56px}
.hero-c{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}
.lead{font-size:20px;max-width:680px}
.meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.live{width:10px;height:10px;border-radius:50%;background:var(--gft);box-shadow:0 0 0 4px var(--t-g)}
.ka{width:100%;max-width:820px;background:var(--t-y);border:2px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:22px 26px;text-align:left}
.ka .lbl{display:inline-block;background:var(--ink);color:var(--pmd);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:800}
.ka p{margin-top:10px;font-size:19px;font-weight:600;line-height:1.55}
.facts{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:980px){.facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fact{border:2px solid var(--ink);border-radius:20px;padding:16px;text-align:center}
.fact .v{font-family:"Bricolage Grotesque",sans-serif;font-size:28px;font-weight:800;line-height:1.1}
.fact .k{color:var(--ink)}
.tbl{border:2px solid var(--ink);border-radius:24px;overflow:hidden;background:var(--w)}
.tbl>div{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:16px}
caption{text-align:left;padding:14px 18px;font-size:14px;font-weight:700;background:var(--st);border-bottom:2px solid var(--ink)}
th,td{padding:14px 18px;text-align:left;vertical-align:top}
thead th{white-space:nowrap}td.n{white-space:nowrap}
@media(max-width:599px){th,td{padding:12px 12px}table{font-size:15px}}
tbody tr{border-top:2px solid var(--line)}
td.n,th.n{text-align:right}
td.hit{background:var(--o);font-weight:800}
.tl{list-style:none;margin:0;padding:0 0 0 24px;border-left:3px solid var(--ink);display:grid;gap:18px}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;left:-35px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--w);border:3px solid var(--ink)}
.tl li:first-child::before{background:var(--o)}
.tl .when{font-size:14px;font-weight:800}
.steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:s}
.steps li{display:flex;gap:14px;align-items:center;counter-increment:s}
.steps li::before{content:counter(s);flex:none;width:44px;height:44px;border-radius:12px;background:var(--pmd);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font:800 20px "Bricolage Grotesque",sans-serif}
.src{border-top:2px solid var(--ink);padding-top:20px}
.src ol{margin:10px 0 0;padding-left:22px;font-size:16px}
.faq details{border:2px solid var(--ink);border-radius:20px;padding:16px 22px;margin-bottom:12px}
.faq summary{display:flex;justify-content:space-between;gap:12px;font-weight:800;font-size:19px;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:28px;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:10px}
/* Formulieren en keuzes */
label.l,legend{display:block;font-weight:800;font-size:15px;margin-bottom:8px;padding:0}
fieldset{border:0;margin:0;padding:0}
input[type=text],input[type=email],input[type=tel],input[type=search],select,textarea{width:100%;min-height:54px;border:2px solid var(--ink);border-radius:14px;padding:0 16px;font:600 18px "Figtree",sans-serif;color:var(--ink);background:var(--w)}
textarea{padding:12px 16px;min-height:110px}
.seg{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:600px){.seg.s4{grid-template-columns:repeat(4,minmax(0,1fr))}.seg.s3{grid-template-columns:repeat(3,minmax(0,1fr))}.seg.s5{grid-template-columns:repeat(5,minmax(0,1fr))}}
.opt{min-height:52px;padding:8px 12px;border:2px solid var(--ink);border-radius:14px;background:var(--w);color:var(--ink);font:800 15px "Figtree",sans-serif;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;text-align:center;transition:background-color .15s,color .15s}
.opt[aria-pressed=true],.opt[aria-selected=true]{background:var(--ink);color:#fff}
.opt[aria-pressed=true] .dot{border-color:#fff}
.pills{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pills .opt{border-radius:999px;padding:0 18px}
.panel{border:2px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink);padding:28px;background:var(--w)}
.price{background:var(--ink);color:#fff;border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:8px}
.price .big{font:800 clamp(52px,6vw,68px)/.92 "Bricolage Grotesque",sans-serif}
.bar{height:10px;background:#3A3833;border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--o);transition:width .4s var(--ease)}
.kiezer{display:grid;gap:22px;text-align:left}
@media(min-width:980px){.kiezer{grid-template-columns:1fr 1.2fr 1fr}}
.ill{background:var(--st);border-radius:20px;min-height:200px;padding-top:52px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;position:relative}
.ill svg{transition:transform .32s var(--ease);transform-origin:50% 100%}
.street{display:flex;justify-content:center;align-items:flex-end;gap:12px;height:100px;overflow:hidden;margin-top:10px}
.wz[hidden],.pane[hidden]{display:none}
.progress{display:flex;gap:8px}.progress i{width:44px;height:8px;border-radius:99px;background:#3A3833}.progress i.on{background:var(--o)}
.note{border:2px dashed var(--ink);border-radius:16px;padding:14px 16px;font-size:16px}
.msg{border:2px solid var(--ink);border-radius:16px;padding:14px 16px;background:var(--t-g)}
.msg.err{background:var(--t-r)}
.sticky-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;display:flex;align-items:center;gap:10px;background:var(--w);border:2px solid var(--ink);border-radius:20px;box-shadow:0 6px 0 var(--ink);padding:10px 10px 10px 16px;transform:translateY(140%);transition:transform .3s var(--ease)}
.sticky-bar.on{transform:none}
@media(min-width:1040px){.sticky-bar{display:none}}
.ladder li{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;border:2px solid #fff;border-radius:18px;padding:12px 16px}
@media(min-width:980px){.ladder li:nth-child(2){margin-left:40px}.ladder li:nth-child(3){margin-left:80px}.ladder li:nth-child(4){margin-left:120px}.ladder li:nth-child(5){margin-left:160px}}
/* Footer */
.ftr{background:var(--ink);color:#D6D2C9;padding:64px 0 28px}
.ftr a{color:#D6D2C9;text-decoration:none}.ftr a:hover{color:#fff;text-decoration:underline}
.ftr strong{color:#fff}
.ftr .cols{display:grid;gap:28px;grid-template-columns:repeat(2,minmax(0,1fr));margin:40px 0}
@media(min-width:980px){.ftr .cols{grid-template-columns:repeat(5,minmax(0,1fr))}}
.ftr nav{display:flex;flex-direction:column;gap:9px;font-size:16px}
.news{display:grid;gap:20px;background:#2B2A26;border-radius:28px;padding:28px;align-items:center}
@media(min-width:980px){.news{grid-template-columns:1fr 1fr}}
.news form{display:flex;flex-wrap:wrap;gap:8px}
.news input{flex:1 1 200px;background:var(--ink);color:#fff;border-color:#fff}
.wm{overflow:hidden;font:800 clamp(38px,10.4vw,176px)/.85 "Bricolage Grotesque",sans-serif;letter-spacing:-.05em;color:#fff;text-align:center;border-top:2px solid #3A3833;padding-top:32px}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px;border-top:2px solid #3A3833;padding-top:18px;margin-top:28px}
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:34px;margin:40px 0 12px}
.prose p,.prose ul,.prose ol{margin:0 0 14px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

@media(min-width:980px){.ill{min-height:230px}}
.price .n,.nodate{white-space:nowrap}
.g6.cmp{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:980px){.g6.cmp{grid-template-columns:repeat(6,minmax(0,1fr))}}
.g6.cmp .card{padding:16px;min-height:0}
@media(min-width:600px){.g6.cmp .card{padding:22px}}
.wzg{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:600px){.wzg{grid-template-columns:repeat(3,minmax(0,1fr))}}
.steps{display:grid;gap:16px;counter-reset:st}
@media(min-width:900px){.steps{grid-template-columns:repeat(3,minmax(0,1fr))}}
.steps li{list-style:none;counter-increment:st;border:2px solid var(--ink);border-radius:var(--r);padding:22px;background:var(--w);display:flex;flex-direction:column;gap:8px}
.steps li::before{content:counter(st);display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--o);color:var(--ink);font:800 20px "Bricolage Grotesque",sans-serif;align-items:center;justify-content:center;border:2px solid var(--ink)}
.mission{display:grid;gap:24px;align-items:center}
@media(min-width:900px){.mission{grid-template-columns:1.1fr 1fr}}
.mission blockquote{margin:0;font:800 clamp(28px,3.6vw,44px)/1.08 "Bricolage Grotesque",sans-serif;letter-spacing:-.03em}
.mission blockquote em{font-style:normal;color:var(--o)}
.ftr .indep{font-size:15px;color:#D6D2C9;max-width:720px;margin-top:18px}
.ftr .indep b{color:var(--o)}
.price a{color:#fff}
.split{grid-template-columns:minmax(0,1fr)}.split>*,.grid>*,.stack>*{min-width:0}
@media(min-width:980px){.split{grid-template-columns:minmax(0,1fr) 320px}}
.facts>*{min-width:0}.fact .v,.fact p{overflow-wrap:anywhere;hyphens:auto}
h1,h2,h3{overflow-wrap:break-word;hyphens:manual}
.ibtn{flex-shrink:0}
@media(max-width:439px){.hdr .wrap{gap:8px}.logo{gap:8px}.logo .d{font-size:20px}.logo svg{width:32px;height:32px}.ibtn{width:44px;height:44px}.menu-btn{width:auto;padding:0 12px}}
h1{overflow-wrap:anywhere;max-width:100%}@media(max-width:359px){.logo .d{font-size:17px}.logo svg{width:28px;height:28px}.menu-btn{padding:0 10px}.wrap{padding-left:16px;padding-right:16px}}
.btn{white-space:nowrap}
[hidden]{display:none!important}
