*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f5f0e8;--warm-white:#faf8f4;--charcoal:#2b2523;--mid:#5c5a55;--gold:#d9a700;--gold-light:#fcc700;--red:#d31319;--blue:#2d3c8f;--blue-light:#6d86c2;--sand:#e8e0d0;--section-alt:#edeae2;--radius:2px}html{scroll-behavior:smooth}body{background:var(--warm-white);color:var(--charcoal);font-family:DM Sans,sans-serif;font-size:16px;line-height:1.7;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--cream)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:10px}nav{z-index:100;transition:background .5s cubic-bezier(.4,0,.2,1),box-shadow .5s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0}nav.scrolled{-webkit-backdrop-filter:blur(20px)saturate(1.2);background:#faf8f4f2;box-shadow:0 1px #1c1c1a0f,0 4px 20px #1c1c1a0a}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:24px 40px;transition:padding .5s cubic-bezier(.4,0,.2,1);display:flex}nav.scrolled .nav-inner{padding:16px 40px}.nav-logo{align-items:center;text-decoration:none;display:flex}.nav-logo .logo-white{display:block}.nav-logo .logo-color,nav.scrolled .nav-logo .logo-white{display:none}nav.scrolled .nav-logo .logo-color{display:block}.nav-logo img{width:auto;height:64px;transition:height .5s cubic-bezier(.4,0,.2,1)}nav.scrolled .nav-logo img{height:48px}.nav-links{gap:44px;list-style:none;display:flex}.nav-links a{letter-spacing:.12em;text-transform:uppercase;color:#ffffffd9;font-size:13px;font-weight:400;text-decoration:none;transition:color .3s;position:relative}.nav-links a:after{content:"";background:var(--gold-light);width:0;height:1.5px;transition:width .4s cubic-bezier(.4,0,.2,1);position:absolute;bottom:-4px;left:0}.nav-links a:hover{color:#fff}.nav-links a:hover:after{width:100%}nav.scrolled .nav-links a{color:var(--mid)}nav.scrolled .nav-links a:after{background:var(--gold)}nav.scrolled .nav-links a:hover{color:var(--charcoal)}.hamburger{cursor:pointer;z-index:101;background:0 0;border:0;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger:focus-visible{outline:2px solid var(--gold);outline-offset:6px}.hamburger span{transform-origin:50%;background:#fff;width:24px;height:1.5px;transition:background .4s,transform .4s cubic-bezier(.4,0,.2,1),opacity .3s;display:block}nav.scrolled .hamburger span{background:var(--charcoal)}.hamburger.open span{background:var(--cream)!important}.hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{background:var(--charcoal);z-index:99;opacity:0;visibility:hidden;flex-direction:column;justify-content:center;align-items:center;gap:36px;transition:opacity .5s cubic-bezier(.4,0,.2,1),visibility .5s;display:flex;position:fixed;inset:0}.mobile-menu.open{opacity:1;visibility:visible;transition:opacity .5s cubic-bezier(.4,0,.2,1)}.mobile-menu a{color:var(--cream);letter-spacing:.04em;opacity:0;font-family:Cormorant Garamond,serif;font-size:42px;font-weight:300;text-decoration:none;transition:color .3s,transform .3s;transform:translateY(30px)}.mobile-menu.open a{opacity:1;transform:translateY(0)}.mobile-menu.open a:first-child{transition-delay:.15s}.mobile-menu.open a:nth-child(2){transition-delay:.25s}.mobile-menu.open a:nth-child(3){transition-delay:.35s}.mobile-menu a:hover{color:var(--gold-light);transform:translate(8px)}#hero{justify-content:center;align-items:center;height:100svh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;object-position:center;will-change:transform;width:100%;height:100%;animation:12s forwards heroZoom;position:absolute;inset:0;transform:scale(1.08)}@keyframes heroZoom{to{transform:scale(1)}}.hero-overlay{background:linear-gradient(#14121059 0%,#14121080 50%,#141210a6 100%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;max-width:820px;padding:0 40px;position:relative;overflow:visible}.hero-label{letter-spacing:.25em;text-transform:uppercase;color:#ffffffa6;opacity:0;margin-bottom:24px;font-size:11px;font-weight:400;animation:.8s .4s forwards fadeUp;display:inline-block}.hero-title{color:#fff;margin-bottom:36px;padding-bottom:.08em;font-family:Cormorant Garamond,serif;font-size:clamp(52px,8vw,100px);font-weight:300;line-height:1.12;overflow:visible}.hero-title .static{opacity:0;animation:.8s .6s forwards fadeUp;display:block}.hero-em{background:linear-gradient(135deg, var(--gold-light), #f0d060, var(--gold), var(--gold-light));-webkit-text-fill-color:transparent;opacity:0;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;padding-bottom:.12em;padding-right:.04em;font-style:italic;animation:.8s .8s forwards fadeUp,6s ease-in-out 2s infinite goldShimmer;display:block;overflow:visible}@keyframes goldShimmer{0%,to{background-position:0%}50%{background-position:100%}}.hero-sub{color:#ffffffa6;opacity:0;max-width:820px;margin:0 auto 44px;font-size:17px;font-weight:300;line-height:1.8;animation:.8s 1s forwards fadeUp}.hero-cta{opacity:0;animation:.8s 1.2s forwards fadeUp}.btn{letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--gold-light);color:#fff;cursor:pointer;border-radius:var(--radius);background:0 0;padding:17px 44px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.4,0,.2,1);display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";background:var(--gold);transform-origin:0;z-index:-1;transition:transform .4s cubic-bezier(.4,0,.2,1);position:absolute;inset:0;transform:scaleX(0)}.btn:hover{border-color:var(--gold);color:#fff}.btn:hover:before{transform:scaleX(1)}.btn-solid{background:var(--gold);border-color:var(--gold);color:#fff}.btn-solid:before{background:var(--charcoal)}.btn-solid:hover{border-color:var(--charcoal)}.btn-dark{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.btn-dark:before{background:var(--gold)}.btn-dark:hover{border-color:var(--gold)}.hero-scroll-hint{letter-spacing:.2em;text-transform:uppercase;color:#fff6;opacity:0;flex-direction:column;align-items:center;gap:12px;font-size:10px;animation:.8s 1.6s forwards fadeUp;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-line{background:#ffffff26;width:1px;height:40px;position:relative;overflow:hidden}.scroll-line:after{content:"";background:var(--gold-light);width:100%;height:100%;animation:2s 2.5s infinite scrollPulseVertical;position:absolute;top:-100%;left:0}@keyframes scrollPulseVertical{to{top:100%}}@keyframes fadeUp{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}section{position:relative}.section-inner{max-width:1200px;margin:0 auto;padding:120px 60px}.section-label{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-size:11px;font-weight:400;display:inline-block}h2{color:var(--charcoal);margin-bottom:24px;font-family:Cormorant Garamond,serif;font-size:clamp(36px,4vw,56px);font-weight:400;line-height:1.15}h2 em{color:var(--gold);font-style:italic}p{color:var(--mid);max-width:520px;font-size:16px;font-weight:300;line-height:1.85}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.48s}#diensten{background:var(--warm-white)}.service-block{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1240px;margin:0 auto;padding:110px 80px;display:grid}.service-block.reverse{direction:rtl}.service-block.reverse>*{direction:ltr}.service-block.alt-bg{background:var(--section-alt);max-width:none;padding-left:calc(50% - 540px);padding-right:calc(50% - 540px)}.service-img-wrap{border-radius:var(--radius);position:relative;overflow:hidden}.service-img-wrap:after{content:"";pointer-events:none;border:1px solid #ffffff1a;transition:border-color .5s;position:absolute;inset:0}.service-img-wrap:hover:after{border-color:var(--gold)}.service-img-wrap img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .8s cubic-bezier(.4,0,.2,1);display:block}.service-img-wrap:hover img{transform:scale(1.05)}.service-text .divider{background:linear-gradient(90deg, var(--gold), var(--gold-light));border-radius:2px;width:40px;height:2px;margin:20px 0 28px}.stats-bar{background:var(--charcoal);padding:72px 60px;position:relative;overflow:hidden}.stats-bar:before{content:"";background:var(--gold);border-radius:2px;width:80px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.stats-inner{grid-template-columns:repeat(3,1fr);gap:0;max-width:1200px;margin:0 auto;display:grid}.stat{text-align:center;border-right:1px solid #ffffff14;padding:0 40px}.stat:last-child{border-right:none}.stat-number{color:var(--gold-light);font-family:Cormorant Garamond,serif;font-size:68px;font-weight:300;line-height:1;display:block}.stat-suffix{font-size:42px}.stat-label{letter-spacing:.18em;text-transform:uppercase;color:#fff6;margin-top:12px;font-size:12px;display:block}#realisaties{background:var(--warm-white)}.gallery-header{text-align:center;padding-bottom:14px}.gallery-header p{text-align:center;margin:0 auto}.filter-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.filter-tab{letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--sand);color:var(--mid);cursor:pointer;border-radius:var(--radius);white-space:nowrap;background:0 0;flex-shrink:0;padding:10px 20px;font-size:11px;font-weight:400;transition:all .35s cubic-bezier(.4,0,.2,1)}.filter-tab:hover{border-color:var(--charcoal);color:var(--charcoal)}.filter-tab.active{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.gallery-grid{columns:4;column-gap:14px;margin-top:50px}.gallery-item{break-inside:avoid;cursor:pointer;border-radius:var(--radius);margin-bottom:14px;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);display:block;position:relative;overflow:hidden}.gallery-item.hidden{display:none}.gallery-item img{width:100%;transition:transform .6s cubic-bezier(.4,0,.2,1);display:block}.gallery-item:hover img{transform:scale(1.08)}.gallery-item-overlay{background:#1c1c1a00;justify-content:center;align-items:center;transition:background .4s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-item-overlay{background:#1c1c1a73}.gallery-item-overlay svg{opacity:0;color:#fff;transition:opacity .4s,transform .4s cubic-bezier(.4,0,.2,1);transform:scale(.6)rotate(-8deg)}.gallery-item:hover .gallery-item-overlay svg{opacity:1;transform:scale(1)rotate(0)}.lightbox{z-index:1000;opacity:0;visibility:hidden;background:0 0;justify-content:center;align-items:center;transition:opacity .4s cubic-bezier(.4,0,.2,1),visibility .4s,background .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}.lightbox.open{opacity:1;visibility:visible;background:#000000f0}.lightbox-img{object-fit:contain;opacity:0;max-width:88vw;max-height:86vh;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s;display:block;transform:scale(.92);box-shadow:0 40px 100px #000000b3}.lightbox.open .lightbox-img{opacity:1;transform:scale(1)}.lb-close{color:#fff9;cursor:pointer;z-index:2;background:0 0;border:none;font-size:32px;line-height:1;transition:color .3s,transform .3s;position:absolute;top:24px;right:32px}.lb-close:hover{color:#fff;transform:rotate(90deg)}.lb-prev,.lb-next{color:#fff9;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lb-prev:hover,.lb-next:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-50%)scale(1.08)}.lb-prev{left:24px}.lb-next{right:24px}.lb-counter{letter-spacing:.15em;color:#ffffff59;font-size:12px;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.cta-strip{background:var(--charcoal);text-align:center;padding:100px 60px;position:relative;overflow:hidden}.cta-strip:before{content:"";background:var(--gold);border-radius:2px;width:80px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.cta-strip h2{color:#fff;max-width:1200px;margin:0 auto 40px}.cta-strip h2 em{color:var(--gold-light)}#contact{background:var(--cream)}.contact-grid{grid-template-columns:1fr 1.6fr;align-items:start;gap:60px;display:grid}.contact-info h2{margin-bottom:10px}.contact-info>p{margin-bottom:40px}.contact-list{flex-direction:column;gap:22px;margin-top:36px;list-style:none;display:flex}.contact-list li{color:var(--mid);align-items:flex-start;gap:16px;font-size:15px;display:flex}.contact-list li .icon{background:var(--warm-white);border:1px solid var(--sand);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;margin-top:2px;transition:border-color .3s,background .3s;display:flex}.contact-list li:hover .icon{border-color:var(--gold);background:#d9a7000f}.contact-list li .icon svg{width:14px;height:14px;color:var(--gold)}.contact-list li .text{line-height:1.5}.contact-list li .text strong{letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal);margin-bottom:2px;font-size:11px;font-weight:500;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group.full{grid-column:1/-1}label{letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal);font-size:11px;font-weight:500}input,textarea{border:1px solid var(--sand);background:var(--warm-white);width:100%;color:var(--charcoal);border-radius:var(--radius);outline:none;padding:15px 20px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:300;transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 4px #d9a7001a}textarea{resize:vertical;min-height:140px}.form-submit{grid-column:1/-1;margin-top:10px}.form-submit .btn{text-align:center;justify-content:center;width:100%}.form-success{text-align:center;padding:60px 20px}.form-success .check-icon{background:#5a8a6e1a;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 20px;display:flex}.form-success h3{color:var(--charcoal);margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:28px;font-weight:400}.form-success p{text-align:center;margin:0 auto}footer{background:#141412}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:40px;display:flex}footer p,footer a{color:#ffffff4d;max-width:none;font-size:13px;text-decoration:none;transition:color .3s}footer a:hover{color:var(--gold-light)}.footer-links{align-items:center;gap:28px;display:flex}.footer-sep{background:#ffffff26;border-radius:50%;width:3px;height:3px}@media (width<=1024px){.nav-inner,nav.scrolled .nav-inner{padding:20px 32px}.nav-links{display:none}.hamburger{display:flex}.hero-content{padding:0 32px}.hero-scroll-hint{bottom:32px}.service-block{gap:52px;padding:80px 32px}.service-block.alt-bg{padding-left:32px;padding-right:32px}.section-inner{padding:80px 32px}.stats-bar{padding:52px 32px}.gallery-grid{columns:3}.cta-strip{padding:70px 32px}.contact-grid{gap:60px}.footer-inner{padding:28px 32px}}@media (width<=768px){.service-block,.service-block.reverse{direction:ltr;grid-template-columns:1fr;gap:36px}.service-block.reverse .service-img-wrap{order:-1}.stats-inner{grid-template-columns:1fr;gap:36px}.stat{border-bottom:1px solid #ffffff14;border-right:none;padding-bottom:36px}.stat:last-child{border-bottom:none;padding-bottom:0}.gallery-grid{columns:2}.contact-grid{grid-template-columns:1fr;gap:52px}.form-grid{grid-template-columns:1fr}.form-group.full,.form-submit{grid-column:1}.footer-inner{flex-direction:column;align-items:flex-start}.lb-prev{left:12px}.lb-next{right:12px}}@media (width<=480px){.hero-content{padding:0 24px}.hero-scroll-hint{display:none}.section-inner,.service-block,.stats-bar,.cta-strip,footer,.service-block.alt-bg{padding-left:24px;padding-right:24px}.gallery-grid{column-gap:8px}.gallery-grid .gallery-item{margin-bottom:8px}.stat-number{font-size:52px}}
