@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-400.woff2) format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/inter-700.woff2) format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url(fonts/inter-900.woff2) format('woff2')}:root{--bg-color:#ffffff;--text-color:#000000;--gray-dark:#6b7280}*{box-sizing:border-box;margin:0;padding:0}body{font-family:'Inter',sans-serif;background-color:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;color:inherit;transition:0.3s}ul{list-style:none}.navbar{width:100%;padding:1.5rem 1rem;border-bottom:1px solid #f3f4f6;background:rgb(255 255 255 / .95);position:sticky;top:0;z-index:100;backdrop-filter:blur(5px)}.nav-container{max-width:1600px;margin:0 auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between}@media (min-width:768px){.nav-container{flex-direction:row}}.logo{font-weight:900;font-size:1.5rem;text-transform:uppercase;letter-spacing:-.05em;margin-bottom:0;line-height:1;display:flex;align-items:center}@media (min-width:768px){.logo{font-size:2rem}}.logo span{color:var(--accent-color)}.nav-menu{display:flex;gap:1.5rem;align-items:center;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-dark)}.nav-menu a:hover{color:#000}.btn-contact{background-color:#000;color:#fff!important;padding:.6rem 1.8rem;border-radius:9999px}.btn-contact:hover{background-color:#333;transform:translateY(-1px)}.hero-wrapper{position:relative;width:100%;height:calc(100vh - 80px);overflow:hidden;display:flex;align-items:center;justify-content:center;background:#000}@media (min-width:768px){.hero-wrapper{aspect-ratio:16/9}}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity 1.5s ease-in-out;z-index:1}.hero-bg.active{opacity:.6;z-index:2}.hero-content{position:relative;z-index:10;text-align:center;color:#fff;padding:0 1rem}.hero-divider{width:60px;height:3px;background:#fff;margin:0 auto 1.5rem auto}.hero-title{font-size:2.5rem;font-weight:900;text-transform:uppercase;margin-bottom:4rem;letter-spacing:-.05em;line-height:1.1}@media (min-width:768px){.hero-title{font-size:4rem}}.hero-subtitle{font-size:1rem;letter-spacing:.2em;text-transform:uppercase;color:#e5e7eb;margin-bottom:5rem;font-weight:500}.btn-hero{border:1px solid #fff;padding:1rem 2.5rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.8rem;background-color:rgb(255 255 255 / .2);border-radius:50px;transition:all 0.3s}.btn-hero:hover{background:#fff;color:#000}.hero-title span{display:block;margin-bottom:20px}.hero-title .dot{display:none}@media (min-width:768px){.hero-title span{display:inline;margin-bottom:0}.hero-title .dot{display:inline;margin:0 10px;color:#fff;opacity:.7}}.filter-bar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;padding:3rem 1rem;width:100%;max-width:1200px;margin:0 auto}.filter-btn{background:#f3f4f6;color:#6b7280;border:none;border-radius:50px;padding:.5rem 1.2rem;font-size:.75rem;font-family:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:all 0.3s ease}.filter-btn:hover{background:#e5e7eb;color:#000}.filter-btn.active{background:#000;color:#fff;box-shadow:0 4px 10px rgb(0 0 0 / .1)}@media (max-width:768px){.filter-bar{gap:.8rem;padding:2rem 1rem}}.gallery-grid{display:flex;justify-content:center;gap:1rem;max-width:1800px;margin:0 auto;padding:0 1rem 5rem 1rem}@media (max-width:768px){.gallery-grid{width:100%!important;padding:0 .5rem 3rem .5 rem}}.gallery-column{display:flex;flex-direction:column;gap:1rem;flex:1;max-width:100%}.gallery-item{width:100%;border-radius:16px;overflow:hidden;position:relative;box-shadow:0 4px 6px rgb(0 0 0 / .05)}.gallery-item img{width:100%;height:auto;display:block;transition:transform 0.7s cubic-bezier(.4,0,.2,1),opacity 0.6s ease-out;opacity:0;transform:translateY(10px) scale(1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.gallery-item:hover img{transform:translateY(0) scale(1.03)}.gallery-item img.loaded{opacity:1;transform:translateY(0) scale(1)}.video-grid{display:grid;grid-template-columns:1fr;gap:3rem;max-width:1800px;width:95%;margin:0 auto;padding:0 0 3rem 0}@media (min-width:1024px){.video-grid{grid-template-columns:1fr 1fr;align-items:center}}.video-item{width:100%;position:relative}.video-item iframe{width:100%;aspect-ratio:16/9;border-radius:16px;box-shadow:0 20px 40px rgb(0 0 0 / .1);display:block}.contact-section{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:4rem 1.5rem;background-color:#fff}.contact-split{display:flex;flex-direction:column;gap:3rem;max-width:1200px;width:100%;align-items:center}@media (min-width:1024px){.contact-split{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:5rem}}.contact-left{flex:1;text-align:center}@media (min-width:1024px){.contact-left{text-align:left;position:sticky;top:100px}}.section-title{font-size:2.5rem;font-weight:900;text-transform:uppercase;letter-spacing:-.05em;line-height:1;margin-bottom:1.5rem;color:#000}@media (min-width:768px){.section-title{font-size:4rem}}.section-divider{width:64px;height:3px;background-color:#000;margin:0 auto 2rem auto}@media (min-width:1024px){.section-divider{margin:0 0 2rem 0}}.section-text{font-size:1.1rem;color:#666;font-weight:500;margin-bottom:3rem;line-height:1.6}.email-highlight{display:inline-block;font-size:1.2rem;font-weight:700;color:#000;border-bottom:2px solid #000;padding-bottom:5px}.email-highlight:hover{opacity:.6}.contact-right{flex:1;width:100%}.contact-card{background:#f9fafb;padding:2.5rem;border-radius:24px;border:1px solid #f3f4f6;width:100%;box-shadow:0 10px 30px rgb(0 0 0 / .05)}.form-group{margin-bottom:1.5rem;text-align:left}.form-label{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#374151;margin-bottom:.5rem;margin-left:.2rem}.form-input,.form-textarea{width:100%;padding:1rem;border:1px solid #e5e7eb;background-color:#fff;border-radius:8px;font-family:inherit;font-size:.9rem;outline:none;transition:all 0.2s}.form-textarea{min-height:140px;resize:vertical}.form-input:focus,.form-textarea:focus{border-color:#000;box-shadow:0 0 0 3px rgb(0 0 0 / .1)}.btn-submit{width:100%;background:#000;color:#fff;padding:1.2rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;border-radius:8px;border:none;cursor:pointer;transition:all 0.2s}.btn-submit:hover{background:#333;transform:translateY(-2px)}.form-checkbox-wrapper{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;text-align:left}.form-checkbox-wrapper input[type="checkbox"]{width:20px;height:20px;accent-color:#000;margin:0;cursor:pointer}.form-checkbox-wrapper label{font-size:.85rem;color:#374151;cursor:pointer;line-height:1.4}.form-checkbox-wrapper a{color:#000;font-weight:700;text-decoration:underline}footer{padding:3rem 2rem;text-align:center;font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em;border-top:1px solid #f3f4f6;margin-top:auto;line-height:1.6}footer a{color:#6b7280;font-weight:700;text-decoration:none;border-bottom:1px solid #fff0;transition:all 0.3s;margin-left:10px}footer a:hover{color:#000;border-bottom:1px solid #000}.page-content{max-width:800px;margin:0 auto;padding:4rem 2rem;line-height:1.8;color:#374151}@media (max-width:640px){.page-content{padding:3rem 1.5rem}}.impresszum-main-title{font-weight:900;font-size:2rem;margin-bottom:2rem;text-transform:uppercase;letter-spacing:-.05em;color:#000;line-height:1.2}.impresszum-block{margin-bottom:3rem}.impresszum-subtitle{font-weight:800;font-size:1.2rem;margin-bottom:1rem;color:#000;border-bottom:2px solid #f3f4f6;padding-bottom:.5rem;display:inline-block}.impresszum-block p{margin-bottom:.5rem;color:#4b5563}.hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px}.bar{width:25px;height:3px;background-color:#000;transition:0.3s}@media (max-width:768px){.hamburger{display:flex}.nav-menu{position:fixed;left:0;width:100%;top:70px;background-color:#fff;flex-direction:column;text-align:center;padding:2rem 0;box-shadow:0 10px 20px rgb(0 0 0 / .05);gap:0;opacity:0;visibility:hidden;transform:translateY(-20px);transition:all 0.3s ease-in-out;z-index:99}.nav-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.nav-menu li{margin:1rem 0}.hero-title{font-size:3.5rem;padding:0 1rem}.contact-split,.page-content{padding:2rem 1rem;gap:2rem}.section-title{font-size:2.5rem}}.lightbox{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:rgb(0 0 0 / .95);backdrop-filter:blur(5px);justify-content:center;align-items:center;opacity:0;transition:opacity 0.3s ease}.lightbox.visible{opacity:1}.lightbox-content-wrapper{position:relative;max-width:90%;max-height:90vh;display:flex;justify-content:center;align-items:center}.lightbox-content{max-width:100%;max-height:90vh;border-radius:4px;box-shadow:0 0 20px rgb(0 0 0 / .5);object-fit:contain;user-select:none;opacity:0;transform:scale(.95);transition:opacity 0.3s ease,transform 0.3s ease}.lightbox-content.loaded{opacity:1;transform:scale(1)}.lightbox-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid rgb(255 255 255 / .3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite;z-index:-1}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.lightbox-close{position:absolute;top:20px;right:30px;color:#fff;font-size:2rem;font-weight:300;cursor:pointer;z-index:2005;background:rgb(255 255 255 / .1);width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.3s}.lightbox-close:hover{background:rgb(255 255 255 / .3)}.lightbox-prev,.lightbox-next{cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;color:#fff;font-weight:700;font-size:24px;transition:0.3s ease;border-radius:50%;background-color:rgb(255 255 255 / .1);display:flex;align-items:center;justify-content:center;user-select:none;z-index:2002}.lightbox-prev:hover,.lightbox-next:hover{background-color:rgb(255 255 255 / .3)}.lightbox-prev{left:20px;padding-right:3px}.lightbox-next{right:20px;padding-left:3px}@media (max-width:768px){.lightbox-prev,.lightbox-next{width:40px;height:40px;font-size:18px;background-color:rgb(0 0 0 / .3)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox-close{top:15px;right:15px;width:40px;height:40px;font-size:1.5rem}}.services-section{background-color:#f8f9fa;padding:2rem 1.5rem;width:100%;position:relative;z-index:20}.services-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:992px){.services-grid{grid-template-columns:repeat(3,1fr);gap:3rem;align-items:stretch}}.service-card{background-color:#111;color:#fff;border-radius:24px;padding:2.5rem;display:flex;flex-direction:column;box-shadow:0 10px 30px rgb(0 0 0 / .15);transition:transform 0.3s ease}.service-card:hover{transform:translateY(-5px)}.service-card h2{font-size:2rem;font-weight:900;text-transform:uppercase;margin-bottom:1.5rem;color:#fff;letter-spacing:1px;text-align:center;display:block;width:100%;border:none}.service-card ul{list-style:none;padding:0;margin-bottom:2rem;flex-grow:1}.service-card ul li{display:flex;align-items:center;margin-bottom:.8rem;color:#ddd;font-size:1rem;line-height:1.6;padding-left:0}.service-card ul li::before{content:"•";color:#fff;font-weight:700;font-size:2rem;line-height:0;margin-right:12px;margin-top:-4px;flex-shrink:0;position:static}.service-link{color:#fff;font-weight:700;text-transform:uppercase;font-size:.9rem;text-decoration:none;margin-top:auto;display:inline-block;background-color:#333;padding:.8rem 1.2rem;border-radius:12px;text-align:center;transition:background-color 0.3s ease}.service-link:hover{background-color:#555}.scroll-down{position:absolute;bottom:80px;left:50%;transform:translateX(-50%);cursor:pointer;z-index:15;padding:20px}.scroll-down span{display:block;width:20px;height:20px;border-bottom:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg);margin:-10px auto;animation:scroll-animate 2s infinite}.scroll-down span:nth-child(2){animation-delay:.2s}.scroll-down span:nth-child(3){animation-delay:.4s}@keyframes scroll-animate{0%{opacity:0;transform:rotate(45deg) translate(-20px,-20px)}50%{opacity:1}100%{opacity:0;transform:rotate(45deg) translate(20px,20px)}}.service-link .arrow{font-size:1.5rem;font-weight:900;line-height:.7;vertical-align:middle;margin-left:10px;display:inline-block;margin-bottom:6px}.video-item.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.yt-lazy-load{display:block;width:100%;position:relative;padding-bottom:56.25%;height:0;background-color:#000;background-size:cover;background-position:center;background-repeat:no-repeat;cursor:pointer;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgb(0 0 0 / .1);transition:transform 0.3s ease}.yt-lazy-load:hover{transform:scale(1.02)}.yt-title-overlay{position:absolute;top:0;left:0;width:100%;padding:15px 20px;background:linear-gradient(to bottom,rgb(0 0 0 / .8) 0%,#fff0 100%);color:#fff;font-family:'Inter',sans-serif;font-size:16px;font-weight:600;text-shadow:0 1px 2px rgb(0 0 0 / .5);z-index:4;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-lazy-load::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;background-color:rgb(33 33 33 / .8);border-radius:12px;z-index:5;transition:background 0.2s}@media (hover:hover){.yt-lazy-load:hover{transform:scale(1.02)}.yt-lazy-load:hover::before{background-color:red}}.yt-lazy-load::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:#fff0 #fff0 #fff0 #fff;z-index:6}.yt-lazy-load.video-loaded{cursor:default}.yt-lazy-load.video-loaded::before,.yt-lazy-load.video-loaded::after,.yt-lazy-load.video-loaded .yt-title-overlay{display:none!important}.yt-lazy-load iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:10}