*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #b84f54;--color-primary-hover: #9e3d42;--color-secondary: #0095eb;--color-secondary-hover: #007cc3;--bg-html: #f2ede8;--bg-wrapper: #ffffff;--bg-header: #ffffff;--bg-action-bar: #faf8f5;--bg-footer: #2a2320;--bg-dropdown: #ffffff;--bg-input: transparent;--text-body: #5a5450;--text-heading: #1e1b18;--text-link: #1e1b18;--text-link-hover: #b84f54;--text-menu: #1e1b18;--text-menu-hover: #b84f54;--text-footer: #7a7068;--text-footer-link: #a09488;--text-footer-heading: #f5f0ec;--text-dropdown: #3a3430;--text-action-bar: #6a6460;--text-action-link: #0095eb;--border-input: #cec8c0;--border-input-focus: #b84f54;--selection-bg: #b84f54;--selection-text: #ffffff;--max-width: 1200px;--header-height: 100px;--font-body: var(--font-roboto), sans-serif;--font-hero: var(--font-comfortaa), sans-serif}::selection{background:var(--selection-bg);color:var(--selection-text)}html{scroll-behavior:smooth;background:var(--bg-html)}body{font-family:var(--font-body);font-size:14px;font-weight:400;line-height:33px;color:var(--text-body);background:var(--bg-wrapper);display:flex;flex-direction:column;min-height:100vh}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:var(--text-link);text-decoration:none;transition:color .3s}a:hover{color:var(--text-link-hover)}h1,h2,h3,h4,h5,h6{color:var(--text-heading);font-family:var(--font-body)}h1{font-size:25px;font-weight:300;line-height:1.3}h2{font-size:35px;font-weight:300;line-height:1.3;margin-bottom:1rem}h3,h4{font-size:23px;font-weight:300;line-height:1.3}h5{font-size:20px;font-weight:700;line-height:1.3}h6{font-size:14px;font-weight:400;line-height:1.3}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.site-header{background:var(--bg-header);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(0,0,0,.07);transition:background .3s,box-shadow .3s}.site-header.scrolled{background:#fffffff7;box-shadow:0 2px 16px #1e140f1a}.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-height);max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.site-logo{text-decoration:none;display:flex;align-items:center;gap:.5rem}.site-logo img{border-radius:4px;max-height:80px;width:auto}.main-nav ul{display:flex;list-style:none;gap:0}.main-nav a{color:var(--text-menu);padding:.5rem 1rem;font-family:var(--font-body);font-size:16px;font-weight:400;letter-spacing:.3px;transition:color .3s}.main-nav a:hover,.main-nav a.active{color:var(--text-menu-hover)}.nav-dropdown{position:relative}.nav-dropdown>a,.nav-dropdown>.nav-label{cursor:pointer}.nav-label{color:var(--text-menu);font-size:16px;letter-spacing:.3px;font-weight:400;padding:.5rem 1rem;font-family:var(--font-body);transition:color .3s}.nav-label.active{color:var(--text-menu-hover)}.dropdown-menu{display:none;position:absolute;top:100%;left:0;background:var(--bg-dropdown);min-width:220px;box-shadow:0 8px 28px #1e140f1f;border:1px solid rgba(0,0,0,.07);padding:.5rem 0;z-index:200;flex-direction:column}.nav-dropdown:hover .dropdown-menu{display:flex}.dropdown-menu a{color:var(--text-dropdown);padding:.6rem 1.2rem;font-size:14px;letter-spacing:.2px}.dropdown-menu a:hover{background:#f5f0ec;color:var(--color-primary)}.nav-toggle{display:none;background:none;border:none;color:var(--text-menu);font-size:1.5rem;cursor:pointer;padding:.5rem}@media(max-width:768px){.action-bar-inner{flex-direction:column;gap:.5rem;text-align:center}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;background:var(--bg-header);padding:1rem;box-shadow:0 4px 16px #1e140f1a;border-top:1px solid rgba(0,0,0,.07)}.main-nav.open{display:block}.main-nav ul{flex-direction:column;gap:0}.main-nav a{display:block;padding:.75rem 1rem;font-size:15px;letter-spacing:.2px}.dropdown-menu{position:static;box-shadow:none;padding-left:1rem;border:none}.nav-dropdown:hover .dropdown-menu{display:flex}}.hero{background:var(--bg-wrapper);color:var(--text-heading);padding:4rem 0;text-align:center}.hero h1{color:var(--color-primary);font-family:var(--font-hero);font-size:42px;font-weight:700;margin-bottom:1rem}.hero p{font-family:var(--font-hero);font-size:18px;font-weight:400;color:var(--text-body);max-width:700px;margin:0 auto}.page-banner{background:var(--bg-wrapper);color:var(--text-heading);padding:3rem 0;text-align:center;border-bottom:1px solid rgba(0,0,0,.07)}.page-banner h1{color:var(--text-heading);font-size:35px;font-weight:300}.section{padding:4rem 0}.section--alt{background:var(--bg-html)}.section-title{text-align:center;margin-bottom:3rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.service-card{background:var(--bg-html);border:1px solid rgba(0,0,0,.07);border-radius:0;padding:2rem 1.5rem;text-align:center;transition:transform .2s,box-shadow .2s;color:var(--text-body)}.service-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #3c1e141a}.service-card .icon{font-size:2.5rem;margin-bottom:1rem}.service-card h3{margin-bottom:.5rem;color:var(--text-heading)}.service-card p{color:var(--text-body)}.service-card span{display:inline-block;margin-top:1rem;color:var(--color-primary);font-weight:600}.about-text{font-size:1.15rem;line-height:1.8;max-width:800px;margin:0 auto}.about-text a{color:var(--color-secondary)}.about-text a:hover{color:var(--color-secondary-hover)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media(max-width:768px){.contact-grid{grid-template-columns:1fr}}.contact-info h2{margin-bottom:1.5rem}.contact-info p{font-size:1.1rem;margin-bottom:.5rem}.contact-info a{color:var(--color-secondary)}.contact-info a:hover{color:var(--color-secondary-hover)}.contact-form h2{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:400;margin-bottom:.3rem;font-size:.95rem;color:var(--text-body)}.form-group input,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border-input);border-radius:0;background:var(--bg-input);color:var(--text-heading);font-family:var(--font-body);font-size:1rem;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--border-input-focus)}.form-group input::placeholder,.form-group textarea::placeholder{color:#b0a9a0}.form-group textarea{resize:vertical;min-height:120px}.btn{display:inline-block;padding:12px 20px;background:var(--color-secondary-hover);color:#fff;border:none;border-radius:0;font-size:14px;font-weight:400;cursor:pointer;transition:background .3s,transform .2s;letter-spacing:.5px}.btn:hover{background:#005f8a;color:#fff;transform:translateY(-2px)}.btn--accent{background:var(--color-primary)}.btn--accent:hover{background:var(--color-primary-hover)}.form-note{color:var(--text-body)!important}.realisatie-content{max-width:800px;margin:0 auto;padding:3rem 1.5rem}.realisatie-content h1{font-family:var(--font-heading);font-size:2rem;font-weight:400;color:var(--text-heading);margin-bottom:1.5rem}.realisatie-content p{font-size:1.15rem;line-height:1.8;margin-bottom:1.5rem}.gallery-placeholder{background:var(--bg-html);border:2px dashed rgba(0,0,0,.12);border-radius:0;padding:3rem;text-align:center;color:var(--text-body);margin-top:2rem}.gallery{margin-top:2rem}.gallery-main{width:100%;max-width:750px;height:550px;margin:0 auto;display:flex;justify-content:center;align-items:center}.gallery-main img{max-width:100%;max-height:100%;object-fit:contain;display:none}.gallery-main img.active{display:block}.gallery-thumbs{display:flex;justify-content:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.gallery-thumbs img{width:70px;height:50px;object-fit:cover;cursor:pointer;opacity:.5;transition:opacity .2s;border:2px solid transparent}.gallery-thumbs img:hover{opacity:.8}.gallery-thumbs img.active{opacity:1;border-color:var(--color-primary)}.lightbox{position:fixed;inset:0;z-index:9999;background:#000000eb;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.lightbox.open{opacity:1;visibility:visible}.lightbox-close{position:absolute;top:1rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;z-index:10;transition:color .2s}.lightbox-close:hover{color:var(--color-primary)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:2rem;padding:.75rem 1rem;cursor:pointer;z-index:10;border-radius:4px;transition:background .2s,color .2s}.lightbox-prev:hover,.lightbox-next:hover{background:#ffffff40;color:var(--color-primary)}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.lightbox-content{display:flex;align-items:center;justify-content:center;max-width:90vw;max-height:70vh;flex-shrink:0}.lightbox-img{max-width:90vw;max-height:70vh;object-fit:contain;border-radius:4px;box-shadow:0 4px 30px #00000080}.lightbox-thumbs{display:flex;gap:.5rem;margin-top:1rem;overflow-x:auto;max-width:90vw;padding:.5rem 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.lightbox-thumbs img{width:60px;height:42px;object-fit:cover;cursor:pointer;opacity:.45;border:2px solid transparent;border-radius:3px;transition:opacity .2s,border-color .2s;flex-shrink:0}.lightbox-thumbs img:hover{opacity:.75}.lightbox-thumbs img.active{opacity:1;border-color:var(--color-primary)}.lightbox-counter{color:#fff9;font-size:.85rem;margin-top:.5rem}@media(max-width:600px){.lightbox-prev,.lightbox-next{font-size:1.5rem;padding:.5rem .75rem}.lightbox-thumbs img{width:48px;height:34px}}.breadcrumb{padding:12px 0;font-size:13px;color:var(--text-footer);letter-spacing:.2px}.breadcrumb a{color:var(--text-footer)}.breadcrumb a:hover{color:var(--text-link-hover)}.breadcrumb .sep{margin:0 8px}.breadcrumb .current{color:var(--text-body)}body.home{height:100vh;overflow:hidden}.hero-slider{position:relative;width:100%;height:calc(100vh - var(--header-height));overflow:hidden}.slider-progress{position:absolute;top:0;left:0;right:0;z-index:10;height:8px;background:#ffffff26;overflow:hidden}.slider-progress:after{content:"";position:absolute;inset:0;background:#bab5ab;transform:scaleX(0);transform-origin:left;animation:progressFill 9s linear infinite}@keyframes progressFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.slide{position:absolute;inset:0;opacity:0;animation:slideFade 27s infinite}.slide--1{animation-delay:0s}.slide--2{animation-delay:9s}.slide--3{animation-delay:18s}@keyframes slideFade{0%{opacity:0}2%{opacity:1}33.33%{opacity:1}35.33%{opacity:0}to{opacity:0}}.slide-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.slide-overlay{position:absolute;inset:0;background:#00000026;z-index:1}.slide-content{position:absolute;top:15%;right:5%;z-index:2;display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding:2rem}.slide-title{font-family:var(--font-hero);font-size:60px;font-weight:700;color:#b84f54;opacity:0;transform:translateY(30px);animation:textFadeIn 27s infinite;animation-delay:.3s}.slide-line{width:120px;height:2px;background:#b84f54;margin:1.5rem auto;opacity:0;transform:scaleX(0);animation:lineFadeIn 27s infinite;animation-delay:.8s}.slide-subtitle{font-family:var(--font-hero);font-size:22px;font-weight:400;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.3);opacity:0;transform:translateY(20px);animation:textFadeIn 27s infinite;animation-delay:1.2s}@keyframes textFadeIn{0%{opacity:0;transform:translateY(30px)}2.5%{opacity:1;transform:translateY(0)}31%{opacity:1;transform:translateY(0)}33.33%{opacity:0;transform:translateY(-20px)}to{opacity:0;transform:translateY(30px)}}@keyframes lineFadeIn{0%{opacity:0;transform:scaleX(0)}3%{opacity:1;transform:scaleX(1)}31%{opacity:1;transform:scaleX(1)}33.33%{opacity:0;transform:scaleX(0)}to{opacity:0;transform:scaleX(0)}}@media(max-width:768px){.slide-content{top:10%;left:0;right:0;align-items:center;text-align:center}.slide-title{font-size:32px}.slide-subtitle{font-size:16px}.slide-line{width:80px}}.hero--home{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;inset:0;background:#ffffff8c;z-index:1}.hero-content{position:relative;z-index:2;padding:4rem 1.5rem;text-align:center}.hero-logo{border-radius:0;margin:0 auto 1.5rem}.realisaties-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.realisatie-card{background:var(--bg-wrapper);border:1px solid rgba(0,0,0,.07);border-radius:0;overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column}.realisatie-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #3c1e141a}.realisatie-card .card-img{height:200px;overflow:hidden}.realisatie-card .card-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.realisatie-card:hover .card-img img{transform:scale(1.05)}.realisatie-card .card-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.realisatie-card h3{margin-bottom:.5rem;color:var(--text-heading)}.realisatie-card p{color:var(--text-body);font-size:.95rem;margin-bottom:1rem;flex:1}.site-footer{background:var(--bg-footer);color:var(--text-footer);padding:3rem 0 1.5rem;border-top:3px solid var(--color-primary)}body.home .site-footer{display:none}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-bottom:2rem}.footer-col h3{color:var(--text-footer-heading);margin-bottom:1rem;font-size:1.1rem;font-weight:400}.footer-col p,.footer-col a{color:var(--text-footer-link);font-size:.95rem;line-height:1.8}.footer-col a:hover{color:#fff}.footer-col ul{list-style:none}.footer-col ul a{display:block;padding:.2rem 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;text-align:center;font-size:.85rem;color:var(--text-footer)}.footer-bottom a{color:#fff;text-decoration:none;font-weight:600;transition:color .2s ease}.footer-bottom a:hover{color:var(--text-link-hover);text-decoration:underline}.map-container{margin-top:2rem;overflow:hidden;border:1px solid var(--border-input)}.map-container iframe{width:100%;height:300px;border:0}.text-center{text-align:center}.mt-2{margin-top:2rem}.mb-2{margin-bottom:2rem}.hr{border:none;border-top:1px solid rgba(0,0,0,.1);margin:2rem 0}
