/* Laadpaalbewust · Stroomlijn · site.css */
@font-face{font-family:"Sora";src:url(/assets/fonts/sora-latin-wght-normal.woff2) format("woff2");font-weight:100 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";src:url(/assets/fonts/ibm-plex-sans-latin-wght-normal.woff2) format("woff2");font-weight:100 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#F5F7F6;--panel:#EAEFEC;--card:#FFFFFF;--ink:#10201B;--mute:#5C6B66;--line:#DCE3DF;--line2:#BFCAC4;--acc:#1D5BFF;--acc-ink:#FFFFFF;--soft:#E6EDFF;--tile:#10201B;--warn:#B7791F;--warnbg:#FFF4D6;--ok:#1E8E5A;--okbg:#DDF3E7;--yel:#FFC531;--disp:"Sora",system-ui,-apple-system,"Segoe UI",sans-serif;--body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--rad:8px;--rad-s:6px;--wrap:1120px}
*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 var(--body);}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}
img,svg,picture{max-width:100%}img{height:auto}
h1,h2,h3{font-family:var(--disp);letter-spacing:-.02em;text-wrap:balance;margin:0 0 .4em;line-height:1.12}
h1{font-size:clamp(28px,4.2vw,46px);font-weight:800}h2{font-size:clamp(21px,2.6vw,29px);font-weight:700}h3{font-size:17px;font-weight:700}
p{margin:.5em 0;max-width:68ch}.lead{font-size:17px;color:var(--mute);max-width:62ch}
.mute{color:var(--mute)}.small{font-size:13px}.mt{margin-top:28px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:18px}.wrap.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--acc);color:#fff;padding:8px 12px;z-index:100}.skip:focus{left:8px;top:8px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:700;color:var(--acc);margin-bottom:6px}
.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none}
/* header */
.hdr{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:64px;flex-wrap:wrap}
.logo{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-.02em}.logo:hover{text-decoration:none}
.logo b{color:var(--acc);font-weight:800}.logo .tile{width:40px;height:40px;border-radius:12px;background:var(--tile);display:grid;place-items:center;flex:none}.logo .tile svg{width:26px;height:26px}
.nav{display:flex;gap:4px 16px;align-items:center;flex-wrap:wrap;font-size:14px;font-weight:500;color:var(--mute)}.nav a.on{color:var(--ink);font-weight:600}
.menu{display:none;border:1px solid var(--line2);background:var(--card);border-radius:6px;width:42px;height:38px;padding:8px;flex-direction:column;justify-content:space-between;cursor:pointer}.menu span{display:block;height:2px;background:var(--ink);border-radius:2px}
@media (max-width:900px){.menu{display:flex}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-bottom:12px}.nav.open{display:flex}.nav a{padding:10px 4px;border-top:1px solid var(--line)}.nav .btn{margin-top:10px;justify-content:center}}
/* buttons, tags */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--rad-s);background:var(--acc);color:var(--acc-ink)!important;font:700 15px var(--body);border:0;cursor:pointer;line-height:1.2}.btn:hover{text-decoration:none;filter:brightness(1.05)}
.btn.sec{background:transparent;color:var(--ink)!important;border:1.5px solid var(--line2)}.btn.sm{padding:7px 12px;font-size:13px}.btn .ic{stroke:currentColor}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.tag{display:inline-block;font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px;background:var(--soft);color:var(--ink);margin:1px 3px 1px 0;white-space:nowrap}.tag.ok{background:var(--okbg);color:var(--ok)}.tag.warn{background:var(--warnbg);color:var(--warn)}
.score{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:6px;background:var(--tile);color:#fff;font-family:var(--disp);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;flex:none}.score.lg{width:64px;height:64px;font-size:24px;border-radius:8px}
.price{font-family:var(--disp);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.price.xl{font-size:26px;white-space:normal}.kv>*{min-width:0}
.est{color:var(--warn);font-weight:800;text-decoration:none;margin-left:3px;cursor:help;border:0}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pills span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:6px 11px;border-radius:99px;border:1px solid var(--line2);background:var(--card)}.pills .ic{stroke:var(--acc);width:16px;height:16px}
.pillrow{display:flex;flex-wrap:wrap;gap:6px}.pillrow a{border:1px solid var(--line2);border-radius:99px;padding:6px 12px;font-size:13px;font-weight:600;background:var(--card)}.pillrow a:hover{border-color:var(--acc);text-decoration:none}
.kicker{display:inline-flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:var(--mute);margin-bottom:12px}.kicker i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block}
/* sections, cards, grids */
section.sec{padding-block:34px}section.sec.alt{background:var(--panel)}
.phero{padding-block:36px 8px}.phero .lead{margin-top:6px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px;align-items:start}.grid2.al{align-items:center}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:14px}
.card{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:16px;min-width:0}a.card:hover{border-color:var(--acc);text-decoration:none}
.card b{display:block;margin:4px 0}.card small{display:block}.card .ic{color:var(--acc);width:22px;height:22px}.card .price{display:block;margin-top:6px}
.card.stat{display:grid;gap:4px}
.crumbs{max-width:var(--wrap);margin:0 auto;padding:12px 18px 0;font-size:13px;color:var(--mute)}.crumbs .sep{opacity:.6}.crumbs span[aria-current]{color:var(--ink)}
.notice{border-radius:var(--rad-s);padding:10px 12px;font-size:14px;margin:10px 0}.notice.warn{background:var(--warnbg);color:#5c3d00}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;font-size:14px;align-items:baseline}.kv b{font-weight:600}
.linklist{margin:8px 0;padding-left:18px}.linklist li{margin:4px 0}
.hl{margin:10px 0 0;padding-left:18px}.hl li{margin:3px 0}.hl.small{font-size:13px}
.prose{font-size:16px;line-height:1.65}.prose h2{margin-top:1.4em;font-size:22px}.prose table{width:100%;border-collapse:collapse;font-size:14px;margin:12px 0;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.prose th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}.prose ul{padding-left:20px}.prose a{text-decoration:underline;text-decoration-color:var(--line2)}
.copy{font-weight:600;cursor:pointer;border-bottom:1px dashed var(--line2)}
/* tables */
.tsc{overflow-x:auto;border:1px solid var(--line);border-radius:var(--rad);background:var(--card);max-width:100%}
table.pt{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums;min-width:640px}table.pt th,table.pt td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}table.pt th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);white-space:nowrap}table.pt tr:last-child td{border-bottom:0}table.pt td.tags{max-width:220px}
table.pt.vs{min-width:420px}table.pt.vs th{font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);font-family:var(--disp)}table.pt.vs th .blogo{margin-right:6px}
/* hero + check */
.hero{position:relative;background:var(--card);border-bottom:1px solid var(--line);padding-block:44px 60px;overflow:hidden}
.hero .in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:32px;align-items:start;position:relative;z-index:1}@media (max-width:900px){.hero .in{grid-template-columns:1fr}}
.hero h1 span{color:var(--acc)}
.hero .cable{position:absolute;left:0;right:0;bottom:0;height:110px;pointer-events:none;opacity:.9}.hero .cable svg{width:100%;height:100%}
.check{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:18px;display:grid;gap:14px;box-shadow:0 8px 30px rgba(16,32,27,.06)}
.check .q,.q{font-weight:700;font-size:14px;display:block}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:8px}.opts-net{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts button,.opts label{border:1.5px solid var(--line2);background:var(--card);border-radius:var(--rad-s);padding:10px 6px 8px;display:grid;gap:6px;justify-items:center;font:600 12px var(--body);color:var(--ink);cursor:pointer;min-width:0;text-align:center;position:relative}
.opts svg{width:44px;height:36px;stroke:var(--ink);fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.opts button[aria-pressed="true"],.opts label:has(input:checked),.opts button.on{border-color:var(--acc);background:var(--soft)}.opts button[aria-pressed="true"] svg,.opts label:has(input:checked) svg,.opts button.on svg{stroke:var(--acc)}
.opts label input{position:absolute;opacity:0;inset:0;cursor:pointer}
.res{border-radius:var(--rad-s);padding:14px;background:var(--soft);display:grid;gap:6px}.res .big,.big{font-family:var(--disp);font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1}
input[type=range]{width:100%;accent-color:var(--acc);margin:6px 0}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=number],select,textarea{width:100%;padding:10px 12px;border:1.5px solid var(--line2);border-radius:var(--rad-s);font:15px var(--body);background:var(--card);color:var(--ink)}
label.f{display:grid;gap:4px;font-size:13px;font-weight:600}label.chk{display:flex;gap:8px;align-items:center;font-size:14px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
/* model cards, ranked */
.mcard{display:grid;grid-template-columns:96px 1fr;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:12px;min-width:0}.mcard:hover{border-color:var(--acc);text-decoration:none}
.mimg{aspect-ratio:3/2;background:var(--panel);border-radius:var(--rad-s);display:grid;place-items:center;overflow:hidden;align-self:start}.mimg img{width:100%;height:100%;object-fit:contain}.mimg svg{height:80%;width:auto}
.mtop{display:flex;gap:10px;align-items:center;min-width:0}.mname{font-weight:700}.mprice{margin-top:6px;font-size:14px}
.brandrow{display:flex;flex-wrap:wrap;gap:8px}.bchip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:99px;padding:6px 12px 6px 6px;font-size:13px;font-weight:600;background:var(--card)}.bchip:hover{border-color:var(--acc);text-decoration:none}
.blogo{width:28px;height:28px;border-radius:8px;background:var(--panel);display:inline-grid;place-items:center;overflow:hidden;flex:none;vertical-align:middle}.blogo img{width:18px;height:18px}.blogo.wordmark{width:auto;padding:0 8px;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:-.01em}.blogo.lg{width:44px;height:44px}.blogo.lg img{width:28px;height:28px}.blogo.lg.wordmark{font-size:14px;padding:0 10px}.blogo.xl{width:72px;height:72px;border-radius:14px}.blogo.xl img{width:44px;height:44px}.blogo.xl.wordmark{font-size:18px;padding:0 14px}
.brandgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:12px}.bcard{display:grid;gap:4px;justify-items:start}
.bhead{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ranked{display:grid;gap:12px}.rankitem{display:grid;grid-template-columns:36px 120px 1fr auto;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:14px;min-width:0}
.rnum{font-family:var(--disp);font-weight:800;font-size:24px;color:var(--mute)}.rimg{aspect-ratio:3/2;background:var(--panel);border-radius:var(--rad-s);display:grid;place-items:center;overflow:hidden}.rimg img{width:100%;height:100%;object-fit:contain}.rimg svg{height:80%;width:auto}
.rprice{display:grid;gap:4px;justify-items:end;text-align:right}
@media (max-width:700px){.rankitem{grid-template-columns:36px 1fr;grid-template-rows:auto auto}.rimg{display:none}.rprice{grid-column:1/-1;justify-items:start;text-align:left;flex-direction:row}}
/* model page */
.model{padding-block:20px 40px}.mgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:32px;align-items:start;margin-bottom:34px}.mgrid>*{min-width:0}@media (max-width:860px){.mgrid{grid-template-columns:minmax(0,1fr)}}
figure{margin:0}figcaption{font-size:12px;color:var(--mute);margin-top:6px}
.podium{background:var(--panel);border-radius:var(--rad);aspect-ratio:3/2;display:grid;place-items:center;position:relative;overflow:hidden;max-width:100%}.podium img{width:100%;height:100%;object-fit:contain;padding:4%}.podium.drawn svg{height:78%;width:auto}.podium::after{content:"";position:absolute;left:14%;right:14%;bottom:9%;height:10px;border-radius:50%;background:rgba(16,32,27,.14);filter:blur(4px)}.podium.sm{max-width:420px}
.wbfallback{max-width:100%}
.scorebox{display:flex;gap:14px;align-items:center;margin:14px 0;flex-wrap:wrap}.pricebox{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:16px;margin:12px 0}
.spec{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:8px}.spec div{background:var(--card);border:1px solid var(--line);border-radius:var(--rad-s);padding:10px;min-width:0}.spec small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}.spec b{font-size:14px;overflow-wrap:anywhere}
.graphic{width:100%;height:auto;max-width:640px;display:block;color:var(--ink)}
.faq{margin-top:28px}.faq details{border-bottom:1px solid var(--line);padding:10px 0}.faq summary{font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}.faq summary::after{content:"+";color:var(--acc);font-weight:800}.faq details[open] summary::after{content:"–"}.faq .ans{padding-top:4px}
.sources{margin-top:28px}.sources ul{padding-left:18px;font-size:14px}.sources a{text-decoration:underline;text-decoration-color:var(--line2)}
.rel{margin-top:24px}.rel h2{font-size:18px}
.hicon svg{width:52px;height:42px;stroke:var(--acc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* vergelijker */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;align-items:end;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:14px;margin-bottom:12px}.filters label{display:grid;gap:4px;font-size:13px;font-weight:600}.filters .checks{display:flex;flex-wrap:wrap;gap:6px 14px;grid-column:1/-1}.filters .checks label{display:flex;gap:6px;align-items:center;font-weight:500}
/* offerte */
.ogrid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:22px;align-items:start}@media (max-width:860px){.ogrid{grid-template-columns:1fr}}
.oform{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:18px;display:grid;gap:14px}.oform fieldset{border:0;padding:0;margin:0;display:grid;gap:14px;min-width:0}.oform legend{font-weight:700;font-family:var(--disp);font-size:18px;margin-bottom:8px}
.steps{display:flex;gap:6px 14px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:600;color:var(--mute);flex-wrap:wrap}.steps li{display:flex;align-items:center;gap:6px}.steps li.on{color:var(--ink)}.steps i{width:26px;height:26px;border-radius:50%;display:inline-grid;place-items:center;border:1.5px solid var(--line2);font-style:normal}.steps li.on i{background:var(--acc);color:#fff;border-color:var(--acc)}.steps li.done i{background:var(--okbg);color:var(--ok);border-color:var(--ok)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}.ferr{color:#8a1c1c;font-weight:600}
.indic{position:sticky;top:80px}
/* installateurs */
.provgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:12px}
.cities{columns:3;column-gap:24px;font-size:14px}@media (max-width:700px){.cities{columns:2}}@media (max-width:420px){.cities{columns:1}}.cities a{display:block;padding:4px 0;border-bottom:1px dashed var(--line);break-inside:avoid}
.inst{display:grid;gap:12px;margin-bottom:14px}.partner{display:flex;gap:14px;align-items:flex-start;flex-wrap:wrap}.partner>div{flex:1;min-width:180px}.avatar{width:48px;height:48px;border-radius:var(--rad-s);background:var(--tile);color:#fff;display:grid;place-items:center;font-family:var(--disp);font-weight:800;flex:none}.avatar.mute{background:var(--line2)}
/* tools */
.tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}@media (max-width:820px){.tool{grid-template-columns:1fr}}
.tform{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:18px}.tform label{display:grid;gap:4px;font-size:13px;font-weight:600}.tform output{font-weight:800;color:var(--acc);margin-left:4px}.tform label:has(input[type=checkbox]){grid-auto-flow:column;justify-content:start;align-items:center;gap:8px}
.tres{background:var(--soft);border-radius:var(--rad);padding:18px;display:grid;gap:12px}.tres .big{font-size:34px}.tres .kv{margin-top:8px}.tres .btn{justify-self:start;margin-top:8px}
.ring-wrap{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.ring{width:150px;height:150px;flex:none}
.tool .opts{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr))}.tool .opts button{padding:14px 8px;font-size:14px}
.toollist{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px}
.dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:10px 24px;margin:0}.dl dt{font-weight:700}.dl dd{margin:0 0 8px;color:var(--mute);font-size:14px}
/* footer */
.ftr{background:var(--card);border-top:1px solid var(--line);padding-block:32px 24px;font-size:14px;margin-top:30px}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:22px}@media (max-width:820px){.fcols{grid-template-columns:1fr 1fr}}@media (max-width:480px){.fcols{grid-template-columns:1fr}}
.fcols a{display:block;padding:3px 0;color:var(--mute)}.fcols b{display:block;margin-bottom:6px}
.sisters{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px 16px;font-weight:600}.sisters b{color:var(--acc)}
/* cookie */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:520px;margin:0 auto;background:var(--card);border:1px solid var(--line2);border-radius:var(--rad);padding:14px 16px;box-shadow:0 10px 40px rgba(16,32,27,.15);z-index:90;display:grid;gap:10px}.cookie p{margin:0;font-size:14px}.cookie a{text-decoration:underline}.cbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cbtns .btn{justify-content:center}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.hdr,.ftr,.cookie,.btn{display:none!important}}


/* ---- hero: rotator, laadsessie, kabel-animatie ---- */
.hero{padding-block:52px 70px}
.hero .in{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}
.rot-h1{font-size:clamp(30px,4.6vw,52px)}
.rot{display:inline-block;height:1.12em;overflow:hidden;vertical-align:bottom;color:var(--acc)}
.rot>span{display:block;animation:rot 10s cubic-bezier(.7,0,.3,1) infinite}
.rot>span>span{display:block;height:1.12em;line-height:1.12em;white-space:nowrap}
@keyframes rot{0%,20%{transform:translateY(0)}25%,45%{transform:translateY(-1.12em)}50%,70%{transform:translateY(-2.24em)}75%,95%{transform:translateY(-3.36em)}100%{transform:translateY(-4.48em)}}
.session{position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px 18px 16px;box-shadow:0 20px 50px rgba(16,32,27,.10);display:grid;gap:14px;animation:plugin .6s 1.5s both}
@keyframes plugin{0%{box-shadow:0 20px 50px rgba(16,32,27,.10)}40%{box-shadow:0 0 0 4px var(--yel),0 20px 50px rgba(16,32,27,.10)}100%{box-shadow:0 20px 50px rgba(16,32,27,.10)}}
.shead{display:flex;gap:10px;align-items:center;font-size:14px;flex-wrap:wrap}.sdot{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(30,142,90,.5);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(30,142,90,.45)}100%{box-shadow:0 0 0 10px rgba(30,142,90,0)}}
.sbody{display:grid;grid-template-columns:160px minmax(0,1fr);gap:18px;align-items:center}@media (max-width:420px){.sbody{grid-template-columns:120px minmax(0,1fr)}}
.ringwrap{position:relative;width:100%;max-width:160px}.ringwrap svg{width:100%;height:auto;display:block}
.ringwrap .bolt{position:absolute;right:-2px;top:-2px;width:34px;height:34px;border-radius:50%;background:var(--yel);display:grid;place-items:center;box-shadow:0 4px 12px rgba(16,32,27,.2);transform:scale(0);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.ringwrap .bolt .ic{width:18px;height:18px;stroke:var(--ink);fill:var(--ink)}.session.charging .bolt{transform:scale(1)}
.sstats{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}.sstats div{display:grid;gap:2px}.sstats dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute)}.sstats dd{margin:0;font-family:var(--disp);font-weight:800;font-size:22px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.sstats dd.strike{color:var(--mute);text-decoration:line-through;text-decoration-color:var(--warn);text-decoration-thickness:2px;font-weight:600}
.sfase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sfase button{border:1.5px solid var(--line2);background:var(--card);border-radius:var(--rad-s);padding:8px 4px;font:700 13px var(--body);color:var(--ink);cursor:pointer;display:grid;gap:1px}.sfase button small{font-weight:500;color:var(--mute);font-size:11px}.sfase button.on{border-color:var(--acc);background:var(--soft)}.sfase button.on small{color:var(--acc)}
.snote{margin:0;font-size:13px;color:var(--mute);min-height:2.6em}.snote.warn{color:var(--warn);font-weight:600}
.replay{position:absolute;right:14px;top:14px;border:0;background:transparent;color:var(--mute);font:600 12px var(--body);cursor:pointer;padding:4px 6px;border-radius:6px}.replay:hover{background:var(--panel)}
.cable-ink{stroke-dasharray:1400;stroke-dashoffset:1400;animation:draw 1.6s .2s ease-out forwards}.cable-flow{stroke-dasharray:14 18;stroke-dashoffset:0;opacity:0;animation:flow 1.2s linear infinite,fadein .4s 1.7s forwards}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes flow{to{stroke-dashoffset:-64}}@keyframes fadein{to{opacity:1}}
/* ticker */
.ticker{display:flex;align-items:stretch;border-block:1px solid var(--line);background:var(--card);overflow:hidden;font-size:13px}
.tlabel{flex:none;display:grid;place-items:center;padding:0 14px;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;background:var(--tile);color:var(--yel)}
.ttrack{display:flex;overflow:hidden;flex:1;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.titems{display:flex;flex:none;gap:0;animation:tick 70s linear infinite}.ticker:hover .titems{animation-play-state:paused}
.titems a{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-right:1px solid var(--line);white-space:nowrap;font-weight:500}.titems a:hover{text-decoration:none;background:var(--soft)}
.titems i{font-style:normal;font-family:var(--disp);font-weight:800;font-size:11px;background:var(--tile);color:#fff;border-radius:4px;padding:2px 5px}.titems b{font-family:var(--disp);font-weight:800;font-variant-numeric:tabular-nums}
@keyframes tick{to{transform:translateX(-100%)}}
/* check-sectie */
.checksec{background:var(--panel)}.checksec .in2{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:start}@media (max-width:900px){.checksec .in2{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.rot>span{animation:none}.cable-ink{animation:none;stroke-dashoffset:0}.cable-flow{animation:none;opacity:1}.titems{animation:none}.sdot{animation:none}.session{animation:none}}
@media (max-width:900px){.hero .in{grid-template-columns:minmax(0,1fr)}.hero{padding-block:36px 64px}}
.shead{padding-right:84px}
@media (max-width:480px){.sstats dd{font-size:19px}.sfase button{font-size:12px}}
.podium:has(img){background:#fff;border:1px solid var(--line)}.podium:has(img)::after{display:none}.mimg:has(img),.rimg:has(img){background:#fff;border:1px solid var(--line)}
/* ---- Blauwdruk ---- */
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--gridc:#DCE6E1;--gridb:#CBD8D1}
body.bp{background-color:#F7F9F8}
body.bp .hdr,body.bp .ftr{background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
body.bp .hero{background:transparent;border-bottom:0;padding-block:40px 24px;overflow:visible}
body.bp section.sec.alt{background:rgba(234,239,236,.7)}
.lab{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:10px;display:flex;align-items:center;gap:10px}.lab::after{content:"";flex:1;height:1px;background:var(--acc);opacity:.35;max-width:160px}
.sheet{position:relative;background:#fff;border:1px solid var(--ink);padding:14px;box-shadow:6px 6px 0 rgba(16,32,27,.06)}
.sheet .corner{position:absolute;inset:6px;pointer-events:none;background:linear-gradient(var(--ink),var(--ink)) top left/10px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) top left/1px 10px no-repeat,linear-gradient(var(--ink),var(--ink)) top right/10px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) top right/1px 10px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom left/10px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom left/1px 10px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom right/10px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) bottom right/1px 10px no-repeat}
.sheet.check,.sheet.session{border-radius:0;padding:22px 18px 18px}.sheet .tsc{border:0;border-radius:0}
.bp-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:28px;align-items:end;margin-bottom:22px}@media (max-width:860px){.bp-head{grid-template-columns:1fr}}
.legend{margin:0;display:grid;gap:8px;font-size:13px;font-family:var(--mono)}.legend div{display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start}.legend dt{width:22px;height:22px;border:1.4px solid var(--acc);border-radius:50%;color:var(--acc);font-weight:500;display:grid;place-items:center;font-size:11px}.legend dd{margin:0;color:var(--mute);line-height:1.4}
.bp-sheet{padding:10px 10px 6px}.bp-hero{width:100%;height:auto;display:block}
.bp-exp,.bp-price{width:100%;height:auto;display:block}
body.bp .hero .pills{margin-top:14px}
.details{align-items:stretch}.details>*{min-width:0}
.parts{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}.parts a{display:grid;grid-template-columns:28px 1fr;gap:4px 12px;padding:10px 12px;background:#fff;border:1px solid var(--line);align-items:start}.parts a:hover{border-color:var(--acc);text-decoration:none}.parts i{grid-row:span 2;width:24px;height:24px;border:1.4px solid var(--acc);border-radius:50%;color:var(--acc);font:500 11px var(--mono);display:grid;place-items:center}.parts b{font-family:var(--disp)}.parts span{font-size:13px;color:var(--mute)}
.grid3.one{grid-template-columns:1fr;gap:10px}.grid3.one .card{border-radius:0;border-color:var(--line2)}
.tblock{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));border:1px solid var(--ink);background:#fff;margin:10px 0 0;font-family:var(--mono)}.tblock div{padding:8px 12px;border-right:1px solid var(--ink);display:grid;gap:2px;min-width:0}.tblock div:last-child{border-right:0}.tblock small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.tblock b{font-weight:500;font-size:12px;overflow-wrap:anywhere}
@media (max-width:640px){.tblock div{border-bottom:1px solid var(--line)}}
body.bp .tlabel{background:var(--ink);color:var(--yel);font-family:var(--mono);letter-spacing:.14em}body.bp .ticker{border-color:var(--ink)}
body.bp .card,body.bp .btn,body.bp .btn.sec,body.bp .opts button,body.bp .sfase button,body.bp .res,body.bp .bchip,body.bp .pillrow a,body.bp .pills span{border-radius:0}
body.bp .score{border-radius:0}
body.bp .mcard{border-radius:0}
/* tekenen bij zichtbaarheid */
.draw .ln path,.draw .ln rect,.draw .ln circle,.draw .layer rect,.draw .layer path,.draw .layer circle,.draw .cable-run,.draw .dim path,.draw .callout path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease-out}
.draw.in .ln path,.draw.in .ln rect,.draw.in .ln circle,.draw.in .layer rect,.draw.in .layer path,.draw.in .layer circle{stroke-dashoffset:0}
.draw.in .cable-run{stroke-dashoffset:0;transition-delay:.9s;transition-duration:1.2s}.draw.in .cable-run.c2{transition-delay:1.8s}
.draw .dim,.draw .callout,.draw text{opacity:0;transition:opacity .6s ease}.draw.in .dim,.draw.in .callout,.draw.in text{opacity:1;transition-delay:1.6s}.draw.in .dim path,.draw.in .callout path{stroke-dashoffset:0;transition-delay:1.6s}
.draw .fuse{cursor:pointer}.draw .fuse.off{fill-opacity:0;stroke:var(--line2)}
@media (prefers-reduced-motion:reduce){.draw *{transition:none!important;stroke-dashoffset:0!important;opacity:1!important}}
@media (max-width:760px){.bp-sheet,.sheet.scrollx{overflow-x:auto;-webkit-overflow-scrolling:touch}.bp-hero{min-width:760px}.bp-exp{min-width:520px}.bp-sheet::after{content:"← schuif de tekening →";display:block;font:11px var(--mono);color:var(--mute);text-align:center;padding-top:6px;position:sticky;left:0}}
.rot-h1{line-height:1.12}.rot{vertical-align:top;line-height:1.12em}
/* blauwdruk op alle pagina's */
.phero .lab{margin-bottom:12px}
.dimsheet{margin-top:14px;padding:10px}.bp-dim{width:100%;height:auto;display:block;max-height:260px}
.rankitem.sheet{border-radius:0}.rankitem .rnum i{font-style:normal;width:30px;height:30px;border:1.4px solid var(--acc);border-radius:50%;color:var(--acc);font:500 12px var(--mono);display:grid;place-items:center}
body.bp .podium{border-radius:0}body.bp .sheet .podium{background:#fff}body.bp .podium:has(img){border:0}
body.bp .pricebox,body.bp .spec div,body.bp .filters,body.bp .oform,body.bp .indic,body.bp .tform,body.bp .tres,body.bp .check,body.bp .session,body.bp .tsc{border-radius:0}
body.bp .model .tblock{margin-top:28px}

/* CTA's */
.ctaband{background:var(--ink);color:#F5F7F6;padding-block:34px;margin-top:30px}.ctaband .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center}@media (max-width:760px){.ctaband .wrap{grid-template-columns:1fr}}
.ctaband h2{color:#fff;margin:0 0 4px}.ctaband p{color:#C9D3CE;margin:0}.ctaband .btnrow{margin:0}.ctaband .btn.yel{background:var(--yel);color:var(--ink)!important}.ctaband .btn.ghost{background:transparent;color:#fff!important;border:1.5px solid #3A4A44}
.ctastrip{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;border:1px solid var(--ink);background:#fff;padding:14px 18px;margin-top:22px}.ctastrip b{font-family:var(--disp);font-size:17px}.ctastrip small{display:block;color:var(--mute)}
.stickycta{display:none}
@media (max-width:760px){.stickycta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--ink);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));gap:12px;align-items:center;justify-content:space-between;box-shadow:0 -8px 30px rgba(16,32,27,.12)}.stickycta .price{font-size:18px}.stickycta small{display:block;color:var(--mute);font-size:11px}body.modelpage{padding-bottom:78px}body.modelpage .cookie{bottom:86px}}
.thumb{width:56px;height:40px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:contain}.thumb svg{height:34px;width:auto}
table.pt td.tc{width:64px;padding-right:0}
.hero .btnrow .btn.yel{background:var(--yel);color:var(--ink)!important}

body.bp .hero{padding-block:44px 40px}.hero .in{align-items:center}.session.sheet{padding:18px}
