@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/barlow-condensed-600.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/barlow-condensed-700.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/barlow-condensed-800.woff2') format('woff2');font-style:normal;font-weight:800;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/barlow-condensed-700-italic.woff2') format('woff2');font-style:italic;font-weight:700;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('assets/fonts/barlow-condensed-800-italic.woff2') format('woff2');font-style:italic;font-weight:800;font-display:swap}
:root{--red:#ed1c24;--ink:#121212;--paper:#f3f0ea;--soft:#d9d5ce;--content:1240px;--gutter:clamp(24px,5vw,72px);--section:clamp(76px,9vw,132px);--line:rgba(255,255,255,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font:16px/1.65 Manrope,Arial,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip-link{position:fixed;top:-100px;left:20px;z-index:300;background:#fff;padding:12px}.skip-link:focus{top:20px}
.site-header{position:absolute;inset:0 0 auto;z-index:20;height:96px;display:flex;align-items:center;justify-content:space-between;padding-inline:max(var(--gutter),calc((100vw - var(--content))/2));border-bottom:1px solid #ffffff33;color:#fff}.brand{width:clamp(190px,16vw,245px)}.brand img{width:100%}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.site-header nav>a:not(.nav-cta){position:relative}.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;background:var(--red);transition:.2s}.site-header nav>a:hover:after{width:100%}.nav-cta{background:var(--red);padding:15px 19px}.nav-cta span,.button span{margin-left:18px}.menu-toggle{display:none;border:0;background:none;color:#fff}
.hero{position:relative;min-height:680px;height:min(860px,100svh);display:flex;align-items:center;overflow:hidden;color:#fff}.hero-image,.hero-shade,.hero-grid{position:absolute;inset:0}.hero-image{background:url('assets/hero.jpg') center/cover no-repeat;animation:hero-in 1.2s ease-out both}.hero-shade{background:linear-gradient(90deg,#080808e8 0%,#08080894 50%,#08080833 100%),linear-gradient(0deg,#00000073,transparent 52%)}.hero-grid{background-image:linear-gradient(90deg,#ffffff10 1px,transparent 1px);background-size:25% 100%}.hero-content{position:relative;z-index:2;width:min(calc(100% - 2 * var(--gutter)),var(--content));margin:70px auto 0}.hero-content>*{max-width:720px}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:11px;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.eyebrow>span{flex:0 0 28px;height:3px;background:var(--red)}h1,h2,h3,.kicker{margin:0;font-family:'Barlow Condensed',Impact,sans-serif;line-height:.92;text-transform:uppercase}h1{font-size:clamp(72px,8.6vw,132px);letter-spacing:-.04em}h1 em,h2 em{color:var(--red);font-style:italic}.hero-copy{max-width:580px;margin:26px 0 28px;color:#ddd;font-size:clamp(16px,1.25vw,19px)}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;border:0;padding:16px 20px;cursor:pointer;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transition:.2s}.button-primary{background:var(--red);color:#fff}.button-primary:hover{background:#c9141a;transform:translateY(-2px)}.text-link,.line-link{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.text-link span,.line-link span{margin-left:13px;color:var(--red)}.scroll-cue{position:absolute;z-index:2;left:max(var(--gutter),calc((100vw - var(--content))/2));bottom:26px;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.scroll-cue span{width:44px;height:1px;background:#fff}
.section{padding:var(--section) var(--gutter)}.dark{background:var(--ink);color:#fff}.intro,.method,.about,.contact{width:min(100%,var(--content));margin-inline:auto}.intro{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr);gap:clamp(52px,8vw,120px);align-items:end}.kicker{margin-bottom:17px;color:var(--red);font-size:15px}.intro h2,.section-heading h2,.method h2,.about h2,.contact h2{font-size:clamp(54px,6.5vw,92px);letter-spacing:-.03em}.intro h2 span{color:#747474}.intro-detail p{margin:0 0 27px;color:#5f5f5f}.line-link{display:inline-block;border-bottom:1px solid #999;padding-bottom:9px}
.services>*,.projects>*{width:min(100%,var(--content));margin-inline:auto}.section-heading{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.55fr);gap:clamp(45px,8vw,110px);align-items:end;margin-bottom:clamp(46px,6vw,74px)}.section-heading>p{max-width:430px;margin:0 0 4px;color:#aaa}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-item{min-height:245px;padding:clamp(30px,3.2vw,46px);border:1px solid var(--line);background:#171717}.service-item>div{height:100%;display:flex;flex-direction:column}.service-item h3{font-size:clamp(42px,4.2vw,62px);overflow-wrap:anywhere}.service-item p{max-width:470px;margin:auto 0 0;padding-top:28px;color:#aaa;line-height:1.7}
.method{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(56px,8vw,110px);align-items:center}.method-image{position:relative}.method-image:before{content:"";position:absolute;left:-16px;top:-16px;width:45%;height:58%;background:var(--red)}.method-image img{position:relative;width:100%;height:clamp(470px,50vw,650px);object-fit:cover;filter:saturate(.8)}.method-image>span{position:absolute;right:0;bottom:0;background:var(--ink);color:#fff;padding:16px 21px;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.method-copy ol{list-style:none;margin:40px 0 0;padding:0}.method-copy li{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px 0;border-top:1px solid #bbb}.method-copy li>span{padding-top:4px;color:var(--red);font-size:10px;font-weight:800}.method-copy h3{font-size:25px}.method-copy li p{margin:4px 0 0;color:#666;font-size:14px;line-height:1.55}
.projects{background:var(--soft)}.light-heading .eyebrow{color:#333}.light-heading>p{color:#555}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:220px;gap:16px}.project{position:relative;grid-column:span 4;overflow:hidden;border:0;padding:0;background:#222;cursor:pointer}.project-wide{grid-column:span 8}.project-tall{grid-row:span 2}.project img{width:100%;height:100%;object-fit:cover;transition:.45s}.project:hover img{transform:scale(1.035);filter:brightness(.74)}.project span{position:absolute;left:0;bottom:0;background:var(--red);color:#fff;padding:11px 14px;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;transform:translateY(100%);transition:.25s}.project:hover span{transform:none}
.about{display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.17fr);gap:clamp(58px,8vw,110px);align-items:center}.about-copy>p:not(.eyebrow){max-width:530px;color:#aaa}.button-outline{margin-top:16px;border:1px solid #666;color:#fff}.button-outline:hover{border-color:var(--red);background:var(--red)}.about-image{position:relative}.about-image img{width:100%;height:clamp(430px,45vw,600px);object-fit:cover}.about-image>div{position:absolute;right:0;bottom:0;display:flex;flex-direction:column;background:var(--red);padding:20px 25px;text-transform:uppercase}.about-image strong{font-family:'Barlow Condensed';font-size:31px;line-height:1}.about-image span{font-size:9px;letter-spacing:.12em}
.contact{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(58px,8vw,110px);align-items:start}.contact-head>p:not(.eyebrow){max-width:470px;color:#666}.direct-mail{display:flex;flex-direction:column;margin-top:38px;padding-top:17px;border-top:1px solid #aaa}.direct-mail small{color:#777}.direct-mail strong{font-family:'Barlow Condensed';font-size:clamp(19px,2vw,24px);overflow-wrap:anywhere}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.field{display:flex;flex-direction:column}.field:has(textarea),fieldset,.consent,.submit-button,.form-note{grid-column:1/-1}label,legend{margin-bottom:7px;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}input,textarea{width:100%;border:0;border-bottom:1px solid #888;border-radius:0;outline:0;background:transparent;padding:11px 0}input:focus,textarea:focus{border-color:var(--red)}fieldset{margin:0;padding:0;border:0}.choices{display:flex;gap:7px;flex-wrap:wrap}.choices input{position:absolute;opacity:0}.choices span{display:block;border:1px solid #aaa;padding:9px 12px;cursor:pointer}.choices input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}.consent{display:flex;gap:10px;align-items:flex-start;font-weight:500;letter-spacing:0;text-transform:none}.consent input{width:auto;margin-top:5px}.consent a{text-decoration:underline}.submit-button{width:100%}.form-note{margin:0;color:#777;font-size:10px}
footer{background:#0d0d0d;color:#fff}.footer-shell{width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin:auto;padding:clamp(64px,7vw,96px) var(--gutter) 24px;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(130px,.65fr) minmax(200px,.9fr);gap:clamp(42px,7vw,92px)}.footer-lead{max-width:450px}.footer-logo{width:min(285px,100%)}.footer-lead p{max-width:400px;margin:23px 0;color:#91898b}.footer-contact{display:inline-flex;gap:18px;padding-bottom:8px;border-bottom:1px solid #666;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.footer-contact span{color:var(--red)}.footer-column{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.footer-column small{margin-bottom:7px;color:#777;font-size:9px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.footer-column a,.footer-column span{color:#b3acad;font-size:13px;line-height:1.65}.footer-column a:hover{color:#fff}.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:20px;border-top:1px solid #292929;color:#777;font-size:10px}.builder-credit{display:flex;align-items:center;gap:10px;margin-left:auto;color:#cfc5c8;transition:.2s}.builder-credit>img{width:34px;height:34px;object-fit:contain}.builder-credit>span{display:flex;flex-direction:column;line-height:1.2}.builder-credit small{color:#8f8487;font-size:.68rem}.builder-credit strong{font-size:.8rem}.builder-credit:hover{color:#fff;transform:translateY(-2px)}
dialog{max-width:min(1000px,95vw);max-height:95vh;border:0;background:transparent;padding:40px}dialog::backdrop{background:#000e}dialog img{max-height:85vh}dialog button{position:absolute;top:0;right:0;width:40px;height:40px;border:0;background:var(--red);color:#fff;font-size:24px}.reveal{opacity:1;transform:none}@keyframes hero-in{from{opacity:.55;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.brick-reveal{position:fixed;inset:0;z-index:200;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(5,1fr);gap:3px;background:#111;pointer-events:none;animation:reveal-bg 1.55s ease both}.brick-reveal i{border:1px solid #ffffff19;background:linear-gradient(135deg,#292929,#171717);opacity:0;animation:brick 1.3s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--row)*55ms + var(--column)*22ms)}.brick-reveal i:nth-child(7n+1),.brick-reveal i:nth-child(11n+4){background:linear-gradient(135deg,#f3272e,#c81117)}@keyframes brick{0%{opacity:0;transform:translateY(-45vh)}34%,58%{opacity:1;transform:none}100%{opacity:0;transform:scaleX(.05)}}@keyframes reveal-bg{0%,48%{background:#111}82%,100%{background:transparent;visibility:hidden}}
@media(max-width:1000px){:root{--gutter:32px}.site-header{height:84px}.menu-toggle{display:flex;width:44px;flex-direction:column;align-items:flex-end;gap:5px;padding:4px}.menu-toggle span{width:27px;height:2px;background:#fff}.menu-toggle b{font-size:7px;text-transform:uppercase}.site-header nav{position:absolute;top:84px;left:0;right:0;display:none;align-items:stretch;flex-direction:column;gap:20px;padding:26px var(--gutter);background:#111}.site-header nav.open{display:flex}.nav-cta{align-self:flex-start}.hero{height:auto;min-height:720px}.intro,.method,.about,.contact{grid-template-columns:1fr;gap:48px}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading>p{max-width:620px}.method-image{max-width:720px}.method-image img{height:min(620px,72vw)}.about-image img{height:min(580px,67vw)}.footer-shell{grid-template-columns:1.5fr 1fr 1fr}}
@media(max-width:700px){:root{--gutter:20px;--section:68px}html{scroll-padding-top:72px}.site-header{height:72px;padding-inline:20px}.brand{width:190px}.site-header nav{top:72px;padding-inline:20px}.hero{min-height:680px;align-items:flex-start}.hero-image{background-position:57% center}.hero-content{width:calc(100% - 40px);margin-top:0;padding-top:118px}h1{font-size:clamp(58px,17vw,76px)}.hero-copy{margin:20px 0 23px;font-size:14px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.scroll-cue{display:none}.intro h2,.section-heading h2,.method h2,.about h2,.contact h2{font-size:clamp(46px,14vw,62px)}.intro,.method,.about,.contact{gap:34px}.section-heading{margin-bottom:34px}.service-list{grid-template-columns:1fr;gap:13px}.service-item{min-height:0;padding:27px 24px}.service-item h3{font-size:40px}.service-item p{margin:18px 0 0;padding:0;font-size:14px}.method-image{order:2}.method-copy{order:1}.method-image img{height:410px}.method-copy ol{margin-top:30px}.projects{padding-inline:0}.projects .section-heading{padding-inline:20px}.project-grid{display:flex;gap:13px;overflow-x:auto;overflow-y:hidden;padding:0 20px 12px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;touch-action:pan-x;scrollbar-width:none}.project,.project-wide,.project-tall{flex:0 0 82vw;height:330px;scroll-snap-align:center}.project span{transform:none}.about-image img{height:400px}.contact-form{grid-template-columns:1fr}.footer-shell{grid-template-columns:1fr;gap:34px;padding-inline:20px}.footer-logo{width:240px}.footer-bottom{grid-column:auto;align-items:flex-start;flex-direction:column;gap:18px}.builder-credit{margin-left:0}.brick-reveal{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(8,1fr)}}
@media(max-width:380px){.brand{width:170px}h1{font-size:56px}.hero{min-height:650px}.project,.project-wide,.project-tall{flex-basis:84vw;height:300px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.brick-reveal{display:none}}

/* Intrinsic image dimensions and visually hidden radio controls must not influence layout. */
.brand img,.footer-logo{height:auto}
.choices label{position:relative}
.choices input{width:1px;height:1px;pointer-events:none}

/* Stronger navigation, a true full-screen hero and a full-width company section. */
.site-header{height:112px;background:linear-gradient(90deg,rgba(8,8,8,.96),rgba(8,8,8,.82));border-bottom:3px solid var(--red);box-shadow:0 10px 35px rgba(0,0,0,.2)}
.brand{width:clamp(215px,17vw,270px)}
.site-header nav{font-size:13px}
.nav-cta{padding:18px 23px;box-shadow:0 8px 24px rgba(237,28,36,.24)}
.hero{height:100svh;min-height:760px}
.about{width:100%;max-width:none;margin:0;padding-left:max(var(--gutter),calc((100vw - var(--content))/2));padding-right:max(var(--gutter),calc((100vw - var(--content))/2))}
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.form-status{grid-column:1/-1;min-height:0;margin:0;font-size:13px;font-weight:700}
.form-status:empty{display:none}.form-status.success{color:#18713b}.form-status.error{color:#b31319}
.submit-button:disabled{cursor:wait;opacity:.7}
@media(max-width:1000px){.site-header{height:88px}.site-header nav{top:88px}.hero{min-height:720px}}
@media(max-width:700px){.site-header{height:76px}.site-header nav{top:76px}.brand{width:205px}.hero{min-height:100svh}.about{padding-left:20px;padding-right:20px}}

/* Final polish: a persistent, high-contrast header and tighter vertical rhythm. */
:root{--section:clamp(72px,7.5vw,112px)}
.site-header{position:fixed;background:linear-gradient(90deg,rgba(8,8,8,.97),rgba(8,8,8,.88));backdrop-filter:blur(10px)}

/* Productieversie: geen laad- of hero-animatie. */
.hero-image{animation:none}
.brick-reveal{display:none!important}

.social-links{display:flex;gap:10px;margin-top:13px}.footer-column .social-links a{display:grid;place-items:center;width:42px;height:42px;border:1px solid #3c3839;color:#fff;background:#171717;transition:background .2s,border-color .2s,transform .2s}.footer-column .social-links a:hover,.footer-column .social-links a:focus-visible{background:var(--red);border-color:var(--red);transform:translateY(-2px)}.social-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-links .social-dot{fill:currentColor;stroke:none}

/* PageSpeed: lokale lettertypes, moderne beelden en beter leesbaar contrast. */
:root{--red:#c8101a}
.hero-image{background-image:url('assets/hero.webp')}
.direct-mail small,.form-note{color:#5c5c5c}
.footer-lead p{color:#b8b2b4}.footer-column small,.footer-bottom{color:#aaa3a6}.footer-column a,.footer-column span{color:#c6c0c2}.builder-credit small{color:#aaa1a4}
