/* site.css — generated bundle. Rebuild after editing any part:
   cat style.css brain.css lab.css verteq.css transitions.css thema-licht.css onderdelen.css > site.css  (keep this header) */
/* Fonts load via <link> in the head (parallel, non-blocking chain). */
:root{--bg:#090a0c;--fg:#f3f3f5;--muted:#95969f;--blue:#2454ff;--gold:#d9b072;--line:#2e2c27}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--bg);color:var(--fg);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #7a99ff;outline-offset:6px}::selection{background:var(--blue);color:white}.header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.brand{font-family:'Space Grotesk',sans-serif;font-size:24px;font-weight:700;letter-spacing:-1px;display:flex;align-items:center;gap:10px}.brand-symbol{font-size:42px;line-height:1;color:#f0f2ff}.brand-dot{align-self:flex-start;font-size:12px;margin-top:6px;letter-spacing:0}.header nav{display:flex;align-items:center;gap:38px;font-size:14px}.header nav>a:not(.nav-cta){color:#bcbcc3}.header nav a:hover{color:white}.nav-cta{border:1px solid #484951;padding:13px 18px}.nav-cta span{margin-left:30px}.menu{display:none}.hero{position:relative;min-height:740px;overflow:hidden;padding:26px 5% 0}.hero-meta,.hero-bottom{display:flex;justify-content:space-between;font-size:12px;letter-spacing:1.3px;color:#8d8e98;position:relative;z-index:2}.hero-art{position:absolute;inset:0 -7% 0 21%;background-position:center;background-size:cover;opacity:.95;mask-image:linear-gradient(90deg,transparent,black 27%)}.hero-content{position:relative;z-index:1;padding-top:88px;max-width:920px}.eyebrow{font-size:12px;font-weight:500;letter-spacing:1.5px;line-height:1.6}.hero .eyebrow{display:flex;align-items:center;gap:9px;color:#b9bac5}.hero .eyebrow span{width:6px;height:6px;background:var(--gold)}.hero h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(68px,7.7vw,118px);line-height:1.02;font-weight:500;letter-spacing:-6px;margin:28px 0 24px}.hero h1 em{font-style:normal;color:#a1a3b1}.hero-copy{color:#b3b4bf;font-size:18px;line-height:1.65;margin-bottom:30px}.button{background:var(--blue);color:white;border:0;padding:19px 23px;display:inline-flex;align-items:center;gap:45px;font-size:14px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#416bff;transform:translateY(-2px)}.button span{font-size:20px}.hero-bottom{margin-top:78px;padding-bottom:27px;align-items:center}.hero-bottom a span{margin-left:24px;font-size:20px;color:white}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:25px 5%;font-family:'Space Grotesk',sans-serif;font-size:14px;letter-spacing:1px;gap:20px;color:#b8b9c2}.ticker i{font-style:normal;color:var(--gold);font-size:25px}.section{padding:104px 5%}.section-top{display:flex;justify-content:space-between;align-items:flex-start}.section-top .eyebrow{color:#b3a58c}.side-note{font-size:14px;color:var(--muted);line-height:1.6;margin-top:8px}.section h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(42px,4.4vw,65px);font-weight:500;line-height:1.12;letter-spacing:-2.5px;margin:28px 0 50px}.section h2 span{color:#858792}.services{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}.service{padding:26px 28px 0;background:#0e0f12;transition:background .25s;min-width:0}.service:hover{background:#141722}.service+.service{border-left:1px solid var(--line)}.service-top{display:flex;justify-content:space-between;color:#a08d6d;font-family:monospace;font-size:14px}.service-icon{font-size:23px;color:#a6a8b3}.service-diagram{height:122px;display:flex;align-items:center;justify-content:center;color:#6685ff;gap:12px}.agents b{height:12px;width:12px;border:1px solid #667aff;transform:rotate(45deg);box-shadow:0 0 20px #2454ff55}.agents b:nth-child(3){width:36px;height:36px;background:#2454ff;box-shadow:0 0 35px #2454ff55}.code{font-family:monospace;font-size:56px;font-weight:400;gap:18px}.code span{color:#3a4057}.automation b{width:26px;height:26px;border:1px solid #687dd5;border-radius:50%}.automation b:last-child{background:#2454ff;border:0}.automation i{height:1px;width:28px;background:#414b77}.service h3{font-size:23px;font-weight:500;letter-spacing:-.6px;margin:13px 0}.service p{font-size:16px;color:#9a9da9;line-height:1.75;max-width:350px;margin:0 0 31px;min-height:112px}.service-label{border-top:1px solid var(--line);padding:21px 0;display:flex;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.8px;color:#b4b7c6}.service-label span{font-size:17px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:12%;border-top:1px solid var(--line)}.approach-intro>p:last-child{max-width:430px;color:#999da9;line-height:1.8}.approach h2{margin-bottom:25px}.steps{padding-top:29px}.steps article{display:flex;gap:26px;padding:29px 0;border-top:1px solid var(--line)}.steps article>span{color:#a08d6d;font:13px monospace;padding-top:8px}.steps h3{font-weight:500;font-size:25px;margin:0 0 14px}.steps p{color:#999da9;line-height:1.7;margin:0;font-size:16px}.contact{background:#0e1533 radial-gradient(ellipse at 82% 8%,#f1c08224,transparent 55%);position:relative;overflow:hidden;padding-top:75px;padding-bottom:80px}.contact .eyebrow{color:#e9dcc4}.contact h2{font-size:clamp(60px,7vw,104px);line-height:1.03;margin:30px 0}.contact h2 span{color:#c9b998}.contact p:not(.eyebrow){color:#cfd4e6;line-height:1.7}.contact .button{margin-top:20px}.contact-mark{position:absolute;right:9%;top:14%;font-size:340px;line-height:1;color:#f1c08221;transform:rotate(12deg);pointer-events:none}.contact>*:not(.contact-mark){position:relative;z-index:1}footer{padding:42px 5%;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}footer>span{font-size:12px;letter-spacing:1px;color:#8e919c;text-align:right}footer>a:not(.brand),footer small{font-size:12px;color:#9699a7}footer small{text-align:right}dialog{width:min(520px,90vw);border:1px solid #373b4c;background:#101219;color:white;padding:45px}dialog::backdrop{background:#000a;backdrop-filter:blur(7px)}dialog h2{font-size:32px;letter-spacing:-1px;font-weight:500}dialog p:not(.eyebrow){color:#b0b4c5;line-height:1.7;margin-bottom:30px}.close{position:absolute;right:15px;top:10px;background:none;border:0;color:white;font-size:30px}.hero-content{animation:enter .9s ease-out both}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.header,.section,footer,.hero,.ticker{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:900px){.hero{min-height:700px}.hero h1{letter-spacing:-4px}.hero-art{left:9%;right:-38%;opacity:.6}.hero-meta span:last-child{display:none}.ticker{flex-wrap:wrap;justify-content:center;font-size:12px}.ticker span:last-child,.ticker i:last-of-type{display:none}.service{padding:22px 20px 0}.service h3{font-size:21px}.service p{min-height:166px}.service-label{font-size:10px}.approach{gap:7%}.contact-mark{right:0;font-size:280px}}
@media(max-width:600px){.header{height:80px;padding:0 6%}.brand{font-size:20px}.brand-symbol{font-size:34px}.menu{display:block;background:none;color:white;border:1px solid #41444e;padding:9px 12px;font-size:13px}.header nav{display:none;position:absolute;top:79px;left:0;right:0;z-index:8;background:#101218;padding:25px 6%;border-bottom:1px solid #333;gap:20px;flex-wrap:wrap}.header nav.open{display:flex}.hero{padding:22px 6% 0;min-height:680px}.hero-meta{font-size:10px}.hero-content{padding-top:73px}.hero .eyebrow{font-size:10px;letter-spacing:.9px}.hero h1{font-size:clamp(46px,12vw,72px);letter-spacing:-2.8px;line-height:1.1;margin-top:24px}.hero-copy{font-size:16px}.hero-art{inset:60px -80% 0 -18%;opacity:.46;mask-image:linear-gradient(90deg,transparent,black 40%)}.hero-bottom{margin-top:84px;font-size:9px;letter-spacing:.8px}.hero-bottom a span{margin-left:10px}.hero-bottom>span{max-width:140px;line-height:1.6}.ticker{padding:19px 6%;gap:12px;font-size:10px;letter-spacing:.5px}.ticker span:nth-of-type(3),.ticker i:nth-of-type(2){display:none}.section{padding:65px 6%}.side-note{display:none}.section h2{font-size:42px;letter-spacing:-1.8px;margin-bottom:35px}.services{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid var(--line)}.service{padding:24px 25px 0}.service-diagram{height:90px}.service h3{font-size:24px}.service p{min-height:0;max-width:none}.service-label{font-size:11px}.approach{grid-template-columns:1fr;gap:10px}.steps{padding-top:10px}.steps article{padding:24px 0}.contact h2{font-size:60px}.contact-mark{font-size:230px;right:-75px;top:25%}.contact p:not(.eyebrow){font-size:15px}footer{padding:34px 6%;gap:23px}footer>span{display:none}footer small{grid-column:2;grid-row:2}footer>a:not(.brand){grid-column:1;grid-row:2}dialog{padding:35px 25px}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero-art{background-image:url(hero.webp)}

/* Motion follows the existing electric-blue visual identity. */
@keyframes hero-drift{0%,100%{transform:translate3d(0,0,0) scale(1.025)}50%{transform:translate3d(-1.2%,1.3%,0) scale(1.065)}}
@keyframes orbit{to{transform:rotate(372deg)}}
@keyframes ticker-travel{to{transform:translateX(-50%)}}
@keyframes signal{0%,100%{opacity:.45;scale:.85}50%{opacity:1;scale:1.15}}
@keyframes scroll-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.hero-art{animation:none}
.hero-content{animation:none}
.hero-content>*{animation:enter .85s cubic-bezier(.2,.7,.2,1) both}
.hero-content h1{animation-delay:.12s}.hero-content .hero-copy{animation-delay:.24s}.hero-content .button{animation-delay:.36s}
.hero-bottom a span{display:inline-block;animation:scroll-nudge 2.4s ease-in-out infinite}
.contact-mark{animation:orbit 65s linear infinite}
.ticker.is-moving{display:block;overflow:hidden;padding-left:0;padding-right:0}
.ticker-track{display:flex;width:max-content;animation:ticker-travel 32s linear infinite}
.ticker-group{display:flex;align-items:center;gap:clamp(25px,4vw,65px);padding-right:clamp(25px,4vw,65px);flex-shrink:0}
.ticker.is-moving .ticker-group>*{display:block;white-space:nowrap}
.ticker:hover .ticker-track{animation-play-state:paused}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.service{position:relative;transition:background .3s,opacity .75s,transform .75s}
.service-icon,.service-label span,.button span,.nav-cta span{display:inline-block;transition:transform .3s}
.service:hover .service-icon,.service:focus-visible .service-icon,.button:hover span,.nav-cta:hover span{transform:translate(3px,-3px)}
.service:hover .service-label span{transform:translateX(4px)}
.service-diagram b{animation:signal 3s ease-in-out infinite}
.service-diagram b:nth-child(2){animation-delay:.25s}.service-diagram b:nth-child(3){animation-delay:.5s}.service-diagram b:nth-child(4){animation-delay:.75s}.service-diagram b:nth-child(5){animation-delay:1s}
.code span{animation:signal 4s ease-in-out infinite}
.brand-symbol{transition:transform .6s}.brand:hover .brand-symbol{transform:rotate(90deg)}
dialog[open]{animation:enter .25s ease-out}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.ticker-track{transform:none}.ticker.is-moving{overflow:visible}.ticker-track,.ticker-group{width:auto;flex-wrap:wrap;justify-content:center}.ticker-group{padding:0 6%}.ticker-group[aria-hidden]{display:none!important}}

/* Keep contrast stationary while the artwork responds to the pointer. */
.hero{isolation:isolate}
.hero-art{background-image:none;pointer-events:none;z-index:-2;opacity:1;overflow:hidden}
.hero-art::before{content:"";position:absolute;inset:-9%;background:url(hero.webp) center/cover no-repeat;transform-origin:65% 50%;transform:perspective(1100px) translate3d(var(--art-x,0px),var(--art-y,0px),0) rotateX(var(--art-rx,0deg)) rotateY(var(--art-ry,0deg)) rotateZ(var(--art-rz,0deg)) scale(1.04);will-change:transform}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#090a0c 0%,rgba(9,10,12,.98) 25%,rgba(9,10,12,.90) 39%,rgba(9,10,12,.66) 48%,rgba(9,10,12,.12) 65%,transparent 77%),linear-gradient(180deg,rgba(9,10,12,.83),transparent 17%,transparent 81%,rgba(9,10,12,.92))}
.hero h1{color:#fff;text-shadow:0 2px 24px #090a0c80}
.hero h1 em{color:#e1e5f2}
.hero-copy{color:#e1e3eb;text-shadow:0 1px 12px #090a0c}
.hero .eyebrow,.hero-meta,.hero-bottom{color:#c6cad7;text-shadow:0 1px 8px #090a0c}
@media(max-width:900px){.hero::after{background:linear-gradient(90deg,#090a0c 0%,rgba(9,10,12,.96) 25%,rgba(9,10,12,.85) 45%,rgba(9,10,12,.32) 78%),linear-gradient(180deg,#090a0c99,transparent 25%,#090a0c99)}}
@media(max-width:600px){.hero-art{opacity:.7}.hero::after{background:linear-gradient(90deg,rgba(9,10,12,.97),rgba(9,10,12,.87) 50%,rgba(9,10,12,.5)),linear-gradient(180deg,#090a0c88,transparent 20%,#090a0c99)}}
@media(prefers-reduced-motion:reduce){.hero-art::before{transform:none;will-change:auto}}

/* Interactive 3D studio and concept gallery. */
.scene-shell{position:absolute;right:0;top:64px;width:53%;height:calc(100% - 125px);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center}
.scene-shell[hidden]{display:none}#sculpture{width:100%;height:calc(100% - 50px);display:block;cursor:grab;touch-action:none;border-radius:30px}#sculpture.dragging{cursor:grabbing}.scene-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.scene-controls[hidden]{display:none}.scene-controls>span{font-size:10px;letter-spacing:1.1px;color:#a5b3d4;margin-right:10px}.scene-controls button{border:1px solid #34425d;background:#111723;color:#dce6ff;padding:8px 10px;font-size:12px;min-height:36px}.scene-controls button:hover{background:#243b69}.has-3d .hero-art{display:none}.hero.has-3d::after{display:none}.has-3d .hero-content{max-width:52%}.has-3d h1{font-size:clamp(54px,6.7vw,104px);letter-spacing:-4px}.has-3d .hero-bottom{position:relative;z-index:4}.projects{border-bottom:1px solid var(--line);background:linear-gradient(145deg,#0c1020,#090a0c 60%)}.projects-intro{max-width:660px;color:#a9b0c4;line-height:1.8;margin:-20px 0 44px}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;perspective:1400px}.project-card{padding:0;min-width:0;text-align:left;color:var(--fg);border:1px solid #2b3246;background:#0f131e;transform:rotateX(var(--card-x,0deg)) rotateY(var(--card-y,0deg));transition:transform .2s ease-out,border-color .2s,box-shadow .2s;transform-style:preserve-3d}.project-card:hover{border-color:#607df6;box-shadow:0 20px 50px #0008}.project-visual{height:250px;padding:24px;overflow:hidden;border-bottom:1px solid #2c354b;display:flex;flex-direction:column;justify-content:space-between}.atlas-preview{background:linear-gradient(130deg,#1c3272,#101522)}.flow-preview{background:linear-gradient(130deg,#182c3b,#0b1522)}.signal-preview{background:linear-gradient(130deg,#332957,#121729)}.mock-top{display:flex;justify-content:space-between;gap:12px;font:10px monospace;letter-spacing:.5px;color:#b9c8ed}.mock-top>span{font-size:9px;border:1px solid #667396;padding:3px;align-self:start}.mock-question{font-size:24px;letter-spacing:-.7px;line-height:1.2;max-width:220px}.mock-answer{font-size:12px;display:flex;align-items:center;gap:12px;line-height:1.7;padding:12px;background:#bacdff0a;border:1px solid #93b4ff33}.mock-star{font-size:28px;color:#82a1ff}.mock-tags{display:flex;gap:6px;flex-wrap:wrap}.mock-tags span{font-size:10px;padding:5px 8px;border:1px solid #9cb5ec33;border-radius:20px;color:#c2cfe9}.flow-line{display:flex;align-items:center;gap:12px;padding:13px 10px;background:#ffffff04;border:1px solid #65889933}.flow-line>span{font:11px monospace;color:#7da1be}.flow-line b{font-size:12px;font-weight:400;flex:1}.flow-line i{font-style:normal;color:#87b9ff}.signal-label{font-size:23px;line-height:1.2;letter-spacing:-.5px}.signal-quotes{display:flex;flex-direction:column;gap:7px}.signal-quotes span{font-size:12px;color:#d1caed}.project-info{padding:25px}.project-kind{font:10px monospace;letter-spacing:1px;color:#98a9d6}.project-info h3{display:flex;justify-content:space-between;font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:500;margin:16px 0}.project-info h3 span{color:#7c9bff;font-size:24px}.project-info p{font-size:16px;color:#acb3c7;line-height:1.7;min-height:82px}.project-open{display:block;font-size:13px;margin-top:27px;color:#c8d4ff}#project-dialog{width:min(800px,92vw);max-height:90dvh;overflow:auto;padding:45px;background:#101522;border:1px solid #3a4970}#project-dialog h2{font-family:'Space Grotesk',sans-serif;font-size:36px;padding-right:20px}#project-dialog .eyebrow{color:#91aaff}.demo-label{font-size:14px!important;color:white!important;margin:0 0 12px!important}.demo-choices{display:flex;gap:8px;flex-wrap:wrap}.demo-choices button{background:#1c2438;border:1px solid #39496d;color:#cbd7f3;padding:11px 14px;font-size:14px}.demo-choices button[aria-pressed=true]{background:#2454ff;border-color:#6989ff;color:#fff}.demo-result{margin-top:18px;padding:22px;background:#090e1a;border-left:2px solid #6083ff;min-height:150px}.demo-result p{margin:0 0 18px!important;font-size:17px;color:#e0e7ff!important}.demo-result small{font-size:12px;color:#93a9d6;line-height:1.6}.project-detail{margin-top:30px;border-top:1px solid #2c3852;padding-top:14px}.project-detail h3{font-size:18px;font-weight:500}.demo-note{font-size:12px!important;line-height:1.7!important;margin:18px 0 0!important;color:#8d9ab7!important}
@media(max-width:1100px){.project-grid{gap:14px}.project-visual{padding:17px}.mock-top{font-size:9px}.project-info{padding:20px}.project-info p{min-height:110px}.scene-controls>span{width:100%;text-align:center}.has-3d h1{font-size:6.6vw;letter-spacing:-3px}}
@media(max-width:750px){.project-grid{grid-template-columns:1fr}.project-visual{height:270px;padding:24px}.mock-top{font-size:11px}.project-info p{min-height:0}.project-info{padding:24px}.project-card{transform:none!important}.hero.has-3d{min-height:1000px;padding-bottom:0}.has-3d .hero-content{max-width:100%;padding-top:45px}.has-3d h1{font-size:clamp(46px,10vw,72px);letter-spacing:-2.6px}.scene-shell{top:auto;bottom:65px;right:0;width:100%;height:400px}.scene-controls>span{width:auto}.has-3d .hero-bottom{position:absolute;bottom:0;left:6%;right:6%;margin-top:0}.has-3d .hero-copy{max-width:400px}.projects-intro{font-size:16px}.header nav{gap:18px}.header nav a{font-size:13px}#project-dialog{padding:32px 22px}#project-dialog h2{font-size:29px}.demo-choices{flex-direction:column}.demo-choices button{text-align:left}.project-visual{height:245px}}
@media(prefers-reduced-motion:reduce){.project-card{transform:none!important}}

/* Sticky header with scroll blur (added for the JKO@Work rebuild) */
.header{position:sticky;top:0;z-index:40;background:transparent;transition:background .25s}
.header.scrolled{background:#090a0cd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand-by{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;letter-spacing:.2px;color:#95969f;align-self:flex-end;margin:0 0 5px 2px;white-space:nowrap}

/* Cases — proof from production */
.cases{border-top:1px solid var(--line)}
.cases-intro{max-width:660px;color:#a9b0c4;line-height:1.8;margin:-20px 0 44px}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.case-card{background:#0f131e;border:1px solid #2b3246;padding:30px 30px 28px;min-width:0;transition:border-color .2s}
.case-card:hover{border-color:#607df6}
.case-sector{font:10px monospace;letter-spacing:1px;color:#c4ad87}
.case-card h3{font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:500;letter-spacing:-.6px;margin:14px 0 12px}
.case-card p{color:#acb3c7;line-height:1.75;font-size:16px;margin:0 0 22px}
.case-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.case-tags li{font-size:12px;padding:6px 12px;border:1px solid #9cb5ec33;border-radius:20px;color:#e8cfae}
.compliance{display:flex;align-items:center;gap:22px;flex-wrap:wrap;border:1px solid var(--line);padding:20px 24px;margin:34px 0 38px}
.compliance p{margin:0;font-size:14px;color:#9a9da9}
.compliance ul{list-style:none;display:flex;gap:10px;flex-wrap:wrap;margin:0;padding:0}
.compliance li{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.6px;border:1px solid #4a4331;padding:8px 14px;color:#e3d3b3}

/* Contact — direct mail */
.contact-mail{margin-top:26px;font-size:15px;color:#dbe3ff}
.contact-mail a{text-decoration:underline;text-underline-offset:4px}
.foot-mail{text-decoration:underline;text-underline-offset:4px}
footer small a{color:inherit}

@media(max-width:900px){.case-grid{grid-template-columns:1fr}}
@media(max-width:600px){.brand-by{display:none}.case-card{padding:24px 20px 22px}.compliance{gap:14px;padding:16px 18px}.cases-intro{margin-top:-6px}}

/* Scroll cinema: colour journey + light lines (activated by cinema.js) */
.atmosfeer{position:fixed;inset:0;z-index:-2;background:#090a0c;pointer-events:none;display:none}
.atmosfeer i{position:absolute;inset:0;background:radial-gradient(ellipse at 76% 26%,#f1c08229,transparent 62%);opacity:0}
html.cinema .atmosfeer{display:block}
html.cinema .projects{background:transparent;border-bottom-color:transparent}
html.cinema .contact{background:transparent}
html.cinema .cases{border-top-color:transparent}
.lichtlijn{position:absolute;left:calc(5% - 26px);top:6%;bottom:6%;width:1px;background:linear-gradient(180deg,transparent,#d9b072b0 12%,#d9b07255 88%,transparent);transform:scaleY(0);transform-origin:top;pointer-events:none}
@media(max-width:900px){.lichtlijn{display:none}}
/* Keep art and controls in the page flow so the ticker can never cover them. */
.hero.has-brain{isolation:isolate;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"meta meta" "copy brain" "foot foot";column-gap:12px;overflow:hidden}
.hero.has-brain::after{display:none}.has-brain .hero-meta{grid-area:meta}
.has-brain .hero-content{grid-area:copy;max-width:100%;position:relative;z-index:2;padding:70px 0 45px;align-self:center}
.has-brain h1{font-size:clamp(54px,6.7vw,104px);letter-spacing:-4px}
.brain-shell{grid-area:brain;position:relative;inset:auto;width:100%;max-width:740px;align-self:center;justify-self:center;margin:0;padding:24px 0 16px;perspective:1000px;z-index:1}
.brain-visual{position:relative;width:100%;isolation:isolate;transform-origin:50% 50%;will-change:transform;mask-image:linear-gradient(90deg,transparent,black 7%,black 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,black 7%,black 94%,transparent)}
.brain-image{display:block;width:100%;height:auto;user-select:none;filter:brightness(.66) saturate(.94)}
.brain-lights{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen}
.brain-pulse{position:absolute;display:block;width:15%;aspect-ratio:1;border-radius:50%;opacity:0;transform:translate(-50%,-50%);background:radial-gradient(circle,#fffef2 0%,#fffde7 5%,rgba(255,238,173,.98) 10%,rgba(255,207,98,.86) 20%,rgba(255,166,45,.48) 35%,rgba(255,160,30,.16) 51%,transparent 70%);will-change:opacity,transform}
.brain-controls{display:flex;justify-content:center;position:relative;z-index:3;min-height:48px;margin:20px 0 0;padding:0 8px}
.brain-controls button{font:500 14px 'DM Sans',sans-serif;color:#f2dfb2;background:#152438;border:1px solid #6a624b;border-radius:7px;min-height:44px;padding:11px 18px;cursor:pointer;box-shadow:0 4px 18px #0003}
.brain-controls button:hover{background:#223752;color:#fff4d5}.brain-controls button:focus-visible{outline:2px solid #f2d294;outline-offset:4px}.brain-controls button:disabled{opacity:.7;cursor:default}
.has-brain .hero-bottom{grid-area:foot;position:relative;inset:auto;z-index:2;margin:0;padding:20px 0 28px}
@media(max-width:1000px) and (min-width:751px){.has-brain h1{font-size:6.5vw;letter-spacing:-3px}.has-brain .hero-content{padding-top:50px;padding-bottom:35px}}
@media(max-width:750px){.hero.has-brain{grid-template-columns:minmax(0,1fr);grid-template-areas:"meta" "copy" "brain" "foot";padding-bottom:8px}.has-brain .hero-content{padding:43px 0 0}.has-brain h1{font-size:clamp(46px,10.8vw,76px);letter-spacing:-2.6px}.brain-shell{width:100%;max-width:560px;padding:14px 0 10px;margin:0}.brain-controls{margin:16px 0 6px}.has-brain .hero-bottom{padding:18px 0}.has-brain .hero-copy{max-width:400px}.brain-pulse{width:17%}}
.brain-visual{mask-image:none;-webkit-mask-image:none;will-change:auto;aspect-ratio:1.19}
#brain-model{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab;opacity:0}#brain-model:active{cursor:grabbing}#brain-model:focus-visible{outline:1px solid #779bff;outline-offset:-4px;border-radius:20px}.model-ready #brain-model{opacity:1}.model-ready .brain-image{visibility:hidden}.brain-hint{text-align:center;font:10px 'DM Sans',sans-serif;letter-spacing:2px;color:#879cbf;margin:5px 0 0}.brain-controls{margin-top:12px}
.brain-credit{text-align:center;font-size:9px;color:#91a1b9;margin:8px 0;line-height:1.5}.brain-credit a:hover{color:#e2eaff;text-decoration:underline}

.brain-image{filter:none;object-fit:contain;max-height:100%;width:100%}.brain-visual{aspect-ratio:1.12}.brain-credit{font-size:12px}.brain-hint{font-size:12px;letter-spacing:1.4px}
/* Product workspaces: quiet surfaces, visible evidence, purposeful controls. */
#project-dialog.lab-dialog{width:min(1280px,96vw);max-width:1280px;max-height:94dvh;padding:0;border:1px solid #495574;border-radius:16px;background:#f4f6fb;color:#19243a;box-shadow:0 40px 150px #0009;overflow:auto;scrollbar-gutter:stable}
.lab-dialog::backdrop{background:#02050de8;backdrop-filter:blur(14px)}
.lab-dialog *{box-sizing:border-box}.lab-dialog button,.lab-dialog input,.lab-dialog textarea,.lab-dialog select{font-family:'DM Sans',sans-serif}.lab-dialog button{cursor:pointer}.lab-dialog button:disabled{cursor:not-allowed;opacity:.42}.lab-dialog :focus-visible{outline:3px solid #5583ff;outline-offset:3px}.lab-dialog .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lab-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-bottom:1px solid #293248;background:#101827;color:#fff;position:sticky;top:0;z-index:5}.lab-brand{display:flex;gap:13px;font-size:29px;color:#7998ff}.lab-brand>span{font:600 13px 'Space Grotesk',sans-serif;letter-spacing:1px;color:#fff}.lab-brand small{display:block;font-size:12px;letter-spacing:2px;color:#91a1c1;margin-top:3px}.lab-sandbox{font-size:12px;letter-spacing:1.7px;color:#a2b5dd;margin-left:auto}.lab-close{background:#253047;color:#e0e8fc;border:1px solid #3d4963;font-size:24px;line-height:1;width:36px;height:36px;border-radius:8px}.lab-close:hover{background:#384869}.lab-head{padding:27px 30px 21px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff}.lab-dialog .lab-kicker{margin:0 0 8px!important;font-size:12px!important;letter-spacing:1.6px;line-height:1.5!important;color:#657492!important}.lab-dialog .lab-head h2{font-size:34px;letter-spacing:-1.5px;color:#162139;padding:0;margin:0;line-height:1.3;font-weight:600}.lab-head h2 span{color:#c4ccdc;margin:0 12px;font-weight:400}.lab-head h2 small{font:400 15px 'DM Sans',sans-serif;color:#68738a;letter-spacing:0}.lab-badge{font-size:12px;letter-spacing:1px;color:#3d5c9d;border:1px solid #d0dbf1;background:#f1f5ff;border-radius:5px;padding:6px 9px}
.lab-switch{display:flex;gap:3px;padding:0 30px;background:white;border-bottom:1px solid #dae0ec}.lab-switch button{background:none;border:none;border-bottom:3px solid transparent;padding:13px 20px;color:#65738e;font-size:14px;min-width:120px;text-align:left}.lab-switch button span{font:12px monospace;float:right;margin-left:22px;color:#92a0b8}.lab-switch button[aria-pressed=true]{color:#2454e6;border-color:#2454ff;background:#f4f7ff}.lab-switch button[aria-pressed=true] span{color:#2454ff}.lab-foot{padding:16px 28px;display:flex;justify-content:space-between;gap:14px;border-top:1px solid #dce2ef;background:#edf1f8;font-size:12px;color:#6d7990}.atlas-layout,.flow-layout,.signal-layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:520px}.lab-sidebar{background:#eef2f8;border-right:1px solid #dce2ed;padding:24px 17px}.pane-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;letter-spacing:.9px;color:#738199;margin-bottom:22px}.pane-heading>span:last-child{font-size:12px;letter-spacing:0}.document-list{display:flex;flex-direction:column;gap:5px}.document-list button{display:flex;text-align:left;align-items:center;gap:11px;border:1px solid transparent;background:none;padding:12px 9px;color:#43506c;font-size:13px;border-radius:7px}.document-list button:hover{background:#e3eaf8}.document-list button[aria-pressed=true]{background:#fff;border-color:#d7e1f5;box-shadow:0 3px 10px #20396409;color:#2454e6}.document-list small{display:block;font-size:12px;color:#8996ad;margin-top:4px}.file-icon{border:1px solid #c8d3e8;border-radius:4px;width:25px;height:29px;display:flex;align-items:center;justify-content:center;color:#6a8fdc;font-size:20px;flex-shrink:0}.add-document{margin-top:22px;border-top:1px solid #d6deec;padding-top:17px}.add-document summary{font-size:12px;color:#3153a0;cursor:pointer}.lab-dialog label{display:block;font-size:12px;color:#66738c;line-height:1.5;margin:13px 0 6px}.lab-dialog input,.lab-dialog textarea,.lab-dialog select{background:#fff;border:1px solid #cbd5e5;border-radius:6px;padding:11px 12px;font-size:14px;color:#263650;max-width:100%;width:100%}.lab-dialog textarea{line-height:1.65;resize:vertical}.lab-dialog input:disabled{background:#edf1f6}.lab-dialog .lab-primary{background:#2454ed;border:1px solid #2454ed;color:white;padding:11px 15px;border-radius:6px;font-size:13px;font-weight:500;line-height:1.4;white-space:nowrap}.lab-dialog .lab-primary:hover:not(:disabled){background:#1740c4}.lab-dialog .lab-ghost{background:#fff;border:1px solid #ccd6e7;color:#556985;border-radius:6px;padding:10px 13px;font-size:12px}.lab-dialog .lab-ghost:hover:not(:disabled){background:#f0f4fc}.add-document .lab-primary{white-space:normal;width:100%;margin-top:10px}.atlas-main{padding:27px 30px;background:#fff}.query-box{display:flex;gap:8px;background:#f7f9ff;border:1px solid #bccdf7;border-radius:10px;padding:7px;box-shadow:0 3px 15px #234e9e08}.lab-dialog .query-box input{border:0;background:transparent;font-size:16px;padding:9px 10px;min-width:0}.quick-prompts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 30px}.quick-prompts button{background:#f4f7fc;border:1px solid #e0e7f3;padding:6px 10px;border-radius:20px;color:#6a7b98;font-size:12px}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 15px}.lab-dialog .result-heading h3{font-size:16px;font-weight:600;margin:0;color:#263651}.result-heading>span{font-size:12px;color:#8a96ac}.knowledge-result{display:flex;gap:15px;padding:17px 0;border-bottom:1px solid #e9edf5}.answer-index{color:#5a7cce;font:12px monospace;padding:5px 0}.knowledge-result>div:last-child{flex:1}.lab-dialog .knowledge-result p{font-size:15px;line-height:1.8;color:#34445f;margin:0 0 12px}.source-link{font-size:12px;color:#3763bf;background:#edf3ff;border:1px solid #dae5fc;border-radius:5px;padding:7px 10px;text-align:left}.source-link span{margin-left:20px;color:#7792c4}.source-reader{margin-top:27px;background:#f8faff;border:1px solid #e0e7f4;border-radius:8px;padding:16px 18px}.source-reader summary{font-size:12px;color:#546789;cursor:pointer}.source-reader summary>span{font-size:12px;letter-spacing:1px;color:#8a9ab5;margin-right:10px}.source-reader>div{padding-top:10px}.lab-dialog .source-reader p{font-size:13px;line-height:1.8;color:#70809a;margin:10px 0}.lab-dialog .empty-copy{font-size:15px;line-height:1.8;color:#7b88a0;margin:20px 0}.invoice-item{display:grid;grid-template-columns:1fr auto;text-align:left;width:100%;gap:10px;background:transparent;border:1px solid transparent;border-radius:8px;padding:15px 10px;margin-bottom:9px;color:#465574}.invoice-item[aria-pressed=true]{background:#fff;border-color:#c9d8f6;box-shadow:0 5px 14px #2c477009}.invoice-item>span{font-size:12px;font-weight:500}.invoice-item small{display:block;font:12px monospace;color:#8a98b1;margin-top:7px}.invoice-item>strong{font-size:12px;font-weight:500;align-self:start}.status{display:inline-block;font-style:normal;font-size:12px;line-height:1.5;padding:3px 7px;color:#7183a4;background:#eaf0fb;border:1px solid #dce5f5;border-radius:4px;white-space:nowrap;width:fit-content}.status.positive{color:#247a61;border-color:#bce4d5;background:#e6f5ee}.status.negative{color:#ae594b;border-color:#efccc3;background:#fff0eb}.sidebar-note{padding:18px 9px;border-top:1px solid #d5deec;margin-top:20px}.sidebar-note b{font-size:12px;font-weight:500;color:#5c6d8b}.lab-dialog .sidebar-note p{font-size:12px;line-height:1.8;color:#8693a9;margin:9px 0 0}.flow-reset{width:100%;margin-top:15px}.flow-main{padding:24px 30px;background:#fff}.workflow-strip{display:flex;gap:8px;border-bottom:1px solid #e7ecf5;padding-bottom:22px}.workflow-strip>span{font-size:12px;padding:7px 12px;background:#f2f5fb;border:1px solid #e1e7f3;color:#94a1b9;border-radius:20px}.workflow-strip .current{color:#476bc4;background:#eaf1ff;border-color:#cddcfc}.workflow-strip .complete{color:#2b7e65;background:#eaf6f0;border-color:#cde8dc}.invoice-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:25px 0 10px}.lab-dialog .invoice-header h3{font-size:24px;font-family:'Space Grotesk',sans-serif;letter-spacing:-.6px;font-weight:500;margin:0;color:#273954}.invoice-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.invoice-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.invoice-fields label{margin-top:12px}.invoice-fields input{margin-top:6px}.invoice-fields .wide{grid-column:1/-1}.invoice-total{margin:20px 0;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#6e7d98;font-size:12px;padding-top:16px;border-top:1px solid #e4eaf4}.invoice-total strong{font-size:23px;font-weight:500;letter-spacing:-.7px;color:#273951}#invoice-checks{padding:18px;background:#f6f8fc;border:1px solid #e2e8f2;border-radius:9px;margin-top:13px}.check-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;letter-spacing:.5px;color:#7b8ba8;margin-bottom:20px}.check-row{display:flex;gap:10px;padding:14px 0;border-bottom:1px solid #e5ebf4}.check-row>b{width:22px;height:22px;background:#e4f0eb;color:#428872;border-radius:50%;display:grid;place-items:center;font-size:12px;flex-shrink:0}.check-row.bad>b{color:#bd714f;background:#fbeae0}.check-row>div{font-size:12px;color:#4c5c78;line-height:1.5}.check-row small{font-size:12px;color:#8a97ad;display:block;margin-top:4px}.lab-dialog .exception-box{padding:14px;background:#fff5eb;border:1px solid #f1dec9;border-radius:6px;margin:16px 0}.exception-box b{font-size:12px;color:#a27146}.lab-dialog .exception-box p{font-size:12px;color:#a28467;line-height:1.7;margin:7px 0}.exception-box small{font-size:12px;line-height:1.7;color:#ad9178;display:block;margin-top:12px}.review-actions{display:flex;gap:7px;margin-top:22px;flex-wrap:wrap}.review-actions .lab-primary{flex:1}.lab-dialog .completion-note{font-size:12px;color:#38816c;line-height:1.6;margin:13px 0 0}.check-empty{padding:15px 0}.check-empty>span{font-size:35px;color:#a9bade}.check-empty h4{font-size:15px;color:#607695;margin:14px 0 10px}.lab-dialog .check-empty p{font-size:12px;color:#92a0b6;line-height:1.8;margin:0}.audit-panel{margin-top:30px;padding-top:15px;border-top:1px solid #e3e9f3}.audit-panel h4{font-size:12px;color:#7e8ca4;font-weight:500;margin:0 0 15px}.lab-dialog #audit-log p{font-size:12px;color:#7d8ba5;margin:8px 0;line-height:1.8;display:flex;gap:14px}.audit-panel time{font:12px monospace;color:#a0aec3;padding-top:4px;flex-shrink:0}.signal-layout{grid-template-columns:265px minmax(0,1fr)}.feedback-input textarea{font-size:12px;background:#fafcff;line-height:1.85;min-height:290px}.feedback-input label{margin-top:0}.input-meta{display:flex;justify-content:space-between;color:#8b9bb6;font-size:12px;margin:9px 0 18px}.feedback-input .lab-primary{width:100%}.lab-dialog .muted{font-size:12px!important;line-height:1.8!important;color:#8b98ae!important;margin:12px 0!important}.signal-main{padding:26px;background:#f8faff}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.metric-grid>div{background:#fff;padding:18px;border:1px solid #e0e7f3;border-radius:8px}.metric-grid span{font-size:12px;color:#7d8ba4;display:block}.metric-grid strong{font-family:'Space Grotesk',sans-serif;font-size:36px;font-weight:500;letter-spacing:-1.5px;display:block;color:#283e64;margin:10px 0 7px}.metric-grid strong em{font-style:normal;font-size:20px;color:#99aaca;margin-left:3px}.metric-grid small{font-size:12px;color:#a1adc2}.signal-chart-panel{background:white;border:1px solid #e0e7f3;border-radius:8px;padding:22px}.chart-legend{display:flex;gap:16px;font-size:12px;color:#6a8aec;margin:15px 0}.chart-legend span:last-child{color:#c48573}.theme-bar{width:100%;display:grid;grid-template-columns:67px 1fr 22px;align-items:center;gap:12px;background:none;border:1px solid transparent;padding:9px 5px;border-radius:5px;text-align:left}.theme-bar:hover,.theme-bar[aria-pressed=true]{background:#f1f5ff;border-color:#d4e0ff}.theme-bar>span{font-size:12px;color:#75839e}.theme-bar>b{font:12px monospace;text-align:right;color:#72829e}.bar-track{background:#f0f3fa;height:18px;border-radius:3px;overflow:hidden}.bar-track>div{height:100%;background:#8ca7f0;border-radius:3px;display:flex;justify-content:flex-end;transition:width .4s}.bar-track i{display:block;height:100%;background:#d99580;min-width:0}.insight-card{display:flex;gap:15px;margin:18px 0 25px;padding:18px;border-radius:8px;border:1px solid #d6e2fb;background:#edf3ff}.insight-card>span{font-size:24px;color:#6a8acf}.insight-card b{font-size:13px;font-weight:500;color:#42619b}.lab-dialog .insight-card p{font-size:12px;line-height:1.8;color:#7991b7;margin:6px 0 0}.feedback-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:13px}.feedback-toolbar h3{font-size:13px;margin:0;color:#5c6f90;font-weight:500}.feedback-toolbar>div{display:flex;gap:8px}.feedback-toolbar select{font-size:12px;width:auto;padding:8px 10px}.table-caption{font-size:12px;color:#97a5bb;margin-bottom:10px}.table-scroll{max-height:310px;overflow:auto;background:#fff;border:1px solid #dee6f3;border-radius:8px}.table-scroll table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6}.table-scroll th{font-size:12px;font-weight:500;color:#91a0b9;text-align:left;background:#f5f8fe;position:sticky;top:0}.table-scroll th,.table-scroll td{padding:12px 14px;border-bottom:1px solid #ecf0f7}.table-scroll td{color:#71819d}.table-scroll td:first-child{color:#4c6082;min-width:200px}.lab-dialog .analysis-note{font-size:12px;line-height:1.8;color:#9aa8bf;margin:14px 0 0}
/* Richer miniature product previews on the site. */
.project-visual{height:285px;padding:19px;gap:14px;justify-content:flex-start}.mini-app{background:#f5f7fc;border:1px solid #ffffff66;border-radius:8px;padding:15px;color:#243757;box-shadow:0 18px 35px #02071055;transform:perspective(800px) rotateY(-5deg) rotateX(3deg);transform-origin:50% 100%;flex:1;overflow:hidden}.project-card:hover .mini-app{transform:perspective(800px) rotateY(0) rotateX(0)}.mini-app{transition:transform .4s}.mini-search{font-size:12px;border:1px solid #c7d6f2;border-radius:5px;background:white;padding:9px;color:#536d9c;display:flex;justify-content:space-between}.mini-result{font-size:12px;color:#52668b;line-height:1.8;padding:12px 0}.mini-source{color:#6686bb;font-size:12px;background:#e5edfc;padding:5px 7px;width:fit-content;border-radius:3px}.mini-app-header{font-size:12px;color:#687c9e;display:flex;justify-content:space-between;margin-bottom:16px}.mini-amount{font:500 28px 'Space Grotesk',sans-serif;color:#31496f;letter-spacing:-1px;display:block;margin:6px 0 15px}.mini-check{display:flex;justify-content:space-between;gap:5px;font-size:12px;padding:8px 0;border-top:1px solid #dde5f2;color:#8193b1}.mini-check b{font-weight:400;color:#3c8c74}.mini-check b.warn{color:#b57b4c}.mini-metrics{display:flex;gap:18px;margin-bottom:18px}.mini-metrics>div{font:500 24px 'Space Grotesk',sans-serif;color:#3d5381}.mini-metrics small{font:12px 'DM Sans',sans-serif;display:block;margin-top:4px;color:#8294b3}.mini-bars>div{display:flex;gap:9px;align-items:center;font-size:12px;color:#7d8fb1;margin:9px 0}.mini-bars span{width:46px}.mini-bars i{height:9px;background:#86a1e8;border-radius:2px;display:block}.project-open{font-size:13px;color:#d4e0ff}.lab-promise{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.lab-promise span{font-size:12px;color:#92a7d2;border:1px solid #384970;border-radius:4px;padding:4px 6px}
@media(max-width:1000px){.lab-head h2 small{display:block;margin-top:8px}.lab-head h2 span{display:none}.invoice-columns{grid-template-columns:1fr;gap:15px}.atlas-layout,.flow-layout{grid-template-columns:210px minmax(0,1fr)}.signal-layout{grid-template-columns:230px minmax(0,1fr)}.atlas-main,.flow-main,.signal-main{padding:22px}.lab-foot{flex-direction:column;gap:6px}.lab-head{padding:22px}.metric-grid{gap:8px}.metric-grid>div{padding:12px}.metric-grid strong{font-size:29px}.mini-app{padding:12px}.mini-result{font-size:12px}.mini-metrics{gap:13px}}
@media(max-width:700px){#project-dialog.lab-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;border:0;margin:0}.lab-top{padding:13px 17px}.lab-sandbox{display:none}.lab-head{padding:20px 17px}.lab-dialog .lab-head h2{font-size:30px}.lab-head h2 small{font-size:13px;max-width:250px;line-height:1.5}.lab-badge{display:none}.lab-switch{padding:0 10px}.lab-switch button{min-width:0;flex:1;padding:12px 10px}.lab-switch button span{margin-left:6px}.atlas-layout,.flow-layout,.signal-layout{grid-template-columns:1fr}.lab-sidebar{border-right:0;border-bottom:1px solid #dae2f0;padding:18px}.document-list{display:grid;grid-template-columns:1fr 1fr;gap:4px}.document-list button{font-size:12px;padding:8px 5px}.document-list small{font-size:12px}.file-icon{width:20px;height:25px}.add-document{margin-top:12px;padding-top:12px}.pane-heading{margin-bottom:14px}.atlas-main,.flow-main,.signal-main{padding:20px 17px}.query-box{flex-direction:column}.lab-dialog .query-box input{font-size:15px}.quick-prompts{gap:5px}.result-heading{align-items:flex-start}.lab-dialog .result-heading h3{font-size:14px}.result-heading>span{font-size:12px;white-space:nowrap}.source-link span{margin-left:6px}.source-link{font-size:12px}.knowledge-result{gap:10px}.lab-dialog .knowledge-result p{font-size:14px}.invoice-item{margin-bottom:5px}.lab-sidebar .sidebar-note{margin-top:10px;padding:12px 6px}.workflow-strip{gap:4px}.workflow-strip>span{font-size:12px;padding:7px 9px}.invoice-fields{gap:0 10px}.feedback-input textarea{min-height:160px;max-height:230px}.metric-grid{gap:6px}.metric-grid span{font-size:12px}.metric-grid strong{font-size:27px}.metric-grid small{font-size:12px}.metric-grid>div{padding:12px 9px}.signal-chart-panel{padding:16px}.feedback-toolbar>div{width:100%}.feedback-toolbar select{flex:1}.lab-foot{padding:15px 17px;font-size:12px}.mini-app{padding:17px}.mini-result{font-size:13px}.mini-metrics{gap:30px}.project-visual{height:290px}}
@media(prefers-reduced-motion:reduce){.mini-app{transform:none!important}.bar-track>div{transition:none}}

/* Contrast and readable control text across the product workspaces. */
.lab-dialog .lab-kicker,.pane-heading,.lab-head h2 small,.lab-foot,.lab-dialog label,.result-heading>span,.document-list small,.metric-grid span,.metric-grid small,.table-caption,.table-scroll th,.table-scroll td,.lab-dialog .analysis-note,.lab-dialog .source-reader p,.lab-dialog .muted,.lab-dialog .sidebar-note p,.input-meta{color:#61718b!important}
.lab-dialog input,.lab-dialog textarea,.lab-dialog select,.lab-dialog .lab-primary,.lab-dialog .lab-ghost,.document-list button,.quick-prompts button,.source-link,.invoice-item>span,.invoice-item>strong,.check-row>div,.theme-bar>span,.table-scroll table{font-size:14px}
.lab-dialog .insight-card p,.lab-dialog .check-empty p,.lab-dialog .exception-box p,.exception-box small,.check-row small{color:#65748b;font-size:13px}
.lab-dialog .lab-head h2{line-height:1.5}.document-list button{overflow-wrap:anywhere}.invoice-item{grid-template-columns:1fr}.invoice-item>strong{font-size:14px}.table-scroll td:first-child{font-size:14px}
@media(min-width:1001px){.atlas-layout,.flow-layout{grid-template-columns:255px minmax(0,1fr)}}
/* Verteq: a working automation canvas with policy inspection. */
.verteq-feature{grid-column:1/-1;display:grid;grid-template-columns:1.25fr 1fr}.verteq-feature .project-info{padding:38px;align-self:center}.verteq-feature .project-info h3{font-size:43px}.verteq-feature .project-info p{min-height:0;max-width:410px}.verteq-feature .project-open{margin-top:23px}.verteq-feature .project-visual{border-bottom:0;border-right:1px solid #344560;height:auto;min-height:335px;padding:24px}.verteq-preview{background:radial-gradient(ellipse at 50% 20%,#223c53,#0e1c2a 80%)}.v-mini-canvas{display:grid;grid-template-columns:1fr 16px 1fr 16px 1fr;align-items:center;padding:24px 0;margin:auto 0;background-image:radial-gradient(#60799d35 1px,transparent 1px);background-size:14px 14px}.v-mini-node{display:flex;gap:6px;align-items:center;background:#172e40;border:1px solid #3b556e;padding:14px 9px;border-radius:7px;color:#9bbbce;font-size:18px}.v-mini-node span{font-size:12px;color:#d0e1ec;line-height:1.5}.v-mini-canvas>i{height:1px;background:#587b93}.v-mini-policy{border-color:#75ad9f;background:#22473e;color:#a2dfc6}.v-mini-review{border-color:#7d8fbb;background:#243349}.v-mini-route{grid-column:1/-1;height:25px;border-right:1px solid #587b93;margin-right:16%}.v-mini-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#809eb6;font-size:12px}.v-mini-footer b{font:500 13px 'Space Grotesk',sans-serif;letter-spacing:3px;color:#c6e0de}
.verteq-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 23px;background:#fff;border-bottom:1px solid #dce3ef}.verteq-toolbar>div:first-child{display:flex;align-items:center;gap:12px}.v-workflow-name{font-size:13px;font-weight:500;color:#3a516a}.v-workflow-name small{font-size:12px;font-weight:400;color:#9aabbd;margin-left:7px}.v-version{font:12px monospace;color:#74988d;background:#edf6f3;border:1px solid #d0e8df;border-radius:3px;padding:4px 6px}.v-toolbar-actions{display:flex;gap:7px}.verteq-layout{display:grid;grid-template-columns:166px minmax(0,1fr) 250px}.v-library{padding:21px 12px;background:#f0f4f8;border-right:1px solid #dce4ed}.v-library .pane-heading{font-size:12px;gap:5px}.v-add{display:flex;align-items:center;gap:8px;padding:12px 6px;background:white;border:1px solid #dde6ef;border-radius:7px;width:100%;text-align:left;margin-bottom:8px}.v-add>span{width:27px;flex-shrink:0;color:#749a91;font-size:21px;text-align:center}.v-add>div{font-size:12px;color:#4b6379;line-height:1.4}.v-add small{display:block;font-size:12px;color:#94a5b7;margin-top:4px}.v-add>b{font-size:13px;font-weight:400;color:#adbac8;margin-left:auto}.v-add:hover{border-color:#9cbeb4;box-shadow:0 3px 9px #223d4b0a}.v-library-foot{padding:16px 5px;border-top:1px solid #dce4ed;margin-top:21px}.v-library-foot b{font-size:12px;font-weight:500;color:#7a8e9f}.lab-dialog .v-library-foot p{font-size:12px;line-height:1.8;color:#9aaaBA;margin:9px 0 0}.v-center{min-width:0;background:#f6f9fc}.v-canvas-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:15px 18px;background:#142331;color:#7d9bb0;font-size:12px;letter-spacing:1px}.v-canvas-top button{background:transparent;border:0;color:#8ca9bb;font-size:12px}.v-canvas-scroll{overflow:auto;background:#142331}.v-canvas{width:720px;position:relative;background-image:radial-gradient(#51708a50 1px,transparent 1px);background-size:19px 19px;margin:auto}.v-edges{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.v-edges path{fill:none;stroke:#54768b;stroke-width:1.7}.v-edges circle{fill:#8aa8b8}.v-edges .muted-edge{stroke:#344859;stroke-dasharray:4 4}.v-node{position:absolute;width:196px;height:78px;display:flex;align-items:center;gap:12px;padding:12px;background:#203646;border:1px solid #3c576a;border-radius:9px;text-align:left;box-shadow:0 6px 15px #08141f22;cursor:grab!important}.v-node:active{cursor:grabbing!important}.v-node.selected{border-color:#a1d4c0;box-shadow:0 0 0 3px #72ac9622}.v-node-icon{width:34px;height:36px;background:#2c4958;border-radius:6px;display:grid;place-items:center;color:#9bbbbf;font-size:25px;flex-shrink:0}.v-node>div>span{font-size:13px;color:#d6e5ec;font-weight:500;display:block}.v-node small{font:12px monospace;color:#7f9daf;display:block;margin-top:7px;letter-spacing:.5px}.v-node>i{font-style:normal;color:#718997;font-size:15px;margin-left:auto}.v-node.policy{background:#204037;border-color:#497a68}.v-node.policy .v-node-icon{background:#315d4d;color:#b3ddc5}.v-node.ai .v-node-icon{background:#354566;color:#aebedf}.v-node.review .v-node-icon{background:#4a4839;color:#ccc19b}.v-node.disabled-node{opacity:.4}.v-node.running-node{border-color:#bef8dc;box-shadow:0 0 0 4px #74cd9e38,0 0 25px #81c1a12b}.v-run-status{display:flex;justify-content:space-between;gap:13px;align-items:center;padding:12px 18px;border-bottom:1px solid #dce6ef;background:#eaf2f3;color:#5d8384;font-size:12px;min-height:46px}.v-run-status>span:last-child{white-space:nowrap;color:#91a7ad}.v-input-output{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 18px}.lab-dialog .v-input-output label,.v-output-heading{font-size:12px;letter-spacing:1px;color:#879daf;margin:0 0 12px}.lab-dialog .v-input-output textarea{font:12px/1.8 monospace;color:#687f92;min-height:170px;background:#fff;border-color:#d7e1eb}.v-input-hint{display:block;font-size:12px;color:#a2b1bf;line-height:1.7;margin-top:8px}.v-output{min-width:0}.lab-dialog #v-output-body>p{font-size:12px;line-height:1.8;color:#587386;background:#fff;border:1px solid #d9e5ed;border-radius:6px;padding:15px;margin:0;overflow-wrap:anywhere}.v-output-empty{background:#edf3f8;min-height:170px;padding:19px;border:1px dashed #cbdbe6;border-radius:6px;color:#9db5c7;font-size:25px}.lab-dialog .v-output-empty p{font-size:12px;line-height:1.8;color:#94aabd;margin:9px 0 0}.v-approval{padding:13px;background:#eff7f1;border:1px solid #cbded0;border-radius:7px;margin-top:12px}.v-approval>span{font-size:12px;color:#689479}.v-approval>div{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.v-approval .lab-primary{font-size:12px;white-space:normal}.v-approval .lab-ghost{font-size:12px}.v-log{margin:0 18px 22px;border:1px solid #dce5ee;border-radius:6px;background:white;padding:13px}.v-log summary{font-size:12px;color:#7890a6;cursor:pointer}.v-log summary span{font-size:12px;color:#a8b6c4;float:right}.lab-dialog .v-log p{font-size:12px;color:#8aa0b3;line-height:1.8;margin:12px 0 0;display:flex;gap:12px}.v-log time{font:12px monospace;white-space:nowrap;padding-top:4px;color:#a2b4c5}.lab-dialog .v-log p.blocked{color:#ae7f66}.lab-dialog .v-log p.success{color:#6f9580}.v-inspector{padding:21px 17px;border-left:1px solid #dde6ed;background:#fff}.v-inspector-title{display:flex;align-items:center;gap:10px}.v-inspector-title>span{font-size:23px;color:#7b9e94}.v-inspector-title h3{font-size:17px;font-weight:500;color:#4d697b;margin:0}.lab-dialog .v-node-note{font-size:12px;line-height:1.8;color:#98a9b6;margin:12px 0 18px}.lab-dialog .v-check-label{display:flex;align-items:center;gap:9px;font-size:12px;color:#718d9d;margin:12px 0}.lab-dialog .v-check-label input{width:14px;height:14px;margin:0;accent-color:#528875;padding:0}.v-order{display:flex;gap:7px;margin-top:16px}.v-order .lab-ghost{font-size:12px;padding:7px 10px;flex:1}.v-remove{background:none;border:none;color:#ab9287;padding:10px 0;font-size:12px}.v-rule-heading{font-size:12px;letter-spacing:.9px;color:#7d96a7;margin:22px 0 14px;padding-top:18px;border-top:1px solid #e0e8ef}.v-rule-heading span{display:block;font-size:12px;letter-spacing:0;color:#afbdc8;margin-top:7px}.lab-dialog .v-select-label{font-size:12px;color:#8aa0af;margin-top:17px}.v-select-label select{font-size:12px;margin-top:6px;padding:8px}.v-checks details{margin:8px 0;padding:8px;background:#f4f8f7;border:1px solid #e2ece6;border-radius:4px}.v-checks summary{list-style:none;display:flex;gap:8px;font-size:12px;color:#789481;cursor:pointer;line-height:1.5}.v-checks summary>b{font-weight:500}.v-checks details.fail{background:#fff7ef;border-color:#f0deca}.v-checks .fail summary{color:#b5926a}.lab-dialog .v-checks p{font-size:12px;line-height:1.7;color:#9caeaa;margin:9px 0 0}.lab-dialog .v-checks .fail p{color:#bba488}.lab-dialog .v-legal-note{font-size:12px;line-height:1.8;color:#aebbc6;margin:20px 0 0}
@media(max-width:1100px){.verteq-layout{grid-template-columns:145px minmax(0,1fr) 220px}.v-library{padding:17px 9px}.v-add{gap:6px}.v-add>span{width:21px}.verteq-toolbar{flex-wrap:wrap}.v-workflow-name small{display:none}.v-input-output{grid-template-columns:1fr}.verteq-feature .project-info{padding:28px}.v-mini-node{padding:11px 6px}.v-mini-node span{font-size:12px}.verteq-feature .project-visual{padding:18px}}
@media(max-width:800px){.verteq-layout{grid-template-columns:1fr}.v-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;border-right:0;border-bottom:1px solid #dce6ee}.v-library .pane-heading{grid-column:1/-1;margin-bottom:4px}.v-add{margin:0}.v-add small{display:none}.v-library-foot{display:none}.v-inspector{border-left:0;border-top:1px solid #dce6ee}.v-input-output{grid-template-columns:1fr 1fr}.v-inspector .v-checks{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v-inspector .v-checks details{margin:0}.verteq-feature{grid-template-columns:1fr}.verteq-feature .project-visual{border-right:0;border-bottom:1px solid #344560;min-height:290px}.v-mini-node span{font-size:12px}.v-mini-node{padding:15px 9px}}
@media(max-width:500px){.verteq-toolbar{padding:15px}.v-toolbar-actions{width:100%;flex-wrap:wrap}.v-toolbar-actions button{font-size:12px!important;flex:1}.v-input-output{grid-template-columns:1fr}.v-run-status{font-size:12px;align-items:flex-start}.v-run-status>span:last-child{white-space:normal;text-align:right}.v-inspector .v-checks{grid-template-columns:1fr}.v-mini-node{padding:13px 6px;font-size:15px}.v-mini-node span{font-size:12px}.verteq-feature .project-info{padding:25px}.v-mini-footer{font-size:12px}.v-mini-footer b{font-size:12px}.v-workflow-name{font-size:12px}}

.v-workflow-name,.v-add>div,.v-node>div>span,.lab-dialog .v-check-label,.lab-dialog .v-select-label,.v-checks summary,.v-toolbar-actions .lab-primary,.v-toolbar-actions .lab-ghost{font-size:14px}
.v-input-hint,.v-workflow-name small,.v-add small,.lab-dialog .v-node-note,.v-rule-heading,.v-rule-heading span,.lab-dialog .v-legal-note,.lab-dialog .v-checks p,.lab-dialog .v-library-foot p,.v-output-heading,.lab-dialog .v-input-output label,.v-run-status>span:last-child{color:#61798b}
.lab-dialog .v-input-output textarea{font-size:13px}.lab-dialog #v-output-body>p{font-size:14px}.lab-dialog .v-log p{font-size:12px;color:#647e90}.v-checks .fail summary,.lab-dialog .v-checks .fail p{color:#926332}.v-checks .pass summary{color:#42745c}.v-library .pane-heading{flex-wrap:wrap}.v-add{gap:6px}.v-add small{line-height:1.5}.v-add>div{overflow-wrap:anywhere}.v-checks summary{line-height:1.6}.v-run-status{flex-wrap:wrap}.v-node small{font-size:12px;letter-spacing:0}.v-node>div>span{font-size:14px}
@media(min-width:1101px){.verteq-layout{grid-template-columns:185px minmax(0,1fr) 270px}}
/* Motion has a hierarchy: section entrance, staggered content, then interaction. */
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:100;pointer-events:none;background:linear-gradient(90deg,#2454ff,#87aaff 65%,#efd49b);transform:scaleX(var(--page-progress,0));transform-origin:left;box-shadow:0 0 16px #628bff80}
.section{position:relative;isolation:isolate}
.section::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 15%,#e9c48a14,transparent 60%);opacity:var(--section-light,.4)}
.section::after{content:"";position:absolute;top:0;left:5%;right:5%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,#6689ff99,#ead19b70,transparent);transform:scaleX(var(--section-light,.4));transition:transform .3s linear}
.motion-enter{opacity:0;translate:0 64px;scale:.97;transition:opacity .9s ease,translate 1.15s cubic-bezier(.16,1,.3,1),scale 1.15s cubic-bezier(.16,1,.3,1);transition-delay:var(--motion-delay,0ms)}
.motion-enter.motion-visible{opacity:1;translate:0 0;scale:1}
h2.motion-enter{clip-path:inset(0 0 100% 0);translate:0 38px;transition:clip-path 1.1s cubic-bezier(.16,1,.3,1),translate 1.1s cubic-bezier(.16,1,.3,1),opacity .8s;transition-delay:var(--motion-delay,0ms)}
h2.motion-visible{clip-path:inset(-10% -5% -10% -5%)}
.project-card,.service{overflow:hidden}
.project-card::after,.service::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(400px circle at var(--spot-x,50%) var(--spot-y,50%),#96b4ff20,transparent 65%);opacity:0;transition:opacity .4s}
.project-card{position:relative}.project-card:hover::after,.service:hover::after{opacity:1}
.project-visual{transition:filter .5s}.project-card:hover .project-visual{filter:brightness(1.16)}
.project-open{transition:letter-spacing .35s,color .35s}.project-card:hover .project-open{letter-spacing:.7px;color:white}
.steps article{position:relative}.steps article::before{content:"";position:absolute;top:-1px;left:0;height:2px;width:100%;background:linear-gradient(90deg,#628bff,#dcca9c,transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.16,1,.3,1) .3s}.steps article.motion-visible::before{transform:scaleX(1)}
.button,.nav-cta{position:relative;overflow:hidden}.button::after,.nav-cta::after{content:"";position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 40%,#ffffff30 50%,transparent 60%);translate:-70% 0;pointer-events:none;transition:translate .65s}.button:hover::after,.nav-cta:hover::after{translate:70% 0}
dialog[open]{animation:studio-open .55s cubic-bezier(.16,1,.3,1) both}dialog[open]::backdrop{animation:backdrop-open .45s ease both}
@keyframes studio-open{from{opacity:0;transform:translateY(42px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-open{from{background:#0000;backdrop-filter:blur(0)}to{background:#000a;backdrop-filter:blur(7px)}}
@supports(transition-behavior:allow-discrete){dialog{transition:opacity .25s,transform .25s,display .25s allow-discrete,overlay .25s allow-discrete}dialog:not([open]){opacity:0;transform:translateY(20px) scale(.97)}}
@media(max-width:750px){.motion-enter{translate:0 35px;scale:.985}.section::after{left:6%;right:6%}}
@media(prefers-reduced-motion:reduce){.motion-enter{opacity:1;translate:none;scale:none;clip-path:none!important}.scroll-progress{display:none}.section::after{transform:none}}
/* ============================================================================
   thema-licht.css — the Artefact-language theme layer.
   Loaded LAST in the site.css bundle, so equal-specificity rules here win.
   Ground: white + navy ink; signature: iridescent magenta/purple/blue.
   ========================================================================= */
:root{--bg:#ffffff;--fg:#0d1634;--muted:#5a6285;--roze:#ff0066;--roze-aa:#e0005c;--paars:#ab62fd;--blauw:#4f74ff;--inkt:#0d1634;--lijn:#e6e8f2;--navy:#0d1634;--navy-vlak:#152045}
body{background:var(--bg);color:var(--fg);font-family:'IBM Plex Sans',sans-serif}
::selection{background:var(--roze);color:#fff}
a:focus-visible,button:focus-visible{outline:2px solid var(--roze-aa)}

/* header */
.header{border-bottom:1px solid var(--lijn);background:transparent}
.header.scrolled{background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand{font-family:'IBM Plex Sans',sans-serif;letter-spacing:-.5px;color:var(--inkt)}
.brand-symbol{color:var(--roze)}
.brand-by{color:var(--muted)}
.header nav>a:not(.nav-cta){color:#3c4466}
.header nav a:hover{color:var(--inkt)}
.nav-cta{border:0;background:var(--roze-aa);color:#fff;border-radius:40px;padding:13px 22px;transition:background .2s}
.nav-cta:hover{background:var(--roze);color:#fff}
.menu{border:1px solid #cfd4e6;color:var(--inkt)}
@media(max-width:600px){.header nav{background:#fff;border-bottom:1px solid var(--lijn)}}

/* hero: light iridescent field, glass brain right */
.hero{background:radial-gradient(55% 60% at 82% 30%,#ffd2e755,transparent 70%),radial-gradient(45% 55% at 68% 75%,#c9c2ff4d,transparent 70%),radial-gradient(40% 45% at 90% 60%,#bcd2ff4d,transparent 70%)}
.hero-art{display:none}
.hero-meta,.hero-bottom{color:#666e8e}
.hero .eyebrow{color:#4a5170}
.hero .eyebrow span{background:var(--roze)}
.hero h1{font-family:'IBM Plex Sans',sans-serif;font-weight:400;letter-spacing:-2.5px;color:var(--inkt)}
.hero h1 em{color:#8a90ab}
.hero-copy{color:#3c4466}
.hero-bottom a span{color:var(--inkt)}
.brain-hint{color:#666e8e}
.brain-credit,.brain-credit a{color:#8a90ab}
.brain-controls button,#brain-toggle{border:1px solid #d5d9ea;background:#fff;color:var(--inkt)}

/* the dark theme lifted text with dark shadows; on white they read as grey smears */
.hero h1,.hero-copy,.hero .eyebrow,.hero-meta,.hero-bottom,.brain-hint,.brain-credit{text-shadow:none}

/* buttons become pills */
.button{background:var(--roze-aa);color:#fff;border-radius:40px;padding:17px 26px}
.button:hover{background:var(--roze);transform:translateY(-2px)}

/* ticker */
.ticker{border-color:var(--lijn);color:#4a5170}
.ticker i{color:var(--paars)}

/* statement band (new) */
.statement{padding:110px 5% 96px}
.statement::before{content:"";display:block;width:230px;height:3px;background:linear-gradient(90deg,var(--roze),var(--paars));margin-bottom:44px}
.statement p{margin:0;font-size:clamp(32px,3.8vw,52px);line-height:1.22;font-weight:400;color:var(--inkt);max-width:21ch}
.statement p b{font-weight:400;background:linear-gradient(90deg,var(--roze-aa),#8d3bff);-webkit-background-clip:text;background-clip:text;color:transparent}

/* sections & headings */
.section h2{font-family:'IBM Plex Sans',sans-serif;font-weight:400;letter-spacing:-1.2px;color:var(--inkt)}
.section h2 span{color:#8a90ab}
.section-top .eyebrow{color:#a4437e}
.side-note{color:var(--muted)}
.projects{background:transparent;border-bottom:0}
.projects-intro{color:#3c4466}
.cases-intro{color:#c9d2e8}

/* demo cards: white chrome, the dark preview stays a product screen */
.project-card{background:#fff;border:1px solid var(--lijn);color:var(--inkt);box-shadow:0 14px 40px #0d163414}
.project-card:hover{border-color:#f4b7d2;box-shadow:0 22px 54px #0d16341f}
.project-visual{border-bottom:1px solid var(--lijn)}
.project-kind{color:#a4437e}
.project-info h3{font-family:'IBM Plex Sans',sans-serif;font-weight:500}
.project-info h3 span{color:var(--roze-aa)}
.project-info p{color:#444d6e}
.project-open{color:#b3005f}

/* services */
.services{border:1px solid var(--lijn)}
.service{background:#fff}
.service:hover{background:#fbf7fd}
.service+.service{border-left:1px solid var(--lijn)}
.service-top{color:#647092}
.service-icon{color:#a4437e}
.service h3{font-weight:500;color:var(--inkt)}
.service p{color:#444d6e}
.service-label{border-top:1px solid var(--lijn);color:#5a6285}
.code span{color:#c3c9de}

/* cases: navy band with gradient exit + big numbers */
.cases{background:var(--navy)}
html.cinema .cases{background:var(--navy)}
.cases{border-top:0;position:relative}
.cases::after{content:"";position:absolute;left:0;right:0;bottom:0;height:210px;background:linear-gradient(160deg,#3d2bb300,#8b2bd93d 55%,#ff00663d);pointer-events:none}
.cases>*{position:relative;z-index:1}
.cases .section-top .eyebrow{color:#ff7ab0}
.cases .side-note{color:#9fb0d8}
.cases h2{color:#fff}
.cases h2 span{color:#b4c0e4}
.case-card{background:var(--navy-vlak);border:1px solid #2a3763}
.case-card:hover{border-color:#ff4b93}
.case-sector{color:#ff8dbb}
.case-card h3{font-family:'IBM Plex Sans',sans-serif;font-weight:500;color:#fff}
.case-card p{color:#c9d2e8}
.case-tags li{border:1px solid #44517f;color:#ffd7e8;border-radius:20px}
.compliance{border:1px solid #2a3763}
.compliance p{color:#9fb0d8}
.compliance li{font-family:'IBM Plex Sans',sans-serif;border:1px solid #44517f;color:#dbe4ff}
.cijfers{display:flex;gap:6%;flex-wrap:wrap;margin:64px 0 10px}
.cijfers b{display:block;font-weight:400;font-size:clamp(54px,6vw,92px);line-height:1;color:#fff;letter-spacing:-2px}
.cijfers span{display:block;margin-top:10px;font-size:12px;letter-spacing:1.4px;color:#9fb0d8;text-transform:uppercase}
.cases .button{margin-top:26px}

/* approach */
.approach{border-top:1px solid var(--lijn)}
.approach-intro>p:last-child{color:#444d6e}
.steps article{border-top:1px solid var(--lijn)}
.steps article>span{color:var(--roze-aa)}
.steps h3{font-weight:500}
.steps p{color:#444d6e}

/* contact: the iridescent field */
.contact{background:linear-gradient(135deg,#3d2bb3,#8b2bd9 45%,#ff0066 100%)}
html.cinema .contact{background:linear-gradient(135deg,#3d2bb3,#8b2bd9 45%,#ff0066 100%)}
.contact .eyebrow{color:#ffd7e8}
.contact h2{color:#fff;font-weight:400}
.contact h2 span{color:#ffd0e6}
.contact p:not(.eyebrow){color:#f6ecff}
.contact .button{background:#fff;color:#3d1160}
.contact .button:hover{background:#ffe9f3}
.contact-mail{color:#ffe1ef}
.contact-mark{color:#ffffff2b}

/* footer */
footer{border-top:1px solid var(--lijn)}
footer>span{color:#8a90ab}
footer>a:not(.brand),footer small{color:#5a6285}
.foot-mail{color:var(--inkt)}

/* cinema layer retuned to light */
.atmosfeer{background:#fff}
.atmosfeer i{background:radial-gradient(58% 48% at 82% 18%,#ff98c936,transparent 70%),radial-gradient(48% 58% at 12% 72%,#9fb2ff38,transparent 70%)}
html.cinema .projects{background:transparent}
.lichtlijn{background:linear-gradient(180deg,transparent,#e0005cb0 12%,#ab62fd66 88%,transparent)}
.cases .lichtlijn{background:linear-gradient(180deg,transparent,#ff4b93b0 12%,#ab62fd80 88%,transparent)}
.scroll-progress{background:linear-gradient(90deg,#ff0066,#ab62fd 55%,#4f74ff);box-shadow:0 0 14px #ff006655}
.section::before{background:radial-gradient(ellipse at 85% 15%,#ff006609,transparent 60%)}
.section::after{background:linear-gradient(90deg,transparent,#e0005c55,#ab62fd55,transparent)}
.cases.section::before,.contact.section::before{background:none}

/* project dialog stays a dark product screen on purpose; give it breathing room on light */
#project-dialog{border-color:#2a3763}
dialog::backdrop{background:#0d1634b3;backdrop-filter:blur(7px)}
/* onderdelen.css — sections added after the Artefact-language theme: the factory
   section and the case visuals. Loaded after thema-licht.css; same tokens. */
.fabriek{position:relative}
.fabriek-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:start}
.stations{list-style:none;margin:0;padding:0 0 0 26px;position:relative}
.stations::before{content:"";position:absolute;left:5px;top:10px;bottom:10px;width:1px;background:linear-gradient(180deg,var(--roze),#ab62fd33)}
.stations::after{content:"";position:absolute;left:1px;top:0;width:9px;height:9px;border-radius:50%;background:var(--roze);box-shadow:0 0 14px 4px #ff006655;animation:stroom 5.5s cubic-bezier(.5,0,.5,1) infinite}
@keyframes stroom{0%{top:6px;opacity:0}8%{opacity:1}92%{opacity:1}100%{top:calc(100% - 14px);opacity:0}}
.stations li{display:flex;gap:18px;padding:0 0 26px}
.stations li>span{font:12px ui-monospace,monospace;color:var(--roze-aa);padding-top:5px;min-width:20px}
.stations h3{margin:0 0 6px;font-size:21px;font-weight:500;color:var(--inkt)}
.stations p{margin:0;color:#444d6e;line-height:1.6;font-size:15.5px;max-width:44ch}
/* the terminal stays a dark product screen, like the demo previews */
.terminal{border:1px solid #2a3763;border-radius:14px;background:linear-gradient(180deg,#131c3f,#0d1634);box-shadow:0 30px 70px #0d163433,0 0 0 6px #ab62fd14;overflow:hidden}
.terminal-top{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid #2a3763}
.terminal-top i{width:10px;height:10px;border-radius:50%;background:#33406f}
.terminal-top i:first-child{background:var(--roze)}
.terminal-top span{margin-left:10px;font:12px ui-monospace,monospace;color:#9fb0d8}
.terminal-log{margin:0;padding:18px 20px 22px;min-height:330px;font:13px/1.85 ui-monospace,SFMono-Regular,Menlo,monospace;color:#c9d2e8;white-space:pre-wrap;overflow-wrap:anywhere}
.terminal-log .k{color:#fff}.terminal-log .g{color:#9fe0b0}.terminal-log .m{color:#c9d2e8}.terminal-log .o{color:#ff8dbb;text-shadow:0 0 12px #ff0066}
.terminal-log span:last-child::after{content:"▍";color:var(--roze);margin-left:4px;animation:knipper 1s steps(1) infinite}
@keyframes knipper{50%{opacity:0}}
.fabriek-cijfers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:64px;padding-top:36px;border-top:1px solid var(--lijn)}
.fabriek-cijfers b{display:block;font-weight:400;font-size:clamp(44px,4.6vw,72px);line-height:1;letter-spacing:-1.5px;color:transparent;background:linear-gradient(90deg,var(--roze-aa),#8d3bff);-webkit-background-clip:text;background-clip:text}
.fabriek-cijfers span{display:block;margin-top:10px;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){.fabriek-grid{grid-template-columns:1fr}.fabriek-cijfers{grid-template-columns:repeat(2,minmax(0,1fr))}.terminal-log{min-height:0;font-size:12px}}

/* case visuals — they sit on the navy case band */
.case-visual{height:118px;margin:-4px 0 18px;border-radius:10px;background:radial-gradient(70% 90% at 50% 100%,#ff00661f,transparent 70%),#0d1634;border:1px solid #2a3763;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.cv-kyc svg{height:100px;fill:none;stroke:#ff8dbb;stroke-width:1.6}
.cv-kyc rect{fill:#ff006622}
.cv-kyc .o1{stroke:#ab62fd88;stroke-dasharray:3 9;transform-origin:100px 58px;animation:draai 18s linear infinite}
@keyframes draai{to{transform:rotate(360deg)}}
.cv-stem{gap:4px}
.cv-stem i{width:4px;border-radius:3px;background:linear-gradient(180deg,#ff8dbb,#ab62fd);height:14px;animation:golf 1.3s ease-in-out infinite;animation-delay:calc(var(--d) * -.11s)}
@keyframes golf{0%,100%{height:10px;opacity:.55}50%{height:62px;opacity:1}}
.cv-doc{justify-content:flex-start;gap:14px;padding:0 20px}
.cv-doc>div{width:92px;height:92px;border-radius:6px;background:#fff;padding:12px 10px;display:flex;flex-direction:column;gap:7px;flex:none}
.cv-doc>div i{height:5px;border-radius:3px;background:#cfd4e6}
.cv-doc>div i.hl{background:var(--roze);box-shadow:0 0 10px #ff006688}
.cv-doc>div i.kort{width:60%}
.cv-doc>span{font:11px ui-monospace,monospace;color:#ffd7e8;border:1px solid #44517f;border-radius:20px;padding:5px 10px;white-space:nowrap}
.cv-doc>span+span{color:#c9d2e8}
.cv-lagen{flex-direction:column;gap:6px;perspective:400px}
.cv-lagen i{font:11px ui-monospace,monospace;font-style:normal;letter-spacing:1px;color:#c9d2e8;width:62%;text-align:center;padding:6px 0;border:1px solid #44517f;border-radius:6px;background:#152045;transform:rotateX(38deg)}
.cv-lagen i:first-child{border-color:#ff4b93;color:#ffd7e8}
@media(max-width:600px){.cv-doc>span+span{display:none}}
@media(prefers-reduced-motion:reduce){.stations::after,.cv-stem i,.cv-kyc .o1,.terminal-log span:last-child::after{animation:none}}

/* fix: .cases::after is meant as the gradient exit at the BOTTOM of the navy band
   (thema-licht), but .section::after pins it to the top with a scaleX — it showed
   as a purple bar above the heading. Anchor it to the bottom, unscaled. */
.cases.section::after{top:auto;bottom:0;left:0;right:0;height:210px;transform:none;
  background:linear-gradient(160deg,#3d2bb300,#8b2bd93d 55%,#ff00663d)}
