:root{--body-bg:#10151b;--text-color:#212529;--navbar-bg:#1565c0;--navbar-color:#e3f2fd;--card-bg:#e7f1ff;--card-color:#212529;--modal-bg:#ffffff;--modal-color:#212529;--section-shadow:rgba(0, 0, 0, 0.1);--secondary-text:#6c757d;--border-color:#dee2e6;--header-bg:linear-gradient(135deg, #85d0ffcc 60%, #1565c0 100%);--header-color:#212529;--primary-color:#1565c0;--primary-color-light:#e3f2fd;--btn-close-filter:none}[data-theme=dark]{--body-bg:#ffffff;--text-color:#e3f2fd;--navbar-bg:#1565c0;--navbar-color:#e3f2fd;--card-bg:#222c38;--card-color:#e3f2fd;--modal-bg:#18202a;--modal-color:#e3f2fd;--section-shadow:rgba(0, 0, 0, 0.5);--secondary-text:#adb5bd;--border-color:#444444;--header-bg:linear-gradient(135deg, #222c38 60%, #1565c0 100%);--header-color:#e3f2fd;--primary-color:#90caf9;--primary-color-light:#263238;--btn-close-filter:invert(1)}.btn,.card,.modal,.navbar,body,nav,section,svg rect{transition:all .3s cubic-bezier(.4, 0, .2, 1)}body{background-color:var(--body-bg);color:var(--text-color);font-family:"Segoe UI",Tahoma,Geneva,Verdana,sans-serif}.fullpage-flex{padding:0!important;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;background-color:#f6f8fc}.fullpage-main{flex-grow:1}.fullpage-footer{margin-top:auto}.navbar{background-color:var(--navbar-bg);position:sticky;top:0;z-index:2000}.navbar-logo{max-height:60px}.navbar-brand{color:var(--navbar-color)!important;font-weight:700;letter-spacing:1px;font-size:1.5rem;text-shadow:0 2px 8px #0001}.nav-link{color:var(--navbar-color)!important;font-weight:500;font-size:1.08rem;margin-left:.5rem;margin-right:.5rem;border-radius:.4rem;transition:background .2s,color .2s}.nav-link.active,.nav-link:focus,.nav-link:hover{color:var(--header-color)!important;background:var(--primary-color-light)}.navbar-toggler{border-color:var(--navbar-color)}.navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.theme-toggle{background-color:var(--modal-bg);border:none;cursor:pointer;padding:.5rem;font-size:1.2rem;display:flex;align-items:center;justify-content:center;color:var(--navbar-color)}.theme-toggle:hover{background-color:var(--text-color)}section{padding:4rem!important}.card{background-color:var(--card-bg);color:var(--card-color);transition:transform .3s cubic-bezier(.4, 0, .2, 1),box-shadow .3s cubic-bezier(.4, 0, .2, 1);border-color:var(--border-color);border-radius:1rem;box-shadow:0 8px 40px 0 #1565c0cc,0 1.5px 0 #fff4 inset!important}.card:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 8px 32px var(--primary-color)}.card-title{color:var(--primary-color);font-weight:600}.card-text{color:var(--secondary-text)!important}.modal-content{background-color:var(--modal-bg)!important;color:var(--modal-color)!important;border-radius:1rem;box-shadow:0 4px 32px var(--section-shadow)}.btn-close{filter:var(--btn-close-filter)}.reference-card{object-fit:cover;height:220px;transition:transform .18s,box-shadow .18s}.reference-card:hover{transform:translateY(-6px) scale(1.03);box-shadow:0 8px 32px var(--primary-color)}.contact-info{margin-top:1rem;background:var(--card-bg);color:var(--text-color);border-radius:1rem;box-shadow:0 8px 32px var(--primary-color)}.contact-info p{margin-bottom:.5rem}.theme-svg .svg-rect-bg{fill:var(--primary-color-light);stroke:var(--primary-color)}.theme-svg .svg-rect{fill:var(--primary-color)}.text-secondary{color:var(--secondary-text)!important}.text-primary{color:var(--primary-color)!important}.text-dark{color:var(--text-color)!important}.shadow{box-shadow:0 .5rem 1rem var(--section-shadow)!important}.shadow-sm{box-shadow:0 .125rem .25rem var(--section-shadow)!important}.btn-primary{background-color:var(--primary-color);border-color:var(--primary-color)}.bg-light{background-color:var(--card-bg)!important}.about-section{background:#f6f8fc;border-top:2px solid #000}.services-section{background:#e3f2fd;border-top:2px solid #000}.references-section{background:#d6ecf8;border-top:2px solid #000}.contact-section{background:#e1e7f9;border-top:2px solid #000}[data-theme=dark] .about-section{background:#232b39;border-top:2px solid #fff}[data-theme=dark] .services-section{background:#1b263b;border-top:2px solid #fff}[data-theme=dark] .references-section{background:#223c4a;border-top:2px solid #fff}[data-theme=dark] .contact-section{background:#232b58;border-top:2px solid #fff}.list-group-item[style*="border: none"]{border:none!important}.img-shadow-rounded{border-radius:var(--bs-border-radius);box-shadow:var(--bs-box-shadow)}@media (max-width:768px){section{padding:2rem 1rem!important}.reference-card img{height:140px}}nav{min-height:8vh}#hero-reference{height:92vh;width:100%;position:relative;background:#222;overflow:hidden}.hero-img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.7;transition:transform 8s cubic-bezier(.4, 0, .2, 1)}.hero-caption{position:relative;z-index:2;padding-top:30vh;padding-bottom:10vh;text-shadow:0 2px 8px #000a}@media (max-width:768px){#hero-reference{height:90vh}nav{min-height:10vh}.hero-caption{padding-top:20vh;padding-bottom:5vh}.hero-caption h1{font-size:2rem}.hero-caption p{font-size:1rem}}@media (max-width:411px){.wintergarten{font-size:1.6rem!important}}@media (max-width:1210px){.wintergarten{font-size:2.2rem}}.fix-for-you{font-style:normal;transform:rotate(-5deg);display:inline-block;font-size:2rem;letter-spacing:.03em;color:#fff;text-shadow:0 2px 8px #000a}.fix-for-you{opacity:0;transform:translateY(40px) rotate(0);animation:fixforyou-fadein-rotate 1.6s cubic-bezier(.4,0,.2,1) .5s forwards}@keyframes fixforyou-fadein-rotate{0%{opacity:0;transform:translateY(40px) rotate(0)}60%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:1;transform:translateY(0) rotate(-8deg)}}.carousel-indicators.custom-indicators{position:absolute;left:1.5rem;bottom:1.5rem;right:auto;top:auto;margin-left:0;margin-right:0;z-index:10;justify-content:flex-start}.carousel-controls-custom .carousel-control-next,.carousel-controls-custom .carousel-control-prev{position:static;width:2.5rem;height:2.5rem;background:linear-gradient(90deg,var(--primary-color) 60%,#42a5f5 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;border:none;box-shadow:0 2px 12px #1565c055,0 1.5px 0 #fff2 inset;color:#fff;cursor:pointer;overflow:hidden;transition:background .25s cubic-bezier(.4, 0, .2, 1),box-shadow .25s cubic-bezier(.4, 0, .2, 1),color .18s,transform .22s cubic-bezier(.4, 0, .2, 1);will-change:transform,box-shadow;perspective:400px}.carousel-controls-custom .carousel-control-next:focus,.carousel-controls-custom .carousel-control-next:hover,.carousel-controls-custom .carousel-control-prev:focus,.carousel-controls-custom .carousel-control-prev:hover{transform:translateY(-6px) scale(1.08) rotateX(8deg);box-shadow:0 8px 32px 0 #42a5f5cc,0 0 24px 2px #fff8,0 1.5px 0 #fff4 inset;background:linear-gradient(90deg,var(--primary-color) 60%,#90caf9 100%);color:#fff;filter:brightness(1.08) drop-shadow(0 0 8px #90caf9cc)}.carousel-controls-custom .carousel-control-next:active,.carousel-controls-custom .carousel-control-prev:active{transform:translateY(-2px) scale(.98) rotateX(2deg);box-shadow:0 2px 16px 0 #1565c0aa,0 0 8px 1px #fff6,0 1.5px 0 #fff2 inset;filter:brightness(1.12) drop-shadow(0 0 12px #42a5f5cc)}[data-theme=dark] .carousel-controls-custom .carousel-control-next,[data-theme=dark] .carousel-controls-custom .carousel-control-prev{background:linear-gradient(90deg,#1976d2 60%,#42a5f5 100%)!important;color:#fff!important;border-color:#42a5f5!important;text-shadow:0 2px 8px #000b;filter:brightness(1.08) drop-shadow(0 0 8px #42a5f5cc)}[data-theme=dark] .carousel-controls-custom .carousel-control-next:hover,[data-theme=dark] .carousel-controls-custom .carousel-control-prev:hover{background:linear-gradient(90deg,#42a5f5 60%,#90caf9 100%)!important;color:#222!important;text-shadow:0 2px 8px #fff8;filter:brightness(1.12) drop-shadow(0 0 12px #90caf9cc)}[data-theme=dark] .carousel-controls-custom .carousel-control-next:active,[data-theme=dark] .carousel-controls-custom .carousel-control-prev:active{background:#1565c0!important;color:#fff!important;filter:brightness(1.18) drop-shadow(0 0 16px #42a5f5cc)}.carousel-controls-custom .carousel-control-next::after,.carousel-controls-custom .carousel-control-prev::after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;background:rgba(255,255,255,.35);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:width .4s cubic-bezier(.4, 0, .2, 1),height .4s cubic-bezier(.4, 0, .2, 1),opacity .4s;opacity:0;z-index:1}.carousel-controls-custom .carousel-control-next:active::after,.carousel-controls-custom .carousel-control-prev:active::after{width:180%;height:180%;opacity:1;transition:0s}.carousel-control-next-icon,.carousel-control-prev-icon{filter:drop-shadow(0 2px 8px #1565c0cc);width:1.5rem;height:1.5rem;z-index:2}@media (max-width:600px){.carousel-controls-custom .carousel-control-next,.carousel-controls-custom .carousel-control-prev{width:2rem;height:2rem}.carousel-control-next-icon,.carousel-control-prev-icon{width:1.1rem;height:1.1rem}}.carousel-indicators [data-bs-target]{width:.95rem;height:.95rem;border-radius:50%;background:linear-gradient(120deg,#e3f2fd 60%,#42a5f5 100%);box-shadow:0 2px 8px #1565c055,0 1.5px 0 #fff2 inset;border:1.5px solid #42a5f5;opacity:.85;margin:0 .22rem;transition:background .22s cubic-bezier(.4, 0, .2, 1),box-shadow .22s cubic-bezier(.4, 0, .2, 1),transform .18s cubic-bezier(.4, 0, .2, 1),opacity .18s cubic-bezier(.4, 0, .2, 1);will-change:transform,box-shadow;position:relative;overflow:hidden}.carousel-indicators [data-bs-target]:focus,.carousel-indicators [data-bs-target]:hover{transform:scale(1.18) translateY(-2px);box-shadow:0 6px 18px #42a5f5cc,0 0 8px 1px #fff6,0 1.5px 0 #fff4 inset;background:linear-gradient(120deg,#42a5f5 60%,#90caf9 100%);opacity:1}.carousel-indicators [data-bs-target]:active{transform:scale(.96) translateY(1px);box-shadow:0 2px 8px #1565c0aa,0 0 4px 1px #fff3,0 1.5px 0 #fff2 inset;background:#42a5f5;opacity:1}.carousel-indicators .active{background:linear-gradient(120deg,#1565c0 60%,#42a5f5 100%);box-shadow:0 6px 18px #1565c0cc,0 0 8px 1px #fff8,0 1.5px 0 #fff4 inset;opacity:1;border-color:#1565c0}[data-theme=dark] .carousel-indicators [data-bs-target]{background:linear-gradient(120deg,#263238 60%,#42a5f5 100%);border-color:#42a5f5;box-shadow:0 2px 8px #1565c099,0 1.5px 0 #fff1 inset}[data-theme=dark] .carousel-indicators [data-bs-target]:focus,[data-theme=dark] .carousel-indicators [data-bs-target]:hover{background:linear-gradient(120deg,#42a5f5 60%,#90caf9 100%);box-shadow:0 6px 18px #90caf9cc,0 0 8px 1px #fff6,0 1.5px 0 #fff4 inset}[data-theme=dark] .carousel-indicators [data-bs-target]:active{background:#42a5f5;box-shadow:0 2px 8px #42a5f5aa,0 0 4px 1px #fff3,0 1.5px 0 #fff2 inset}[data-theme=dark] .carousel-indicators .active{background:linear-gradient(120deg,#1976d2 60%,#42a5f5 100%);box-shadow:0 6px 18px #42a5f5cc,0 0 8px 1px #fff8,0 1.5px 0 #fff4 inset;border-color:#42a5f5}.carousel-indicators [data-bs-target]::after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;background:rgba(255,255,255,.35);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:width .4s cubic-bezier(.4, 0, .2, 1),height .4s cubic-bezier(.4, 0, .2, 1),opacity .4s;opacity:0;z-index:1}.carousel-indicators [data-bs-target]:active::after{width:180%;height:180%;opacity:1;transition:0s}.carousel-item .hero-img{transform:scale(1)}.carousel-item.active .hero-img{transform:scale(1.2)}.carousel-controls-custom{position:absolute;right:1.5rem;bottom:1.5rem;display:flex;gap:.5rem}.reference-card img{width:100%;height:220px;object-fit:cover;object-position:center;border-radius:1rem}@media (max-width:768px){.reference-card .img{height:160px}}.reference-main{background-color:#fff;color:#212529}[data-theme=dark] .reference-main{background-color:#10151b;color:#e3f2fd}.section-divider{border-top:2px solid #000}[data-theme=dark] .section-divider{border-top:2px solid #fff}@media (max-width:768px){.section-divider{margin-top:2.5rem!important;margin-bottom:2.5rem!important}.sticky-balso-nav,.sticky-mosquito-nav{top:90px!important}}@media (max-width:600px){#referenceCarousel .carousel-control-next-icon,#referenceCarousel .carousel-control-prev-icon{width:20px!important;height:20px!important}#referenceCarousel .carousel-control-next,#referenceCarousel .carousel-control-prev{min-width:32px!important;min-height:32px!important;width:32px!important;height:32px!important}}.services-section img{max-height:220px;width:auto;object-fit:cover;margin-bottom:1rem}@media (max-width:768px){.services-section img{max-height:150px}}.btn,.btn-outline-primary,.btn-primary{position:relative;overflow:hidden;box-shadow:0 2px 12px #1565c055,0 1.5px 0 #fff2 inset;transition:background .25s cubic-bezier(.4, 0, .2, 1),box-shadow .25s cubic-bezier(.4, 0, .2, 1),color .18s,transform .22s cubic-bezier(.4, 0, .2, 1);will-change:transform,box-shadow;perspective:400px}.btn-outline-primary:hover,.btn-primary:hover,.btn:focus,.btn:hover{transform:translateY(-6px) scale(1.04) rotateX(8deg);box-shadow:0 8px 32px 0 #42a5f5cc,0 0 24px 2px #fff8,0 1.5px 0 #fff4 inset;background:linear-gradient(90deg,var(--primary-color) 60%,#42a5f5 100%);color:#fff!important;filter:brightness(1.08) drop-shadow(0 0 8px #90caf9cc)}.btn-outline-primary:active,.btn-primary:active,.btn:active{transform:translateY(-2px) scale(.98) rotateX(2deg);box-shadow:0 2px 16px 0 #1565c0aa,0 0 8px 1px #fff6,0 1.5px 0 #fff2 inset;filter:brightness(1.12) drop-shadow(0 0 12px #42a5f5cc)}[data-theme=dark] .btn,[data-theme=dark] .btn-outline-primary,[data-theme=dark] .btn-primary{background:linear-gradient(90deg,#1976d2 60%,#42a5f5 100%)!important;color:#fff!important;border-color:#42a5f5!important;text-shadow:0 2px 8px #000b;filter:brightness(1.08) drop-shadow(0 0 8px #42a5f5cc)}[data-theme=dark] .btn-outline-primary:hover,[data-theme=dark] .btn-primary:hover,[data-theme=dark] .btn:hover{background:linear-gradient(90deg,#42a5f5 60%,#90caf9 100%)!important;color:#222!important;text-shadow:0 2px 8px #fff8;filter:brightness(1.12) drop-shadow(0 0 12px #90caf9cc)}[data-theme=dark] .btn-outline-primary:active,[data-theme=dark] .btn-primary:active,[data-theme=dark] .btn:active{background:#1565c0!important;color:#fff!important;filter:brightness(1.18) drop-shadow(0 0 16px #42a5f5cc)}.card,.reference-card{position:relative;overflow:visible;background:linear-gradient(120deg,#fafdff 80%,#e3f2fd 100%);box-shadow:0 8px 40px 0 #1565c0cc,0 1.5px 0 #fff4 inset!important;border:1.5px solid #e3f2fd;filter:drop-shadow(0 2px 8px #90caf933) brightness(1.03);color:var(--card-color);border-radius:1rem;transition:background .25s cubic-bezier(.4, 0, .2, 1),box-shadow .25s cubic-bezier(.4, 0, .2, 1),color .18s,transform .22s cubic-bezier(.4, 0, .2, 1),opacity .7s cubic-bezier(.4, 0, .2, 1);will-change:transform,box-shadow;perspective:400px}[data-theme=dark] .card,[data-theme=dark] .reference-card{background:linear-gradient(120deg,#232b39 80%,#263238 100%);box-shadow:0 4px 32px 0 #1565c099,0 1.5px 0 #fff1 inset;border:1.5px solid #263238;filter:drop-shadow(0 2px 8px #1565c033) brightness(1.08);color:var(--card-color)}.card,.reference-card{transition:box-shadow .25s cubic-bezier(.4, 0, .2, 1),transform .25s cubic-bezier(.4, 0, .2, 1)}.card{will-change:transform,box-shadow}.card-animate{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.4, 0, .2, 1),transform .7s cubic-bezier(.4, 0, .2, 1)}.card-animate.inview{opacity:1;transform:none}.card:hover,.reference-card:hover{transform:translateY(-8px) scale(1.04);box-shadow:0 12px 36px var(--primary-color,#1565c0)}.theme-icon:hover,.theme-toggle:hover .theme-icon{transform:rotateZ(360deg) scale(1.18)}.theme-icon{transition:transform .5s cubic-bezier(.4, 0, .2, 1),color .3s,filter .3s,opacity .3s;will-change:transform,color,filter,opacity}.theme-icon.theme-fade{opacity:0;filter:blur(2px);transition:opacity .22s,filter .22s}.reference-card{cursor:pointer}
