*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f2efe8;color:#141412;font-family:Arial,sans-serif}a{text-decoration:none;color:inherit}.topline{height:31px;background:#090909;color:#aaa;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.14em}.topline a{color:#d2b06f}header{height:88px;position:absolute;top:31px;left:0;right:0;z-index:20;display:flex;align-items:center;gap:30px;padding:0 5vw;border-bottom:1px solid #ffffff2c;color:white}.logo img{width:175px;max-height:76px;object-fit:contain;object-position:left center}.menu{display:none}nav{display:flex;gap:27px;margin-left:auto;font-size:13px}nav a:hover{color:#d2b06f}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border:1px solid #777;font-size:12px;font-weight:700}.gold{background:#d2b06f;border-color:#d2b06f;color:#111}.outline{border-color:#d2b06f}.hero{height:850px;max-height:94vh;min-height:700px;background:url("assets/hero.jpg") center 48%/cover no-repeat;position:relative;color:#fff}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000d 0,#0008 45%,#0002 78%),linear-gradient(0deg,#0009 0,transparent 40%)}.hero-text{position:absolute;z-index:2;left:6vw;top:47%;transform:translateY(-45%);max-width:700px}.kicker{font-size:10px;letter-spacing:.25em;color:#d2b06f;font-weight:700}.dark{color:#8c6b34}.hero h1,.heading h2,.about h2,.contact h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(50px,6.3vw,92px);line-height:.96;letter-spacing:-.045em;margin:17px 0 25px}.hero h1 em,h2 em{color:#d2b06f}.hero-text p{font-size:18px;line-height:1.65;color:#ddd;max-width:640px}.actions{display:flex;gap:13px;margin-top:30px}.glass{background:#1118;color:white;border-color:#b99a60}.facts{position:absolute;z-index:3;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,1fr);background:#111e;backdrop-filter:blur(10px);padding:25px 6vw}.facts div{border-right:1px solid #555;padding:0 30px}.facts div:first-child{padding-left:0}.facts div:last-child{border:0}.facts b{font-size:25px;display:block}.facts span{font-size:11px;color:#bbb}.section{padding:105px 6vw}.heading{max-width:900px}.heading h2,.about h2,.contact h2{font-size:clamp(40px,5vw,67px)}.heading p{color:#777;line-height:1.7;max-width:650px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:55px;border-top:1px solid #bbb}.service-grid article{padding:32px 28px 20px 0;border-right:1px solid #bbb;margin-right:28px}.service-grid span{color:#a17f47;font-size:11px}.service-grid h3{font-family:Georgia,serif;font-size:26px;margin-top:45px}.service-grid p{color:#777;line-height:1.7}.projects{background:#111;color:white}.projects .heading p{color:#aaa}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:45px}.project-card{height:370px;border:0;padding:0;background:#222;position:relative;overflow:hidden;cursor:zoom-in;text-align:left}.project-card:nth-child(5n+1){grid-column:span 2}.project-card img{width:100%;height:100%;object-fit:cover;transition:.5s}.project-card:hover img{transform:scale(1.035)}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 48%)}.project-card span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:white;display:flex;justify-content:space-between;align-items:end}.project-card b{font-family:Georgia,serif;font-size:18px}.project-card small{color:#d2b06f}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.about-photo img{width:100%;height:650px;object-fit:cover}.about p{color:#6f6f6b;line-height:1.8;font-size:16px}.ticks{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:30px;font-size:13px}.process{background:#1b1b19;color:white}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #555;margin-top:50px}.steps div{padding:28px 25px 0 0;margin-right:25px;border-right:1px solid #555}.steps b{color:#d2b06f;font-size:11px}.steps h3{font-family:Georgia,serif;font-size:23px;margin-top:40px}.steps p{color:#aaa;line-height:1.7}.contact{background:#b99558;display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.contact h2 em{color:#fff}.contact p{line-height:1.7;max-width:600px}.contact-buttons{display:flex;flex-direction:column;margin-top:30px;border-top:1px solid #0004}.contact-buttons a{padding:16px 0;border-bottom:1px solid #0004;font-weight:700}.form{background:#f5f2eb;padding:35px;display:flex;flex-direction:column;gap:18px}.form h3{font-family:Georgia,serif;font-size:27px;margin:0}.form input,.form select,.form textarea{border:0;border-bottom:1px solid #aaa;background:transparent;padding:13px 2px;outline:none}.form button{cursor:pointer}.form small{color:#777}.wa{position:fixed;z-index:40;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#22a45b;color:white;font-weight:bold;box-shadow:0 8px 24px #0005}.lightbox{display:none;position:fixed;z-index:100;inset:0;background:#000e;align-items:center;justify-content:center;padding:4vw}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh}.lightbox button{position:absolute;right:25px;top:12px;border:0;background:none;color:#fff;font-size:45px;cursor:pointer}footer{background:#090909;color:#999;padding:45px 6vw;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:12px}footer img{width:150px;max-height:100px;object-fit:contain}.reveal{opacity:0;transform:translateY(18px);transition:.7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){header{padding:0 20px}.desktop,header nav{display:none}.menu{display:block;margin-left:auto;background:none;border:0;color:white;font-size:25px}nav.open{display:flex;position:absolute;top:88px;left:0;right:0;background:#111;padding:25px;flex-direction:column;z-index:30}.hero-text{left:24px;right:24px}.facts{padding:18px 24px}.facts div{padding:0 12px}.section{padding:75px 24px}.service-grid,.steps{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.project-card:nth-child(5n+1){grid-column:span 1}.about,.contact{grid-template-columns:1fr}.about-photo img{height:500px}footer{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.topline span{font-size:8px}.topline a{font-size:9px}.logo img{width:145px}.hero{min-height:720px}.hero h1{font-size:52px}.hero-text p{font-size:15px}.actions{flex-direction:column;align-items:flex-start}.facts{grid-template-columns:1fr 1fr;gap:16px}.facts div{border:0}.service-grid,.steps{grid-template-columns:1fr}.service-grid article,.steps div{border-right:0;border-bottom:1px solid #aaa;margin:0}.project-grid{grid-template-columns:1fr}.project-card{height:390px}.ticks{grid-template-columns:1fr}.form{padding:25px 20px}}/* Correcte uitklapbare projectgalerij */
.verified-gallery{align-items:start}.project{background:#1c1c1b;overflow:hidden;min-width:0}.project summary{height:370px;position:relative;cursor:pointer;list-style:none;overflow:hidden}.project summary::-webkit-details-marker{display:none}.project summary>img{width:100%;height:100%;object-fit:cover;transition:.5s}.project summary:hover>img{transform:scale(1.035)}.project summary:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 52%)}.project summary span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;display:flex;flex-direction:column;gap:7px}.project summary b{font-family:Georgia,serif;font-size:20px}.project summary small{color:#d2b06f}.project[open]{grid-column:span 2}.project[open] summary{height:260px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:6px;background:#111}.gallery figure{margin:0;position:relative;background:#222;overflow:hidden}.gallery figure img{width:100%;height:260px;display:block;object-fit:cover;cursor:zoom-in;transition:.25s}.gallery figure img:hover{transform:scale(1.02);filter:brightness(.9)}.gallery figcaption{position:absolute;left:10px;bottom:9px;background:#111d;color:#fff;padding:6px 9px;font-size:11px;letter-spacing:.03em}.lightbox{cursor:zoom-out}.lightbox img{cursor:pointer;box-shadow:0 18px 70px #000}.lightbox.open{display:flex}
@media(max-width:900px){.project[open]{grid-column:span 2}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.project summary{height:390px}.project[open]{grid-column:span 1}.project[open] summary{height:260px}.gallery{grid-template-columns:1fr}.gallery figure img{height:auto;max-height:70vh}.project summary span{align-items:flex-start}}
/* Projecten openen nu in een vaste overlay: de pagina verspringt niet meer. */
body.modal-open{overflow:hidden}.verified-gallery .project .gallery{display:none}.verified-gallery .project[open]{grid-column:auto}.verified-gallery .project[open] summary{height:370px}.lightbox{z-index:9999;position:fixed;inset:0;background:rgba(0,0,0,.94);padding:28px 78px;align-items:center;justify-content:center}.lightbox.open{display:flex}.lb-stage{position:relative;max-width:calc(100vw - 180px);max-height:92vh;display:flex;align-items:center;justify-content:center}.lightbox .lb-stage img{max-width:100%;max-height:88vh;object-fit:contain;cursor:default}.lb-caption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);background:#111d;color:#fff;padding:8px 13px;font-size:12px;white-space:nowrap}.lightbox .lb-close{position:absolute;z-index:3;right:24px;top:14px;width:50px;height:50px;font-size:42px;line-height:1}.lightbox .lb-arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:54px;height:72px;border:1px solid #ffffff55;background:#111a;color:#fff;font-size:54px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}.lightbox .lb-arrow:hover{background:#d2b06f;color:#111}.lb-prev{left:18px}.lb-next{right:18px}
@media(max-width:600px){.lightbox{padding:65px 48px 35px}.lb-stage{max-width:100%;max-height:82vh}.lightbox .lb-arrow{width:42px;height:58px;font-size:42px}.lb-prev{left:4px}.lb-next{right:4px}.lightbox .lb-close{right:8px;top:8px}.lb-caption{bottom:8px}}

/* Logo blijft zichtbaar tijdens scrollen en brengt je terug naar boven */
header .logo{position:fixed;top:42px;left:5vw;z-index:1000;display:flex;align-items:center;padding:0;background:transparent;box-shadow:none}
body.scrolled header .logo{background:transparent;box-shadow:none;backdrop-filter:none}
@media(max-width:900px){header .logo{left:20px}}
@media(max-width:560px){header .logo{top:38px;padding:0}}

.project-cta{background:#111;color:#fff;padding:48px 6vw;display:flex;align-items:center;justify-content:space-between;gap:45px;border-top:1px solid #ffffff22}.project-cta h2{font-family:Georgia,serif;font-size:clamp(30px,3.5vw,48px);font-weight:400;margin:10px 0 12px}.project-cta p{color:#bbb;line-height:1.7;max-width:720px;margin:0}.project-cta .btn{flex:0 0 auto}@media(max-width:700px){.project-cta{padding:38px 24px;align-items:flex-start;flex-direction:column;gap:24px}.project-cta .btn{width:100%}}

/* Vaste WhatsApp-knop */
.floating-wa{position:fixed;right:22px;bottom:22px;z-index:1200;background:#d2b06f;color:#111;text-decoration:none;font-weight:800;letter-spacing:.03em;padding:14px 18px;border-radius:999px;box-shadow:0 8px 26px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease}
.floating-wa:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.34)}
@media(max-width:560px){.floating-wa{right:14px;bottom:14px;padding:12px 15px;font-size:13px}}
