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