﻿.diensten-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}.dienst-card{background:var(--white);border-radius:var(--radius-lg);padding:2rem;border:1px solid var(--border);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);position:relative;overflow:hidden;}.dienst-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transition:transform var(--transition);transform-origin:left;}.dienst-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:rgba(232,137,26,0.2);}.dienst-card:hover::before{transform:scaleX(1);}.dienst-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--primary),var(--primary-light));border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.75rem;color:var(--white);margin-bottom:1.25rem;transition:transform var(--transition);}.dienst-card:hover .dienst-icon{transform:scale(1.1) rotate(5deg);}.dienst-card h3{font-size:1.15rem;margin-bottom:0.6rem;color:var(--dark);transition:color var(--transition);}.dienst-card:hover h3{color:var(--primary);}.dienst-card p{font-size:0.9rem;color:var(--gray);line-height:1.6;margin-bottom:1.25rem;}.dienst-link{display:inline-flex;align-items:center;gap:0.4rem;font-family:var(--font-heading);font-size:0.85rem;font-weight:700;color:var(--accent);text-decoration:none;transition:gap var(--transition-fast);}.dienst-link:hover{gap:0.7rem;color:var(--accent-hover);}.projecten-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;}.project-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);box-shadow:var(--shadow);transition:transform var(--transition),box-shadow var(--transition);}.project-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);}.project-img-wrapper{position:relative;aspect-ratio:4/3;overflow:hidden;}.project-img-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease;}.project-card:hover .project-img-wrapper img{transform:scale(1.08);}.project-overlay{position:absolute;inset:0;background:rgba(26,60,94,0.8);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition);}.project-card:hover .project-overlay{opacity:1;}.project-overlay-btn{background:var(--white);color:var(--primary);padding:0.6rem 1.25rem;border-radius:var(--radius);font-family:var(--font-heading);font-size:0.85rem;font-weight:700;transition:background var(--transition);}.project-overlay-btn:hover{background:var(--accent);color:var(--white);}.project-type-badge{position:absolute;top:1rem;left:1rem;background:var(--accent);color:var(--white);font-family:var(--font-heading);font-size:0.75rem;font-weight:700;padding:0.3rem 0.75rem;border-radius:50px;text-transform:uppercase;letter-spacing:0.05em;}.project-body{padding:1.25rem;}.project-body h3{font-size:1rem;margin-bottom:0.3rem;color:var(--dark);}.project-meta{display:flex;align-items:center;gap:1rem;font-size:0.82rem;color:var(--gray);}.project-meta i{color:var(--accent);}.project-filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2rem;}.filter-btn{padding:0.5rem 1.25rem;background:var(--light-gray);border:1px solid var(--border);border-radius:50px;font-family:var(--font-heading);font-size:0.85rem;font-weight:600;color:var(--gray);cursor:pointer;transition:all var(--transition-fast);}.filter-btn:hover,.filter-btn.active{background:var(--primary);border-color:var(--primary);color:var(--white);}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;}.review-card{background:var(--white);border-radius:var(--radius-lg);padding:1.75rem;border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);position:relative;}.review-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);}.review-card::before{content:'\201C';position:absolute;top:1rem;right:1.5rem;font-size:5rem;color:var(--light-gray);font-family:Georgia,serif;line-height:1;pointer-events:none;}.review-stars{display:flex;gap:3px;margin-bottom:1rem;color:#f59e0b;font-size:1rem;}.review-text{font-size:0.95rem;color:var(--dark);line-height:1.7;margin-bottom:1.25rem;font-style:italic;}.review-author{display:flex;align-items:center;gap:0.75rem;}.review-avatar{width:44px;height:44px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--white);flex-shrink:0;}.review-name{font-family:var(--font-heading);font-size:0.9rem;font-weight:700;color:var(--dark);}.review-location{font-size:0.8rem;color:var(--gray);}.cta-banner{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);padding-block:clamp(3rem,6vw,5rem);text-align:center;position:relative;overflow:hidden;}.cta-banner::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:rgba(255,255,255,0.04);border-radius:50%;pointer-events:none;}.cta-banner h2{color:var(--white);margin-bottom:0.75rem;}.cta-banner p{color:rgba(255,255,255,0.8);font-size:1.05rem;margin-bottom:2rem;}.cta-sub{margin-top:1rem;font-size:0.85rem;color:rgba(255,255,255,0.6);}.gg-form-wrapper{background:var(--white);border-radius:var(--radius-xl);padding:clamp(1.5rem,4vw,2.5rem);box-shadow:var(--shadow-lg);}.form-title{font-size:1.4rem;margin-bottom:0.25rem;color:var(--dark);}.form-subtitle{font-size:0.9rem;color:var(--gray);margin-bottom:1.75rem;}.form-row{display:flex;gap:1rem;margin-bottom:0;}.form-row.two-cols>.form-group{flex:1;}.form-group{margin-bottom:1.25rem;display:flex;flex-direction:column;}.form-group label{font-family:var(--font-heading);font-size:0.85rem;font-weight:700;color:var(--dark);margin-bottom:0.4rem;}.required{color:var(--accent);}.form-group input,.form-group select,.form-group textarea{padding:0.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:0.95rem;line-height:1.4;color:var(--dark);background:var(--white);transition:border-color var(--transition),box-shadow var(--transition);appearance:none;-webkit-appearance:none;}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af;}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,60,94,0.12);}.form-group input.is-invalid,.form-group select.is-invalid,.form-group textarea.is-invalid{border-color:#ef4444;}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.75rem center;background-size:18px;min-height:48px;padding-top:0;padding-right:2.5rem;padding-bottom:0;}.form-group select option{color:var(--dark);background:var(--white);}.field-error{font-size:0.8rem;color:#ef4444;margin-top:0.3rem;min-height:1rem;}.form-submit{margin-top:0.5rem;}.form-disclaimer{font-size:0.78rem;color:var(--gray);margin-top:0.75rem;display:flex;align-items:center;gap:0.4rem;}.form-disclaimer i{color:var(--primary);}.form-message{margin-top:1rem;padding:0.85rem 1.25rem;border-radius:var(--radius);font-size:0.9rem;font-weight:600;display:none;}.form-message.success{background:#d1fae5;color:#065f46;border:1px solid #a7f3d0;display:block;}.form-message.error{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5;display:block;}.gg-hp{position:absolute;left:-9999px;top:-9999px;opacity:0;pointer-events:none;}.form-trust-signals{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border);}.trust-item{display:flex;align-items:center;gap:0.5rem;font-size:0.82rem;color:var(--gray);font-weight:600;}.faq-list{max-width:800px;margin:0 auto;}.faq-item{border-bottom:1px solid var(--border);}.faq-item:first-child{border-top:1px solid var(--border);}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 0;background:none;border:none;cursor:pointer;text-align:left;font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--dark);transition:color var(--transition-fast);}.faq-question:hover{color:var(--primary);}.faq-item.is-open .faq-question{color:var(--primary);}.faq-toggle-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--light-gray);border-radius:50%;font-size:1.2rem;color:var(--primary);flex-shrink:0;transition:transform var(--transition),background var(--transition);}.faq-item.is-open .faq-toggle-icon{background:var(--primary);color:var(--white);transform:rotate(45deg);}.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.45s ease;}.faq-item.is-open .faq-answer{max-height:500px;}.faq-answer-inner{padding-bottom:1.25rem;font-size:0.95rem;color:var(--gray);line-height:1.8;}.steps-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0;position:relative;}.steps-list::before{content:'';position:absolute;top:32px;left:10%;right:10%;height:2px;background:var(--border);}.step-item{text-align:center;padding:1.5rem 1rem;position:relative;}.step-number{width:64px;height:64px;border-radius:50%;background:var(--white);border:3px solid var(--primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-size:1.25rem;font-weight:800;color:var(--primary);margin:0 auto 1rem;position:relative;z-index:1;background:var(--white);}.step-item.is-active .step-number{background:var(--primary);color:var(--white);}.step-item h4{font-size:0.95rem;margin-bottom:0.4rem;}.step-item p{font-size:0.82rem;color:var(--gray);}.usp-list{display:flex;flex-direction:column;gap:1.25rem;}.usp-item{display:flex;align-items:flex-start;gap:1rem;}.usp-icon{width:48px;height:48px;background:rgba(232,137,26,0.1);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--accent);flex-shrink:0;}.usp-text h4{font-size:0.95rem;margin-bottom:0.2rem;color:var(--dark);}.usp-text p{font-size:0.85rem;color:var(--gray);margin:0;}.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;}.team-card{width:220px;max-width:100%;text-align:center;}.team-photo{width:140px;height:140px;border-radius:50%;margin:0 auto 1rem;overflow:hidden;border:4px solid var(--border);transition:border-color var(--transition);}.team-card:hover .team-photo{border-color:var(--accent);}.team-photo img{width:100%;height:100%;object-fit:cover;}.team-photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;font-size:3rem;color:rgba(255,255,255,0.5);}.team-card h3{font-size:1rem;margin-bottom:0.2rem;}.team-card p{font-size:0.85rem;color:var(--gray);margin:0;}.star-rating-input{display:flex;flex-direction:row-reverse;gap:4px;width:fit-content;}.star-rating-input input[type="radio"]{display:none;}.star-rating-input label{font-size:1.75rem;color:var(--border);cursor:pointer;transition:color 0.15s;}.star-rating-input input:checked ~ label,.star-rating-input label:hover,.star-rating-input label:hover ~ label{color:#f59e0b;}.review-form-collapse{overflow:hidden;}.contact-info-block{display:flex;flex-direction:column;gap:1.25rem;}.contact-info-item{display:flex;align-items:flex-start;gap:1rem;}.contact-info-icon{width:48px;height:48px;background:var(--primary);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--white);flex-shrink:0;}.contact-info-text h4{font-size:0.85rem;font-weight:700;margin-bottom:0.2rem;color:var(--gray);text-transform:uppercase;letter-spacing:0.05em;}.contact-info-text a,.contact-info-text p{font-size:0.95rem;color:var(--dark);margin:0;transition:color var(--transition-fast);}.contact-info-text a:hover{color:var(--accent);}.map-placeholder{width:100%;height:350px;background:var(--light-gray);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;color:var(--gray);font-size:0.9rem;overflow:hidden;}.map-placeholder iframe{width:100%;height:100%;border:none;}.hours-table{width:100%;border-collapse:collapse;}.hours-table tr{border-bottom:1px solid var(--border);}.hours-table tr:last-child{border-bottom:none;}.hours-table td{padding:0.75rem 1rem;font-size:0.9rem;text-align:center;vertical-align:middle;}.hours-table td:last-child{text-align:center;font-weight:600;color:var(--primary);}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:9000;display:none;align-items:center;justify-content:center;}.lightbox-overlay.is-open{display:flex;}.lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:var(--radius);}.lightbox-close{position:absolute;top:1rem;right:1rem;background:var(--white);color:var(--dark);border:none;width:44px;height:44px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition);}.lightbox-close:hover{background:var(--accent);color:var(--white);}.before-after-wrapper{position:relative;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:4/3;cursor:ew-resize;}.before-after-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.before-after-img.after-img{clip-path:inset(0 50% 0 0);transition:clip-path 0.05s linear;}.before-after-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--white);z-index:1;transform:translateX(-50%);}.before-after-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;background:var(--white);border-radius:50%;z-index:2;display:flex;align-items:center;justify-content:center;font-size:0.75rem;color:var(--primary);box-shadow:var(--shadow);}.before-label,.after-label{position:absolute;bottom:1rem;font-size:0.75rem;font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:0.08em;background:rgba(0,0,0,0.6);color:var(--white);padding:0.25rem 0.6rem;border-radius:50px;z-index:2;}.before-label{left:1rem;}.after-label{right:1rem;}