body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}#root{width:100%}a{color:inherit;text-decoration:none}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--primary-color:#2d5016;--secondary-color:#4a7c2f;--accent-color:#8fbc8f;--light-bg:#f5f9f0;--dark-text:#1a1a1a;--light-text:#f5f5f5;--border-color:#e0e0e0;--shadow:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #00000026;--spacing-xs:.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--transition:all .3s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--dark-text);background:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6}.navbar{box-shadow:var(--shadow);z-index:100;transition:var(--transition);background:#fff;position:sticky;top:0}.nav-container{max-width:1200px;padding:var(--spacing-md) var(--spacing-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{align-items:center;display:flex}.logo-image{object-fit:contain;width:auto;height:50px}.nav-menu{gap:var(--spacing-lg);margin:0;list-style:none;display:flex}.nav-link{color:var(--dark-text);transition:var(--transition);padding-bottom:.25rem;font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";background:var(--secondary-color);width:0;height:2px;transition:width .3s;position:absolute;bottom:-.25rem;left:0}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link.active{color:var(--secondary-color)}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.4rem;padding:0;display:none}.hamburger span{background:var(--dark-text);width:25px;height:3px;transition:var(--transition);border-radius:2px}.hero{color:#fff;min-height:100vh;padding:var(--spacing-lg);text-align:center;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-overlay{z-index:2;background:#2d501680;width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:3;max-width:800px;animation:.8s fadeInUp;position:relative}.hero-content h1{margin-bottom:var(--spacing-md);font-size:clamp(2rem,8vw,3.5rem);font-weight:700}.hero-content p{margin-bottom:var(--spacing-lg);opacity:.9;font-size:clamp(1rem,3vw,1.5rem)}.cta-button{padding:var(--spacing-md) var(--spacing-lg);background:var(--accent-color);color:#fff;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow);border:none;border-radius:8px;font-size:1rem;font-weight:600}.cta-button:hover{box-shadow:var(--shadow-lg);background:#7ab37a;transform:translateY(-2px)}.projects{padding:var(--spacing-xl) var(--spacing-lg);background:var(--light-bg)}.section-container{max-width:1200px;margin:0 auto}.section-title{text-align:center;color:var(--primary-color);margin-bottom:var(--spacing-xl);font-size:clamp(2rem,5vw,2.5rem);font-weight:700}.projects-grid{gap:var(--spacing-lg);margin-top:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.project-card{box-shadow:var(--shadow);transition:var(--transition);background:#fff;border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.project-image{background:#e0e0e0;width:100%;height:250px;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.project-card:hover .project-image img{transform:scale(1.1)}.project-overlay{width:100%;height:100%;transition:var(--transition);background:0 0;position:absolute;top:0;left:0}.project-card:hover .project-overlay{background:#0003}.project-content{padding:var(--spacing-md);flex-direction:column;flex-grow:1;display:flex}.project-content h3{color:var(--primary-color);margin-bottom:var(--spacing-sm);font-size:1.3rem}.project-content p{color:#666;margin-bottom:var(--spacing-md);flex-grow:1}.project-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--secondary-color);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:6px;align-self:flex-start;font-weight:600}.project-button:hover{background:var(--primary-color);transform:translate(4px)}.detail-contact-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--secondary-color);color:#fff;cursor:pointer;transition:var(--transition);margin-top:var(--spacing-lg);border:none;border-radius:6px;align-self:center;font-size:.95rem;font-weight:600}.detail-contact-button:hover{background:var(--primary-color);transform:translate(4px)}.section-actions{margin-top:var(--spacing-xl);justify-content:center;gap:var(--spacing-lg);display:flex}.contact-cta-button{padding:var(--spacing-md) var(--spacing-lg);background:var(--primary-color);color:#fff;border:2px solid var(--primary-color);cursor:pointer;transition:var(--transition);box-shadow:var(--shadow);border-radius:8px;font-size:1rem;font-weight:600}.contact-cta-button:hover{color:var(--primary-color);box-shadow:var(--shadow-lg);background:0 0;transform:translateY(-2px)}.service-details{padding:var(--spacing-xl) var(--spacing-lg);background:#fff}.details-grid{gap:var(--spacing-lg);margin-top:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.detail-card{background:linear-gradient(135deg, var(--light-bg) 0%, white 100%);box-shadow:var(--shadow);transition:var(--transition);border:2px solid #0000;border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.detail-card:hover{box-shadow:var(--shadow-lg);border-color:var(--secondary-color);transform:translateY(-12px)}.detail-card-header{background:linear-gradient(135deg, var(--secondary-color), var(--primary-color));color:#fff;padding:var(--spacing-lg);text-align:center}.detail-card-header h3{margin:0;font-size:1.5rem;font-weight:700}.detail-card-image{width:100%;height:200px;overflow:hidden}.detail-card-image img{object-fit:cover;width:100%;height:100%;transition:var(--transition)}.detail-card:hover .detail-card-image img{transform:scale(1.08)}.detail-card-content{padding:var(--spacing-lg);flex-direction:column;flex-grow:1;display:flex}.detail-description{color:#555;margin-bottom:var(--spacing-lg);font-size:.95rem;line-height:1.6}.detail-list{gap:var(--spacing-md);flex-direction:column;list-style:none;display:flex}.detail-list li{align-items:flex-start;gap:var(--spacing-sm);color:#333;font-size:.95rem;line-height:1.5;display:flex}.detail-icon{color:var(--secondary-color);flex-shrink:0;margin-top:2px;font-size:1.2rem;font-weight:700}.contact{padding:var(--spacing-xl) var(--spacing-lg);background:#fff}.contact-content{gap:var(--spacing-xl);margin-top:var(--spacing-xl);grid-template-columns:1fr 1fr;display:grid}.contact-info{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}@media (width>=768px){.contact-info{grid-template-columns:repeat(2,1fr)}.info-item{text-align:center}}.info-item{background:var(--light-bg);padding:var(--spacing-lg);box-shadow:var(--shadow);transition:var(--transition);text-align:center;border-radius:12px}.info-item:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.info-item h3{color:var(--primary-color);margin-bottom:var(--spacing-sm);justify-content:center;align-items:center;gap:var(--spacing-sm);display:flex}.info-item p{color:#666;line-height:1.8}.copy-email-button{margin-top:var(--spacing-sm);background:var(--secondary-color);color:#fff;cursor:pointer;transition:var(--transition);border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 4px 10px #2e5f1c2e}.copy-email-button:hover{background:#35601a;transform:translateY(-1px)}.copy-email-button:focus-visible{outline:3px solid #4a7c2f4d}.contact-form{gap:var(--spacing-md);flex-direction:column;display:flex}.contact-form input,.contact-form textarea{padding:var(--spacing-md);border:2px solid var(--border-color);transition:var(--transition);border-radius:6px;font-family:inherit;font-size:1rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--secondary-color);outline:none;box-shadow:0 0 0 3px #4a7c2f1a}.footer{background:var(--primary-color);color:#fff;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg)}.footer-container{max-width:1200px;margin:0 auto}.footer-content{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.footer-section h4{margin-bottom:var(--spacing-sm);color:var(--accent-color);font-size:1.1rem}.footer-section p{opacity:.9;font-size:.95rem;line-height:1.8}.footer-section ul{list-style:none}.footer-section ul li{margin-bottom:var(--spacing-xs)}.footer-section a{color:#fff;transition:var(--transition);opacity:.9;text-decoration:none}.footer-section a:hover{color:var(--accent-color);padding-left:4px}.footer-bottom{padding-top:var(--spacing-md);text-align:center;opacity:.8;border-top:1px solid #ffffff1a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){:root{--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem}.nav-container{padding:var(--spacing-md)}.hamburger{display:flex}.nav-menu{gap:var(--spacing-md);width:100%;padding:var(--spacing-lg);box-shadow:var(--shadow);opacity:0;visibility:hidden;background:#fff;flex-direction:column;transition:all .3s;position:absolute;top:100%;left:0;transform:translateY(-100%)}.nav-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.projects-grid,.details-grid,.contact-content{grid-template-columns:1fr}.info-item{text-align:left}.copy-email-button{width:100%}.footer-content{grid-template-columns:1fr}.section-container{padding:0}.hero-content h1{font-size:2rem}.hero-content p{font-size:1rem}}@media (width<=480px){:root{--spacing-sm:.75rem;--spacing-md:.875rem;--spacing-lg:1rem;--spacing-xl:1.5rem}.nav-logo{font-size:1.2rem}.nav-menu{padding:var(--spacing-md)}.hero{padding:var(--spacing-md);min-height:80vh}.hero-content h1{margin-bottom:var(--spacing-md);font-size:1.5rem}.hero-content p{margin-bottom:var(--spacing-md);font-size:.95rem}.cta-button{padding:var(--spacing-sm) var(--spacing-md);font-size:.95rem}.projects{padding:var(--spacing-lg) var(--spacing-md)}.section-title{margin-bottom:var(--spacing-lg);font-size:1.5rem}.projects-grid{gap:var(--spacing-md)}.project-image{height:200px}.project-content{padding:var(--spacing-md)}.contact{padding:var(--spacing-lg) var(--spacing-md)}.contact-form input,.contact-form textarea{padding:var(--spacing-sm)}.footer{padding:var(--spacing-lg) var(--spacing-md) var(--spacing-md)}.footer-section h4{font-size:1rem}}@media (width>=1024px){.contact{padding-left:0;padding-right:0}.contact-info{grid-template-columns:repeat(4,1fr)}.projects-grid{grid-template-columns:repeat(3,1fr)}}.impressum{padding:var(--spacing-xl) var(--spacing-lg);background:var(--light-bg)}.impressum-content{margin-top:var(--spacing-xl);justify-content:center;display:flex}.impressum-card{padding:var(--spacing-xl);box-shadow:var(--shadow);border:2px solid var(--border-color);width:100%;max-width:600px;transition:var(--transition);background:#fff;border-radius:16px}.impressum-card:hover{box-shadow:var(--shadow-lg);border-color:var(--secondary-color)}.impressum-card h3{color:var(--primary-color);margin-bottom:var(--spacing-lg);border-bottom:3px solid var(--secondary-color);padding-bottom:var(--spacing-md);font-size:1.5rem}.impressum-details{gap:var(--spacing-lg);flex-direction:column;display:flex}.detail-row{gap:var(--spacing-xs);flex-direction:column;display:flex}.detail-label{color:var(--primary-color);font-size:.95rem;font-weight:700}.detail-value{color:#666;font-size:1rem;line-height:1.6}@media (width<=768px){.impressum-card{padding:var(--spacing-lg)}.impressum-card h3{font-size:1.3rem}}
