/* Aqlomate – style.css  ·  lila scrollverhaal met een meevliegend denkmaatje
   Opbouw: basis · knoppen · header · hero · diensten · aanbod · secties · over · contact · footer · subpagina's · beweging · responsive */
@font-face{font-family:Poppins;src:url(fonts/poppins-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(fonts/poppins-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(fonts/poppins-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url(fonts/poppins-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:Poppins;src:url(fonts/poppins-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}
@font-face{font-family:"Readex Pro";src:url(fonts/readex-pro-arabic-wght-normal.woff2) format("woff2");font-weight:200 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
:root{--ink:#0d0b1a;--muted:#4a4568;--lilac:#e7e3fb;--soft:#f3f0ff;--num:#cfc6f6;--num-dark:rgba(214,203,255,.5);--violet:#5b3bd1;--deep:#2b1680;--amber:#ffb648;--line:rgba(13,11,26,.13);
  --pad:clamp(18px,3.2vw,46px);--r:26px;--sh:0 30px 60px -28px rgba(60,30,140,.4);--ff:Poppins,"Readex Pro",system-ui,-apple-system,"Segoe UI",sans-serif;--e:cubic-bezier(.2,.8,.15,1)}
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{font-family:var(--ff);font-size:16.5px;line-height:1.6;color:var(--ink);background:var(--lilac);overflow-x:hidden;-webkit-font-smoothing:antialiased}
[lang=ar]{font-family:"Readex Pro",Poppins,system-ui,sans-serif}
html[lang=ar] body{font-family:"Readex Pro",Poppins,system-ui,sans-serif;line-height:1.75}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img,svg{display:block;max-width:100%}
address{font-style:normal}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--violet);outline-offset:3px;border-radius:6px}
[data-dark] :focus-visible{outline-color:#fff}
::selection{background:var(--violet);color:#fff}
.skip{position:fixed;inset-inline-start:12px;top:-60px;z-index:60;background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;transition:top .2s}
.skip:focus{top:12px}
.i{inline-size:1.15em;block-size:1.15em;flex:none}
[dir=rtl] .btn>.i:last-child,[dir=rtl] .lnk .i,[dir=rtl] .sc__f .i{transform:scaleX(-1)}
h1,h2,h3{font-weight:800;letter-spacing:-.03em;line-height:1.03;text-wrap:balance}
html[lang=ar] :is(h1,h2,h3){letter-spacing:0;line-height:1.25}
.kicker{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);margin-block-end:14px}
html[lang=ar] .kicker{letter-spacing:0;font-size:15px}
[data-dark] .kicker{color:#cbbcff}
.fine{font-size:13px;color:var(--muted);line-height:1.55}
.lnk{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--violet);border-block-end:1.5px solid currentColor}
.tag{display:inline-block;background:var(--amber);color:var(--ink);font-weight:600;font-size:14px;padding:7px 15px;border-radius:99px}
.tag--big{font-size:18px;padding:11px 22px;font-weight:700}

/* knoppen */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-block-size:50px;padding:12px 24px;border-radius:99px;font-weight:600;font-size:15.5px;line-height:1.2;border:1.8px solid transparent;cursor:pointer;transition:transform .35s var(--e),background .3s,color .3s,box-shadow .3s}
.btn>.i:last-child{transition:transform .35s var(--e)}
.btn:hover{transform:translateY(-2px)}
.btn:hover>.i:last-child{transform:translateX(4px)}
[dir=rtl] .btn:hover>.i:last-child{transform:scaleX(-1) translateX(4px)}
.btn--dark{background:var(--ink);color:#fff}
.btn--dark:hover{background:var(--violet);box-shadow:0 14px 30px -12px rgba(91,59,209,.8)}
.btn--line{border-color:currentColor}
.btn--line:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{background:var(--amber)}
.btn--big{min-block-size:58px;padding-inline:32px;font-size:17px}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills li{padding:8px 16px;border-radius:99px;border:1.5px solid var(--line);font-size:14px;font-weight:500;background:rgba(255,255,255,.45)}
.pills--d li{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}
.ticks{display:grid;gap:10px}
.ticks li{display:flex;gap:12px;align-items:flex-start}
.i--t{color:var(--violet);margin-block-start:.22em}
[data-dark] .i--t,.pack--pop .i--t{color:var(--amber)}

/* header */
.hdr{position:fixed;z-index:40;inset:0 0 auto 0;display:flex;align-items:center;gap:clamp(14px,2vw,30px);padding:14px var(--pad);transition:color .5s,background .4s}
.hdr::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(231,227,251,.84);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transition:opacity .4s,background .5s}
.scrolled .hdr::before{opacity:1}
.on-dark .hdr{color:#fff}
.on-dark .hdr::before{background:rgba(24,13,70,.72)}
.logo{display:inline-flex;align-items:center;gap:10px;font-size:21px;font-weight:500;letter-spacing:-.03em}
.logo b{font-weight:800}
.logo__m{inline-size:38px;block-size:38px;transition:transform .6s var(--e)}
.logo:hover .logo__m{transform:rotate(-10deg) scale(1.08)}
.hdr__dock{inline-size:54px;block-size:40px;display:none}
.hdr__nav{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);margin-inline-start:auto;font-size:15px}
.hdr__nav>a{position:relative;padding-block:6px}
.hdr__nav>a::after{content:"";position:absolute;inset:auto 0 0 0;block-size:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
[dir=rtl] .hdr__nav>a::after{transform-origin:right}
.hdr__nav>a:hover::after,.hdr__nav>a[aria-current]::after{transform:scaleX(1)}
.hdr__lang{display:flex;gap:2px;font-size:13px;font-weight:600;border:1.5px solid currentColor;border-radius:99px;padding:3px}
.hdr__lang a{padding:3px 9px;border-radius:99px;line-height:1.5}
.hdr__lang a[aria-current]{background:var(--ink);color:#fff}
.on-dark .hdr__lang a[aria-current]{background:#fff;color:var(--ink)}
.hdr__cta{min-block-size:44px;padding:8px 20px;font-size:14.5px}
.on-dark .hdr__cta{background:#fff;color:var(--ink)}
.hdr__burger{display:none;inline-size:46px;block-size:46px;border:0;background:none;cursor:pointer;position:relative}
.hdr__burger i{position:absolute;inset-inline:11px;block-size:2.2px;background:currentColor;border-radius:2px;transition:transform .35s var(--e),top .35s var(--e)}
.hdr__burger i:first-child{top:17px}.hdr__burger i:last-child{top:27px}
.nav-open .hdr__burger i:first-child{top:22px;transform:rotate(45deg)}.nav-open .hdr__burger i:last-child{top:22px;transform:rotate(-45deg)}

/* het maatje */
.mate{position:fixed;inset:0;inline-size:100%;block-size:100%;z-index:20;pointer-events:none;opacity:0;transition:opacity 1.2s ease}
.mate.ready{opacity:1}
.say{position:fixed;z-index:21;inset:0 auto auto 0;padding:9px 16px;background:#fff;color:var(--ink);border-radius:18px 18px 18px 5px;font-weight:600;font-size:14px;white-space:nowrap;box-shadow:0 14px 30px -14px rgba(40,20,110,.55);opacity:0;transition:opacity .4s;pointer-events:none;will-change:transform}
.say.flip{border-radius:18px 18px 5px 18px}
.say.on{opacity:1}
.mate2d{inline-size:100%;block-size:auto;overflow:visible;filter:drop-shadow(0 30px 30px rgba(60,30,140,.25))}
.mate2d__r{animation:rot .16s linear infinite alternate;transform-origin:center;transform-box:fill-box}
.mate2d__e{animation:blink 4.6s infinite;transform-origin:center;transform-box:fill-box}
@keyframes rot{from{transform:scaleX(1)}to{transform:scaleX(.72)}}
@keyframes blink{0%,94%,100%{transform:scaleY(1)}97%{transform:scaleY(.1)}}
@keyframes bob{from{transform:translateY(-8px) rotate(-3deg)}to{transform:translateY(10px) rotate(3deg)}}

/* hero */
.hero{position:relative;min-block-size:100svh;display:grid;grid-template-columns:1fr minmax(270px,390px);grid-template-rows:auto auto 1fr auto;column-gap:4vw;padding:clamp(104px,15vh,160px) var(--pad) 0;overflow:hidden;
  background:radial-gradient(60vw 60vw at 82% 18%,#f6f3ff 0,rgba(246,243,255,0) 60%),radial-gradient(50vw 50vw at 8% 96%,#d5ccfa 0,rgba(213,204,250,0) 62%),var(--lilac)}
.eyebrow{grid-column:1/-1;font-size:clamp(12px,1vw,14.5px);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--violet);margin-block-end:clamp(14px,2.4vh,26px)}
html[lang=ar] .eyebrow{letter-spacing:0;font-size:16px}
.hero__h{grid-column:1/-1;font-size:clamp(40px,6.25vw,112px);line-height:1.02;letter-spacing:-.04em;position:relative;z-index:2}
html[lang=ar] .hero__h{font-size:clamp(38px,5.6vw,100px);line-height:1.3;font-weight:700}
.line{display:block;overflow:hidden;padding-block-end:.1em;margin-block-end:-.06em}
.line>span{display:inline-block}
.hero__stage{position:absolute;inset-inline-start:46%;top:44%;inline-size:min(25vw,38vh);animation:bob 3.2s ease-in-out infinite alternate;transition:opacity .6s}
.has-mate .hero__stage{opacity:0}
.hero__side{grid-column:2;grid-row:3;align-self:end;padding-block-end:clamp(20px,4vh,46px);position:relative;z-index:2}
.hero__motto{font-size:clamp(20px,1.75vw,27px);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin-block-end:12px}
.hero__side p:not(.hero__motto){color:var(--muted);font-size:clamp(15px,1.15vw,17px);line-height:1.5}
.hero__side .btns{margin-block-start:22px}
.hero__foot{grid-column:1;grid-row:3;align-self:end;padding-block-end:clamp(20px,4vh,46px);display:grid;gap:22px;position:relative;z-index:2}
.hero__stats{display:flex;gap:clamp(22px,3.4vw,54px)}
.hero__stats b{display:block;font-size:clamp(34px,3.6vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1}
.hero__stats span span,.hero__stats li>span{font-size:14px;color:var(--muted);font-weight:500}
.hero__stats b span{font-size:inherit;color:inherit;font-weight:inherit}
.marquee{grid-column:1/-1;display:flex;overflow:hidden;margin-inline:calc(var(--pad)*-1);border-block-start:1.5px solid var(--line);padding-block:16px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__t{display:flex;flex:none;gap:14px;padding-inline-end:14px;animation:marq 46s linear infinite}
.marquee:hover .marquee__t{animation-play-state:paused}
.marquee li{white-space:nowrap;font-weight:600;font-size:15px;display:flex;align-items:center;gap:14px}
.marquee li::after{content:"";inline-size:7px;block-size:7px;border-radius:50%;background:var(--violet)}
@keyframes marq{to{transform:translateX(-100%)}}
[dir=rtl] .marquee__t{animation-name:marqr}
@keyframes marqr{to{transform:translateX(100%)}}

/* tussenband */
.band{padding:clamp(70px,13vh,150px) var(--pad) clamp(10px,3vh,30px);text-align:center}
.band h2{font-size:clamp(36px,6vw,104px);letter-spacing:-.04em}
.band--s{padding-block:clamp(40px,8vh,90px);font-size:clamp(20px,2.2vw,32px);font-weight:700;letter-spacing:-.02em}
.band--cta{background:var(--soft);padding-block:clamp(70px,12vh,130px);display:grid;justify-items:center;gap:18px}
.band--cta h2{font-size:clamp(30px,4.4vw,72px);max-inline-size:18ch}
.band--cta p{color:var(--muted);max-inline-size:46ch}
.band--cta .btns{justify-content:center;margin-block-start:10px}

/* 01 · 02 · 03 */
.svc{position:relative;min-block-size:100svh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw;padding:clamp(80px,12vh,130px) var(--pad);overflow:hidden}
.svc--2{background:radial-gradient(70vw 60vw at 12% 20%,#6a45e6 0,rgba(106,69,230,0) 60%),radial-gradient(60vw 60vw at 90% 100%,#1b0d5c 0,rgba(27,13,92,0) 65%),#3a1f8c;color:#fff}
.svc--2 .svc__txt{order:2}
.svc__txt{display:grid;justify-items:start;gap:16px;max-inline-size:560px;position:relative;z-index:2}
.svc--2 .svc__txt{justify-self:end}
.svc__num{font-size:clamp(110px,15vw,250px);font-weight:700;line-height:.8;letter-spacing:-.06em;color:var(--num);margin-block-end:8px;margin-inline-start:-.04em}
.svc--2 .svc__num{color:var(--num-dark)}
.svc h3{font-size:clamp(40px,5.2vw,88px);letter-spacing:-.04em}
.svc__price{background:var(--amber);color:var(--ink);font-weight:700;padding:6px 16px;border-radius:99px;font-size:15px}
.svc__p{font-size:clamp(16px,1.25vw,19px);color:var(--muted);max-inline-size:46ch}
.svc--2 .svc__p{color:rgba(240,234,255,.84)}
.svc .btn{margin-block-start:10px}
.art{position:relative;inline-size:min(100%,580px);aspect-ratio:1/.86;margin-inline:auto}
.art>*{will-change:transform}
@keyframes dash{to{stroke-dashoffset:-13}}
@keyframes pulse{to{box-shadow:0 0 0 10px rgba(47,184,102,0)}}
@keyframes ring{from{stroke-dashoffset:113}}
@keyframes draw{from{stroke-dashoffset:420}}
.chip{position:absolute;display:flex;align-items:center;gap:8px;padding:11px 20px;border-radius:99px;background:#fff;color:var(--ink);font-weight:600;font-size:15px;box-shadow:0 18px 34px -16px rgba(60,30,140,.55);white-space:nowrap}
/* 01 · browservenster met echte opbouw, telefoon ervoor, losse meetwaarden */
.bw{position:absolute;inset-block-start:5%;inset-inline:0 13%;background:#fff;border-radius:18px;box-shadow:var(--sh);padding:11px 12px 13px;display:grid;gap:10px}
.bw__bar{display:flex;align-items:center;gap:6px}
.bw__bar s{inline-size:9px;block-size:9px;border-radius:50%;background:#ff9a9a}
.bw__bar s:nth-child(2){background:#ffd27a}.bw__bar s:nth-child(3){background:#8fd9a8}
.bw__bar em{flex:1;display:flex;align-items:center;gap:7px;font-style:normal;font-size:11.5px;font-weight:500;color:var(--muted);background:var(--soft);border-radius:99px;padding:3px 12px;margin-inline-start:8px}
.bw__bar em i{inline-size:8px;block-size:8px;border-radius:50%;background:#2fb866}
.bw__nav{display:flex;align-items:center;gap:10px;padding-inline:3px}
.bw__nav b{inline-size:18px;block-size:18px;border-radius:6px;background:var(--violet);margin-inline-end:auto}
.bw__nav u{inline-size:34px;block-size:5px;border-radius:5px;background:#ddd6f6}
.bw__nav span{inline-size:56px;block-size:18px;border-radius:99px;background:var(--ink)}
.bw__hero{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;border-radius:14px;background:linear-gradient(135deg,#5b3bd1,#8d6bff);color:#fff;padding:clamp(13px,1.8vw,22px)}
.bw__hero>div:first-child{display:grid;gap:10px;justify-items:start;align-content:center}
.bw__hero strong{font-size:clamp(17px,2vw,29px);line-height:1.08;letter-spacing:-.03em;font-weight:800}
html[lang=ar] .bw__hero strong{letter-spacing:0;line-height:1.3;font-weight:700}
.bw__hero p{display:grid;gap:5px;inline-size:100%}
.bw__hero p u{block-size:5px;border-radius:5px;background:rgba(255,255,255,.45)}.bw__hero p u:last-child{inline-size:62%}
.bw__hero span{background:var(--amber);color:var(--ink);font-size:11.5px;font-weight:700;padding:6px 13px;border-radius:99px}
.bw__img{position:relative;border-radius:10px;min-block-size:clamp(80px,9.6vw,128px);background:radial-gradient(circle at 72% 30%,#ffd98a 0 12%,transparent 13%),linear-gradient(160deg,#cdbfff,#f3eeff);overflow:hidden}
.bw__img i{position:absolute;inset:auto -10% -34% -10%;block-size:74%;background:radial-gradient(60% 100% at 28% 100%,#6f4fe6 0 60%,transparent 61%),radial-gradient(64% 86% at 80% 100%,#2b1680 0 60%,transparent 61%)}
.bw__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.bw__cards i{position:relative;block-size:clamp(34px,4.4vw,54px);border-radius:10px;background:var(--soft)}
.bw__cards i::before{content:"";position:absolute;inset-block-start:9px;inset-inline-start:9px;inline-size:14px;block-size:14px;border-radius:5px;background:#cfc3fb}
.bw__cards i::after{content:"";position:absolute;inset:auto 9px 9px;block-size:5px;border-radius:5px;background:#ddd6f6}
.bw__cards i:nth-child(2)::before{background:var(--amber)}
.ph{position:absolute;inset-block-end:0;inset-inline-end:1%;inline-size:26%;aspect-ratio:9/17;background:var(--ink);border:3px solid #2a2350;border-radius:24px;padding:9px 8px;display:flex;flex-direction:column;gap:7px;box-shadow:0 30px 50px -20px rgba(20,8,70,.75)}
.ph b{align-self:center;inline-size:34%;block-size:5px;border-radius:5px;background:#3a3266}
.ph__img{aspect-ratio:1/.78;border-radius:11px;background:radial-gradient(circle at 70% 32%,#ffd98a 0 11%,transparent 12%),linear-gradient(135deg,#5b3bd1,#8d6bff)}
.ph u{block-size:5px;border-radius:5px;background:#3a3266}.ph u:last-of-type{inline-size:60%}
.ph span{margin-block-start:auto;background:var(--amber);color:var(--ink);font-size:clamp(8px,.72vw,10px);font-weight:700;text-align:center;padding:6px 3px;border-radius:99px;white-space:nowrap;overflow:hidden}
.chip--price{inset-block-end:12%;inset-inline-start:2%;background:var(--amber);font-size:17px}
.chip--price b{font-weight:800;font-size:22px}
.chip--score{inset-block-end:0;inset-inline-start:31%;padding:7px;padding-inline-end:18px;gap:10px;font-size:12px;font-weight:500;line-height:1.2;color:var(--muted)}
.chip--score svg{inline-size:42px;block-size:42px;transform:rotate(-90deg)}
.chip--score circle{fill:none;stroke:#ece6ff;stroke-width:5}
.chip--score .ring{stroke:#2fb866;stroke-linecap:round;stroke-dasharray:113;stroke-dashoffset:9;animation:ring 1.8s var(--e) both}
.chip--score b{display:block;font-size:17px;font-weight:800;color:var(--ink);letter-spacing:-.03em}
.chip--ok{inset-block-start:-2%;inset-inline-start:5%;font-size:13px;padding:8px 15px}
/* 02 · stroom van aanvraag tot bericht: kaartjes op een zigzag, stipje loopt over de lijn */
.flow__w{position:absolute;inset:0;inline-size:100%;block-size:100%;overflow:visible}
[dir=rtl] .flow__w{transform:scaleX(-1)}
.flow__w path{fill:none;stroke:rgba(255,255,255,.5);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:2 9;vector-effect:non-scaling-stroke}
.flow__w circle{fill:var(--amber)}
.fn{position:absolute;inline-size:56%;block-size:16.4%;display:flex;align-items:center;gap:13px;padding-inline:14px;border-radius:20px;background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;box-shadow:0 24px 40px -24px rgba(10,0,50,.8)}
.fn--1{inset-block-start:4.1%;inset-inline-start:0}.fn--2{inset-block-start:30%;inset-inline-end:0}.fn--3{inset-block-start:55.9%;inset-inline-start:0}.fn--4{inset-block-start:80%;inset-inline-end:0}
.fn>i{flex:none;inline-size:clamp(34px,3.2vw,44px);aspect-ratio:1;border-radius:13px;background:rgba(255,255,255,.14);display:grid;place-items:center}
.fn>i svg{inline-size:54%;block-size:54%}
.fn>div{min-inline-size:0}
.fn b{display:block;font-size:clamp(13px,1.12vw,16px);font-weight:600;line-height:1.2}
.fn span{display:block;font-size:clamp(10.5px,.85vw,12px);color:rgba(235,228,255,.78);margin-block-start:3px;white-space:nowrap}
.fn--ai{background:#fff;color:var(--ink);border-color:#fff}
.fn--ai>i{background:var(--violet);color:#fff}
.fn span.fn__t{display:flex;gap:5px;margin-block-start:5px}
.fn__t em{font-style:normal;font-size:10.5px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--soft);color:var(--violet)}
.fn__t em:last-child{background:#ffe9c2;color:#8a5a00}
.fn--ok{border-color:var(--amber)}.fn--ok>i{background:var(--amber);color:var(--ink)}
.chip--247{inset-block-end:1%;inset-inline-start:9%;font-size:14px;padding:9px 16px}
.chip--247 i{inline-size:9px;block-size:9px;border-radius:50%;background:#2fb866;box-shadow:0 0 0 0 rgba(47,184,102,.7);animation:pulse 1.6s infinite}
/* 03 · rommelige spreadsheet wordt een net systeem */
.sheet{position:absolute;inset-block-start:2%;inset-inline-start:0;inline-size:57%;background:#fff;border-radius:16px;padding:12px;box-shadow:var(--sh)}
.sheet em{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:#1d7a44;margin-block-end:9px}
.sheet__g{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.sheet__g i{block-size:clamp(15px,2vw,24px);border-radius:3px;background:var(--soft);font-style:normal;font-size:9px;font-weight:700;color:#c62828;display:grid;place-items:center;overflow:hidden}
.sheet__g i:nth-child(-n+4){background:#d6efdf}
.sheet__g i:nth-child(7n+3){background:#ffe9c2}
.sheet__g i:nth-child(14){background:#ffd9d9}
.app{position:absolute;inset-block-end:0;inset-inline-end:0;inline-size:74%;display:flex;background:var(--ink);color:#fff;border-radius:20px;overflow:hidden;box-shadow:0 40px 70px -30px rgba(20,8,70,.85)}
.app__side{flex:none;inline-size:clamp(34px,3.2vw,44px);background:#17122e;display:grid;gap:10px;align-content:start;justify-items:center;padding-block:14px}
.app__side b{inline-size:22px;block-size:22px;border-radius:7px;background:var(--violet);margin-block-end:6px}
.app__side i{inline-size:19px;block-size:19px;border-radius:6px;background:#2a2350}
.app__side i.on{background:#fff}
.app__main{flex:1;min-inline-size:0;padding:14px 16px;display:grid;gap:10px}
.app__top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.app__top em{font-style:normal;font-weight:700;font-size:14px}
.app__top span{display:flex;align-items:center;gap:6px;font-size:11px;color:#cfc6f6;background:#1d1640;border-radius:99px;padding:3px;padding-inline-end:10px}
.app__top span i{inline-size:17px;block-size:17px;border-radius:50%;background:linear-gradient(135deg,var(--amber),#ff8f6b)}
.app__k{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.app__k div{background:#1d1640;border-radius:12px;padding:10px 12px}
.app__k b{display:block;font-size:clamp(21px,2.5vw,34px);font-weight:800;letter-spacing:-.04em;line-height:1}
.app__k div:last-child b{color:var(--amber)}
.app__k span{font-size:11px;color:#b9aee6}
.app__c{inline-size:100%;block-size:clamp(40px,5vw,62px);overflow:visible}
.app__c .ar{fill:rgba(141,107,255,.22)}
.app__c .ln{fill:none;stroke:#8d6bff;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:420;animation:draw 2.6s var(--e) both}
.app__r{display:grid;gap:6px}
.app__r li{display:flex;align-items:center;gap:8px}
.app__r i{inline-size:14px;block-size:14px;border-radius:50%;background:#3a3266}
.app__r u{flex:1;block-size:5px;border-radius:5px;background:#2a2350}
.app__r em{inline-size:30px;block-size:12px;border-radius:99px;background:#1f8f4f}.app__r em.w{background:var(--amber)}
.art__arrow{position:absolute;inset-block-start:36%;inset-inline-start:44%;inline-size:50px;block-size:50px;border-radius:50%;background:var(--violet);color:#fff;display:grid;place-items:center;font-size:21px;box-shadow:0 14px 26px -10px rgba(91,59,209,.8)}
.art__arrow .i{transform:rotate(40deg)}
[dir=rtl] .art__arrow .i{transform:scaleX(-1) rotate(40deg)}

/* aanbod €100 */
.offer{padding:clamp(90px,12vh,130px) var(--pad) clamp(40px,8vh,100px);min-block-size:100svh;display:grid;align-items:center}
.offer__card{background:#fff;border-radius:clamp(26px,3.4vw,48px);padding:clamp(24px,4.4vw,70px);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,4vw,70px);align-items:center;box-shadow:var(--sh);position:relative;overflow:hidden}
.offer__card::before{content:"";position:absolute;inset:auto auto -30% -10%;inline-size:50%;aspect-ratio:1;border-radius:50%;background:radial-gradient(#ece6ff,rgba(236,230,255,0) 70%)}
.offer__l{position:relative}
.offer h2{font-size:clamp(26px,3vw,46px);letter-spacing:-.03em}
.offer__price{display:block;font-size:clamp(120px,19vw,300px);line-height:.86;letter-spacing:-.07em;color:var(--violet);margin-block:.06em .1em;margin-inline-start:-.04em}
.offer__r{display:grid;gap:22px;position:relative}
.offer .ticks{font-size:17px;font-weight:500}

/* algemene sectie */
.sec{padding:clamp(70px,11vh,140px) var(--pad);position:relative}
.sec__h{max-inline-size:900px;margin-block-end:clamp(30px,5vh,56px)}
.sec__h h2,.contact h2,.about h2{font-size:clamp(32px,4.6vw,76px);letter-spacing:-.04em}
.sec__h h2+p{margin-block-start:16px;color:var(--muted);font-size:18px}
.sec__more{margin-block-start:36px;display:flex;justify-content:center}
.sec--two{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.sec--two .ticks{font-size:18px;font-weight:500;gap:14px}
.packs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pack{position:relative;background:#fff;border-radius:var(--r);padding:26px 24px 24px;display:flex;flex-direction:column;gap:12px;transition:transform .45s var(--e),box-shadow .45s}
.pack:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.pack--pop{background:var(--ink);color:#fff}
.pack__pop{position:absolute;inset:-13px auto auto 24px;background:var(--amber);color:var(--ink);font-size:12.5px;font-weight:700;padding:4px 13px;border-radius:99px}
.pack h3{font-size:22px;letter-spacing:-.02em}
.pack__sub{font-size:14px;color:var(--muted);margin-block-start:-8px}
.pack--pop .pack__sub,.pack--pop .pack__days{color:#b9aee6}
.pack__price{font-size:clamp(44px,4.2vw,64px);font-weight:800;letter-spacing:-.05em;line-height:1}
.pack__price small{font-size:15px;font-weight:600;letter-spacing:0;color:var(--muted)}
.pack .ticks{font-size:14.5px;gap:8px;margin-block:6px auto}
.pack__days{font-size:13px;color:var(--muted);font-weight:500;margin-block-start:14px}
.pack .btn{min-block-size:46px;font-size:14.5px}
.pack--custom{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(20px,4vw,60px);align-items:center;padding:clamp(24px,3vw,40px);color:#fff;background:radial-gradient(60% 120% at 96% 0,#7a58f0 0,rgba(122,88,240,0) 70%),#2b1680}
.pack--custom>div{display:grid;gap:12px;justify-items:start}
.pack--custom h3{font-size:clamp(28px,3vw,44px);letter-spacing:-.03em}
.pack--custom .pack__sub{color:#d7cfff;font-size:16px;margin:0;max-inline-size:38ch}
.pack--custom .pack__price{font-size:clamp(26px,2.6vw,38px);color:var(--amber);letter-spacing:-.03em}
.pack--custom .pack__days{color:#b9aee6;margin:0}
.pack--custom .ticks{grid-template-columns:1fr 1fr;gap:12px 24px;font-size:16px;font-weight:500;margin:0}
.pack--custom .i--t{color:var(--amber)}
.plists{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-block-start:clamp(36px,6vh,64px)}
.plist :is(h2,h3){font-size:24px;letter-spacing:-.02em;margin-block-end:8px}
.plist li{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding-block:14px;border-block-end:1.5px solid var(--line)}
.plist li b{white-space:nowrap;font-weight:700}
.plist li small{display:block;font-size:13.5px;color:var(--muted)}
.plist--card{background:#fff;border-radius:var(--r);padding:28px;display:grid;gap:10px;position:sticky;top:100px}
.plist--card p:not(.fine){color:var(--muted)}
.plist--card li:last-child{border:0}
.wz{margin-block-start:clamp(36px,6vh,64px);background:rgba(255,255,255,.55);border:1.5px solid #fff;border-radius:calc(var(--r) + 6px);padding:clamp(20px,3vw,40px);display:grid;gap:22px}
.wz__h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px}
.wz__h h3{font-size:clamp(24px,2.6vw,36px)}
.wz__h p{color:var(--muted)}
.wz__chips{display:flex;flex-wrap:wrap;gap:9px}
.wz__c{display:inline-flex;align-items:center;gap:10px;min-block-size:46px;padding:8px 18px;border-radius:99px;border:1.6px solid var(--line);background:#fff;font-weight:600;font-size:14.5px;cursor:pointer;transition:background .25s,color .25s,transform .3s var(--e),border-color .25s}
.wz__c small{font-weight:500;color:var(--muted);font-size:13px}
.wz__c:hover{transform:translateY(-2px);border-color:var(--violet)}
.wz__c[aria-pressed=true]{background:var(--violet);border-color:var(--violet);color:#fff}
.wz__c[aria-pressed=true] small{color:#dcd2ff}
.wz__out{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--ink);color:#fff;border-radius:var(--r);padding:20px 26px}
.wz__out span{font-size:13px;color:#b9aee6;display:block}
.wz__out b{font-size:clamp(34px,4vw,56px);font-weight:800;letter-spacing:-.04em;line-height:1.1;display:block}
.wz__out em{font-style:normal;font-size:13.5px;color:#d7cfff}
.wz__out .btn--dark{background:#fff;color:var(--ink)}
.wz__out .btn--dark:hover{background:var(--amber);box-shadow:none}
.wz__n{font-size:13px;color:var(--muted)}

/* projecten */
.rw{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,4vw,60px);align-items:center;background:radial-gradient(60% 90% at 90% 10%,#6a45e6 0,rgba(106,69,230,0) 70%),#2b1680;color:#fff;border-radius:clamp(26px,3vw,44px);padding:clamp(24px,4vw,60px);overflow:hidden}
.rw>div:first-child{display:grid;gap:16px;justify-items:start}
.rw :is(h2,h3){font-size:clamp(44px,6vw,96px);letter-spacing:-.05em}
.rw p:not(.pj__c){color:rgba(240,234,255,.86);max-inline-size:52ch}
.pj__c{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--violet)}
html[lang=ar] .pj__c{letter-spacing:0;font-size:14px}
.rw .pj__c{color:var(--amber)}
.rw__art{position:relative;aspect-ratio:1/.72}
.rw__map{position:absolute;inset-block:0 6%;inset-inline:14% 0;border-radius:24px;background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.18);overflow:hidden}
.rw__map svg{position:absolute;inset:0;inline-size:100%;block-size:100%}
.rw__map .st{fill:none;stroke:rgba(255,255,255,.09);stroke-width:9}
.rw__map .rt{fill:none;stroke:var(--amber);stroke-width:4;stroke-linecap:round;stroke-dasharray:2 11;animation:dash 1.4s linear infinite}
.rw__live{position:absolute;inset-block-start:14px;inset-inline-end:14px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.08em;background:rgba(13,11,26,.62);padding:5px 11px;border-radius:99px}
.rw__live i{inline-size:8px;block-size:8px;border-radius:50%;background:#ff5a5a;animation:pulse 1.6s infinite}
.rw__phone{position:absolute;inset-block-end:0;inset-inline-start:0;inline-size:42%;background:#fff;color:var(--ink);border-radius:22px;padding:16px 14px 12px;display:grid;gap:9px;box-shadow:0 30px 50px -20px rgba(10,0,50,.7)}
.rw__phone b{font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1}
.rw__phone span{font-size:12px;font-weight:600;color:var(--violet)}
.rw__phone ul{display:grid;gap:7px}
.rw__phone li{display:flex;align-items:center;gap:8px}
.rw__phone li i{inline-size:14px;block-size:14px;border-radius:50%;border:2px solid #cfc6f6}
.rw__phone li.d i{background:#2fb866;border-color:#2fb866}
.rw__phone li u{flex:1;block-size:6px;border-radius:6px;background:var(--soft)}
.rw__sig{border-block-start:1.5px dashed var(--line);padding-block-start:6px;inline-size:100%}
.rw__sig path{fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.pjs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-block-start:16px}
.pj{background:#fff;border-radius:var(--r);padding:26px;display:grid;gap:10px;align-content:start;transition:transform .45s var(--e),box-shadow .45s}
.pj:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.pj :is(h2,h3){font-size:22px;letter-spacing:-.02em;line-height:1.15}
.pj>p:not(.pj__c):not(.pj__k){color:var(--muted);font-size:15px}
.pj__k{display:flex;flex-wrap:wrap;gap:6px 18px;margin-block-start:6px;padding-block-start:14px;border-block-start:1.5px solid var(--line);font-size:14px;font-weight:500}
.pj__k b{display:block;font-size:30px;font-weight:800;letter-spacing:-.04em;line-height:1.1;color:var(--violet)}

/* werkwijze */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px,2.4vw,36px);counter-reset:s}
.steps li{display:grid;gap:10px;align-content:start;padding-block-start:22px;border-block-start:2px solid var(--ink)}
.steps li>span{font-size:clamp(50px,5vw,80px);font-weight:800;letter-spacing:-.05em;line-height:.9;color:var(--violet)}
.steps :is(h2,h3){font-size:24px;letter-spacing:-.02em}
.steps p{color:var(--muted);font-size:15.5px}
.who{margin-block-start:clamp(40px,7vh,80px);display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.who h3{font-size:22px;letter-spacing:-.02em}

/* over */
.about{position:relative;min-block-size:100svh;background:var(--ink);color:#fff;padding:clamp(100px,14vh,160px) var(--pad) clamp(60px,9vh,110px);display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(30px,6vw,110px);align-items:center;overflow:hidden}
.about__bg{position:absolute;inset:auto -2% -18% auto;font-size:clamp(260px,44vw,720px);font-weight:700;line-height:1;color:#1d1640;pointer-events:none;user-select:none}
.about__t{position:relative;display:grid;gap:18px;max-inline-size:640px}
.about__t p:not(.kicker){color:rgba(236,230,255,.84);font-size:17.5px}
.about__name{font-size:19px!important;color:#fff!important;padding:14px 20px;border:1.5px solid rgba(255,255,255,.2);border-radius:18px;justify-self:start}
.about__name b{color:var(--amber);font-size:1.25em}
.about__name i{font-style:italic;color:#cbbcff}
.about__s{position:relative;display:grid;gap:26px;align-self:end}
.figs{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.figs li{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.12);border-radius:var(--r);padding:22px}
.figs b{display:block;font-size:clamp(40px,4.6vw,72px);font-weight:800;letter-spacing:-.05em;line-height:1}
.figs li>span{font-size:14px;color:#b9aee6}
.feats{display:grid;gap:14px}
.feats li{display:flex;gap:14px}
.feats b{display:block;font-weight:700}
.feats span{color:#b9aee6;font-size:15px}

/* faq */
.sec--faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(24px,5vw,80px);align-items:start}
.sec--faq .sec__h{position:sticky;top:110px;margin:0}
.faq__i{border-block-end:1.5px solid var(--line)}
.faq__i:first-child{border-block-start:1.5px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:22px;cursor:pointer;font-size:clamp(17px,1.5vw,21px);font-weight:600;letter-spacing:-.01em;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;inline-size:34px;block-size:34px;border-radius:50%;border:1.6px solid currentColor;position:relative;transition:transform .4s var(--e),background .3s,color .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;inset:50% 9px auto 9px;block-size:1.8px;background:currentColor;margin-block-start:-.9px}
.faq summary i::after{transform:rotate(90deg)}
.faq [open] summary i{transform:rotate(45deg);background:var(--ink);color:#fff}
.faq details>div{padding-block-end:24px;color:var(--muted);max-inline-size:62ch}

/* contact */
.contact{padding:clamp(70px,11vh,140px) var(--pad);display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(30px,5vw,90px);align-items:start;background:var(--soft)}
.contact__t{display:grid;gap:20px;position:sticky;top:110px}
.contact__t>p:not(.kicker){font-size:18px;color:var(--muted)}
.contact address{margin-block-start:12px;color:var(--muted);font-size:15px}
.contact address b{display:block;color:var(--ink)}
.form{background:#fff;border-radius:calc(var(--r) + 8px);padding:clamp(20px,3vw,40px);display:grid;gap:16px;box-shadow:var(--sh)}
.form__2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fld{display:grid;gap:6px;font-size:14px;font-weight:600}
.fld small{font-weight:400;color:var(--muted)}
.fld :is(input,select,textarea){inline-size:100%;min-block-size:52px;padding:13px 16px;border-radius:14px;border:1.6px solid var(--line);background:var(--soft);font-weight:400;font-size:16px;transition:border-color .2s,background .2s}
.fld textarea{resize:vertical;min-block-size:130px;line-height:1.5}
.fld :is(input,select,textarea):focus{outline:0;border-color:var(--violet);background:#fff}
.fld input[type=file]{padding:11px;font-size:14px}
.fld.err :is(input,select,textarea){border-color:#c62828;background:#fff5f5}
.fld__e{color:#b3261e;font-weight:500;font-size:13px}
.hp{position:absolute;inset-inline-start:-9999px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;cursor:pointer}
.chk input{inline-size:22px;block-size:22px;accent-color:var(--violet);flex:none;margin-block-start:1px}
.chk a{color:var(--violet);text-decoration:underline}
.chk.err span{color:#b3261e}
.form__msg{font-weight:600;font-size:15px}
.form__msg:empty{display:none}
.form__msg.ok{color:#1b7a3d}.form__msg.bad{color:#b3261e}

/* footer */
.ftr{position:relative;background:#0d0b1a;color:#fff;padding:clamp(70px,12vh,150px) var(--pad) 26px;display:grid;gap:clamp(40px,8vh,90px);min-block-size:100svh;align-content:space-between}
.ftr__top{display:grid;gap:30px}
.ftr__big{font-size:clamp(46px,9.4vw,170px);font-weight:800;letter-spacing:-.05em;line-height:.94}
html[lang=ar] .ftr__big{letter-spacing:0;line-height:1.2;font-weight:700}
.ftr__cta{display:grid;gap:20px;max-inline-size:440px;justify-items:start}
.ftr__cta p{color:#b9aee6}
.ftr__cols{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:30px}
.ftr__cols h2{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8f84c4;margin-block-end:12px}
html[lang=ar] .ftr__cols h2{letter-spacing:0;font-size:15px}
.ftr__cols li{line-height:2;font-size:15px}
.ftr__cols a:hover{color:var(--amber)}
.ftr__cols address{color:#b9aee6;line-height:1.6;margin-block-start:6px}
.ftr__ar{font-size:64px;line-height:1.2;color:#2f2760;font-weight:700;margin-block-start:6px}
.ftr__base{display:flex;flex-wrap:wrap;gap:6px 26px;font-size:13px;color:#8f84c4;border-block-start:1.5px solid rgba(255,255,255,.12);padding-block-start:20px;padding-inline-end:230px}
.ftr__lang{display:flex;gap:14px}
.ftr__lang a:hover{color:#fff}
.fab{position:fixed;z-index:35;inset:auto var(--pad) 20px auto;display:flex;align-items:center;gap:10px;background:var(--violet);color:#fff;min-block-size:52px;padding:10px 20px;border-radius:99px;font-weight:600;font-size:14.5px;box-shadow:0 16px 34px -12px rgba(60,30,140,.8);transition:transform .4s var(--e),background .3s}
.fab:hover{transform:translateY(-3px);background:var(--ink)}
.on-dark .fab{background:#fff;color:var(--ink)}
.fab .i{inline-size:22px;block-size:22px}
.fab span{max-inline-size:220px;overflow:hidden;white-space:nowrap;transition:max-inline-size .5s var(--e),margin .5s var(--e)}
.scrolled .fab{padding-inline:15px}
.scrolled .fab span{max-inline-size:0;margin-inline-start:-10px}

/* subpagina's */
.phero{position:relative;padding:clamp(120px,19vh,200px) var(--pad) clamp(50px,9vh,100px);display:grid;gap:20px;justify-items:start;overflow:hidden;background:radial-gradient(50vw 50vw at 88% 10%,#f6f3ff 0,rgba(246,243,255,0) 60%)}
.phero h1{font-size:clamp(40px,6.4vw,112px);letter-spacing:-.045em;max-inline-size:14ch;position:relative;z-index:1}
.phero__lead{font-size:clamp(17px,1.5vw,22px);color:var(--muted);max-inline-size:54ch;position:relative;z-index:1}
.phero .btns{margin-block-start:10px;position:relative;z-index:1}
.phero__mate{position:absolute;inset:26% 7% auto auto;inline-size:clamp(130px,19vw,300px);animation:bob 3.2s ease-in-out infinite alternate}
.phero--404{min-block-size:86svh;align-content:center}
.crumbs ol{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--muted);margin-block-end:8px}
.crumbs li+li::before{content:"/";margin-inline-end:8px;opacity:.5}
.crumbs a:hover{color:var(--violet)}
.scs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sc{background:#fff;border-radius:var(--r);padding:28px;display:grid;gap:12px;align-content:start;transition:transform .45s var(--e),box-shadow .45s,background .3s,color .3s}
.sc:hover{transform:translateY(-6px);box-shadow:var(--sh);background:var(--ink);color:#fff}
.sc :is(h2,h3){font-size:clamp(22px,2vw,28px);letter-spacing:-.02em;line-height:1.12}
.sc>p:not(.pj__c){color:var(--muted);font-size:15px}
.sc:hover>p:not(.pj__c){color:#b9aee6}
.sc:hover .pj__c{color:var(--amber)}
.sc__f{display:flex;justify-content:space-between;align-items:center;margin-block-start:auto;padding-block-start:14px;border-block-start:1.5px solid var(--line);font-size:17px}
.sc:hover .sc__f{border-color:rgba(255,255,255,.2)}
.sc__f .i{transition:transform .35s var(--e)}
.sc:hover .sc__f .i{transform:translateX(5px)}
.scs--posts{grid-template-columns:repeat(2,1fr)}
.prose{max-inline-size:780px}
.prose :is(h2,h3){font-size:clamp(24px,2.4vw,36px);margin-block:1.6em .5em}
.prose :is(p,ul,ol){margin-block-end:1.1em;color:#2a2545;font-size:18px}
.prose ul{list-style:disc;padding-inline-start:1.3em}.prose ol{list-style:decimal;padding-inline-start:1.3em}
.prose a{color:var(--violet);text-decoration:underline}
.port{border:2px dashed var(--violet);border-radius:18px;padding:20px;background:#fff}

/* beweging */
.js .reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1.1s var(--e);transition-delay:var(--rd,0s)}
.js .reveal.in{opacity:1;transform:none}
.js .rise{opacity:0;transform:translateY(105%);animation:rise 1.1s var(--e) forwards;animation-delay:calc(var(--d,0)*.11s + .1s)}
.js :not(.line)>.rise{transform:translateY(24px)}
@keyframes rise{to{opacity:1;transform:none}}

/* responsive */
@media (max-width:1180px){.packs{grid-template-columns:1fr 1fr}.pjs,.scs{grid-template-columns:1fr 1fr}.ftr__cols{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}}
@media (max-width:1020px){
  .hdr__burger{display:block}.hdr__cta{display:none}.hdr__dock{display:block;margin-inline-start:auto}
  .hdr__nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:90px var(--pad) 40px;background:var(--ink);color:#fff;font-size:clamp(30px,8vw,48px);font-weight:700;letter-spacing:-.03em;opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;margin:0}
  .hdr__nav>a::after{display:none}
  .hdr__lang{margin-block-start:24px;font-size:16px;letter-spacing:0}.hdr__lang a{padding:6px 16px}.hdr__lang a[aria-current]{background:#fff;color:var(--ink)}
  .nav-open .hdr__nav{opacity:1;visibility:visible}.nav-open .hdr{color:#fff}.nav-open .hdr::before{opacity:0}.nav-open{overflow:hidden}.nav-open .mate,.nav-open .say,.nav-open .fab{display:none}
  .hdr::before{opacity:1}
  .mate{z-index:41}
}
@media (max-width:860px){
  .svc,.sec--two,.offer__card,.rw,.about,.sec--faq,.contact,.plists{grid-template-columns:1fr}
  .svc{min-block-size:0;padding-block:70px;gap:40px}.svc--2 .svc__txt{order:0;justify-self:start}
  .sec--faq .sec__h,.contact__t,.plist--card{position:static}
  .sec--faq .sec__h{margin-block-end:26px}
  .about__bg{inset:auto -10% -6% auto}
  .ftr__base{padding-inline-end:0;padding-block-end:70px}
}
@media (max-width:759px){
  body{font-size:16px}
  .hero{grid-template-columns:1fr;grid-template-rows:auto;padding-block-start:96px}
  .hero__stage{position:relative;inset:auto;inline-size:auto;block-size:27svh;display:grid;place-items:center;animation:none}
  .hero__stage svg{inline-size:auto;block-size:88%;animation:bob 3.2s ease-in-out infinite alternate}
  .hero__side,.hero__foot{grid-column:1;grid-row:auto;padding-block-end:26px}
  .hero__stats{justify-content:space-between}
  .say{display:none}
  .packs,.pjs,.scs,.scs--posts,.steps,.form__2,.ftr__cols{grid-template-columns:1fr}
  .ftr__cols{gap:26px}.ftr{min-block-size:0}
  .btns .btn{flex:1 1 auto}
  .fab span{display:none}.fab{padding:0;inline-size:54px;justify-content:center;inset-block-end:16px}
  .phero__mate{position:relative;inset:auto;inline-size:120px;order:-1;justify-self:end;margin-block-end:-30px}
  .wz__out{flex-direction:column;align-items:stretch}
  .wz__c{padding:6px 13px;font-size:13.5px;gap:7px;min-block-size:44px}
  .chip{font-size:13px;padding:8px 14px}.chip--price b{font-size:18px}
  .pack--custom,.pack--custom .ticks{grid-template-columns:1fr}
  .fn{padding-inline:10px;gap:9px;border-radius:16px}
  .art__arrow{display:none}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal,.js .rise{opacity:1;transform:none}
  .marquee__t{animation:none}.marquee{overflow-x:auto}
  .flow__w circle,.rw__map circle:last-of-type{display:none}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{.hdr,.fab,.mate,.say,.marquee{display:none}.js .reveal,.js .rise{opacity:1;transform:none}body{background:#fff}}

/* ── externe links op een projectkaart ─────────────────────────────── */
.pj__l { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; margin-block-start: 1rem; padding: 0; list-style: none; }
.pj__l a { display: inline-flex; align-items: center; gap: .35em; font-size: .875rem; text-decoration: none;
           color: var(--accent, #ef4444); border-block-end: 1px solid transparent; transition: border-color .2s; }
.pj__l a:hover { border-block-end-color: currentColor; }
.pj__l svg { flex: none; }

/* ── contactformulier: vakje tegen robots, en het bedankscherm ───────────── */
.form__body{display:grid;gap:16px}
/* let op: display:grid wint het van het hidden-attribuut, vandaar deze regel */
.form__body[hidden],.done[hidden]{display:none}
.guard{display:grid;gap:10px;justify-items:start;padding:14px 16px;border:1.6px dashed var(--line);border-radius:16px;background:var(--soft)}
.guard__t{margin:0;font-size:13.5px;font-weight:600;color:var(--muted)}
.guard .cf-turnstile{min-block-size:65px}

/* zodra het bedankscherm staat, moet het maatje (z-index 20, op telefoon 41) erachter blijven */
.form:has(.done:not([hidden])){position:relative;z-index:42}
.done{display:grid;gap:14px;justify-items:center;text-align:center;padding:clamp(14px,3vw,34px) 4px}
.done__i{display:grid;place-items:center;inline-size:68px;block-size:68px;border-radius:50%;background:#e8f6ed;color:#1b7a3d;animation:doneIn .45s var(--e) both}
.done__i svg{inline-size:34px;block-size:34px}
.done h3{margin:0;font-size:clamp(21px,2.6vw,27px);line-height:1.25}
.done p{margin:0;max-inline-size:44ch;color:var(--muted);font-size:16px;line-height:1.6}
.done__b{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-block-start:6px}
@keyframes doneIn{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@media (prefers-reduced-motion:reduce){.done__i{animation:none}}

.btn--wa{background:#25D366;color:#0b1f12;border:1.6px solid #25D366}
.btn--wa:hover{background:#1da851;border-color:#1da851;color:#fff}
.btn--wa svg{inline-size:20px;block-size:20px}
