/* Lokaal gehoste lettertypen — vervangt de Google-import. */

/* Big Shoulders Display — latin-ext */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/big-shoulders-display-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Big Shoulders Display — latin */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/big-shoulders-display-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Big Shoulders Display — latin-ext */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/big-shoulders-display-800-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Big Shoulders Display — latin */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../fonts/big-shoulders-display-800-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Bricolage Grotesque — latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/bricolage-grotesque-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Bricolage Grotesque — latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/bricolage-grotesque-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Bricolage Grotesque — latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/bricolage-grotesque-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Bricolage Grotesque — latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/bricolage-grotesque-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Bricolage Grotesque — latin-ext */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/bricolage-grotesque-800-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Bricolage Grotesque — latin */
@font-face {
  font-family: 'Bricolage Grotesque';
  font-style: normal;
  font-weight: 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(../fonts/bricolage-grotesque-800-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* JetBrains Mono — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* JetBrains Mono — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* JetBrains Mono — latin-ext */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* JetBrains Mono — latin */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/jetbrains-mono-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Plus Jakarta Sans — latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-300-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans — latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-300-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Plus Jakarta Sans — latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans — latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Plus Jakarta Sans — latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans — latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Plus Jakarta Sans — latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans — latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Plus Jakarta Sans — latin-ext */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Plus Jakarta Sans — latin */
@font-face {
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/plus-jakarta-sans-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ═══════════════════════════════════════════════════════
   DCS — Dynamic Control Systems
   Stylesheet: SHOWCASE (Bricolage Grotesque + Plus Jakarta Sans)
   Zelfde klassen, premium-warme uitstraling met zachte schaduwen.
═══════════════════════════════════════════════════════ */
/* Lettertypen staan lokaal in assets/fonts, zie fonts.css. */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; border: none; background: none; }

:root {
  --dark:#211C16; --dark-2:#2C2620; --dark-3:#3A332B; --topbar:#1A1610;
  --ink:#211C16; --ink-2:#6B655B; --ink-3:#A49C8E;
  --line:#EAE6DD; --line-2:#F3F0E9; --bg:#FAF8F3; --grey:#F3F0E9;
  --orange:#E8971E; --orange-d:#C97E10; --orange-soft:#FBEFD9;
  --shadow-soft:0 18px 44px -22px rgba(33,28,22,.18),0 5px 16px -10px rgba(33,28,22,.08);
  --shadow-float:0 30px 70px -28px rgba(33,28,22,.24),0 10px 28px -16px rgba(33,28,22,.12);
  --t:240ms cubic-bezier(.32,.72,0,1); --maxw:1180px;
  --r:18px;
}

body { font-family:'Plus Jakarta Sans',sans-serif; background:var(--bg); color:var(--ink); line-height:1.62; font-size:16px; -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative; }
/* aurora glow */
body::before{content:'';position:fixed;top:-10%;right:-8%;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(232,151,30,.10) 0%,transparent 68%);filter:blur(40px);z-index:-1;pointer-events:none;}
h1,h2,h3,h4 { font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif; letter-spacing:.005em; line-height:1.04; font-weight:800; }
::selection { background:var(--orange); color:var(--ink); }
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{animation:none!important;transition:none!important;} .reveal{opacity:1!important;transform:none!important;} }

.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--t),transform .8s var(--t);}
.reveal.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}.d4{transition-delay:.32s;}

.btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 28px;font-size:13.5px;font-weight:700;letter-spacing:.02em;text-transform:none;border-radius:999px;transition:background var(--t),color var(--t),border-color var(--t),transform var(--t),box-shadow var(--t);}
.btn:active{transform:scale(.97);}
.btn svg{width:16px;height:16px;transition:transform var(--t);}
.btn:hover svg{transform:translate(3px,-2px);}
.btn-primary{background:var(--orange);color:#fff;box-shadow:0 14px 30px -12px rgba(232,151,30,.4);}
.btn-primary:hover{background:var(--orange-d);}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#000;}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line);}
.btn-outline:hover{border-color:var(--ink);background:var(--grey);}
.btn-light-outline{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);}
.btn-light-outline:hover{border-color:#fff;}

.dcs-container{max-width:var(--maxw);margin:0 auto;padding:0 36px;}
.dcs-section{padding:96px 0;}
.dcs-section.tight{padding:70px 0;}
.dcs-section.grey{background:var(--grey);}

.topbar{background:var(--topbar);color:rgba(255,255,255,.65);font-size:13px;}
.topbar .dcs-container{display:flex;align-items:center;justify-content:space-between;height:40px;}
.topbar .dcs-left{display:flex;align-items:center;gap:24px;}
.topbar .dcs-left a{display:flex;align-items:center;gap:7px;transition:color var(--t);}
.topbar .dcs-left a:hover{color:#fff;}
.topbar .dcs-left svg{width:14px;height:14px;color:var(--orange);}
.topbar .dcs-right{display:flex;align-items:center;gap:8px;color:var(--orange);font-weight:600;}
.topbar .dcs-right .led{width:7px;height:7px;border-radius:50%;background:var(--orange);box-shadow:0 0 8px rgba(232,151,30,.6);}

header{position:sticky;top:0;z-index:100;background:rgba(250,248,243,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);}
.dcs-header-main{display:flex;align-items:center;justify-content:space-between;height:78px;}
.dcs-header-main .dcs-logo img{height:36px;display:block;}
.dcs-header-main nav{display:flex;align-items:center;gap:26px;}
.dcs-header-main nav a{font-size:14px;font-weight:600;color:var(--ink);transition:color var(--t);position:relative;}
.dcs-header-main nav a:hover,.dcs-header-main nav a.dcs-active{color:var(--orange);}
.dcs-header-main nav .has-sub{position:relative;}
.dcs-header-main nav .has-sub>a::after{content:'▾';font-size:9px;margin-left:5px;color:var(--ink-3);}
.dcs-header-main nav .submenu{position:absolute;top:100%;left:-16px;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-float);padding:8px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity var(--t),transform var(--t),visibility var(--t);}
.dcs-header-main nav .has-sub:hover .submenu{opacity:1;visibility:visible;transform:translateY(0);}
.dcs-header-main nav .submenu a{display:block;padding:10px 14px;font-size:13.5px;font-weight:600;color:var(--ink-2);border-radius:8px;transition:background var(--t),color var(--t);}
.dcs-header-main nav .submenu a:hover{background:var(--grey);color:var(--orange);}
.dcs-header-main .nav-btn{display:inline-flex;align-items:center;height:44px;padding:0 22px;background:var(--orange);color:#fff;font-size:13px;font-weight:700;border-radius:999px;box-shadow:0 12px 24px -10px rgba(232,151,30,.4);transition:background var(--t);}
.dcs-header-main .nav-btn:hover{background:var(--orange-d);}
.dcs-header-main .nav-btn::after{display:none!important;}
.burger{display:none;font-size:22px;color:var(--ink);}

.dcs-banner{position:relative;min-height:640px;display:flex;align-items:center;overflow:hidden;background:var(--dark);}
.dcs-banner .dcs-bg{position:absolute;left:0;right:0;top:-12%;height:124%;will-change:transform;}
.dcs-banner .dcs-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 6s ease;}
.dcs-banner:hover .dcs-bg img{transform:scale(1.08);}
.dcs-banner .dcs-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(26,22,16,.9) 0%,rgba(26,22,16,.72) 44%,rgba(26,22,16,.28) 100%);}
.dcs-banner .content{position:relative;z-index:2;max-width:640px;}
.dcs-banner .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:20px;}
.dcs-banner .eyebrow::before{content:'';width:28px;height:2px;background:var(--orange);}
.dcs-banner h1{font-size:clamp(46px,5.8vw,86px);color:#fff;margin-bottom:22px;}
.dcs-banner h1 span{color:var(--orange);}
.dcs-banner p{font-size:18px;font-weight:300;color:rgba(255,255,255,.82);line-height:1.6;max-width:48ch;margin-bottom:34px;}
.dcs-banner .actions{display:flex;gap:12px;flex-wrap:wrap;}

.page-hero{position:relative;min-height:380px;display:flex;align-items:flex-end;overflow:hidden;background:var(--dark);}
.page-hero .dcs-bg{position:absolute;inset:0;}
.page-hero .dcs-bg img{width:100%;height:100%;object-fit:cover;}
.page-hero .dcs-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,22,16,.74) 0%,rgba(26,22,16,.58) 50%,rgba(26,22,16,.9) 100%);}
.page-hero .dcs-container{position:relative;z-index:2;padding-bottom:50px;padding-top:74px;}
.crumbs{font-size:13px;color:rgba(255,255,255,.55);margin-bottom:16px;display:flex;align-items:center;gap:8px;}
.crumbs a:hover{color:var(--orange);} .crumbs span{color:var(--orange);}
.page-hero h1{font-size:clamp(36px,4.6vw,60px);color:#fff;max-width:18ch;}
.page-hero p{font-size:17px;font-weight:300;color:rgba(255,255,255,.8);max-width:52ch;margin-top:16px;}

.usp{background:var(--dark);border-top:1px solid var(--dark-3);}
.usp .dcs-container{display:grid;grid-template-columns:repeat(4,1fr);}
.usp .ibox{display:flex;align-items:center;gap:16px;padding:30px 28px;border-left:1px solid var(--dark-3);}
.usp .ibox:first-child{border-left:none;padding-left:0;}
.usp .ibox .ic{width:46px;height:46px;flex-shrink:0;border-radius:12px;background:rgba(232,151,30,.12);display:flex;align-items:center;justify-content:center;}
.usp .ibox .ic svg{width:22px;height:22px;color:var(--orange);}
.usp .ibox .t{font-size:15px;font-weight:700;color:#fff;}
.usp .ibox .s{font-size:12.5px;color:rgba(255,255,255,.5);}

.sec-title{text-align:center;margin-bottom:58px;}
.sec-title .pre{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.sec-title h2{font-size:clamp(32px,3.8vw,54px);}
.sec-title .line{width:52px;height:3px;background:var(--orange);border-radius:2px;margin:18px auto 0;}
.sec-title.dcs-left{text-align:left;} .sec-title.dcs-left .line{margin:18px 0 0;}
.sec-title .sub{font-size:17px;font-weight:300;color:var(--ink-2);max-width:56ch;margin:18px auto 0;}

/* icon boxes — soft cards */
.iboxes{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border:none;}
.iboxes.cols-3{grid-template-columns:repeat(3,1fr);}
.ibox-card{padding:36px 30px 34px;border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow-soft);transition:transform var(--t),box-shadow var(--t);position:relative;overflow:hidden;}
.ibox-card::after{display:none;}
.ibox-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-float);}
.ibox-card .ic{width:56px;height:56px;border-radius:14px;background:var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:24px;transition:transform var(--t);box-shadow:0 10px 22px -10px rgba(232,151,30,.5);}
.ibox-card:hover .ic{transform:translateY(-3px) rotate(-3deg);}
.ibox-card .ic svg{width:28px;height:28px;color:#fff;}
.ibox-card .num{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);margin-bottom:8px;}
.ibox-card h3{font-size:20px;margin-bottom:12px;}
.ibox-card p{font-size:14px;color:var(--ink-2);line-height:1.6;margin-bottom:22px;}
.ibox-card .more{font-size:13px;font-weight:700;color:var(--orange);display:inline-flex;align-items:center;gap:7px;transition:gap var(--t);}
.ibox-card .more svg{width:14px;height:14px;} .ibox-card:hover .more{gap:12px;}

.feature{background:var(--dark);color:#fff;padding:88px 0;}
.feature.light{background:transparent;color:var(--ink);}
.feature .dcs-container{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.feature.reverse .dcs-container{direction:rtl;} .feature.reverse .dcs-container>*{direction:ltr;}
.feature .fimg{position:relative;overflow:hidden;border-radius:var(--r);box-shadow:var(--shadow-float);}
.feature .fimg img{width:100%;height:460px;object-fit:cover;}
.feature .fimg .year{position:absolute;left:0;bottom:0;background:var(--orange);color:#fff;padding:16px 24px;font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;border-top-right-radius:14px;}
.feature .ftext .pre{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.feature .ftext h2{font-size:clamp(28px,3.4vw,46px);margin-bottom:20px;color:#fff;}
.feature.light .ftext h2{color:var(--ink);}
.feature .ftext p{font-size:15.5px;font-weight:300;color:rgba(255,255,255,.74);line-height:1.75;margin-bottom:16px;max-width:48ch;}
.feature.light .ftext p{color:var(--ink-2);}
.feature .fcerts{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 30px;}
.feature .fcerts span{font-size:12px;font-weight:600;letter-spacing:.03em;border:1px solid var(--dark-3);border-radius:999px;padding:7px 16px;color:rgba(255,255,255,.85);}
.feature.light .fcerts span{border-color:var(--line);color:var(--ink-2);background:#fff;box-shadow:var(--shadow-soft);}

.counters{background:var(--dark);color:#fff;}
.counters .dcs-container{display:grid;grid-template-columns:repeat(4,1fr);}
.counter{padding:54px 28px;border-left:1px solid var(--dark-3);text-align:center;}
.counter:first-child{border-left:none;}
.counter .cnum{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(44px,5vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1;color:#fff;}
.counter .cnum .u{color:var(--orange);}
.counter .clbl{font-size:13px;color:rgba(255,255,255,.55);margin-top:12px;}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pgrid.cols-2{grid-template-columns:repeat(2,1fr);}
.pbox{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--shadow-soft);transition:box-shadow var(--t),transform var(--t);}
.pbox:hover{box-shadow:var(--shadow-float);transform:translateY(-5px);}
.pbox .pimg{height:200px;overflow:hidden;position:relative;background:var(--dark);}
.pbox .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--t);}
.pbox:hover .pimg img{transform:scale(1.06);}
.pbox .ptag{position:absolute;top:14px;left:14px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;}
.pbox .pbody{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1;}
.pbox h3{font-size:20px;margin-bottom:8px;}
.pbox .pdesc{font-size:14px;color:var(--ink-2);line-height:1.55;margin-bottom:20px;flex:1;}
.pbox .pspecs{margin-bottom:22px;}
.pbox .pspecs .r{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line-2);font-size:13px;}
.pbox .pspecs .r:last-child{border-bottom:none;}
.pbox .pspecs .k{color:var(--ink-3);}
.pbox .pspecs .v{font-weight:700;font-variant-numeric:tabular-nums;}
.pbox .pfoot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:18px;border-top:1px solid var(--line);}
.pbox .dcs-price{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;font-weight:800;letter-spacing:-.02em;}
.pbox .dcs-price small{display:block;font-size:11px;font-weight:500;color:var(--ink-3);}
.pbox .pfoot .btn{height:42px;padding:0 20px;}

.prose{max-width:760px;} .prose.wide{max-width:860px;}
.prose p{font-size:16.5px;color:var(--ink-2);line-height:1.8;margin-bottom:20px;}
.prose h2{font-size:clamp(26px,3vw,40px);margin:8px 0 18px;}
.prose h3{font-size:22px;margin:30px 0 12px;}
.prose ul{list-style:none;margin:0 0 24px;}
.prose ul li{position:relative;padding-left:28px;margin-bottom:12px;font-size:16px;color:var(--ink-2);line-height:1.6;}
.prose ul li::before{content:'';position:absolute;left:0;top:9px;width:12px;height:2px;background:var(--orange);}
.prose .pre{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}

.checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;margin:8px 0;}
.checklist li{display:flex;align-items:flex-start;gap:12px;font-size:15px;color:var(--ink-2);line-height:1.5;}
.checklist li svg{width:20px;height:20px;color:var(--orange);flex-shrink:0;margin-top:1px;}
.checklist li b{color:var(--ink);font-weight:700;}

.note{background:var(--orange-soft);border-left:3px solid var(--orange);border-radius:0 12px 12px 0;padding:22px 26px;margin:8px 0 0;}
.note p{font-size:15px;color:var(--ink);line-height:1.65;margin:0;} .note b{font-weight:800;}

.steps{counter-reset:step;display:grid;gap:0;}
.steps .step{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--line);}
.steps .step:last-child{border-bottom:1px solid var(--line);}
.steps .step .n{counter-increment:step;font-family:'Bricolage Grotesque',sans-serif;font-size:24px;font-weight:800;color:var(--orange);}
.steps .step .n::before{content:counter(step,decimal-leading-zero);}
.steps .step h4{font-size:18px;margin-bottom:6px;}
.steps .step p{font-size:15px;color:var(--ink-2);line-height:1.6;}

.spectable{width:100%;border:1px solid var(--line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;}
.spectable tr{border-bottom:1px solid var(--line);}
.spectable td{padding:14px 20px;font-size:14.5px;border-bottom:1px solid var(--line);}
.spectable tr:last-child td{border-bottom:none;}
.spectable td:first-child{color:var(--ink-3);width:45%;}
.spectable td:last-child{font-weight:700;}
.spectable tr:nth-child(even){background:var(--grey);}

.detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.detail-img{position:relative;overflow:hidden;border-radius:var(--r);box-shadow:var(--shadow-soft);}
.detail-img img{width:100%;height:auto;display:block;}
.price-card{border:1px solid var(--line);border-radius:var(--r);background:#fff;box-shadow:var(--shadow-float);padding:32px;position:sticky;top:96px;}
.price-card .pre{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-bottom:10px;}
.price-card .big{font-family:'Bricolage Grotesque',sans-serif;font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.price-card .big small{display:block;font-size:13px;font-weight:500;color:var(--ink-3);margin-top:6px;}
.price-card .btn{width:100%;justify-content:center;margin-top:22px;}
.price-card .big .vanaf{font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:700;letter-spacing:0;color:var(--ink-2);margin-right:4px;}
.price-card .alt-link{display:block;text-align:center;margin-top:14px;font-size:13.5px;color:var(--ink-3);text-decoration:underline;}
#kiezer{scroll-margin-top:90px;}

.cta{background:linear-gradient(135deg,#2C2620 0%,#211C16 100%);color:#fff;text-align:center;position:relative;overflow:hidden;}
.cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:380px;background:radial-gradient(ellipse,rgba(232,151,30,.18) 0%,transparent 70%);}
.cta .dcs-container{position:relative;}
.cta .pre{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.cta h2{font-size:clamp(30px,4.4vw,58px);color:#fff;margin-bottom:14px;}
.cta p{font-size:18px;font-weight:300;color:rgba(255,255,255,.66);max-width:48ch;margin:0 auto 32px;}
.cta .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.contact .dcs-container{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;}
.contact .ci .pre{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--orange);margin-bottom:14px;}
.contact .ci h2{font-size:clamp(28px,3.4vw,44px);margin-bottom:18px;}
.contact .ci>p{font-size:15px;color:var(--ink-2);line-height:1.7;max-width:34ch;margin-bottom:32px;}
.contact .cln{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line);}
.contact .cln:last-child{border-bottom:1px solid var(--line);}
.contact .cln .ic{width:46px;height:46px;border-radius:12px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--t);}
.contact .cln:hover .ic{background:var(--orange);}
.contact .cln .ic svg{width:18px;height:18px;color:var(--orange);transition:color var(--t);}
.contact .cln:hover .ic svg{color:#fff;}
.contact .cln .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:2px;}
.contact .cln .v{font-size:15px;font-weight:700;} .contact .cln a.v:hover{color:var(--orange);}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-float);padding:40px;}
.dcs-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;}
.field input,.field textarea,.field select{width:100%;min-height:50px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px 16px;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;color:var(--ink);outline:none;transition:border-color var(--t),box-shadow var(--t);-webkit-appearance:none;}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-3);}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(232,151,30,.14);background:#fff;}
.field textarea{min-height:116px;resize:vertical;}
.field .help{font-size:12px;color:var(--ink-3);margin-top:6px;}

footer{background:var(--topbar);color:rgba(255,255,255,.6);padding:64px 0 0;}
.fcols{display:grid;grid-template-columns:auto auto auto auto;justify-content:space-between;gap:36px;padding-bottom:48px;border-bottom:1px solid var(--dark-3);}
.fbrand .fbrand-logo{display:flex;align-items:center;gap:12px;margin-bottom:0;flex:0 0 auto;}
.fbrand .fbrand-rij{display:flex;align-items:center;gap:24px;}
.fbrand .fbrand-logo img{height:34px;width:auto;}
.fbrand .fbrand-logo img.fbrand-rond{height:120px;width:120px;}
.fbrand .fbrand-logo span{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:800;color:#fff;letter-spacing:-.02em;}
.fbrand p{font-size:13.5px;font-weight:300;line-height:1.7;max-width:360px;margin:0;}
.fcol h4,.fbrand .fbrand-naam{font-size:24px;font-weight:800;letter-spacing:.01em;color:#fff;margin-bottom:18px;}
.fcol a{display:block;font-size:13.5px;margin-bottom:11px;transition:color var(--t);}
.fcol a:hover{color:var(--orange);}
.fbottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding:24px 0;font-size:12.5px;}
.fbottom a:hover{color:var(--orange);}

@media (max-width:980px){
  .dcs-container{padding:0 20px;}
  .topbar .dcs-left{gap:14px;} .topbar .dcs-left a span{display:none;}
  .dcs-header-main nav{display:none;}
  .dcs-header-main nav.open{display:flex;position:fixed;top:118px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(0,0,0,.3);}
  .dcs-header-main nav.open a{padding:14px 0;border-bottom:1px solid var(--line-2);}
  .dcs-header-main nav.open .submenu{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;padding:0 0 0 16px;}
  .dcs-header-main nav.open .nav-btn{margin-top:12px;justify-content:center;}
  .burger{display:block;}
  .dcs-banner{min-height:520px;} .dcs-banner .dcs-overlay{background:linear-gradient(180deg,rgba(26,22,16,.85),rgba(26,22,16,.7));}
  .page-hero{min-height:300px;}
  .usp .dcs-container{grid-template-columns:1fr 1fr;}
  .usp .ibox{border-left:none;padding:22px 0;border-top:1px solid var(--dark-3);}
  .usp .ibox:nth-child(-n+2){border-top:none;}
  .counters .dcs-container{grid-template-columns:1fr 1fr;}
  .counter:nth-child(odd){border-left:none;} .counter:nth-child(n+3){border-top:1px solid var(--dark-3);}
  .iboxes,.iboxes.cols-3{grid-template-columns:1fr 1fr;}
  .feature .dcs-container,.feature.reverse .dcs-container{grid-template-columns:1fr;gap:40px;direction:ltr;}
  .pgrid,.pgrid.cols-2{grid-template-columns:1fr;}
  .checklist{grid-template-columns:1fr;}
  .detail-grid{grid-template-columns:1fr;gap:36px;} .price-card{position:static;}
  .contact .dcs-container{grid-template-columns:1fr;gap:40px;}
  .dcs-form-row{grid-template-columns:1fr;} .form{padding:28px;}
  .fcols{grid-template-columns:1fr 1fr;gap:32px;} .fbrand{grid-column:1/-1;}
}

/* ═══════════════════════════════════════════════════════
   SHOWCASE — structurele componenten (eigen indeling)
═══════════════════════════════════════════════════════ */

/* Editorial split hero (home) */
.hero-split{padding:120px 0 100px;position:relative;}
.hero-split .dcs-container{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;}
.hero-split .eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:22px;}
.hero-split .eyebrow::before{content:'';width:28px;height:2px;background:var(--orange);}
.hero-split h1{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(50px,6.6vw,98px);font-weight:800;letter-spacing:-.035em;line-height:.96;color:var(--ink);margin-bottom:24px;}
.hero-split h1 span{color:var(--orange);display:block;}
.hero-split .dcs-lead{font-size:18px;font-weight:300;color:var(--ink-2);line-height:1.65;max-width:46ch;margin-bottom:36px;}
.hero-split .hactions{display:flex;gap:12px;flex-wrap:wrap;}
.hero-split .hvisual{position:relative;}
.hero-split .hvisual .frame{border-radius:26px;overflow:hidden;box-shadow:var(--shadow-float);border:1px solid var(--line);}
.hero-split .hvisual img{width:100%;height:560px;object-fit:cover;transition:transform 1.2s var(--t);}
.hero-split .hvisual:hover img{transform:scale(1.04);}
.hero-split .floatstat{position:absolute;bottom:-24px;left:-24px;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:20px;padding:18px 22px;box-shadow:var(--shadow-float);display:flex;align-items:center;gap:16px;}
.hero-split .floatstat .n{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:40px;letter-spacing:-.04em;color:var(--orange);line-height:1;}
.hero-split .floatstat .l{font-size:11px;font-weight:600;color:var(--ink-2);line-height:1.4;}
.hero-split .chip{position:absolute;top:-16px;right:-12px;background:var(--ink);color:#fff;border-radius:999px;padding:10px 18px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:var(--shadow-float);display:flex;align-items:center;gap:8px;}
.hero-split .chip::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);}

/* Light editorial page-hero (binnenpagina's) */
.page-hero-light{padding:130px 0 0;position:relative;}
.page-hero-light .crumbs{color:var(--ink-3);margin-bottom:16px;}
.page-hero-light .crumbs a:hover{color:var(--orange);} .page-hero-light .crumbs span{color:var(--orange);}
.page-hero-light .ph-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);margin-bottom:16px;}
.page-hero-light .ph-eyebrow::before{content:'';width:24px;height:2px;background:var(--orange);}
.page-hero-light h1{font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(40px,5.2vw,76px);font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--ink);max-width:18ch;}
.page-hero-light p{font-size:18px;font-weight:300;color:var(--ink-2);max-width:56ch;margin-top:18px;line-height:1.6;}
.page-hero-light .ph-img{margin-top:48px;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-float);border:1px solid var(--line);}
.page-hero-light .ph-img img{width:100%;height:420px;object-fit:cover;}

/* Big-number stat band (soft cards) */
.statband{padding:0 0 100px;}
.statband .dcs-container{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.statcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 28px;box-shadow:var(--shadow-soft);transition:transform var(--t),box-shadow var(--t);}
.statcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-float);}
.statcard .big{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:54px;letter-spacing:-.05em;line-height:1;color:var(--ink);margin-bottom:8px;}
.statcard .big .u{color:var(--orange);}
.statcard .lbl{font-size:13px;font-weight:500;color:var(--ink-2);line-height:1.4;}

/* Bento (asymmetrisch, grote beelden) */
.bento{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:20px;}
.bento .tile{position:relative;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);transition:transform var(--t),box-shadow var(--t);text-decoration:none;color:inherit;display:flex;}
.bento .tile:hover{transform:translateY(-5px);box-shadow:var(--shadow-float);}
.bento .tile.span4{grid-column:span 4;} .bento .tile.span3{grid-column:span 3;} .bento .tile.span2{grid-column:span 2;}
.bento .tile.photo{min-height:320px;}
.bento .tile.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--t);}
.bento .tile.photo:hover img{transform:scale(1.06);}
.bento .tile.photo .cap{position:relative;z-index:2;margin-top:auto;padding:28px;width:100%;background:linear-gradient(180deg,transparent,rgba(17,17,20,.82));}
.bento .tile.photo .cap .num{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--orange);margin-bottom:6px;}
.bento .tile.photo .cap h3{font-family:'Bricolage Grotesque',sans-serif;font-size:24px;font-weight:700;color:#fff;letter-spacing:-.02em;margin-bottom:6px;}
.bento .tile.photo .cap p{font-size:13.5px;font-weight:300;color:rgba(255,255,255,.8);line-height:1.55;}
.bento .tile.solid{flex-direction:column;padding:34px 30px;}
.bento .tile.solid.dcs-dark{background:var(--dark);color:#fff;border-color:var(--dark-3);}
.bento .tile.solid .ic{width:54px;height:54px;border-radius:14px;background:var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:22px;box-shadow:0 10px 22px -10px rgba(232,151,30,.5);}
.bento .tile.solid .ic svg{width:27px;height:27px;color:#fff;}
.bento .tile.solid .num{font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--ink-3);margin-bottom:8px;}
.bento .tile.solid.dcs-dark .num{color:rgba(255,255,255,.5);}
.bento .tile.solid h3{font-family:'Bricolage Grotesque',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px;}
.bento .tile.solid p{font-size:14px;font-weight:300;color:var(--ink-2);line-height:1.6;margin-bottom:auto;}
.bento .tile.solid.dcs-dark p{color:rgba(255,255,255,.72);}
.bento .tile.solid .more{margin-top:18px;font-size:13px;font-weight:700;color:var(--orange);display:inline-flex;align-items:center;gap:7px;transition:gap var(--t);}
.bento .tile.solid .more svg{width:14px;height:14px;}
.bento .tile.solid:hover .more{gap:12px;}

@media (max-width:980px){
  .hero-split{padding:110px 0 70px;}
  .hero-split .dcs-container{grid-template-columns:1fr;gap:44px;}
  .hero-split .hvisual img{height:380px;}
  .hero-split .chip{right:6px;}
  .page-hero-light{padding:110px 0 0;}
  .page-hero-light .ph-img img{height:300px;}
  .statband .dcs-container{grid-template-columns:1fr 1fr;}
  .bento{grid-template-columns:1fr;}
  .bento .tile.span4,.bento .tile.span3,.bento .tile.span2{grid-column:span 1;}
  .bento .tile.photo{min-height:260px;}
}


/* ── Gestapelde dienstenlijst (veel tekst, netjes onder elkaar) ── */
.iboxes.dcs-stack{display:flex;flex-direction:column;border:none;gap:0;background:none;}
.iboxes.dcs-stack .ibox-card{display:grid;grid-template-columns:64px 1fr;column-gap:28px;align-items:start;
  padding:34px 0;border:none;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;transform:none;}
.iboxes.dcs-stack .ibox-card:last-child{border-bottom:1px solid var(--line);}
.iboxes.dcs-stack .ibox-card::after{display:none;}
.iboxes.dcs-stack .ibox-card:hover{background:transparent;transform:none;box-shadow:none;}
.iboxes.dcs-stack .ibox-card .ic{grid-column:1;grid-row:1 / span 3;margin-bottom:0;align-self:start;}
.iboxes.dcs-stack .ibox-card:hover .ic{transform:none;}
.iboxes.dcs-stack .ibox-card .num{grid-column:2;margin-bottom:4px;}
.iboxes.dcs-stack .ibox-card h3{grid-column:2;margin-bottom:10px;}
.iboxes.dcs-stack .ibox-card p{grid-column:2;margin-bottom:0;max-width:72ch;}
@media(max-width:980px){
  .iboxes.dcs-stack .ibox-card{grid-template-columns:1fr;column-gap:0;}
  .iboxes.dcs-stack .ibox-card .ic{grid-row:auto;margin-bottom:18px;}
  .iboxes.dcs-stack .ibox-card .num,.iboxes.dcs-stack .ibox-card h3,.iboxes.dcs-stack .ibox-card p{grid-column:1;}
}


/* ── Stack met kleine afbeelding rechts ── */
.iboxes.dcs-stack .ibox-card{grid-template-columns:64px minmax(0,640px) 1fr;column-gap:36px;}
.iboxes.dcs-stack .ibox-card p{max-width:none;}
.iboxes.dcs-stack .stack-img{grid-column:3;grid-row:1 / span 3;align-self:center;justify-self:end;width:248px;height:172px;border-radius:var(--r,4px);overflow:hidden;border:1px solid var(--line);box-shadow:0 16px 32px -20px rgba(0,0,0,.25);}
.iboxes.dcs-stack .stack-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.iboxes.dcs-stack .ibox-card:hover .stack-img img{transform:scale(1.05);}
@media(max-width:980px){
  .iboxes.dcs-stack .ibox-card{grid-template-columns:1fr;}
  .iboxes.dcs-stack .stack-img{display:none;}
}


/* ── Stack: beeld om en om (links/rechts), iets groter ── */
.iboxes.dcs-stack .ibox-card{grid-template-columns:64px 1fr 300px;column-gap:40px;}
.iboxes.dcs-stack .ibox-card p{max-width:64ch;}
.iboxes.dcs-stack .stack-img{grid-column:3;width:300px;height:200px;justify-self:end;}
.iboxes.dcs-stack .ibox-card:nth-child(even){grid-template-columns:300px 64px 1fr;}
.iboxes.dcs-stack .ibox-card:nth-child(even) .stack-img{grid-column:1;justify-self:start;}
.iboxes.dcs-stack .ibox-card:nth-child(even) .ic{grid-column:2;}
.iboxes.dcs-stack .ibox-card:nth-child(even) .num,
.iboxes.dcs-stack .ibox-card:nth-child(even) h3,
.iboxes.dcs-stack .ibox-card:nth-child(even) p{grid-column:3;}
@media(max-width:980px){
  .iboxes.dcs-stack .ibox-card,
  .iboxes.dcs-stack .ibox-card:nth-child(even){grid-template-columns:1fr;}
  .iboxes.dcs-stack .ibox-card:nth-child(even) .ic,
  .iboxes.dcs-stack .ibox-card:nth-child(even) .num,
  .iboxes.dcs-stack .ibox-card:nth-child(even) h3,
  .iboxes.dcs-stack .ibox-card:nth-child(even) p{grid-column:1;}
  .iboxes.dcs-stack .stack-img{display:none;}
}

/* ── SHOWCASE: dienstenlijst als grote alternerende blokken ── */
.svc-list{display:flex;flex-direction:column;gap:0;}
.svc-row{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:48px 0;border-top:1px solid var(--line);}
.svc-row:last-child{border-bottom:1px solid var(--line);}
.svc-row.rev{direction:rtl;} .svc-row.rev>*{direction:ltr;}
.svc-media{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-float);}
.svc-media img{width:100%;height:340px;object-fit:cover;display:block;transition:transform .7s var(--t);}
.svc-row:hover .svc-media img{transform:scale(1.05);}
.svc-body .ic{width:58px;height:58px;border-radius:15px;background:var(--orange);display:flex;align-items:center;justify-content:center;margin-bottom:20px;box-shadow:0 10px 22px -10px rgba(232,151,30,.5);}
.svc-body .ic svg{width:28px;height:28px;color:#fff;}
.svc-body .num{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--ink-3);margin-bottom:8px;}
.svc-body h3{font-family:'Bricolage Grotesque',sans-serif;font-size:28px;font-weight:800;letter-spacing:-.025em;margin-bottom:14px;}
.svc-body p{font-size:15.5px;font-weight:300;color:var(--ink-2);line-height:1.72;max-width:56ch;}
@media(max-width:980px){
  .svc-row,.svc-row.rev{grid-template-columns:1fr;gap:24px;direction:ltr;padding:36px 0;}
  .svc-media img{height:240px;}
}


/* ── HYBRID: alleen de knoppen technischer (rest = showcase) ── */
.btn{font-family:'JetBrains Mono',monospace;border-radius:2px;text-transform:uppercase;letter-spacing:.04em;font-weight:600;font-size:12.5px;box-shadow:none;gap:12px;}
.btn-primary{background:var(--orange);color:#fff;box-shadow:none;}
.btn-primary:hover{background:var(--ink);color:#fff;}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:var(--orange);color:var(--ink);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-outline:hover{background:var(--ink);color:#fff;}
.btn-light-outline{border:1.5px solid rgba(255,255,255,.5);}
.btn-light-outline:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.dcs-header-main .nav-btn{font-family:'JetBrains Mono',monospace;border-radius:2px;text-transform:uppercase;letter-spacing:.04em;font-size:11.5px;box-shadow:none;}
.dcs-header-main .nav-btn:hover{background:var(--ink);color:#fff;}

/* ── HYBRID: geen rondingen (alles vierkant, rest blijft showcase) ── */
:root{--r:0;}
.btn,.dcs-header-main .nav-btn,
.dcs-header-main nav .submenu,.dcs-header-main nav .submenu a,
.usp .ibox .ic,.ibox-card,.ibox-card .ic,
.feature .fimg,.feature .fimg .year,.feature .fcerts span,
.pbox,.pbox .pimg,.pbox .ptag,
.note,.spectable,
.field input,.field textarea,.field select,
.contact .cln .ic,
.hero-split .hvisual .frame,.hero-split .floatstat,.hero-split .chip,
.page-hero-light .ph-img,
.statcard,.bento .tile,.bento .tile.solid .ic,
.svc-media,.svc-body .ic,
.over-certs .c,.detail-img,.price-card,.form
{border-radius:0 !important;}

/* ── HYBRID: slogan-lettertype (Big Shoulders Display) op display-koppen + cijfers ── */
.dcs-banner h1,.page-hero h1,.page-hero-light h1,.hero-split h1,
.sec-title h2,.feature .ftext h2,.cta h2,.contact .ci h2,.prose h2,
.counter .cnum,.statcard .big,.hero-split .floatstat .n,
.price-card .big,.feature .fimg .year,.steps .step .n,.pbox .dcs-price{
  font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif;
  font-weight:800;
  letter-spacing:.005em;
}
.dcs-banner h1,.hero-split h1{line-height:1.0;}
.page-hero h1,.page-hero-light h1{line-height:1.02;}


/* ── Alle koppen en cijfers op het sloganlettertype ── */
h1,h2,h3,h4,h5,h6,
.counter .cnum,.statcard .big,.price-card .big,.pbox .dcs-price,
.steps .step .n,.hero-split .floatstat .n,.feature .fimg .year,
.fbrand .fbrand-logo span
{font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif !important;letter-spacing:.005em !important;}

/* ── Hero-H1 met langere woorden ── */
.hero-split h1{font-size:clamp(40px,4.4vw,64px);}

/* ── Ankers uit het submenu komen onder de vaste header uit ── */
.svc-row[id]{scroll-margin-top:150px;}
.dcs-anker{display:block;height:0;scroll-margin-top:150px;}
#over-dcs{scroll-margin-top:90px;}

/* ── Bronvermelding bij regelgeving ── */
p.bron,.prose p.bron,.ftext p.bron{font-size:13px;color:var(--ink-3);line-height:1.6;margin-top:-8px;margin-bottom:22px;}
p.bron a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;transition:color var(--t);}
p.bron a:hover{color:var(--orange);}
.px-faq-answer a{color:var(--ink-2);text-decoration:underline;text-underline-offset:3px;}
.px-faq-answer a:hover{color:var(--orange);}

/* ── Vaste header: Flatsome's overflow-x:hidden breekt sticky ── */
html,body{overflow-x:clip !important;}

/* ── Logo groter ── */
.dcs-header-main .dcs-logo img{height:50px;}

/* ── Volledige menunamen op één regel ── */
.dcs-header-main nav{gap:22px;}
.dcs-header-main nav a{white-space:nowrap;font-size:13.5px;}
.dcs-header-main nav a.nav-mobiel{display:none;}
.dcs-header-main nav.open a.nav-mobiel{display:block;}
.dcs-header-main nav.open a.nav-btn.nav-mobiel{display:inline-flex;}
.dcs-header-main nav.open{max-height:calc(100vh - 160px);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.topbar .dcs-right{gap:22px;}
.topbar .dcs-right .tb-24{display:flex;align-items:center;gap:8px;}
.topbar .dcs-right .tb-link{color:rgba(255,255,255,.75);font-weight:600;transition:color var(--t);}
.topbar .dcs-right .tb-link:hover{color:#fff;}
.topbar .dcs-right .tb-btn{background:var(--orange);color:#211C16;font-weight:700;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:6px;transition:background var(--t);}
.topbar .dcs-right .tb-btn:hover{background:var(--orange-d,#C97E10);color:#211C16;}
@media (max-width:980px){.topbar .dcs-right .tb-link,.topbar .dcs-right .tb-btn{display:none;}}
@media (max-width:1140px) and (min-width:981px){
  .dcs-header-main nav{display:none;}
  .dcs-header-main nav.open{display:flex;position:fixed;top:118px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(0,0,0,.3);}
  .dcs-header-main nav.open a{padding:14px 0;border-bottom:1px solid var(--line-2);}
  .dcs-header-main nav.open .submenu{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;padding:0 0 0 16px;}
  .dcs-header-main nav.open .nav-btn{margin-top:12px;justify-content:center;}
  .burger{display:block;}
}

/* ── Leesbaarheid van de lopende tekst in tegels en kaarten ── */
.bento .tile.photo .cap p,
.bento .tile.solid p,
.ibox-card p,
.pbox .pdesc{font-size:15.5px;font-weight:400;line-height:1.62;}
.bento .tile.solid .more,.ibox-card .more{font-size:14px;}
.fbrand p{font-size:14.5px;font-weight:400;line-height:1.6;}
.crumbs{font-size:13.5px;}

/* ── Spectable voor onderdelen met een omschrijving ── */
.spectable.set td:first-child{width:30%;font-weight:700;color:var(--ink);}
.spectable.set td:last-child{font-weight:400;color:var(--ink-2);}
.spectable.set td{font-size:15.5px;line-height:1.5;vertical-align:top;}

/* ── Beeld-en-tekst-component, aanvullingen ── */
.feature.light.grey{background:var(--grey);}
.feature .ftext p{font-size:16px;font-weight:400;line-height:1.72;max-width:52ch;}
.feature.light .ftext p{color:var(--ink-2);}
.feature .ftext .btn{margin-top:8px;}

/* ── FAQ-blok uit de snippet (px-faq) ── */
.px-faq-title{font-size:clamp(32px,3.8vw,54px);margin-bottom:0;}
.px-faq-title::after{content:'';display:block;width:52px;height:3px;background:var(--orange);margin:18px 0 34px;}
.px-faq-items{border-top:1px solid var(--line);}
.px-faq-item{border-bottom:1px solid var(--line);}
.px-faq-question{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:22px 0;font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif;font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:.005em;color:var(--ink);transition:color var(--t);}
.px-faq-question::-webkit-details-marker{display:none;}
.px-faq-question .teaser{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:16.5px;font-weight:400;letter-spacing:0;line-height:1.72;color:var(--ink-2);margin-top:8px;max-width:72ch;}
.px-faq-question .teaser::after{content:'Lees meer';margin-left:8px;color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:3px;white-space:nowrap;}
.px-faq-item[open] .px-faq-question .teaser{display:none;}
.prose .px-faq-items{margin-bottom:28px;}
.kiezer-uitkomst .alt-link{display:block;margin-top:2px;font-size:13.5px;color:var(--ink-3);text-decoration:underline;}
.pbox.bat-kaart{transition:box-shadow .4s,outline-color .4s;outline:3px solid transparent;outline-offset:4px;}
.pbox.bat-kaart{position:relative;}
.pbox.bat-kaart .pimg img{object-position:center 82%;}
/* Sticker btw terugvragen op de batterijkaarten (Ron 08-10). */
.btw-sticker{position:absolute;right:16px;bottom:12px;z-index:2;width:112px;height:112px;border-radius:50%;background:var(--orange);color:#211C16;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.05;text-decoration:none;transform:rotate(-10deg);box-shadow:0 10px 22px -8px rgba(0,0,0,.55),inset 0 0 0 3px rgba(255,255,255,.55);transition:transform .25s;}
.btw-sticker:hover{transform:rotate(-4deg) scale(1.05);}
.btw-sticker b{font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif;font-size:30px;font-weight:800;letter-spacing:.01em;}
.btw-sticker span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;line-height:1.15;}
.btw-sticker small{font-size:9px;font-weight:600;margin-top:4px;line-height:1.1;opacity:.85;}
#btw-terugvragen{scroll-margin-top:90px;}
/* Geadviseerde kaart: bewegende verlooprand + label (Ron 08-10), blijft staan tot een nieuwe keuze. */
.pbox.bat-kaart.bat-kaart-gekozen{box-shadow:0 22px 50px -18px rgba(232,146,30,.55);}
.pbox.bat-kaart.bat-kaart-gekozen::after{content:'';position:absolute;inset:0;padding:4px;border-radius:inherit;pointer-events:none;z-index:3;
  background:linear-gradient(90deg,var(--orange),#FFD27A,#211C16,var(--orange),#FFD27A,var(--orange));background-size:300% 100%;
  animation:dcs-verloop 3s linear infinite;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);}
.pbox.bat-kaart.bat-kaart-gekozen::before{content:attr(data-advies);position:absolute;top:14px;right:14px;z-index:4;background:#211C16;color:#fff;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:7px 14px;border-radius:999px;box-shadow:0 6px 16px -6px rgba(0,0,0,.5);}
@keyframes dcs-verloop{to{background-position:300% 0;}}
@media (prefers-reduced-motion:reduce){.pbox.bat-kaart.bat-kaart-gekozen::after{animation:none;}}
#batterijkaarten{scroll-margin-top:90px;}
.pbox.bat-kaart{scroll-margin-top:130px;}
.kiezer-uitkomst details.bat-uitleg{border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.kiezer-uitkomst details.bat-uitleg .px-faq-question{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:700;letter-spacing:0;padding:12px 0;}
.kiezer-uitkomst details.bat-uitleg .px-faq-answer{display:grid;gap:10px;padding-bottom:14px;}
.px-faq-question::after{content:'+';font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:500;color:var(--ink-3);flex:none;}
.px-faq-item[open] .px-faq-question::after{content:'\2013';}
.px-faq-question:hover,.px-faq-question:hover::after{color:var(--orange);}
.px-faq-question:focus-visible{outline:2px solid var(--orange);outline-offset:4px;}
.px-faq-answer p{margin:0 0 24px;max-width:72ch;font-size:16.5px;line-height:1.72;color:var(--ink-2);}
.faq-section .pre{margin-bottom:14px;}

/* ── Rekenaar ── */
.rekenaar{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start;}
.rekenaar.smal{grid-template-columns:1fr;gap:24px;}
.rekenaar .field{margin:0;}
.rekenaar .field input{font-size:22px;font-weight:700;color:var(--ink);padding:14px 18px;font-family:'Plus Jakarta Sans',sans-serif;}
.rekenaar .invoer .help{font-size:13.5px;color:var(--ink-2);margin-top:10px;line-height:1.5;}
.rekenaar .uitkomst{display:grid;gap:14px;}
.rekenaar .uitkomst .pre{margin-bottom:0;}
.rekenaar .uitkomst .big{font-size:64px;line-height:1;letter-spacing:.005em;color:var(--ink);}
.rekenaar .uitkomst .big .u{color:var(--orange);font-size:.42em;margin-left:8px;font-weight:700;}
.rekenaar .uitkomst .regel{font-size:16px;color:var(--ink-2);line-height:1.55;}
.rekenaar .uitkomst .regel b{color:var(--ink);font-weight:700;}
.rekenaar .uitkomst .noot{font-size:13.5px;color:var(--ink-3);line-height:1.5;}
.rekenaar .uitkomst .btn{margin-top:6px;justify-self:start;}
.rekenaar-kaart{border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-float);padding:36px;margin-top:8px;}
/* De volledige tabel dichtgeklapt onder de rekenaar. De uitklapregel is
   een echte knop (Ron, 13-09-2026: als losse regel was niet duidelijk dat
   er een hele tabel onder zit). Donkere pil zoals .btn-dark, met een
   pijltje dat omklapt als de tabel open staat. */
details.sets{margin-top:32px;}
details.sets summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:12px;height:50px;padding:0 26px 0 28px;border-radius:999px;background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.02em;box-shadow:0 12px 24px -14px rgba(33,28,22,.5);transition:background var(--t),transform var(--t);user-select:none;}
details.sets summary::-webkit-details-marker{display:none;}
details.sets summary::after{content:'';width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--t);}
details.sets[open] summary::after{transform:translateY(2px) rotate(-135deg);}
details.sets summary:hover{background:var(--orange);color:#211C16;}
details.sets summary:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
details.sets .spectable{margin-top:22px;}
@media (max-width:980px){.rekenaar{grid-template-columns:1fr;}.rekenaar .uitkomst .big{font-size:52px;}.rekenaar-kaart{padding:26px;}}

/* ── Vragenblok ── */
.faq{border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:22px 0;font-family:'Big Shoulders Display','Bricolage Grotesque',sans-serif;font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:.005em;color:var(--ink);transition:color var(--t);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+';font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:500;color:var(--ink-3);flex:none;transition:transform var(--t),color var(--t);}
.faq details[open] summary::after{content:'\2013';}
.faq summary:hover,.faq summary:hover::after{color:var(--orange);}
.faq summary:focus-visible{outline:2px solid var(--orange);outline-offset:4px;}
.faq details p{margin:0 0 24px;max-width:72ch;font-size:16.5px;line-height:1.72;color:var(--ink-2);}
@media (prefers-reduced-motion:reduce){.faq summary,.faq summary::after{transition:none;}}

/* ── Leesbaarheid van de bijschriften op de fototegels ── */
.bento .tile.photo .cap{background:linear-gradient(180deg,rgba(17,17,20,0) 0%,rgba(17,17,20,.55) 32%,rgba(17,17,20,.93) 100%);padding-top:60px;}
.bento .tile.photo .cap .num{font-size:14px;font-weight:800;color:#FFB13D;text-shadow:0 1px 4px rgba(0,0,0,.65);}
.bento .tile.photo .cap h3,.bento .tile.photo .cap p{text-shadow:0 1px 4px rgba(0,0,0,.5);}

/* Logo 'We handle your challenge' over de rechterbovenhoek van de hero-foto, op de plek van het NEN-blok.
   Werkt voor een <img> (ronde PNG) en straks voor een <canvas> (Rive). De img-regels overstemmen
   de foto-opmaak van .hvisual img (100% breed, 560px hoog, zoom bij hover). */
.hero-split .chip{display:none;}
.hero-split .hvisual .rive-logo,.hero-split .hvisual img.rive-logo{position:absolute;top:-40px;right:-40px;width:32%;max-width:200px;height:auto;aspect-ratio:1/1;object-fit:contain;pointer-events:none;z-index:3;display:block;filter:drop-shadow(0 12px 28px rgba(0,0,0,.25));}
.hero-split .hvisual img.rive-logo{animation:dcs-draai 12s ease-in-out infinite alternate;}
.hero-split .hvisual:hover img.rive-logo{transform:none;}
@keyframes dcs-draai{from{transform:rotate(-40deg)}to{transform:rotate(40deg)}}
@media (max-width:980px){.hero-split .hvisual .rive-logo,.hero-split .hvisual img.rive-logo{top:-20px;right:-6px;width:34%;max-width:150px;}}
@media (prefers-reduced-motion:reduce){.hero-split .hvisual canvas.rive-logo{display:none;}.hero-split .hvisual img.rive-logo{animation:none;}}

/* Zonnepanelenkiezer (29-09-2026): zes vragen links, uitkomst rechts, aanvraag eronder. */
.kiezer-kaart{border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-float);padding:36px;margin-top:8px;}
.kiezer{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:start;}
.kiezer-stappen{list-style:none;margin:0;padding:0;display:grid;gap:28px;}
.kiezer-stappen .stap h3{font-size:19px;margin:0 0 12px;display:flex;gap:12px;align-items:center;}
.kiezer-stappen .stap h3 span{flex:none;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;}
.kiezer-stappen .stap h4{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin:16px 0 8px;}
.tegels{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;}
.tegels.breed{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));}
.tegels label{position:relative;cursor:pointer;display:block;}
.tegels a{display:block;text-decoration:none;}
.tegels.drie{grid-template-columns:repeat(3,1fr);}
.batrekenaar .kiezer-uitkomst .big .uit-besparing{font-size:.85em;}
.batrekenaar .veld-ev label{display:block;margin-bottom:6px;}
.tegels.drie label,.tegels.drie span{height:100%;}
@media (max-width:600px){.tegels.drie{grid-template-columns:1fr 1fr;}}
.tegels.kompas{grid-template-columns:1fr 1fr;grid-template-areas:"w n" "z o" "m m";max-width:420px;}
.tegels.kompas:has(input[name=meer]:checked) label:not(.k-m) span{opacity:.4;}
.tegels.kompas .k-n{grid-area:n;} .tegels.kompas .k-w{grid-area:w;} .tegels.kompas .k-o{grid-area:o;} .tegels.kompas .k-z{grid-area:z;} .tegels.kompas .k-m{grid-area:m;margin-top:6px;}
.tegels a span{color:var(--orange);border-color:var(--orange);}
.tegels a:hover span{background:var(--orange);color:#fff;}
.tegels input{position:absolute;opacity:0;width:0;height:0;}
.tegels span{display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:50px;padding:10px 14px;line-height:1.3;border:1px solid var(--line);background:var(--bg);font-size:14.5px;font-weight:600;color:var(--ink);transition:border-color var(--t),box-shadow var(--t),background var(--t);}
.tegels label:hover span{border-color:var(--ink-3);}
.tegels input:checked+span{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(232,151,30,.18);}
.tegels input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px;}
.kiezer .snel{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.kiezer .snel button{font:inherit;font-size:13.5px;font-weight:600;text-transform:none;letter-spacing:0;padding:9px 14px;border:1px solid var(--line);background:#fff;cursor:pointer;color:var(--ink-2);border-radius:0;box-shadow:none;}
.kiezer .snel button:hover{border-color:var(--orange);color:var(--ink);}
.kiezer .vinkjes{display:flex;flex-wrap:wrap;gap:12px 22px;margin-top:12px;font-size:14.5px;color:var(--ink-2);}
.kiezer .vinkjes label{display:inline-flex;align-items:center;gap:10px;cursor:pointer;line-height:1.3;}
.kiezer .vinkjes input{appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;min-height:0;margin:0;padding:0;flex:none;accent-color:var(--orange);}
.kiezer .field{margin:0;max-width:260px;}
.kiezer .field input{font-size:22px;font-weight:700;padding:14px 18px;}
.kiezer .help{font-size:13.5px;color:var(--ink-2);margin-top:8px;line-height:1.5;}
.kiezer-uitkomst{position:sticky;top:110px;display:grid;gap:12px;padding:26px;background:var(--bg);border:1px solid var(--line);}
.kiezer-uitkomst .pre{margin-bottom:0;}
.kiezer-uitkomst .big{font-size:60px;line-height:1;color:var(--ink);}
.kiezer-uitkomst .big .u{color:var(--orange);font-size:.42em;margin-left:8px;font-weight:700;}
.kiezer-uitkomst .regel{font-size:15.5px;color:var(--ink-2);line-height:1.55;}
.kiezer-uitkomst .regel b{color:var(--ink);font-weight:700;}
.kiezer-uitkomst .noot{font-size:13.5px;color:var(--ink-3);line-height:1.5;}
.kiezer-uitkomst .waarschuwing{font-size:13.5px;line-height:1.5;padding:10px 14px;background:#FFF4D6;border-left:3px solid var(--orange);color:var(--ink);}
.kiezer-uitkomst .btn{margin-top:6px;justify-self:start;}
.kiezer-aanvraag{margin-top:36px;padding-top:32px;border-top:1px solid var(--line);}
.kiezer-aanvraag h3{font-size:22px;margin:0 0 8px;}
.kiezer-aanvraag>p{font-size:15.5px;color:var(--ink-2);line-height:1.6;}
.kiezer-aanvraag .kiezer-samenvatting{white-space:pre-line;font-size:14px;color:var(--ink-2);background:var(--bg);border:1px solid var(--line);padding:14px 16px;margin:14px 0 22px;line-height:1.6;}
/* Fluent Forms in de huisstijl */
.kiezer-aanvraag .fluentform{max-width:720px;}
.kiezer-aanvraag .fluentform .ff-el-group{margin-bottom:16px;}
.kiezer-aanvraag .fluentform .ff-el-input--label label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);margin-bottom:7px;}
.kiezer-aanvraag .fluentform .ff-el-form-control{width:100%;min-height:50px;background:var(--bg);border:1px solid var(--line);border-radius:0;padding:13px 16px;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;color:var(--ink);box-shadow:none;}
.kiezer-aanvraag .fluentform .ff-el-form-control:focus{border-color:var(--orange);box-shadow:0 0 0 4px rgba(232,151,30,.14);background:#fff;outline:none;}
.kiezer-aanvraag .fluentform .ff-btn-submit{display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:0 26px;border:0;border-radius:0;background:var(--orange);color:#fff;font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;}
.kiezer-aanvraag .fluentform .ff-btn-submit:hover{background:var(--ink);color:#fff;}
.kiezer-aanvraag .fluentform .ff-message-success{border:1px solid var(--line);background:var(--bg);padding:18px 20px;font-size:15.5px;}
@media (max-width:980px){.kiezer{grid-template-columns:1fr;gap:28px;}.kiezer-uitkomst{position:static;}.kiezer-kaart{padding:24px;}.kiezer-uitkomst .big{font-size:50px;}.tegels{grid-template-columns:repeat(2,1fr);}.tegels.breed{grid-template-columns:1fr;}.tegels span{font-size:14px;padding:10px 10px;}}

/* Batterijkaarten op /batterijen/ (29-09-2026): capaciteit kiezen, extra's aanvinken, prijs rekent mee (dcs-rekenaar.js). */
.pbox.bat-kaart:hover,.pbox.bat-plug:hover{transform:none;}
.pbox.bat-kaart .pdesc{flex:none;}
.pbox.bat-kaart .pfoot{margin-top:auto;}
.pbox .bat-kop{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);margin:0 0 10px;}
.bat-kwh-rij{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px;}
.bat-kwh-rij label{position:relative;cursor:pointer;display:block;margin:0;}
.bat-kwh-rij input{position:absolute;opacity:0;width:0;height:0;margin:0;}
.bat-kwh-rij span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:6px 4px;border:1px solid var(--line);background:var(--bg);font-size:18px;font-weight:700;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums;transition:border-color var(--t),box-shadow var(--t),background var(--t);}
.bat-kwh-rij span small{font-size:11px;font-weight:600;color:var(--ink-3);letter-spacing:.04em;margin-top:2px;}
.bat-kwh-rij label:hover span{border-color:var(--ink-3);}
.bat-kwh-rij input:checked+span{border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(232,151,30,.18);}
.bat-kwh-rij input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px;}
.bat-extras{margin-bottom:22px;}
.bat-extras label{display:flex;align-items:center;gap:12px;padding:11px 0;margin:0;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:15px;font-weight:400;color:var(--ink-2);line-height:1.35;}
.bat-extras label:last-child{border-bottom:none;}
.bat-extras input{appearance:auto;-webkit-appearance:checkbox;width:18px;height:18px;min-height:0;margin:0;padding:0;flex:none;accent-color:var(--orange);}
.bat-extras .n{flex:1;}
.bat-extras .p{font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.bat-extras .p small{font-size:12px;font-weight:500;color:var(--ink-3);margin-right:2px;}
.bat-extras label:hover .n{color:var(--ink);}
.pbox.bat-kaart .dcs-price small,.pbox.bat-plug .dcs-price small{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:0;line-height:1.45;color:var(--ink-2);margin-top:6px;}
.pbox.bat-kaart .dcs-price small.bat-voor{margin:0 0 4px;font-weight:600;color:var(--ink);}
.pbox .dcs-price .prijs-incl{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:800;letter-spacing:0;color:var(--ink);margin-left:4px;}
.pbox .dcs-price small.prijs-excl{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:0;color:var(--ink-2);margin-top:4px;}
.pbox .dcs-price small.prijs-voor{margin:0 0 2px;}
.pbox.bat-kaart .dcs-price small.bat-uitleg:empty{display:none;}
.pgrid .bat-plug{grid-column:1/-1;flex-direction:row;align-items:stretch;}
.bat-plug .pbody{flex:1;padding:28px 32px;}
.bat-plug .pdesc{margin-bottom:0;max-width:760px;}
.bat-tag{display:inline-block;align-self:flex-start;background:var(--orange);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;margin-bottom:14px;}
.pbox.bat-plug .pfoot{flex:none;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px;min-width:280px;padding:28px 32px;border-top:none;border-left:1px solid var(--line);}
@media (max-width:980px){.pgrid .bat-plug{flex-direction:column;}.pbox.bat-plug .pfoot{flex-direction:row;align-items:center;justify-content:space-between;min-width:0;border-left:none;border-top:1px solid var(--line);}}
@media (max-width:560px){.bat-kwh-rij{grid-template-columns:repeat(3,1fr);}.bat-plug .pbody,.pbox.bat-plug .pfoot{padding:22px 20px;}.bat-extras .p{text-align:right;}.bat-extras .p small{display:block;margin:0;}.pbox.bat-kaart .pfoot{flex-direction:column;align-items:stretch;gap:16px;}.pbox.bat-kaart .pfoot .btn{justify-content:center;}}
@media (min-width:981px){.pbox.bat-kaart .pdesc{min-height:6.2em;}.pbox.bat-kaart .dcs-price small.bat-uitleg:not(:empty){min-height:2.9em;}}
.bat-aanvraag-kaart{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:36px;margin-top:24px;scroll-margin-top:130px;}
.bat-aanvraag-kaart .kiezer-aanvraag{margin-top:0;padding-top:0;border-top:none;display:grid;grid-template-columns:.85fr 1.3fr;gap:44px;align-items:start;}
.bat-aanvraag-tekst h3{font-size:26px;margin:0 0 10px;}
.bat-aanvraag-tekst p{font-size:15.5px;color:var(--ink-2);line-height:1.6;margin:0;}
.bat-aanvraag .kiezer-samenvatting.bat-samenvatting{margin:18px 0 0;color:var(--ink);}
@media (max-width:980px){.bat-aanvraag-kaart{padding:24px 20px;}.bat-aanvraag-kaart .kiezer-aanvraag{grid-template-columns:1fr;gap:22px;}}
.bat-aanvraag .fluentform textarea{min-height:110px;}
/* einde batterijkaarten */

/* UX Builder: onthul-animatie uit, alles zichtbaar (zie dcs-builder.js) */
.dcs-in-builder .reveal{opacity:1!important;transform:none!important;transition:none!important;}
