*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:#fff;color:#26323e;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:23px;height:23px;flex-shrink:0}::selection{background:#b8d9f4}.wrap{max-width:1120px;width:calc(100% - 96px);margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1{font-size:clamp(36px,4.3vw,58px);line-height:1.18;letter-spacing:-1.8px}h2{font-size:34px;line-height:1.2;letter-spacing:-1px;margin-bottom:0}h3{font-size:36px;line-height:1.15;letter-spacing:-1.2px;margin-bottom:19px}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font-size:29px;font-weight:600;letter-spacing:-1.3px;white-space:nowrap}.brand span{color:#8492a0;font-weight:400}.site-header nav{display:flex;align-items:center;gap:34px;font-size:14px}.site-header nav>a{transition:color .2s}.site-header nav>a:hover,.site-header nav [aria-current]{color:#1472b8}.nav-linkedin{border:1px solid #d8e0e6;border-radius:50px;padding:13px 22px}.nav-linkedin span{margin-left:10px}.hero{background:#202c3a;color:#fff;text-align:center;padding:98px 0 94px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";width:520px;height:520px;border:1px solid #ffffff09;border-radius:50%;position:absolute;pointer-events:none;top:-250px;right:-120px}.hero:after{width:740px;height:740px;right:-230px;top:-360px}.hero h1{margin-bottom:21px;position:relative}.hero p{font-size:19px;color:#c1cbd6;line-height:1.7;margin-bottom:35px;position:relative}.button{border-radius:60px;min-height:56px;padding:17px 28px;display:inline-flex;align-items:center;justify-content:center;gap:24px;font-size:14px;line-height:1.4;border:1px solid transparent;transition:background .2s,border-color .2s,transform .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button-light{border-color:#a8b7c6;background:transparent;color:white;position:relative;min-width:240px}.button-light:hover{background:#ffffff12;border-color:#fff}.button-light>span{font-size:20px;line-height:16px}.button-outline{border-color:#c2ced8;background:transparent}.button-outline:hover{border-color:#2375b2;background:#f1f7fc}.button-dark{background:#263b4d;color:#fff;border-color:#263b4d}.button-dark:hover{background:#154f7a;border-color:#154f7a}.specialities{background:#f4f6f8;border-bottom:1px solid #e8edf1}.specialities>.wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-block:34px}.specialities .wrap>div{text-align:center;border-right:1px solid #dce3e9;padding:5px 12px}.specialities .wrap>div:last-child{border:0}.specialities svg{width:29px;height:29px;stroke:#4d7c9e;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;margin-bottom:9px}.specialities h2{font-size:17px;letter-spacing:-.2px;margin:0 0 8px}.specialities p{font-size:12px;color:#74818d;margin:0;line-height:1.6}.projects-section{padding-block:72px 76px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:44px}.text-link{white-space:nowrap;display:inline-flex;align-items:center;gap:13px;font-size:13px;color:#4a6c88}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link svg{width:19px;height:19px}.project-list{display:flex;flex-direction:column;gap:66px}.project-row{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.project-row[hidden]{display:none}.project-row:nth-child(even) .project-cover{grid-column:2;grid-row:1}.project-row:nth-child(even) .project-info{grid-column:1;grid-row:1}.project-cover{position:relative;display:flex;justify-content:center;align-items:flex-end;aspect-ratio:1.24;overflow:hidden;border-radius:22px}.blue{background:#dbeaf4}.sand{background:#eae8e1}.rose{background:#ece5e5}.mint{background:#e2eae6}.peach{background:#f0e9e2}.lavender{background:#e5e7ef}.project-cover img{display:block;width:84%;height:84%;object-fit:cover;object-position:top;border-radius:7px 7px 0 0;box-shadow:0 5px 25px #23334218;transition:transform .35s}.project-cover:hover img{transform:translateY(-6px)}.project-cover.stage-politie-oost-nederland{background:#094d80}.project-cover.stage-politie-oost-nederland img{width:75%;height:100%;object-fit:contain;box-shadow:none;align-self:center}.project-meta{display:flex;align-items:center;gap:18px;font-size:11px;color:#74818d;margin:0 0 19px;line-height:1.6}.project-meta>span:first-child{text-transform:uppercase;letter-spacing:1px}.project-year{font-size:12px;border:1px solid #d5dfe7;border-radius:30px;padding:5px 11px;color:#48617a;letter-spacing:0!important;text-transform:none!important;white-space:nowrap}.project-client{display:block;font-size:12px;color:#6b7b88;margin:-7px 0 16px}.project-info>p{color:#6b7885;font-size:16px;line-height:1.8;margin-bottom:20px;max-width:450px}.project-info h3 a:hover{color:#1c75b7}.project-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:27px}.project-tags>span{font-size:11px;color:#6b7b88;background:#f1f4f6;border-radius:6px;padding:7px 10px}.project-info .button{font-size:13px;min-width:175px}.project-art{position:relative;align-self:stretch;width:100%;padding:45px 35px;display:flex;flex-direction:column;justify-content:center;color:#476783}.project-art>strong{font-size:45px;letter-spacing:-2px;font-weight:500;position:relative;z-index:1}.art-company{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:18px;position:relative;z-index:1}.art-platform{font-size:12px;margin-top:18px;position:relative;z-index:1}.bdr-thermea-pro-app .project-art{justify-content:flex-end;padding-bottom:46px;isolation:isolate}.bdr-thermea-pro-app .project-art>strong{font-size:48px;color:#284d6b}.phone-art{position:absolute;width:70%;height:85%;right:-50px;top:0;transform:rotate(-9deg);color:#7396b1;opacity:.7;z-index:-1}.app-dot{display:inline-block;width:8px;height:8px;background:#418ac3;border-radius:50%;margin-left:5px}.all-projects{text-align:center;margin-top:52px}.about-section{background:#f4f6f8;padding:60px 0;border-top:1px solid #e8edf1;border-bottom:1px solid #e8edf1}.about-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:70px}.about-copy>p{font-size:16px;color:#63727e;line-height:1.85;margin-bottom:20px}.about-copy .button{margin-top:8px;min-width:155px}.page-banner{background:#202c3a;color:white;padding:50px 0;text-align:center}.page-banner h1{font-size:43px;letter-spacing:-1px;margin:0}.project-toolbar{display:flex;justify-content:center;margin-bottom:50px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters[hidden]{display:none}.filters button{border:1px solid #d8e1e8;background:#fff;font-size:13px;cursor:pointer;min-height:47px;padding:12px 22px;border-radius:50px;color:#63727e}.filters button:hover{border-color:#7d9ab2}.filters button.is-active{background:#263b4d;color:#fff;border-color:#263b4d}.filters button span{margin-left:7px;font-size:10px;opacity:.7}.archive{padding-top:42px}.detail{padding-top:35px}.back-link{display:inline-block;font-size:13px;color:#6b7c8c;margin-bottom:48px}.back-link:hover{color:#1472b8}.detail-heading{display:grid;grid-template-columns:1fr 240px;gap:65px;margin-bottom:45px;align-items:end}.detail h1{font-size:clamp(40px,5vw,62px);margin-bottom:22px;line-height:1.12}.detail-summary{font-size:19px;line-height:1.7;color:#6b7885;margin:0;max-width:680px}.detail-tech{padding:8px 0 4px 25px;border-left:1px solid #dce3e9}.detail-tech>span{font-size:12px;color:#6b7b88;display:block;margin-bottom:16px}.detail-tech .project-tags{margin-bottom:0}.detail-visual{border-radius:22px;padding:50px;display:flex;justify-content:center;max-height:780px;overflow:hidden}.detail-visual img{max-width:100%;width:780px;height:auto;object-fit:contain;object-position:top;box-shadow:0 10px 40px #23334218}.detail-visual.stage-politie-oost-nederland{background:#094d80;max-height:460px}.detail-visual.stage-politie-oost-nederland img{width:340px;box-shadow:none}.detail-body{display:grid;grid-template-columns:1fr 1.7fr;gap:70px;padding-block:60px}.detail-body h2{font-size:28px}.prose{font-size:17px;line-height:1.85;color:#63727e;max-width:700px}.prose p{margin-bottom:24px}.prose ul{padding-left:20px}.prose a{color:#1c75b7;text-decoration:underline}.prose pre{overflow:auto;background:#f4f6f8;padding:20px;border-radius:8px}.prose img{max-width:100%;height:auto}.project-next{border-top:1px solid #dce3e9;padding-block:32px 55px}.project-next>span{font-size:12px;color:#74818d;display:block;margin-bottom:20px}.project-next>a{display:flex;justify-content:space-between;align-items:center;font-size:clamp(26px,3.5vw,40px);letter-spacing:-1px;gap:25px}.project-next svg{width:30px;height:30px;color:#3979ab}footer{display:flex;justify-content:space-between;gap:20px;padding-block:30px;font-size:12px;color:#7b8792}footer a:hover{color:#1c75b7}.not-found{padding-block:90px 130px}.not-found h1{margin-bottom:35px}.skip{position:fixed;top:10px;left:10px;z-index:10;padding:12px;background:#263b4d;color:white;border-radius:8px;transform:translateY(-200%)}.skip:focus{transform:none}.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}:focus-visible{outline:2px solid #1c75b7;outline-offset:5px}@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero{padding-block:76px}.project-row{gap:35px}.project-info h3{font-size:30px}.project-info>p{font-size:14px}.project-meta{gap:10px}.project-meta>span:first-child{font-size:10px;letter-spacing:.5px}.project-art>strong{font-size:35px}.project-art{padding:30px}.bdr-thermea-pro-app .project-art>strong{font-size:38px}.about-grid{gap:45px}.detail-heading{gap:35px;grid-template-columns:1fr 190px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:80px;gap:15px}.brand{font-size:25px}.site-header nav{gap:22px;font-size:13px}.nav-linkedin{display:none}.hero{padding-block:57px 60px}.hero h1{font-size:38px;letter-spacing:-1.3px;max-width:440px;margin-inline:auto;margin-bottom:18px}.hero p{font-size:15px;margin-bottom:28px}.hero:before,.hero:after{opacity:.5}.button{min-height:54px;padding:16px 25px;font-size:13px}.specialities>.wrap{padding-block:25px;width:calc(100% - 24px)}.specialities .wrap>div{padding:0 8px}.specialities h2{font-size:14px;margin-bottom:7px}.specialities p{font-size:10px;max-width:130px;margin-inline:auto;line-height:1.8}.specialities svg{width:25px;height:25px}.projects-section{padding-block:42px 48px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:27px;letter-spacing:-.7px}.text-link{white-space:nowrap;font-size:11px;gap:6px}.text-link svg{width:17px;height:17px}.project-list{gap:45px}.project-row{grid-template-columns:1fr;gap:25px}.project-row:nth-child(even) .project-cover,.project-row:nth-child(even) .project-info{grid-column:auto;grid-row:auto}.project-cover{aspect-ratio:1.4;border-radius:18px}.project-meta{margin-bottom:14px;gap:14px}.project-meta>span:first-child{font-size:10px;letter-spacing:.6px}.project-year{font-size:11px;padding:4px 10px}.project-info h3{font-size:31px;margin-bottom:13px;letter-spacing:-.7px}.project-info>p{font-size:14px;margin-bottom:17px;line-height:1.75}.project-tags{margin-bottom:21px;gap:6px}.project-tags>span{font-size:10px;padding:6px 9px}.project-info .button{font-size:12px;min-height:50px}.project-art{padding:30px}.project-art>strong{font-size:40px}.bdr-thermea-pro-app .project-art{padding-bottom:30px}.bdr-thermea-pro-app .project-art>strong{font-size:43px}.phone-art{width:64%;right:-10px;top:-20px;height:105%}.all-projects{margin-top:40px}.about-section{padding:40px 0}.about-grid{grid-template-columns:1fr;gap:24px}.about-grid h2{font-size:29px}.about-copy>p{font-size:14px}.about-copy .button{min-height:50px}.page-banner{padding-block:36px}.page-banner h1{font-size:34px}.archive{padding-top:28px}.project-toolbar{margin-bottom:32px}.filters{gap:6px;justify-content:center}.filters button{font-size:11px;padding:10px 15px;min-height:42px}.filters button span{margin-left:3px}.detail{padding-top:26px}.back-link{margin-bottom:32px}.detail-heading{grid-template-columns:1fr;gap:25px;margin-bottom:30px}.detail h1{font-size:40px;letter-spacing:-1.3px;overflow-wrap:anywhere;margin-bottom:17px}.detail-summary{font-size:16px}.detail-tech{border-left:0;border-top:1px solid #dce3e9;padding:20px 0 0}.detail-tech>span{font-size:11px;margin-bottom:13px}.detail-visual{padding:20px;border-radius:18px;max-height:480px}.detail-visual.stage-politie-oost-nederland{max-height:290px}.detail-body{grid-template-columns:1fr;gap:20px;padding-block:35px}.detail-body h2{font-size:26px}.prose{font-size:15px}.project-next{padding-block:25px 35px}.project-next>a{font-size:27px}.project-next svg{width:25px}.not-found{padding-block:60px 100px}.not-found h1{font-size:35px}footer{font-size:10px;padding-block:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.project-cover.bdr-thermea-pro-app{background:#e8f0f5}.project-cover.bdr-thermea-pro-app img{width:100%;height:100%;object-fit:contain;border-radius:0;box-shadow:none}.project-cover.bdr-thermea-pro-app:hover img{transform:scale(1.025)}.detail-visual.bdr-thermea-pro-app{padding:0;background:#e8f0f5;max-height:none}.detail-visual.bdr-thermea-pro-app img{display:block;width:100%;height:auto;box-shadow:none}
