@keyframes icon-swap{0%{opacity:0}to{opacity:1}}@keyframes grow-down{0%{transform:scale(1.1);filter:blur(8px)}to{transform:scale(1);filter:blur(0px)}}@keyframes fade-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down{0%{opacity:0;transform:translateY(-110%)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{transform:translateY(-110%)}to{transform:translateY(0)}}@keyframes slide-up-rotated{0%{transform:translateY(145%) rotate(15deg)}to{transform:translateY(0) rotate(0)}}@keyframes fade-up-small{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes text-slide-in{0%{opacity:0;transform:translate(50px);letter-spacing:3px}to{opacity:1;transform:translate(0);letter-spacing:unset}}@keyframes fade-up-medium{0%{opacity:0;transform:translateY(120px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-down-small{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-out-down-small{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(50px)}}@keyframes slide-down-out{0%{transform:translateY(0)}to{transform:translateY(110%)}}@keyframes fade-loading{0%{opacity:1}50%{opacity:.4}to{opacity:1}}@keyframes skeleton-shimmer{0%{background-position:200% center}to{background-position:-200% center}}@keyframes loading-out{0%{webkit-backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fff}5%{webkit-backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#ffffffb3}99%{webkit-backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#fff0;transform:translateY(0)}to{webkit-backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#fff0;transform:translateY(-100%)}}#Start{height:calc(100vh - var(--navbar-height));display:flex;flex-direction:column;background-color:var(--light-gray-background)}.home-slide{flex:1;display:flex;flex-direction:column;cursor:pointer;overflow:hidden;opacity:0;transition:opacity .35s ease}.home-slide--visible{opacity:1}.home-slide-image{display:block;flex:1;position:relative;overflow:hidden;border-radius:4px 4px 0 0;min-height:0}.home-slide-image img{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.home-slide-title-box{position:relative;background-color:var(--light-gray-background);border-radius:0 0 4px 4px;flex-shrink:0;border-top:2px solid var(--text);transition:border-color .15s ease-out}@media(min-width:1025px){.home-slide:hover .home-slide-title-box{border-color:var(--primary)}}.home-slide-title{display:block;padding:7px 12px;font-size:13px;color:var(--text);text-align:left}.app-content{display:grid;grid-template-rows:1fr auto;min-height:100vh}.app-content.hidden{display:none}html,body{padding:0;margin:0;height:100%;text-align:center;scroll-behavior:auto;overflow-x:hidden;overflow-x:clip;-ms-overflow-style:none;scrollbar-width:none;background-color:var(--light-gray-background)}#root{height:100%}section{min-height:0}::selection{background:#d0005748}::-webkit-scrollbar{display:none}a{text-decoration:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}li{list-style-type:none}a,button,[role=button],input,label,select,textarea{touch-action:manipulation}*{font-family:Roc Grotesk,sans-serif!important;font-weight:400!important}h1{color:var(--lighter-gray-background);font-weight:400}h2{font-size:32px;color:var(--text);font-weight:400}h3,a{color:var(--primary);font-weight:400}h3{font-size:40px;padding-top:8%;margin-bottom:5px}h4,p{color:var(--text);font-weight:400}h4{font-size:24px}p,li{font-size:16px}img{transition:filter .3s ease,opacity .3s ease}@font-face{font-family:Roc Grotesk;font-style:normal;font-weight:400;src:local("Roc Grotesk Regular"),url(/assets/Roc%20Grotesk%20Regular-XfdnlhJy.otf) format("opentype");font-display:swap}footer{background-color:var(--light-gray-background);padding-block:10px;position:relative;min-height:48px;display:flex;align-items:center;justify-content:center}footer:before{content:"";position:absolute;top:0;left:0;right:0;border-top:2px solid var(--text);pointer-events:none}.footer-inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}.footer-social{display:flex;gap:8px;align-items:center}.footer-social a{color:var(--text);display:flex;align-items:center;transition:color .15s ease-out}.footer-social a svg{font-size:18px;width:18px;height:18px}.footer-social a:hover{color:var(--primary)}.footer-social a:hover svg path{fill:var(--primary)}.footer-copy{font-size:13px;color:#888}.footer-impressum{background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:13px;color:var(--text);transition:color .15s ease-out}.footer-impressum:hover{color:var(--primary)}#Impressum{background-color:var(--light-gray-background);display:flex;flex-direction:column;justify-content:center;min-height:100vh;position:relative}.Impressum-Inhalt{text-align:left;max-width:560px;width:100%;margin:0 auto;padding:80px 24px;animation:.35s fade-down-small .1s ease-out both}.Impressum-Inhalt h2,.Impressum-Inhalt h3{margin-bottom:0;color:var(--text);font-weight:500;padding-top:0}.Impressum-Inhalt h2{font-size:24px;margin-bottom:12px}.Impressum-Inhalt h3{font-size:15px;margin-top:24px}.Impressum-Inhalt p{margin-top:0}#arrow{font-size:30px;transition:all ease-out .25s;color:var(--lighter-gray-background);rotate:90deg}#arrow:hover{color:var(--primary);transform:scale(1.1)}#Dienstleistungen{background-color:var(--light-gray-background);scroll-margin-top:var(--navbar-height);padding:60px 40px;position:relative}.dl-inner{max-width:900px;margin:0 auto;text-align:left}.dl-main-heading{margin:0 0 28px;font-size:32px}.dl-intro{display:flex;flex-direction:column;gap:16px;max-width:800px;margin-bottom:48px}.dl-intro p{margin:0;text-align:left;font-size:14px}.dl-sub-heading{font-size:22px;color:var(--text);font-weight:400;margin:0 0 10px;padding:0}.dl-sub-intro{margin:0 0 24px;font-size:14px}.dl-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px;max-width:900px}.dl-service-card{padding:24px;background-color:transparent;border-radius:4px;position:relative}.dl-service-card:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none}.dl-service-card h3{margin:0 0 12px;padding:0;font-size:16px;color:var(--text);font-weight:700}.dl-service-card ul{margin:0;padding:0 0 0 16px;display:flex;flex-direction:column;gap:6px}.dl-service-card ul li{list-style-type:disc;font-size:14px;color:var(--text)}.dl-service-card p{margin:0 0 10px;font-size:14px;color:var(--text)}.dl-card-leistungen{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:12px 0 8px}.dl-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;margin-bottom:48px;max-width:900px}.dl-step{display:flex;flex-direction:column;gap:8px}.dl-step-number{font-size:28px;color:var(--text);font-weight:700;line-height:1}.dl-step h4{margin:0;font-size:16px}.dl-step p{margin:0;font-size:14px}.dl-cta{display:flex;flex-direction:column;gap:12px;max-width:600px}.dl-cta p{margin:0;font-size:14px;white-space:nowrap}.dl-cta-note{font-size:12px!important;color:#888!important;white-space:nowrap}.dl-cta-button{display:inline-block;align-self:flex-start;padding:10px 16px;background:transparent;color:var(--text);border-radius:4px;cursor:pointer;font-size:14px;text-decoration:none;text-align:center;position:relative}.dl-cta-button:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none;transition:border-color .15s ease-out}.dl-cta-button:hover:before{border-color:var(--primary)}@media screen and (max-width:1024px){.dl-cta p{white-space:normal}#Dienstleistungen{padding:30px 20px}.dl-main-heading{font-size:22px}.dl-services-grid,.dl-steps{grid-template-columns:1fr}.dl-intro{margin-bottom:28px}.dl-sub-heading{font-size:22px;margin-bottom:20px}.dl-intro p,.dl-sub-intro,.dl-service-card h3,.dl-service-card ul li,.dl-step h4,.dl-step p,.dl-cta p,.dl-cta-button{font-size:14px}}.dl-service-card{animation:.12s fade-up-medium ease-out both}.dl-service-card:nth-child(1){animation-delay:.06s}.dl-service-card:nth-child(2){animation-delay:.12s}.dl-service-card:nth-child(3){animation-delay:.18s}.dl-service-card:nth-child(4){animation-delay:.24s}.dl-main-heading,.dl-sub-heading,.dl-intro p{animation:.12s fade-up-medium ease-out both}.dl-main-heading{animation-delay:0s}.dl-sub-heading{animation-delay:.03s}.dl-intro p:nth-child(1){animation-delay:.06s}.dl-intro p:nth-child(2){animation-delay:.09s}#Kontakt{background-color:var(--lighter-gray-background);position:relative;scroll-margin-top:var(--navbar-height);min-height:calc(100vh - 52px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px}@supports (height: 100svh){#Kontakt{min-height:calc(100svh - 52px)}}#Kontakt a{font-size:16px;line-height:24px;display:flex;align-items:center;gap:12px;color:var(--text)}#Kontakt a svg{font-size:24px;line-height:24px}#Kontakt .phone-link{font-weight:500}#Kontakt .phone-text{letter-spacing:.5px}#Kontakt .email-link,#Kontakt .insta-link{font-weight:500}#Kontakt .email-text,#Kontakt .insta-text{letter-spacing:.5px}.contact-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.contact-wrapper>a{padding-left:4px}.booking-form{width:fit-content;background:var(--lighter-gray-background);padding:20px;border-radius:4px;display:flex;flex-direction:column;gap:12px;margin-bottom:20px;position:relative}.booking-form:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none}.booking-form h2{margin:0;font-size:18px;text-align:left;white-space:nowrap}.booking-form .field-group{display:flex;gap:10px}.booking-form input,.booking-form textarea{flex:1;padding:8px;border:2px solid var(--text);border-radius:4px}.booking-form textarea{resize:none;width:100%;box-sizing:border-box;overflow:hidden}.booking-note{margin:0;font-size:12px;color:#888}#Kontakt .booking-btn{display:inline-block;padding:10px 16px;background:transparent;color:var(--text);border-radius:4px;text-decoration:none;font-size:14px;text-align:center;position:relative}#Kontakt .booking-btn:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none;transition:border-color .15s ease-out}#Kontakt .booking-btn:hover:before{border-color:var(--primary)}#Kontakt a:hover svg path{fill:var(--primary)}.booking-form{animation:.12s fade-up-medium 0s ease-out both}.contact-wrapper>a:nth-of-type(1){animation:.12s fade-up-medium .06s ease-out both}.contact-wrapper>a:nth-of-type(2){animation:.12s fade-up-medium .12s ease-out both}@media(max-width:600px){#Kontakt{padding-inline:20px;box-sizing:border-box}.contact-wrapper{width:100%;max-width:100%}.booking-form{width:100%;max-width:100%;box-sizing:border-box}.booking-form h2{white-space:normal}.booking-form .field-group{flex-direction:column}.booking-form .field-group input{width:100%;box-sizing:border-box}.booking-form textarea{min-height:200px}}.loader{width:100%;height:100dvh;position:fixed;z-index:3;background-color:var(--lighter-gray-background);display:flex;align-items:center;justify-content:center;transition:all ease-out .3s}.loader-hide{animation:.5s loading-out .1s ease-out both}.lang-switcher{display:flex;align-items:center;gap:2px;padding-right:11px}.lang-btn{background:none;border:none;cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.06em;color:var(--text);opacity:.4;padding:2px 3px;transition:opacity .15s ease}.lang-btn:hover{opacity:.7}.lang-btn--active{opacity:1;font-weight:700}.lang-sep{font-size:10px;color:var(--text);opacity:.3;pointer-events:none}.navbar{width:100%;box-sizing:border-box;position:fixed;top:0;left:0;background-color:var(--lighter-gray-background);z-index:10003;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.navbar-top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 11px 0 24px;height:50px;position:relative}.navbar-top-bar:after{content:"";position:absolute;bottom:0;left:0;right:0;border-bottom:2px solid var(--text);pointer-events:none}.navbar-actions{display:flex;align-items:center;align-self:stretch;gap:0}.navbar-social{display:none}.navbar .logo,.navbar .hamburger,.navbar .app-logo{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.menu-overlay{position:fixed;top:var(--navbar-height);left:0;right:0;bottom:0;background-color:var(--lighter-gray-background);z-index:10001;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease;display:flex;flex-direction:column}.menu-overlay.layer-top{z-index:10002}.menu-overlay.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.menu-nav{flex:1;display:flex;flex-direction:column;justify-content:space-between;padding:32px 24px;padding-bottom:calc(32px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}.menu-links{display:flex;flex-direction:column;align-items:flex-end;margin:0;padding:0;gap:0}.menu-overlay.is-open .menu-links li{animation:.22s grow-down ease-out both}.menu-overlay.is-open .menu-links li:nth-child(1){animation-delay:.05s}.menu-overlay.is-open .menu-links li:nth-child(2){animation-delay:.09s}.menu-overlay.is-open .menu-links li:nth-child(3){animation-delay:.13s}.menu-overlay.is-open .menu-links li:nth-child(4){animation-delay:.17s}.menu-overlay.is-open .menu-links li:nth-child(5){animation-delay:.21s}.menu-overlay.is-open .menu-links li:nth-child(6){animation-delay:.25s}.menu-links li button{letter-spacing:.1em;text-transform:uppercase;font-size:1.05rem;font-weight:400;padding:11px 0;min-height:44px;display:flex;align-items:center}.navbar a{color:var(--text);transition:color .15s ease-out}.navbar a:hover{color:var(--primary)}.navbar svg path{fill:var(--text);transition:fill .15s ease-out}.navbar svg:hover path{fill:var(--primary)}.navbar button,.menu-overlay button{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:inherit;transition:color .15s ease}.navbar button:hover,.menu-overlay button:hover{color:var(--primary)}.navbar .logo{visibility:hidden;line-height:22px;font-size:22px!important}.navbar .logo svg{font-size:22px;width:22px;height:22px}.navbar .logo.logo-animation{visibility:visible;animation:.3s grow-down 0s ease-out both}.navbar .phone-icon{cursor:pointer}.navbar .app-logo{visibility:hidden;font-size:1.05rem;letter-spacing:.01em;font-weight:400;cursor:pointer;margin:0;transition:color .2s ease}.navbar .app-logo.logo-animation{visibility:visible;animation:.3s grow-down .05s ease-out both}.navbar .app-logo span{font-size:62%;margin-right:1px;vertical-align:top;position:relative;top:-3px}.navbar .app-logo:hover{color:var(--text)}.navbar .app-logo:hover span{color:var(--primary)}.menu-social-links{display:flex;justify-content:flex-end;gap:0;padding-top:20px}.menu-overlay.is-open .menu-social-links{animation:.22s grow-down .3s ease-out both}.menu-social-links a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--text);transition:color .15s ease}.menu-social-links a:hover{color:var(--primary)}.menu-social-links svg path{fill:var(--text);transition:fill .15s ease}.menu-social-links a:hover svg path{fill:var(--primary)}.navbar .navbar-chat-btn{display:flex;align-items:center;align-self:stretch;justify-content:center;flex:0 0 44px;position:relative;visibility:hidden;padding:0;margin:0}.navbar .navbar-chat-btn.logo-animation{visibility:visible;animation:.3s grow-down .05s ease-out both}.navbar .navbar-chat-btn svg{font-size:22px;width:22px;height:22px}.navbar .navbar-chat-btn.is-open{color:var(--primary)}.navbar .hamburger{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:none;padding:0;cursor:pointer;flex:0 0 44px;align-self:stretch;visibility:hidden}.navbar .hamburger.hamburger-animation{visibility:visible;animation:.15s icon-swap 0s ease-out both}.navbar .hamburger .bar{display:block;width:22px;height:2px;min-height:2px;flex-shrink:0;background-color:var(--text);transition:transform .25s ease,opacity .25s ease,background-color .15s ease}.navbar .hamburger:hover .bar{background-color:var(--primary)}.navbar .hamburger.is-open .bar.top{transform:translateY(7px) rotate(45deg)}.navbar .hamburger.is-open .bar.med{opacity:0;transform:scaleX(0)}.navbar .hamburger.is-open .bar.bot{transform:translateY(-7px) rotate(-45deg)}#Portrait{background-color:var(--lighter-gray-background);scroll-margin-top:var(--navbar-height);padding:60px 40px;position:relative;min-height:calc(100vh - var(--navbar-height));box-sizing:border-box}.main-container{max-width:900px;align-items:flex-start;margin:0 auto}.portrait-container{text-align:left;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:20px;align-items:stretch;max-width:900px;margin:0 auto}.box-right{overflow:hidden;min-height:0;position:relative;border-radius:4px}.box-right:before{content:"";position:absolute;inset:0;border:var(--border);border-radius:4px;pointer-events:none;z-index:1}#Portrait img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:4px}.box .Team{display:flex;flex-direction:column;gap:20px}.team-member-name{margin:0 0 12px;font-size:16px}#Portrait .Team p{font-size:14px}.portrait-heading{margin:0;text-align:left}.portrait-description{gap:20px;display:flex;flex-direction:column;margin-top:12px}.portrait-description p{text-align:justify}.portrait-description p,.Team p{margin:0}.cv{padding-top:12px;margin:0;display:flex;flex-direction:column;gap:4px}.cv-row{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:baseline}.cv-row dt{font-size:13px;color:var(--text);opacity:.45;white-space:nowrap;font-weight:400}.cv-row dd{font-size:14px;color:var(--text);margin:0}.box .cv-skills{margin-top:32px;font-size:13px;color:var(--text);line-height:1.7}.contact-link{cursor:pointer;color:var(--primary);display:inline-flex;align-items:center;gap:4px}.portrait-animations .portrait-heading,.portrait-animations .portrait-description p{animation:.35s fade-up-medium 0s ease-out both}.portrait-animations .portrait-heading{animation-delay:.05s}.portrait-animations .portrait-description p:nth-child(1){animation-delay:.1s}.portrait-animations .portrait-description p:nth-child(2){animation-delay:.15s}.portrait-animations .Team:nth-child(1){animation-delay:.2s}.portrait-animations-out .portrait-heading,.portrait-animations-out .portrait-description p{animation:.35s fade-out-down-small 0s ease-out both}.box-animations .Team{animation:.35s fade-up-small 0s ease-out both;animation-delay:.2s}.primary-color{color:var(--text)}.box-animations-out .Team{animation:.35s fade-out-down-small 0s ease-out both}.box p{margin-top:-15px}#Projekte{background-color:var(--light-gray-background);margin:0;box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:15px;padding:60px 20px;scroll-margin-top:var(--navbar-height);align-content:start}.column{display:flex;flex-direction:column;gap:inherit}.project-card{display:flex;flex-direction:column;cursor:pointer;opacity:0;min-width:0;background:linear-gradient(90deg,var(--lighter-gray-background) 25%,#e4e4e4 50%,var(--lighter-gray-background) 75%);background-size:300% 100%;animation:skeleton-shimmer 1.4s ease infinite}.image-overlay-container{display:block;width:100%;position:relative;border-radius:4px 4px 0 0;overflow:hidden}.image-overlay-container:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-bottom:none;border-radius:4px 4px 0 0;pointer-events:none;z-index:2;transition:border-color .15s ease-out}#Projekte img{width:100%;display:block;object-fit:cover}@media(min-width:1025px){#Projekte .project-card:hover .image-overlay-container:before{border-color:var(--primary)}#Projekte .project-card:hover .project-title-box:before{border-color:var(--primary)}}@media(max-width:1024px){#Projekte .project-card.is-top .image-overlay-container:before{border-color:var(--primary)}#Projekte .project-card.is-top .project-title-box:before{border-color:var(--primary)}}.project-title-box{position:relative;background-color:var(--light-gray-background);border-radius:0 0 4px 4px}.project-title-box:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:0 0 4px 4px;pointer-events:none;transition:border-color .15s ease-out}#Projekte .project-title-box .project-title{display:block;padding:7px 12px;font-size:13px;color:var(--text);text-align:left;white-space:normal;word-break:break-word}.projekte-animations .project-card{opacity:1;animation-name:fade-up-medium,skeleton-shimmer;animation-duration:.35s,1.4s;animation-delay:var(--animation-delay, 0s),0s;animation-timing-function:ease-out,ease;animation-fill-mode:both,none;animation-iteration-count:1,infinite}.projekte-animations-out .project-card{opacity:0;animation:.35s fade-out-down-small 0s ease-out both}.project-page{padding-top:var(--navbar-height);min-height:100vh;background-color:var(--light-gray-background);overflow-x:hidden}.project-drawer-content{background-color:var(--light-gray-background);width:100%;position:relative}.project-drawer-content .slider{position:relative}.project-drawer-content .back-button{display:flex;align-items:center;gap:8px;cursor:pointer;position:fixed;top:calc(var(--navbar-height) + 12px);left:16px;z-index:10000}.project-drawer-content .back-button span{font-size:16px}.project-drawer-content .back-button{font-size:25px;transition:all ease-out .25s}.project-drawer-content .back-button path{transition:all ease-out .25s;fill:var(--primary)}.project-drawer-content .back-button:hover path{fill:var(--primary)}.project-drawer-content .drawer-arrows{font-size:30px;position:absolute;z-index:9999;cursor:pointer}.project-drawer-content .drawer-arrows path{transition:all ease-out .25s;fill:var(--text)}.project-drawer-content .drawer-arrows:hover path{fill:var(--primary)}.project-drawer-content .scroll-hint{display:flex;justify-content:center;align-items:center;min-height:52px;cursor:pointer;background-color:var(--light-gray-background)}.project-drawer-content .scroll-hint-icon{font-size:28px!important;animation:bounce-hint 2s ease-in-out 1.8s infinite}.project-drawer-content .scroll-hint-icon path{fill:var(--text);transition:fill .15s ease-out}.project-drawer-content .scroll-hint:hover .scroll-hint-icon path{fill:var(--primary)}.project-drawer-content.drawer-exiting .scroll-hint{opacity:0;transition:opacity .05s}@keyframes bounce-hint{0%,60%,to{transform:translateY(0)}30%{transform:translateY(5px)}}.project-drawer-content .prev-arrow{font-size:30px;left:12px;top:50%;transform:translateY(-50%)}.project-drawer-content .next-arrow{font-size:30px;right:12px;top:50%;transform:translateY(-50%)}.slide-dots{display:flex;justify-content:center;align-items:center;gap:7px;height:40px;background-color:var(--light-gray-background)}.slide-dot{width:7px;height:7px;border-radius:50%;background-color:transparent;border:var(--border);cursor:pointer;transition:background-color .2s ease,transform .2s ease,border-color .2s ease}.slide-dot.active{border-color:var(--primary);transform:scale(1.25)}.project-drawer-text{background-color:var(--lighter-gray-background);position:relative;display:flex;flex-direction:column;text-align:left;padding:40px;margin-top:30px;gap:20px}.project-drawer-text:before{content:"";position:absolute;top:0;left:0;right:0;border-top:var(--border);pointer-events:none}.project-drawer-text-desc{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.project-drawer-text-desc>p{margin-top:0}.project-drawer-text h1{font-size:28px;color:var(--text)}.project-meta{display:grid;grid-template-columns:auto 1fr;gap:0 10px;margin:0}.project-meta dt{font-weight:700;white-space:nowrap}.project-meta dt:after{content:":"}.project-meta dd{margin:0}.related-projects{background-color:var(--lighter-gray-background);padding:30px 40px 40px;position:relative}.related-arrow{display:none!important}@media(min-width:1025px){.related-arrow{display:block!important;position:absolute;top:50%;transform:translateY(-50%);font-size:30px!important;cursor:pointer;z-index:10;transition:all ease-out .25s}.related-arrow path{fill:var(--text);transition:fill .25s ease-out}.related-arrow:hover path{fill:var(--primary)}.related-arrow--prev{left:8px}.related-arrow--next{right:8px}.related-arrow.swiper-button-disabled{opacity:.2;cursor:default}}.related-projects:before{content:"";position:absolute;top:0;left:0;right:0;border-top:var(--border);pointer-events:none}.related-projects-title{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 16px;font-weight:400;text-align:left}.related-projects-swiper{width:100%;overflow:visible}.related-project-slide{width:220px!important;flex-shrink:0}.related-project-card{display:flex;flex-direction:column;gap:0;cursor:pointer;background:none;border:2px solid var(--text);border-radius:4px;overflow:hidden;padding:0;width:100%;text-align:left;transition:border-color .15s ease-out}.related-project-img{width:100%;aspect-ratio:4 / 3;overflow:hidden}.related-project-img img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.related-projects-swiper .swiper-slide-active .related-project-card{border-color:var(--primary)}@media(min-width:1025px){.related-project-card:hover{border-color:var(--primary)}}.related-project-name{display:block;font-size:13px;color:var(--text);padding:7px 12px;background-color:var(--light-gray-background);border-top:var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-drawer-content .mySwiper .swiper-slide .swiper-zoom-container{width:100%;height:calc(100vh - var(--navbar-height) - 92px);height:calc(100svh - var(--navbar-height) - 92px)}.project-drawer-content .mySwiper .swiper-slide img{width:100%;height:100%;object-fit:contain}@supports not (height: 100svh){.project-drawer-content .mySwiper .swiper-slide .swiper-zoom-container{height:calc(100vh - var(--navbar-height) - 92px)}}@media screen and (max-width:1024px){.navbar .hamburger .bar{width:24px}.navbar .app-logo{font-size:16px;min-height:44px}#Aktuell h4{font-size:20px}#arrow{font-size:24px}#Projekte{grid-template-columns:1fr 1fr;align-items:start}.project-drawer-content .mySwiper .swiper-slide img{width:100%;height:calc(100svh - var(--navbar-height) - 92px);min-height:calc(100svh - var(--navbar-height) - 92px);max-height:calc(100svh - var(--navbar-height) - 92px);margin:0}.project-drawer-content .drawer-arrows,.project-drawer-content .close-button{font-size:24px}.project-drawer-content .prev-arrow,.project-drawer-content .next-arrow{display:none}.project-drawer-content .scroll-hint{min-height:52px}.project-drawer-text{padding-inline:20px;margin-top:0}.related-projects{padding-inline:20px}.project-drawer-text h1{font-size:22px}.project-drawer-text-desc{grid-template-columns:1fr;gap:0px}.portrait-container{grid-template-columns:1fr;grid-auto-rows:auto;gap:24px}.portrait-heading{font-size:22px;margin-bottom:20px}.box-right{order:-1;aspect-ratio:3 / 4;max-height:55vh;margin:0}#Portrait img{width:100%;height:100%}.box-middle{margin:0}.portrait-description p{font-size:15px;text-align:left}.team-member-name{font-size:16px;margin-bottom:5px}.box p{font-size:14px;margin-top:0}.cv{padding-top:8px}.cv-row{grid-template-columns:80px 1fr}#Portrait{padding:30px 20px}form input,form textarea,.button{width:100%;box-sizing:border-box}footer p{font-size:20px}.Impressum-Inhalt{padding:50px 20px}.Impressum-Inhalt h4{font-size:16px}.Impressum-Inhalt p{font-size:14px}#Kontakt a,.booking-form h2,.booking-form input,.booking-form textarea,.booking-form label,.booking-form button{font-size:16px}}@media screen and (max-width:480px){#Projekte{grid-template-columns:1fr}.project-drawer-text{padding-inline:16px}.project-drawer-text h1{font-size:20px}}:root{--primary: #d00055;--text: #494949;--light-gray-background: #f3f3f3;--lighter-gray-background: #f9f9f9;--border: 2px solid var(--text);--navbar-height: calc(50px + env(safe-area-inset-top, 0px)) ;--shadow: rgba(100, 100, 111, .2) 0px 7px 29px 0px}.chatbot-container{position:fixed;top:var(--navbar-height);right:0;z-index:10001}.chatbot-container.layer-top{z-index:10002}@media(max-width:480px){.chatbot-container{left:0;bottom:var(--keyboard-height, 0px);pointer-events:none}.chatbot-window{pointer-events:auto}}.chatbot-window{width:340px;height:460px;background-color:var(--lighter-gray-background);border:var(--border);border-top:none;border-right:none;border-radius:0 0 0 4px;display:flex;flex-direction:column;box-shadow:var(--shadow);animation:chatbot-open .2s ease-out;overflow:hidden}@keyframes chatbot-open{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.chatbot-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:var(--border);background-color:var(--light-gray-background);flex-shrink:0}.chatbot-title{font-size:13px;color:var(--text);letter-spacing:.06em;text-transform:uppercase}.chatbot-header-actions{display:flex;align-items:center;gap:4px}.chatbot-clear{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;color:var(--text);transition:color .15s ease;opacity:.5}.chatbot-clear:hover{color:var(--primary);opacity:1}.chatbot-clear svg{font-size:18px!important}.chatbot-close{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;color:var(--text);transition:color .15s ease}.chatbot-close:hover{color:var(--primary)}.chatbot-close svg{font-size:20px!important}.chatbot-messages{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:10px;scrollbar-width:none}.chatbot-messages::-webkit-scrollbar{display:none}.chatbot-message{max-width:86%;padding:10px 13px;border-radius:4px;align-self:flex-start}.chatbot-message p{margin:0;font-size:13px;line-height:1.55;white-space:pre-wrap;text-align:left;color:var(--text)}.chatbot-message--assistant{background-color:var(--light-gray-background);border:var(--border)}.chatbot-message--user{background:transparent;border:2px solid var(--primary);align-self:flex-end}.chatbot-typing{display:flex;gap:5px;align-items:center;padding:3px 0}.chatbot-typing span{width:6px;height:6px;border-radius:50%;background-color:var(--text);animation:chatbot-bounce 1.2s ease-in-out infinite}.chatbot-typing span:nth-child(2){animation-delay:.2s}.chatbot-typing span:nth-child(3){animation-delay:.4s}@keyframes chatbot-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.chatbot-input-area{display:flex;align-items:flex-start;gap:8px;padding:12px 24px;border-top:var(--border);background-color:var(--light-gray-background);flex-shrink:0}.chatbot-input-wrapper{flex:1}.chatbot-send-col{display:flex;flex-direction:column;align-items:center;gap:12px}.chatbot-word-count{font-size:11px;color:#aaa;line-height:1;white-space:nowrap;transition:color .15s ease}.chatbot-word-count--warn{color:var(--primary)}.chatbot-input{width:100%;box-sizing:border-box;resize:none;border:2px solid var(--text);background-color:var(--lighter-gray-background);padding:8px 12px;font-size:13px;font-family:inherit;color:var(--text);border-radius:4px;outline:none;line-height:1.4;height:auto;min-height:36px;max-height:120px;overflow-y:auto;transition:border-color .15s ease}.chatbot-input:focus{border-color:var(--primary)}.chatbot-input:disabled{opacity:.6}.chatbot-send{width:36px;height:36px;background:transparent;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:color .15s ease-out;color:var(--text)}.chatbot-send:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none;transition:border-color .15s ease-out}.chatbot-send:hover:not(:disabled){color:var(--primary)}.chatbot-send:hover:not(:disabled):before{border-color:var(--primary)}.chatbot-send:disabled{opacity:.3;cursor:not-allowed}.chatbot-send svg{font-size:16px!important}.chatbot-action-btn{display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px;padding:7px 12px;border-radius:4px;font-size:12px;font-family:inherit;text-decoration:none;cursor:pointer;color:var(--text);background:transparent;border:none;position:relative;transition:color .15s ease-out}.chatbot-action-btn:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none;transition:border-color .15s ease-out}.chatbot-action-btn svg{font-size:15px!important;flex-shrink:0}.chatbot-action-btn:hover{color:var(--primary)}.chatbot-action-btn:hover:before{border-color:var(--primary)}.chatbot-action-btn--intern:before{border-color:var(--primary);opacity:.6}.chatbot-action-btn--intern:hover{color:var(--primary)}.chatbot-action-btn--intern:hover:before{opacity:1}@media(max-width:480px){.chatbot-window{width:100%;height:100%;max-height:100%;border-radius:0;border-left:none}}#HaeufigeFragen{background-color:var(--light-gray-background);scroll-margin-top:var(--navbar-height);padding:60px 40px}.faq-inner{max-width:760px;margin:0 auto;text-align:left}.faq-heading{margin:0 0 12px;font-size:32px}.faq-sub{margin:0 0 40px;font-size:14px;color:#888}.faq-list{display:flex;flex-direction:column}.faq-item{border-top:1px solid #d0d0d0}.faq-item:last-child{border-bottom:1px solid #d0d0d0}.faq-question{width:100%;background:none;border:none;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;text-align:left;font-size:14px;font-family:inherit;color:var(--text);font-weight:700}.faq-question:hover .faq-icon{color:var(--primary)}.faq-icon{font-size:20px;font-weight:300;flex-shrink:0;color:var(--text);line-height:1;transition:color .15s ease}.faq-item--open .faq-icon{color:var(--primary)}.faq-answer-block{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.faq-answer{margin:0;font-size:13px;line-height:1.75;color:var(--text);max-width:680px}.faq-contact-link{align-self:flex-start;background:none;border:none;padding:0;font-size:13px;font-family:inherit;color:var(--primary);cursor:pointer;text-decoration:none;transition:opacity .15s ease}.faq-contact-link:hover{opacity:.7}.faq-item{animation:.12s fade-up-medium ease-out both}.faq-item:nth-child(1){animation-delay:.04s}.faq-item:nth-child(2){animation-delay:.08s}.faq-item:nth-child(3){animation-delay:.12s}.faq-item:nth-child(4){animation-delay:.16s}.faq-item:nth-child(5){animation-delay:.2s}.faq-item:nth-child(6){animation-delay:.24s}@media(max-width:600px){#HaeufigeFragen{padding:30px 20px}.faq-heading{font-size:22px}.faq-question{font-size:13px}}#Hypothekenrechner{background-color:var(--light-gray-background);scroll-margin-top:var(--navbar-height);padding:60px 40px}.hypo-inner{max-width:960px;margin:0 auto;text-align:left}.hypo-heading{margin:0 0 8px;font-size:32px;color:var(--text)}.hypo-subtitle{margin:0 0 40px;font-size:14px;color:var(--text);opacity:.6}.hypo-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.hypo-inputs{display:flex;flex-direction:column;gap:28px}.hypo-field{display:flex;flex-direction:column;gap:6px}.hypo-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text)}.hypo-input-box{display:flex;align-items:center;border:2px solid var(--text);border-radius:4px;overflow:hidden;background:var(--lighter-gray-background);transition:border-color .15s ease}.hypo-input-box:focus-within{border-color:var(--primary)}.hypo-input-box--warn{border-color:var(--primary)}.hypo-input{flex:1;border:none;padding:8px 12px;font-size:14px;font-family:inherit;color:var(--text);background:transparent;outline:none;box-sizing:border-box;min-width:0}.hypo-unit{padding:0 12px;font-size:13px;color:var(--text);opacity:.5;border-left:1px solid rgba(73,73,73,.2);white-space:nowrap;flex-shrink:0;line-height:38px}.hypo-range{width:100%;accent-color:var(--text);cursor:pointer;margin:2px 0 0}.hypo-range--warn{accent-color:var(--primary)}.hypo-range-label{font-size:13px;color:var(--text);opacity:.7}.hypo-hint{font-size:11px;color:var(--text);opacity:.5;line-height:1.4}.hypo-warn{color:var(--primary)}.hypo-rates{display:flex;flex-direction:column;gap:6px}.hypo-rates-loading{font-size:13px;color:var(--text);opacity:.4}.hypo-rate-btn{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:transparent;border:none;border-radius:4px;cursor:pointer;font-family:inherit;font-size:13px;color:var(--text);text-align:left;position:relative;transition:color .15s ease}.hypo-rate-btn:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none;opacity:.3;transition:opacity .15s ease,border-color .15s ease}.hypo-rate-btn:hover:before{opacity:.6}.hypo-rate-btn--active:before{border-color:var(--primary);opacity:1}.hypo-rate-btn--active{color:var(--primary)}.hypo-rate-label{font-size:13px}.hypo-rate-value{font-size:14px;font-weight:600}.hypo-results{position:relative;padding:28px;border-radius:4px;background:var(--lighter-gray-background)}.hypo-results:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none}.hypo-results-title{font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text);margin:0 0 16px;padding:0}.hypo-result-rows{display:flex;flex-direction:column;gap:10px}.hypo-result-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:var(--text)}.hypo-result-row span:first-child{opacity:.7}.hypo-result-row--total{font-size:16px;font-weight:600;padding-top:10px;border-top:1px solid rgba(73,73,73,.2)}.hypo-result-row--total span:first-child{opacity:1}.hypo-divider{height:1px;background:#49494926;margin:20px 0}.hypo-tragbar{display:inline-block;padding:6px 14px;border-radius:4px;font-size:13px;font-weight:600;margin-bottom:16px;position:relative}.hypo-tragbar:before{content:"";position:absolute;inset:0;border:2px solid;border-radius:4px;pointer-events:none}.hypo-tragbar--ok{color:#2a7a2a}.hypo-tragbar--ok:before{border-color:#2a7a2a}.hypo-tragbar--nok{color:var(--primary)}.hypo-tragbar--nok:before{border-color:var(--primary)}.hypo-burden-info{font-size:11px;color:var(--text);opacity:.5;margin:8px 0 0}.hypo-disclaimer{font-size:11px;color:var(--text);opacity:.5;line-height:1.5;margin:0}.hypo-cta{margin-top:20px;display:flex;flex-direction:column;gap:10px}.hypo-cta p{margin:0;font-size:13px;color:var(--text)}.hypo-cta-btn{display:inline-block;align-self:flex-start;padding:10px 16px;background:transparent;color:var(--text);border-radius:4px;font-size:14px;text-decoration:none;position:relative;transition:color .15s ease}.hypo-cta-btn:before{content:"";position:absolute;inset:0;border:2px solid var(--text);border-radius:4px;pointer-events:none;transition:border-color .15s ease}.hypo-cta-btn:hover{color:var(--primary)}.hypo-cta-btn:hover:before{border-color:var(--primary)}@media(min-width:1025px){.hypo-results{margin-top:23px}}@media(max-width:1024px){#Hypothekenrechner{padding:30px 20px}.hypo-heading{font-size:22px}.hypo-grid{grid-template-columns:1fr;gap:32px}}
